Kecerdasan Buatan
(Lanjutan)
initial state:
5 possible actions:
all missionaries, all cannibals, and the boat are on the left bank
one missionary crossing one cannibal crossing two missionaries crossing two cannibals crossing one missionary and one cannibal crossing
goal state:
path cost
all missionaries, all cannibals, and the boat are on the right bank.
step cost: 1 for each crossing path cost: number of crossings = length of path
solution path:
Heuristik
Teknik Penulusuran data dalam bentuk jaringan terdiri atas node-node berbentuk tree atau pohon, terdiri :
Breadth-First Search
Definisi ? Keuntungan
* * Tidak akan menemui jalan buntu. Jika ada satu solusi, maka metode ini akan menemukan. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.
Kelemahan
Membutuhkan memori yang cukup banyak, karena akan menyimpan semua node dalam satu pohon. * Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+1) *
Algorithma ?
(Kusumadewi, Sri)
Level 0
Level 1
7 (Akhir Goal)
10 Level 2
Depth-First Search
Definisi ? Keuntungan * Memori relatif kecil, node lintasan aktif saja yang
*
disimpan. Secara kebetulan, metode ini akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan. Memungkinkan tidak ditemukannya tujuan yang diharapkan. Hanya akan mendapatkan satu solusi setiap pencarian.
Kelemahan
*
*
Level 0
Level 1
1 Level 2
1 (Akhir Goal)
1 Level 3
1c 2c
1c 2c
1m 1c
1m
1m
2c
2c
1m 1c
1c
1c 1c
1c
2m
1m 1c
2m
Heuristic Search
Pencarian buta tidak selalu dapat diterapkan dengan baik, hal ini disebabkan waktu aksesnya yang cukup lama serta besarnya memori yang dibutuhkan. Kelemahan ini sebenarnya dapat diatasi jika ada informasi tambahan (fungsi heuristik) dari domain yang bersangkutan. Fungsi heuristik digunakan untuk menghitung biaya perkiraan dari suatu simpul tertentu menuju ke simpul tujuan.
Fungsi heuristik
Ada 4 operator yang dapat digunakan untuk menggerakkan dari satu keadaan (state) ke keadaan yang baru.
Fungsi heuristik
Fungsi heuristik
Informasi yang diberikan dapat berupa jumlah ubin yang menempati posisi yang benar. Jumlah yang lebih tinggi adalah yang diharapkan. Sehingga langkah selanjutnya yang harus dilakukan adalah menggeser ubin kosong ke kiri.
Heuristic Search
Di sini hanya akan dibahas 6 metode yang tergolong informed search, yaitu:
Generate and Test Simple Hill Climbing Steepest-Ascent Hill Climbing Simulated Annealing Greedy Best-First Search A*
Generate-and-Test (GT)
Metode Generate-and-Test (GT) adalah metode yang paling sederhana dalam teknik pencarian heuristik. Di dalam GT, terdapat dua prosedur penting:
Pembangkit (generate), yang membangkitkan semua solusi yang mungkin. Test, yang menguji solusi yang dibangkitkan tersebut.
Algoritma GT menggunakan prosedur Depth First Search karena suatu solusi harus dibangkitkan secara lengkap sebelum dilakukan Test.
Generate-and-Test (GT)
Dengan penggunaan memori yang sedikit, DFS bisa digunakan sebagai prosedur pembangkit yang menghasilkan suatu solusi. Prosedur Test bisa menggunakan fungsi heuristik.
Algoritma Generate-and-Test
1. Bangkitkan sebuah solusi yang mungkin. Solusi bisa berupa suatu keadaan
(state) tertentu. Solusi juga bisa berupa sebuah jalur dari satu posisi asal ke posisi tujuan, seperti dalam kasus pencarian rute dari satu kota asal ke kota tujuan.
2. Tes apakah solusi yang dibangkitkan tersebut adalah sebuah solusi yang bisa diterima sesuai dengan kriteria yang diberikan. 3. Jika solusi telah ditemukan, keluar.
Generate-and-Test (GT)
Seorang salesman ingin mengunjungi sejumlah n kota. Akan dicari rute terpendek di mana setiap kota hanya boleh dikunjungi tepat 1 kali. Jarak antara tiap-tiap kota sudah diketahui. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti terlihat pada gambar berikut.
Generate-and-Test (GT)
Penyelesaian dengan menggunakan Generate-and-Test dilakukan dengan membangkitkan solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad, yaitu:
Generate-and-Test
Misalkan kita mulai dari node A. Kita pilih sebagai keadaan awal adalah lintasan ABCD dengan panjang lintasan = 19. Kemudian kita lakukan backtracking untuk mendapatkan lintasan ABDC dengan panjang lintasan = 18.
Generate-and-Test
Lintasan ini kita bandingkan dengan lintasan ABCD, ternyata ABDC < ABCD, sehingga lintasan terpilih adalah ABDC. Kita lakukan lagi backtracking untuk mendapatkan lintasan ACBD (=12), ternyata ACBD < ABDC, maka lintasan terpilih sekarang adalah ACBD. Demikian seterusnya hingga ditemukan solusi yang sebenarnya. Salah satu kelemahan dari metode ini adalah perlunya dibangkitkan semua kemungkinan solusi sehingga membutuhkan waktu yang cukup besar dalam pencariannya.
Summary
The two main parts of any AI system: knowledge base and an inferencing system The knowledge base is made up of facts, concepts, theories, procedures and relationships representing real-world knowledge about objects, places, events, people and so on The inference engine (thinking mechanism) uses the knowledge base, reasoning with it