ALGORITMA PENCARIAN (1) Permasalahan, Ruang Keadaan, Pencarian Farah Zakiyah Rahmanti Diperbarui 2016
Overview Deskripsi Permasalahan dalam Kecerdasan Buatan Definisi Permasalahan Pencarian Breadth First Search (BFS) Depth First Search (DFS) Studi Kasus
Masalah...? Kita ingin makan nasi, tetapi kenyataannya tidak punya beras dan tidak punya uang!
Deskripsi Permasalahan dalam Kecerdasan Buatan (1) Masalah-masalah dapat dikonversi ke dalam ruang keadaan, keadaan awal (initial state), dan keadaan tujuan (goal state). Dapat dibuat aturan tertentu untuk mengubah keadaan (state) ke keadaan (state) lainnya.
Deskripsi Permasalahan dalam Kecerdasan Buatan (2) Ruang keadaan (state space) Suatu ruang yang berisi semua keadaan yang mungkin. Keadaan awal (initial state) Keadaan dimulainya pencarian. Keadaan akhir / tujuan (goal) Keadaan diakhirinya sebuah pencarian. Aturan Aturan yang dapat digunakan untuk mengubah suatu keadaan (state) ke keadaan (state) lainnya.
Langkah Mendeskripsikan Permasalahan (1) Mendefinisikan suatu ruang keadaan (2) Menetapkan satu/lebih keadaan awal (3) Menetapkan satu/lebih tujuan (goal) (4) Menetapkan kumpulan aturan
Studi Kasus Ada seorang petani yang ingin memindahkan serigala, kambing, dan rumput yang dimilikinya ke sebrang sungai. Namun, perahunya terbatas. Hanya bisa membawa satu obyek dalam satu kali penyebrangan. Petani tidak boleh meninggalkan serigala dengan kambing dalam satu tempat. Karena serigala akan memakan kambing tersebut. Petani tidak boleh meninggalkan kambing dengan rumput dalam satu tempat. Karena kambing akan memakan rumput tersebut.
Studi Kasus - Ruang Keadaan Daerah asal dan daerah sebrang digambarkan sebagai (petani P, serigala S, kambing K, rumput R)
Studi Kasus - Keadaan Awal Daerah asal : (S, K, R, P) Daerah tujuan : (0, 0, 0, 0)
Studi Kasus - Tujuan Daerah asal : (0, 0, 0, 0) Daerah tujuan : (S, K, R, P)
Studi Kasus - Aturan No Rules 1 Kambing dan petani menyebrang 2 Rumput dan petani menyebrang 3 Serigala dan petani menyebrang 4 Kambing dan petani kembali 5 Rumput dan petani kembali 6 Serigala dan petani kembali 7 Petani kembali
Studi Kasus - Solusi Daerah Asal Daerah Sebrang Aturan yang digunakan (S, K, R, P) (S, K, R, P (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
Representasi Ruang Keadaan Graph Keadaan Pohon Pelacakan Pohon AND/OR
Graph Keadaan (1) Graph terdiri dari node-node yang menunjukkan keadaan. Node-node dihubungkan oleh busur panah (arc). Contoh : terdapat 4 lintasan dari A ke Z A-B-D-E-G-Z A-B-D-E-G-H-Z A-C-E-G-Z A-C-E-G-H-Z A 4 5 B 3 3 4 D E 6 8 G H 2 4 6 7 J 1 Z K C 2 F 4 I
Graph Keadaan (2) Pada Graph tersebut, ada lintasan yang menemui jalan buntu. B 3 4 J A-B-D-E-G-J-K A-B-D-E-G-F-I A-C-F-I A-C-E-G-J-K A D 4 4 E 5 3 G 6 7 2 8 H 6 F I 4 C 2 1 Z K A-C-E-G-F-I
Pohon Pelacakan (1) A 4 B 3 4 D E 4 J G 6 7 2 8 H 6 1 Z K 5 3 C 2 F 4 I
Pohon Pelacakan (2) Untuk menghindari adanya siklus, maka digunakan struktur pohon. Struktur pohon digunakan untuk menggambarkan keadaan secara hirarkis. Pohon terdiri dari beberapa node. Node yang terletak pada level-0 disebut node akar yang menunjukkan keadaan awal. Node akar memiliki beberapa percabangan yang terdiri-atas beberapa node anak (successor) sebagai node-node perantara. Namun jika dilakukan pencarian mundur, maka dapat dikatakan bahwa node tersebut memiliki predecessor.
Pohon Pelacakan (3) Node-node yang tidak memiliki anak disebut node daun yang menunjukkan akhir dari suatu pencarian, dapat berupa goal atau jalan buntu (dead end). sudah tidak terlihat lagi adanya siklus, karena setiap node tidak diperbolehkan memiliki cabang kembali ke node dengan level yang lebih rendah.
Mengapa menggunakan Pohon Pelacakan? Untuk menghindari adanya siklus. Untuk menggambarkan keadaan secara hierarkis.
Pohon AND/OR A 4 B 3 4 D E 4 J G 6 7 2 8 H 6 1 Z K 5 3 C 2 F 4 I
Searching Sebagai teknik pemecahan masalah. Untuk membangun sistem dalam menyelesaikan masalah-masalah di atas, biasanya mempertimbangkan : - Mendefinisikan masalah dengan tepat. Pendefinisian ini mencakup deskripsi masalah dengan baik. - Menganalisis masalah tersebut serta mencari beberapa teknik penyelesaian masalah yang sesuai. - Merepresentasikan pengetahuan yang perlu untuk menyelesaikan masalah tersebut. - Memilih teknik penyelesaian masalah yang terbaik.
Teknik Penyelesaian Masalah yang Terbaik Searching (pencarian), Pemecahan masalah dengan menggunakan searching akan lebih mudah bila obyeknya direpresentasikan sebagai graf. Reasoning (penalaran) Planning yaitu memecah masalah kedalam sub-sub masalah yang lebih kecil, menyelesaikan sub-sub masalah satu demi satu, kemudian menggabungkan solusi-solusi dari sub-sub masalah tersebut menjadi sebuah solusi lengkap. Learning yaitu program komputer yang secara otomatis sanggup belajar dan meningkatkan performencenya melalui pengalaman.
Metode Pencarian (Searching) Pencarian buta / blind searching - Breadth First Search (BFS) - Depth First Search (DFS) Pencarian terbimbing / heuristic searching - Hill Climbing - Best First Search
Studi Kasus
Studi Kasus - Struktur pohon
Studi Kasus Penyelesaian dengan BFS
Definisi BFS Semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi nodenode pada level n+1. Pencarian dimulai dari node akar terus ke level ke 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan sampai ditemukannya solusi.
Algoritma BFS 1. Buat sebuah antrian (queue), inisialisasi node pertama dengan root dari tree. 2. Bila node pertama, jika GOAL, diganti dengan anakanaknya dan diletakkan dibelakang PER LEVEL. 3. Bila node pertama = GOAL, selesai.
Algoritma BFS Lintasan yang didapat S-B-C-E-Z
BFS Keuntungan Kelemahan Menjamin ditemukannya Solusi yang paling baik. Karena BFS harus menyimpan semua node yang dibangkitkan maka metode ini membutuhkan memori dan waktu yang cukup banyak
Studi Kasus Penyelesaian dengan DFS
Definisi DFS Proses pencarian akan dilaksanakan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulangi terus hingga ditemukannya solusi.
Algoritma DFS 1. Buat sebuah tumpukan (stack), inisialisasi node pertama dengan root dari tree. 2. Bila node pertama, jika GOAL, node dihapus diganti dengan anak-anaknya dengan urutan L Child. 3. Bila node pertama = GOAL, selesai.
Algoritma DFS Karena stack, anggap pintu masuk = pintu keluar. Asumsi pintu dari kiri. D D B D B Lintasan yang didapat : S-A-B-C-E-Z
DFS Keuntungan Membutuhkan memori yang relatif kecil karena hanya nodenode pada lintasan yang aktif saja yang disimpan. DFS akan menemukan solusi tanpa harus menguji lebih banyak lagi dala ruang keadaan. Kelemahan Memungkinkan tidak ditemukannya tujuan yang diharapkan. Hanya akan mendapatkan 1 solusi pada setiap pencarian.
Latihan
Latihan Representasikan graph ke dalam struktur pohon! Tentukan lintasannya! Selesaikan kasus tersebut dengan menggunakan BFS dan DFS!
Terima Kasih