Skip to main content

Posts

Showing posts from May, 2020

Contoh Proses Inferensi Menggunakan Algoritma Forward Chaining Dalam First Order Logic

Contoh proses inferensi (penarikan kesimpulan) menggunakan forward chaining dalam knowledge base yang menggunakan first order logic ( FOL ).  Misalkan ada knowledge base yang awalnya tersusun dari bahasa alami (dalam contoh ini menggunakan bahasa inggris) seperti berikut di bawah ini. Kemudian, bagaimana menyajikan knowledge base tersebut dalam bentuk first order logic ( FOL ) dan bagaimana proses membuktikan bahwa Col. West is criminal (Kolonel West adalah penjahat) dengan menggunakan algoritma forward chaining ?

Contoh Mengubah Knowledge Base Bahasa Alami ke First Order Logic (FOL)

Berikut di bawah ini adalah contoh-contoh daftar knowledge base dalam bentuk bahasa alami (bahasa manusia). Knowledge base tersebut akan diubah menjadi knowledge base dalam bentuk first order logic ( FOL ). Contoh 1: Di bawah ini adalah daftar kalimat dalam bahasa alami (dalam hal ini menggunakan bahasa inggris), kemudian diubah ke bahasa logika (dalam hal ini first order logic / FOL ). 

Perbandingan Bahasa-bahasa Logika dalam Kecerdasan Buatan

First Order Logic / FOL  Bahasa yang digunakan dalam first-order logic atau disingkat FOL (logika tingkat pertama), di buat berdasarkan hal-hal di seputar objek dan hubungan-hubungan antar objek tersebut. FOL ini sangatlah penting untuk bidang matematika, filsafat, dan kecerdasan buatan karena bidang-bidang tersebut — dan juga memang sebagian besar keberadaan manusia sehari-hari — dapat dianggap sebagai berkaitan dengan objek dan hubungan di antara mereka. F irst Order Logic (FOL) juga dapat menyajikan fakta-fakta tentang beberapa atau semua objek di alam semesta. Ini memungkinkan seseorang untuk menyajikan hukum-hukum, atau aturan-aturan umum, misalnya: siswa-siswa yang tidak hadir di pelajaran yang sulit, mereka tidak suka pelajaran yang sulit.

Algoritma Pencarian A* (A-star) dalam Kecerdasan Buatan

