Algoritma Pencarian (Search Algorithm)
Deskripsi • Merupakan algoritma untuk mencari kemungkinan penyelesaian • Sering dijumpai oleh peneliti di bidang AI
Mendefinisikan permasalahan • Mendefinisikan suatu state (ruang keadaan) • Menerapkan satu atau lebih state awal • Menetapkan satu atau lebih state tujuan • Menetapkan rules (kumpulan aturan)
Contoh kasus Seorang petani ingin memindah dirinya sendiri, seekor serigala, seekor angsa gemuk, dan seikat padi yang berisi menyeberangi sungai. Sayangnya, perahunya sangat terbatas; dia hanya dapat membawa satu objek dalam satu penyeberangan. Dan lagi, dia tidak bisa meninggalkan serigala dan angsa dalam satu tempat, karena serigala akan memangsa angsa. Demikian pula dia tidak bisa meninggalkan angsa dengan padi dalam satu tempat.
State (ruang keadaan) • State � (Serigala, Angsa, Padi, Petani) • Daerah asal ketika hanya ada serigala dan padi, dapat direpresentasikan dengan state (1, 0, 1, 0), sedangkan daerah tujuan adalah (0, 1, 0, 1)
State awal dan tujuan • State awal • State tujuan - Daerah asal � (1, 1, 1, 1) - Darah tujuan � (0, 0, 0, 0) • State tujuan - Daerah asal � (0, 0, 0, 0) - Darah tujuan � (1, 1, 1, 1)
Rules Aturan ke Rule 1 Angsa menyeberang bersama petani 2 Padi menyeberang bersama petani 3 Serigala menyeberang bersama petani 4 Angsa kembali bersama petani 5 Padi kembali bersama petani 6 Serigala kembali bersama petani 7 Petani kembali
(S, A, Pd, Pt) (S, A, Pd, Pt) dipakai Contoh solusi Daerah asal Daerah tujuan Rule yang (S, A, Pd, Pt) (S, A, Pd, Pt) dipakai (1, 1, 1, 1) (0, 0, 0, 0) 1 (1, 0, 1, 0) (0, 1, 0, 1) 7 (1, 0, 1, 1) (0, 1, 0, 0) 3 (0, 0, 1, 0) (1, 1, 0, 1) 4 (0, 1, 1, 1) (1, 0, 0, 0) 2 (0, 1, 0, 0) (1, 0, 1, 1) 7 (0, 1, 0, 1) (1, 0, 1, 0) 1 (0, 0, 0, 0) (1, 1, 1, 1) solusi
Pohon pelacakan Level O Akar Level l Level 2 Level 3 Daun predecessor successor
contoh kasus 3 S 5 5 4 A D 3 F c 2 B E 2 z 5
Susunan pohon S A B B D A c c c F D E D E D B E c F z A F z F z E z
Breadth First Search B D A c S A B c c F D E D E D B E c F z A F z F z E z
Algoritma S A B B B D B D A c dan seterusnya 5
Analisa • Kelebihan • Kelemahan - Tidak akan menemui jalan buntu - Jika ada satu solusi, pasti diketemukan • Kelemahan - Boros memori - Mungkin terjebak pada local optima
Depth First Search B D A c S A B c c F D E D E D B E c F z A F z F z E
Algoritma S A B B D B c D B E D D B z D D B
Analisa • Kelebihan • Kelemahan - Butuh memori yang relatif kecil - Menemukan solusi tanpa harus menguji lebih banyak lagi • Kelemahan - Mungkin terjebak pada local optima
Hill climbing S A 4 3 B B D A 2 c 5 c c F D E D 2 E D B E c F z A F z F z E z 5 3
Algoritma Mirip dengan B A paling kecil S Search, hanya c A A node anak aturan Rule: yang Depth First jaraknya saja pemilihan E D A A disertai dengan z D A A
Analisa • Kelebihan • Kelemahan - Butuh memori kecil - Menemukan solusi tanpa harus menguji lebih banyak lagi • Kelemahan - Mungkin terjebak pada local optima - Perlu menentukan aturan yang tepat
Best First Search S A 4 o 3 B B D A 2 c 5 2 8 11 c c F D E D 2 8 11 E D B E c F z A F z F z E z 4 5 3 3 8 6
Algoritma S B A c A A E D A A z D A A
Analisa • Kelebihan • Kelemahan - Butuh memori kecil - Menemukan solusi tanpa harus menguji lebih banyak lagi • Kelemahan - Mungkin terjebak pada local optima
Branch and Bound S 5 A 4 o 3 B 3 B D A 2 c 5 c c F D E D 11 13 2 8 11 E D B E c F z A F 1o z F z E z 5 4 5 3 3 8 9 5 8 6
Algoritma S SB SA 3 4 SA SBc SBA 4 6 8 dan seterusnya5
Analisa • Kelebihan • Kelemahan - Selalu menemukan global optimum - Boros memori karena menyimpan lintasan partial lebih dari l kali
Dynamic Programming S 5 A 4 o 3 B B D A 2 c 5 2 8 11 c c F D E D 2 8 11 E D B E c F z A F 1o z F z E z 5 4 5 3 3 8 9 8 6
Algoritma S SB SA 3 4 SA SBc SBA 4 6 8 dan seterusnya5
Analisa • Kelebihan • Kelemahan - Selalu menemukan global optimum - Lebih cepat dan hemat memori karena hanya l kali menyimpan lintasan partial • Kelemahan - Harus mengingat node terakhir dari lintasan partial yang sudah dicapai sebelumnya
Tugas B 7 c S l 2 z 4 5 2 2 3 D A
• Representasikan kasus diatas dengan tree • Selesaikan kasus diatas dengan metode: - Breadth First Search - Depth First Search - Best First Search - Hill climbing - Branch and Bound - Dynamic Programming
Referensi • Modul Ajar Kecerdasan Buatan, Entin Martiana, Tessy Badriyah, Riyanto Sigit, Politeknik Elektronika Negeri Surabaya, 2005. • Artificial Intelligence (Teori dan Aplikasinya), Sri Kusumadewi, cetakan pertama, Penerbit Graha Ilmu, 2003. • Artificial Intelligence, Patrick Henry Winston, third edition, Addison-Wesley publishing company, 1993.