0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
24 tayangan13 halaman
Dokumen tersebut membahas tentang penerapan metode pencarian BFS (Breadth First Search) dan DFS (Depth First Search) pada pencarian solusi masalah. Kedua metode tersebut membangun pohon ruang status secara dinamis untuk menyatakan status persoalan selama proses pencarian berlangsung.
Dokumen tersebut membahas tentang penerapan metode pencarian BFS (Breadth First Search) dan DFS (Depth First Search) pada pencarian solusi masalah. Kedua metode tersebut membangun pohon ruang status secara dinamis untuk menyatakan status persoalan selama proses pencarian berlangsung.
Dokumen tersebut membahas tentang penerapan metode pencarian BFS (Breadth First Search) dan DFS (Depth First Search) pada pencarian solusi masalah. Kedua metode tersebut membangun pohon ruang status secara dinamis untuk menyatakan status persoalan selama proses pencarian berlangsung.
Disusun oleh: Ir. Rinaldi unir! .". Departemen "eknik In#ormatika Institut "eknologi Bandung 0 2$$% Struktur pencarian solusi: pohon dinamis Pohon dinamis: pohon yang dibangun selama pencarian solusi berlangsung Pohon dinamis dibangun dengan 2 metode traversal: BFS dan DFS Pohon dinamis menyatakan status-status persoalan pada saat pencarian solusi berlangsung. & Status persoalan problem state!: simpul- simpul di dalam pohon dinamis yang memenuhi kendala constraints!. & Status solusi solution state!: satu atau lebih status yang menyatakan solusi persoalan. & Status tu'uan goal state!: status solusi yang merupakan simpul daun & Ruang solusi solution space!: himpunan semua status solusi. & Ruang status state space!: Seluruh simpul di dalam pohon dinamis dan pohonnya dinamakan "uga pohon ruang status state space tree!. # (ontoh ).1. Pohon ruang status yang dibangkitkan untuk menghasilkan semua permutasi A$ B$ C: ( ) B C A A B A C B A B C C A C B A B C A C B B A C B C A C A B C B A %et: ! & status kosong *am+ar ).1 Pohon ruang status pembangkitan permutasi '$ B$ (. Setiap simpul di dalam )ambar *.# menyatakan status persoalan. Status a+al adalah akar yang berupa sebuah ,kosong-. Setiap daun pada pohon tersebut 'B($ '(B$ B'($ B('$ ('B. Dan (B'! menyatakan status solusi$ dan semua daun adalah ruang solusi. 2 (ontoh ).2. Permainan .-puzzle: 2 1 6 4 8 7 5 3 1 2 3 8 4 7 6 5 a! Susunan a+al b! Susunan akhir initial state! goal state! *am+ar ).2 Permainan .-puzzle 2 1 6 4 5 8 7 3 2 1 6 4 8 7 5 3 2 6 4 1 8 7 5 3 2 6 4 1 8 7 5 3 2 1 6 4 8 7 5 3 2 1 6 4 5 8 7 3 2 6 6 4 1 8 7 5 3 2 1 6 4 5 8 7 5 2 1 6 7 4 8 5 3 1 6 2 4 8 7 5 3 2 1 4 8 6 7 5 3 2 1 6 4 8 3 7 5 2 1 6 4 8 7 5 3 u p d o w n l e f t r i g h t l e f t r i g h t l e f t r i g h t d o w n u p u p d o w n 4 2 6 6 1 8 7 5 3 d o w n . . . d a n s e t e r u s n y a *am+ar )., Sebagian pohon ruang status untuk permainan .-puzzle. / etode Pencarian ele+ar -BFS. 0 0 1 2 1 2 0 3 4 1 2 0 3 4 5 6 i! ii! iii! iv! *am+ar ).%. 0ahapan pembentukan pohon BFS ( ) B C A A B A C B A B C C A C B A B C A C B B A C B C A C A B C B A S 0 : S 1 : S 2 : S 3 : S 4 : S 5 : S 6 : S 7 : S 8 : S 9 : S 1 0 : S 1 1 : S 1 2 : S 1 3 : S 1 4 : S 1 5 : *am+ar ).5 Pembentukan pohon ruang status persoalan pembangkitan permutasi A$ B$ C dengan metode BFS 1 2 1 6 4 5 8 7 3 2 1 6 4 8 7 5 3 2 6 4 1 8 7 5 3 2 6 4 1 8 7 5 3 2 1 6 4 8 7 5 3 2 1 6 4 5 8 7 3 2 6 6 4 1 8 7 5 3 2 1 6 4 5 8 7 5 2 1 6 7 4 8 5 3 1 6 2 4 8 7 5 3 2 1 4 8 6 7 5 3 2 1 6 4 8 3 7 5 2 1 6 4 8 7 5 3 u p d o w n l e f t r i g h t l e f t r i g h t l e f t r i g h t d o w n u p u p d o w n 4 2 6 6 1 8 7 5 3 d o w n . . . d a n s e t e r u s n y a S 0 : S 1 : S 2 : S 3 : S 4 : S 5 : S 6 : S 7 : S 8 : S 9 : S 1 0 : S 1 1 : S 1 2 : S 1 5 : *am+ar ).) Pembentukan pohon ruang status persoalan .-puzzle dengan metode BFS. 'lgoritma BFS: #. 2asukkan simpul akar ke dalam antrian Q. 3ika simpul akar & simpul solusi goal node!$ maka stop. 2. 3ika Q kosong$ tidak ada solusi. Stop. /. 'mbil simpul v dari kepala head! antrian$ bangkitkan semua anak-anaknya. 3ika v tidak mempunyai anak lagi$ kembali ke langkah 2. 0empatkan semua anak dari v di belakang antrian. 1. 3ika suatu simpul anak dari v adalah simpul solusi$ maka solusi telah ditemukan$ kalau tidak kembali lagi ke langkah 2. 4 (ontoh ).,. Sebuah mainan yang terdiri atas / buah blok dinomori #$ 2$ dan /!.
1 2 3 3 2 1 a! Susunan a+al b! Susunan akhir *am+ar )./ Persoalan menyusun mainan yang terdiri atas / buah blok 5perator perpindahan: ,P67D'8%'7 9 ke :-$ yang berarti memindahkan ob"ek 9 ke atas ob"ek yang lain. Pada setiap saat$ hanya satu buah blok yang boleh dipindahkan. 5perator tidak digunakan untuk membangkitkan status yang sama lebih dari satu kali. * 1 2 3 3 2 1 3 1 2 2 1 3 1 3 2 1 2 3 3 2 1 2 3 1 3 1 2 1 2 3 3 2 1 S 0 : S 1 : S 2 : S 3 : S 4 : S 5 : S 6 : S 7 : S 8 : S 9 : S 1 0 : *am+ar ).0 Pohon ruang status yang dibentuk selama pencarian solusi dengan metode BFS Dengan mengikuti lintasan dari simput akar S0! ke simpul solusiS#0!$ kita memperoleh kon;igurasi urutan perpindahan blok dari status a+al sampai ke status akhir. Dengan metode BFS$ "ika terdapat sebuah solusi$ maka BFS men"amin dapat menemukannya$ dan "ika terdapat lebih dari satu buah solusi$ BFS selalu menemukan solusi pertama pada aras pohon yang paling rendah. < 1ompleksitas 2aktu algoritma BFS: 'sumsi: setiap simpul dapat membangkitkan b buah simpul baru. # = b = b 2 = b / = ... = b d &b d=# > #!?b > #! & Ob d !. %ompleksitas ruang algoritma BFS & sama dengan kompleksitas +aktunya$ karena semua simpul daun dari pohon harus disimpan di dalam memori selama proses pencarian. etode Pencarian endalam -DFS. 0 1 4 0 2 3 5 6 1 4 0 2 3 5 1 4 0 2 3 2 1 0 3 0 1 2 1 0 i! ii! iii! iv! v! vi! vii! *am+ar ).3. 0ahapan pembentukan pohon DFS . ( ) B C A A B A C B A B C C A C B A B C A C B B A C B C A C A B C B A S 0 : S 1 : S 6 : S 1 1 : S 2 : S 4 : S 7 : S 9 : S 1 2 : S 1 4 : S 3 : S 5 : S 8 : S 1 0 : S 1 3 : S 1 5 : *am+ar ).1$ Pembentukan pohon ruang status persoalan pembangkitan permutasi A$ B$ C dengan metode DFS 'lgoritma DFS: #.2asukkan simpul akar ke dalam antrian Q. 3ika simpul akar & simpul solusi$ maka Stop. 2.3ika Q kosong$ tidak ada solusi. Stop. /.'mbil simpul v dari kepala head! antrian. 3ika kedalaman simpul v sama dengan batas kedalaman maksimum$ kembali ke langkah 2. 1. Bangkitkan semua anak dari simpul v. 3ika v tidak mempunyai anak lagi$ kembali ke langkah 2. 0empatkan semua anak dari v di a+al antrian Q. 3ika anak dari simpul v adalah simpul tu"uan$ berarti solusi telah ditemukan$ kalau tidak$ kembali lagi ke langkah 2. @ (ontoh ).%. Sebuah bidak pion! bergerak di dalam sebuah matriks pada )ambar *.##. Bidak dapat memasuki elemen matriks mana sa"a pada baris paling atas. Dari elemen matriks yang berisi 0$ bidak dapat bergerak ke ba+ah "ika elemen matriks di ba+ahnya berisi 0A atau berpindah horiBontal kiri atau kanan! "ika elemen di ba+ahnya berisi #. Bila bidak berada pada elemen yang berisi #$ ia tidak dapat bergerak kemanapun. 0u"uan permainan ini adalah mencapai elemen matriks yang mengandung 0 pada baris paling ba+ah. # 2 / 1 # # 0 0 0 2 0 0 # 0 / 0 # 0 0 1 # 0 0 0 *am+ar ).11 2atriks bidak 5perator yang digunakan: D5C7 pindahkan bidak satu posisi ke ba+ah DEF0 pindahkan bidak satu posisi ke kiri F6)80 pindahkan bidak satu posisi ke kanan Batas kedalaman maksimum pohon ruang status diandaikan 4. #0 S 6 ( 3 , 2 ) S 5 ( 3 , 1 ) S 4 ( 2 , 1 ) S 7 ( 2 , 3 ) S 1 0 ( 2 , 2 ) S 1 1 ( 2 , 1 ) S 1 2 ( 3 , 1 ) S 1 3 ( 2 , 3 ) S 1 5 ( 2 , 4 ) S 1 6 ( 3 , 4 ) S 1 7 ( 4 , 4 ) S 3 ( 2 , 2 ) S 9 ( 1 , 2 ) S 1 4 ( 1 , 4 ) S 2 ( 1 , 2 ) S 8 ( 1 , 3 ) S 1 8 ( 1 , 4 ) S 1 ( 1 , 1 ) S 0 S 6 ( 3 , 2 ) S 5 ( 3 , 1 ) S 4 ( 2 , 1 ) S 7 ( 2 , 3 ) S 1 0 ( 2 , 4 ) S 1 1 ( 3 , 4 ) S 1 2 ( 4 , 4 ) S 3 ( 2 , 2 ) S 9 ( 1 , 4 ) S 2 ( 1 , 2 ) S 8 ( 1 , 3 ) S 1 3 ( 1 , 4 ) S 1 ( 1 , 1 ) S 0 a! b! *am+ar ).12 a! Pohon ruang status yang mengandung duplikasi simpul$ b! Pohon ruang status yang menghindari pembangkitan simpul yang sama. %ompleksitas +aktu algoritma DFS pada kasus terburuk adalah Ob m !. %ompleksitas ruang algoritma DFS adalah Obm!$ karena kita hanya hanya perlu menyimpan satu buah lintasan tunggal dari akar sampai daun$ ditambah dengan simpul-simpul saudara kandungnya yang belum dikembangkan. ## Gntuk persoalan yang memiliki banyak solusi$ metode DFS lebih cepat daripada BFS$ karena DFS menemukan solusi setelah mengeksplorasi hanya sebagian kecil dari seluruh ruang status. Sedangkan BFS masih harus menelusuri semua lintasan pada aras d > # sebelum memeriksa solusi pada aras d. 4arian DFS: etode Pencarian endalam Berulang -IDS 5 Iterative Deepening Search. %esulitan utama pada metode DFS adalah menentukan batas maksimum kedalaman pohon ruang status. Strategi yang digunakan untuk memecahkan masalah kedalaman terbaik ini adalah dengan mencoba semua kedalaman yang mungkin$ mula- mula kedalaman 0$ kedalaman #$ kedalaman 2$ dan seterusnya. #2