Algoritma ini adalah teknik pencarian yang meminimalkan total cost dari suatu solusi. Algoritma pencarian A ∗ (diucapkan “A- star ") adalah teknik pencarian dalam jenis best-first yang paling terkenal. Algoritma ini mengevaluasi node dengan menggabungkan/mengombinasikan fungsi g(n) , yaitu cost untuk mencapai node berikutnya (seperti dalam pencarian uniform-cost ), dan fungsi h(n) , yaitu cost antara suatu node ke node goal / node tujuan (seperti dalam pencarian greedy best first ): f(n) = g(n) + h(n) Karena g(n) memberikan cost dari node awal ke node n , dan h(n) adalah cost terendah dari n ke goal /tujuan, maka kita akan memiliki f(n) = perkiraan cost dengan solusi termurah melalui n . [ Catatan : untuk fungsi g(n) silahkan lihat ke artikel Algoritma Pencarian Uniform-Cost dalam Kecerdasan Buatan . Sedangkan untuk h(n) silahkan lihat ke artikel Algoritma Pencarian Greedy Best First pada Kecerdasan Buatan ]

Algoritma Pencarian Uniform-Cost dalam Kecerdasan Buatan

Algoritma ini adalah pengembangan atau modifikasi dari algoritma pencarian breadth-first . Andaikan semua cost pada semua langkah/ node adalah sama, maka algoritma pencarian breadth-first adalah optimal karena selalu menurunkan node yang terdangkal. Dengan sedikit pengembangan algoritma, kita dapat menemukan algoritma yang optimal dengan menerapkan suatu fungsi step-cost (menerapkan suatu cost pada tiap-tiap langkah pencarian atau pada tiap-tiap node ). Alih-alih menurunkan node yang terdangkal (yaitu node di lapisan/jalur berikutnya), pencarian uniform-cost menurunkan node n berdasarkan fungsi cost yang terendah dalam suatu jalur, misalkan saja fungsi g(n) . Ini dilakukan dengan menyimpan antrian dalam suatu jalur yang diurutkan berdasarkan fungsi  g(n) . Algoritma pencarian uniform-cost ditunjukkan pada gambar di bawah ini.  Algoritma pencarian uniform-cost

Algoritma Pencarian Greedy Best First pada Kecerdasan Buatan

Peta sederhana Romania sebagai contoh kasus untuk pencarian greedy best first Pencarian greedy best-first akan menurunkan node yang paling dekat dari tujuan, dengan alasan bahwa hal ini cenderung mengarah pada solusi dengan cepat. Dengan demikian, algoritma ini akan mengevaluasi node hanya dengan menggunakan fungsi heuristik; yaitu, f (n) = h (n) . Mari kita lihat bagaimana algoritma ini bekerja untuk problem pencarian rute di Romania ; kita menggunakan fungsi heuristik jarak garis lurus, yang akan kita sebut h SLD . Misalkan jika tujuannya adalah Bucharest , kita perlu mengetahui jarak garis lurus ke Bucharest , yang ditunjukkan pada gambar tabel di bawah ini.

Pencarian Depth First dalam Kecerdasan Buatan

Pencarian depth-first selalu menurunkan node terdalam di jalur aktif saat ini dari pohon pencarian. Pencarian depth first pada pohon biner. Areayang belum dijelajahi ditampilkan dalam warna abu-abu terang. Node-node tanpa turunan di jalur sebelumnya dihapus dari memori. Node pada kedalaman 3 tidak memiliki turunan dan M adalah satu-satunya node goal (tujuan). Proses pencarian diilustrasikan pada gambar di atas. Pencarian berproses menuju ke level terdalam dari pohon pencarian, hingga di mana node tidak memiliki turunan lagi dan baru kembali naik ke atas dan berpindah ke jalur berikutnya.  Kalau pencarian breadth-first menggunakan antrian FIFO (first in first out) , maka pencarian depth-first ini menggunakan antrian LIFO (last in first out) .

Pencarian Breadth First dalam Kecerdasan Buatan

Pencarian breadth-first ( breadth-first search ) adalah strategi sederhana di mana node (simpul) akar diturunkan ( expanded ) terlebih dahulu, kemudian semua node penerusnya diturunkan lagi berikutnya, kemudian node penerusnya diturunkan lagi, demikian dan seterusnya. Secara umum, setiap  node akan  diturunkan pada kedalaman tertentu di pohon pencarian sebelum node di tingkat berikutnya diturunkan. Lihat contoh ilustrasi gambar di bawah ini. Gambar ini menunjukkan prosespencarian pada pohon biner sederhana. Di setiap tahap, node yang akan diturunkan ke lapisan berikutnya ditunjukkan oleh tanda panah.

Algoritma Backward Chaining Pada Agen Logika Dalam Kecerdasan Buatan

Algoritma backward-chaining , seperti tersirat dalam namanya, bekerja mundur dari query -nya. Jika query q diketahui true (benar), maka tidak ada proses yang perlu dikerjakan. Sebaliknya ( q belum diketahui tetapi ingin dibuktikan bahwa q adalah true ), algoritma ini akan berjalan untuk menemukan implikasi-implikasi dalam basis pengetahuan yang memiliki konklusi/kesimpulan-nya adalah q . Jika semua premis dari salah satu implikasi itu dapat dibuktikan true (benar) dengan backward chaining , maka q adalah true (benar). [lihat catatan di bagian bawah artikel tentang yang dimaksud implikasi, premis, dan konklusi]. 

Algoritma Forward Chaining Pada Agen Berbasis Logika Dalam Kecerdasan Buatan

Algoritma forward-chaining menentukan apakah suatu proposisi (kalimat) tunggal dengan simbol q — sebagai query — didaptkan bernilai  true (benar)   berdasarkan konsekwensi logis oleh suatu basis pengetahuan yang berisi klausa-klusa tertentu. Algoritma ini mulai prosesnya berawal dari fakta yang diketahui (fakta = proposisi/kalimat yang bernilai true, atau sering disebut dengan  literal positif, yaitu kalimat yang bukan negasi atau not dalam logika matematika) dalam basis pengetahuan. Jika semua premis implikasi diketahui, maka konklusi atau kesimpulan-nya ditambahkan ke sekumpulan fakta yang sudah diketahui [lihat catatan di bagian bawah artikel tentang yang dimaksud implikasi, premis, dan konklusi]. 

Contoh Arsitektur Sederhana Jaringan Syaraf Tiruan Untuk Pengenalan Angka

Berikut dalam gambar di bawah ini akan digunakan untuk pengenalan angka ( digit recognition ) antara angka 0 – 9. Masing-masing angka ( digit ) disajikan dalam bitmap 5 x 9 pixel . Masing-masing pixel hanya bisa berisi data 0 dan 1 saja, 0 untuk warna putih dan 1 untuk hitam. Bagaimana membuat arsitektur sederhana untuk jaringan syaraf tiruan ( artificial neural network ) yang akan digunakan untuk mengenali angka ( digit recognition ) tersebut? Contoh pengenalan angka (digit recognition) pada jaringan syaraf tiruan

Feed-forward Network dan Recurrent Network dalam Jaringan Syaraf Tiruan

Setelah membuat dan menentukan model matematika untuk " neuron-neuron " secara individual, tugas selanjutnya adalah menghubungkan mereka secara bersama-sama untuk membentuk jaringan. [Catatan: contoh salah satu penerapan model matematika untuk suatu neuron bisa di baca di link Pengenalan Jaringan Syaraf Tiruan ]. Ada dua cara mendasar yang berbeda untuk melakukan ini. Pertama, feed-forward network (jaringan umpan-maju), yaitu hanya memiliki koneksi dalam satu arah yang artinya, jaringan ini membentuk grafik asiklik berarah. Setiap node menerima input dari node " upstream " ( node sebelumnya) dan memberikan output ke node " downstream " ( node berikutnya); tidak ada proses loop dalam jaringan model ini. Feed-forward network (jaringan umpan-maju) menyajikan fungsi input yang sedang berlangsung; dengan demikian, ia tidak memiliki keadaan internal selain dari bobot itu sendiri. Jaringan umpan maju (feed-forward network)

Pengenalan Jaringan Syaraf Tiruan

Artificial neural network (ANN) atau jaringan saraf tiruan adalah kumpulan unit-unit yang saling terhubung; sifat-sifat jaringan ditentukan oleh topologi dan sifat-sifat " neuron ". Nama-nama lain untuk bidang ini termasuk connectionism , parallel distributed processing , dan neural computation . Jaringan saraf terdiri dari node atau unit yang terhubung oleh link berarah. Link dari unit i ke unit j berfungsi untuk menyebarkan LINK aktivasi a i dari (node) i ke (node berikutnya) j . Setiap link AKTIVASI juga memiliki bobot numerik (w i,j ), yang menentukan kekuatan dan bobot koneksi tersebut.

Arsitektur Perangkat Lunak Pada Robot Dalam Kecerdasan Buatan

Robot Sophia Arsitektur untuk software robotika yang paling populer di jaman modern ini adalah arsitektur hybrid ( hybrid architecture ) yang memiliki tiga layer arsitektur, yaitu 1) reactive layer , 2) executive layer , dan 3) deliberative layer .  Reactive Layer Reactive layer memberikan kontrol tingkat rendah ke robot. Ini ditandai dengan loop antara sensor-action yang ketat. Siklus keputusannya sering dalam urutan milidetik. Executive Layer Executive layer (atau sequencing layer ) berfungsi sebagai perekat antara reactive layer dan deliberative layer . Layer ini menerima arahan dari deliberative layer , dan meneruskannya ke reactive layer . Sebagai contoh, executive layer mungkin menangani satu set titik-titik jalan yang dihasilkan oleh perencana jalur penghantaran, dan membuat keputusan mengenai perilaku reaktif mana yang harus dijalankan. Siklus keputusan pada executive layer biasanya dalam hitungan detik. Executive layer juga bertanggungjawab untuk m

Sensor, Efektor, dan Derajat Kebebasan Robot

Robot Sophia Keberhasilan suatu robot setidaknya bergantung pada design dari sensor-sensor dan efektornya ( effector ). Apa itu sensor, efektor ( effector ), dan derajat kebebasan (degree of freedom - DOF )? Sensor Sensor adalah antarmuka perseptual antara robot dan lingkungannya. Ada dua kategori sensor, yaitu sensor pasif dan sensor aktif.  Sensor pasif, misalnya kamera, bertindak sebagai pengamat lingkungan (atau bisa dikatakan sebagai mata): sensor seperti ini menangkap sinyal yang dihasilkan oleh sumber lain di lingkungan. Sensor aktif, misalnya sonar , mengirim energi ke lingkungannya. Sonar mengandalkan fakta bahwa energi ini akan dipantulkan kembali ke sensor. Sensor aktif cenderung memberikan lebih banyak informasi daripada sensor pasif, tetapi dengan kompensasi akan ada peningkatan konsumsi daya dan ada kemungkinan bahaya gangguan ketika beberapa sensor aktif digunakan pada waktu yang bersamaan. Contohnya adalah r ange finder yaitu sensor yang mengukur jara

Kategori Robot dalam Kecerdasan Buatan

Sebagian besar robot saat ini ada dalam salah satu dari tiga kategori utama yaitu: Pertama, Robot Manipulator , atau robot arm (lihat gambar di bawah ini).  Robot manipulator yang digunakan untuk menumpuk tas di rak Robot jenis ini secara fisik menempel (tidak terlepas) dari tempat kerja mereka, misalnya di area/jalur perakitan di suatu pabrik atau misalnya di Stasiun Luar Angkasa Internasional. Gerakan robot manipulator biasanya melibatkan rangkaian sendi yang dapat dikontrol, yang memungkinkan robot jenis seperti itu untuk menempatkan efektor mereka di posisi apa pun di tempat kerja mereka. Robot Manipulator sejauh ini merupakan jenis robot industri yang paling umum dijumpai, dengan sekitar lebih dari satu juta unit dipasang di seluruh dunia. Beberapa robot manipulator yang bergerak ( mobile ) digunakan di rumah sakit untuk membantu ahli bedah. Sebagian kecil produsen mobil dapat bertahan dalam bisnis mereka tanpa robot manipulator , dan beberapa robot manipulator