Outline 1 A IKI 30320: istem Cerdas : Informed earch A 2 3 A 4 Fakultas Ilmu Komputer Universitas Indonesia 5 12 eptember 2007 6 Heuristic function A Prinsip akukan node expansion terhadap node di fringe yang nilai f (n)-nya paling kecil. Ide dasar: f (n) adalah sebuah evaluation function fungsi yang menyatakan perkiraan seberapa bagus sebuah node. Kenapa perkiraan? Kalau tidak, bukan namanya! Implementasi: fringe adalah sebuah priority queue di mana node disortir berdasarkan f (n). Contoh: Uniform-cost () A A Kunci keberhasilan terletak di function. Heuristic adalah: rule of thumb kiat-kiat sukses, tips-tips keberhasilan informasi tambahan bagi si agent (agar lebih sukses) informed Heuristic function h(n) adalah fungsi yang menyatakan estimasi cost dari n ke goal state. Ada banyak kemungkinan function untuk sebuah masalah.
Contoh function A 75 118 71 Timisoara 111 Dobreta Oradea 140 70 75 151 ugoj Mehadia 120 ibiu 80 99 Craiova Fagaras imnicu Vilcea 97 Pitesti Neamt 146 101 85 138 211 90 Bucharest Giurgiu 87 Iasi Urziceni 92 142 98 Vaslui Hirsova 86 Eforie ebuah function untuk agent turis umania traight line distance to Bucharest 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 ugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 imnicu Vilcea 193 ibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 374 h D (n) = jarak straight-line distance dari n ke Bucharest. A Prinsip greedy akukan node expansion terhadap node di fringe yang nilai h(n)-nya paling kecil. selalu memilih node yang kelihatannya paling dekat ke goal. ibiu Fagaras Oradea ibiu Bucharest imnicu Vilcea 366 380 193 253 0 Timisoara 329 374 ifat greedy A A Complete? Ya, jika state space terbatas dan pengulangan state ditangani. (ihat Neamt Oradea) Time complexity? ecara teoritis, O(b m ), tetapi function yang baik akan mempercepat drastis pace complexity? O(b m ) semua node disimpan di memory Optimal? Tidak. A Prinsip A Hindari node yang berada di path yang mahal Evaluation function f (n) = g(n) + h(n) g(n) = Path cost ke n h(n) = Estimasi path cost dari n ke goal f (n) = Estimasi total cost melalui n
Contoh penelusuran A Admissible A ibiu Timisoara 447=118+329 449=75+374 Fagaras Oradea imnicu Vilcea 646=280+366 671=291+380 ibiu Bucharest Craiova Pitesti ibiu 591=338+253 450=450+0 526=366+160 553=300+253 Bucharest Craiova imnicu Vilcea 418=418+0 615=455+160 607=414+193 A A menggunakan yang admissible 0 h(n) h (n), di mana h (n) adalah cost dari n yang sebenarnya. Bahasa gampangnya: nilai sebuah function tidak pernah melebihi cost ke goal yang sebenarnya. Contoh: h D (n) Theorem A adalah optimal. Bukti optimalitas A (1) Consistency sebuah A Andaikan G 2 adalah goal suboptimal di dalam fringe. Ambil n sebuah fringe node pada path menuju G 1, goal optimal, sbb: G n tart f (G 2 ) = g(g 2 ), karena h(g 2 ) = 0 g(g 2 ) > g(g 1 ), karena G 2 tidak optimal g(g 1 ) f (n), karena h admissible G 2 A ebuah dikatakan consistent jika: h(n) c(n, a, n ) + h(n ) Jika h konsisten, maka: f (n ) = g(n ) + h(n ) = g(n) + c(n, a, n ) + h(n ) g(n) + h(n) f (n) Pada sembarang path, nilai f (n) tidak pernah turun (nondecreasing), atau monotonic. Karena f (G 2 ) > f (n), algoritma A tidak pernah akan memilih G 2 untuk di-expand. Teorema terbukti!
Bukti optimalitas A (2) ifat A A Node expansion A berdasarkan urutan nilai f. Bayangkan penelusuran state space yang dilakukan A menambahkan f -contour. A T Z 380 O D M 400 C F P 420 G N B I U V H E A Complete? Ya, kecuali jumlah node di mana f f (G) tak terbatas Time complexity? Eksponensial dalam (error h jumlah step solusi) pace complexity? O(b m ) semua node disimpan di memory Optimal? Ya. A meng-expand semua node di mana f (n) < C A (mungkin) meng-expand beberapa node di mana f (n) = C A tidak pernah meng-expand node di mana f (n) > C Bandingkan dengan lapisan yang ditelusuri breadth-first dan uniform-cost. Di dalam contour ke-i terdapat semua node Contoh admissible Membandingkan dua h(n) untuk 8-puzzle h 1 (n): jumlah angka yang salah posisi h 2 (n): jumlah jarak semua angka dari posisi yang benar 7 2 4 51 2 3 h 1 dan h 2 sama-sama admissible. Mana yang lebih baik? Bandingkan jumlah node yang di-expand: d ID A (h 1 ) A (h 2 ) 12 3,473,941 539 113 24 54,000,000,000 39,135 1,641 A 5 8 3 tart tate h 1 (s) = 6 h 2 (s) = 4+0+3+3+1+0+2+1=14 6 1 4 5 6 7 8 Goal tate A Jika h 2 (n) h 1 (n) untuk semua n (dan keduanya admissible), dikatakan bahwa h 2 men-dominate h 1 dan lebih baik untuk. emakin besar nilai h(n), semakin dekat ke h (n), semakin banyak node yang tidak di-expand (di-prune), semakin efisien -nya!
admissible Environment yang tidak observable A Admissible dapat diperoleh dari solution cost yang sebenarnya dari variasi masalah yang dipermudah (relaxed). Contoh: Andaikan masalah 8-puzzle dipermudah sehingga sebuah angka bisa dipindahkan ke mana saja. Cost dari solusinya = h 1. Andaikan masalah 8-puzzle dipermudah sehingga sebuah angka bisa dipindahkan ke tetangga mana saja (kosong atau tidak). Cost dari solusinya = h 2. Optimal solution cost dari masalah yang dipermudah tidak akan melebihi optimal solution cost masalah yang sebenarnya admissible! Admissible bisa juga diperoleh dari sub-masalah. A elama ini, kita berasumsi bahwa di mana problem solving agent kita berada fully observable. Apa yang terjadi jika si agent tidak memiliki sensor? 1 2 3 4 5 6 7 8 Initial state bisa di mana saja: {1, 2, 3, 4, 5, 6, 7, 8} etelah DoKeKanan, bisa di: {2, 4, 6, 8} olusi adalah rangkaian tindakan [DoKeKanan, Doedot, DoKeKiri, Doedot] ensorless problem Contoh belief state VACUUMCEANEWOD A i agent harus mencatat himpunan physical state ( p ) yang mungkin sedang terjadi belief state ( b ). lakukan dalam space yang terdiri dari belief state, bukan physical state. Belief state b yang dihasilkan suatu action terhadap belief state b adalah union dari semua physical state p yang dihasilkan action tersebut terhadap semua physical state p b. ebuah solusi adalah path yang menuju belief state di mana semua member physical state-nya adalah goal. A
Contingency problem A elama ini, kita berasumsi bahwa di mana problem solving agent kita berada deterministic. Bayangkan robot pembersih kita cacat: jika Doedot dilakukan di ruangan bersih, kadang-kadang ia malah membuatnya kotor! Bagaimana belief state space-nya? ekarang bayangkan robot ini punya sensor yang melihat apakah ruangan kotor. olusi sekarang bukanlah rangkaian tindakan (action sequence), tetapi action tree, mis: [Doedot, DoKeKanan, if [B, Kotor] then Doedot]. Contingency problem A Uniform-cost : f (n) = g(n) : f (n) = h(n) A : f (n) = g(n) + h(n) Dengan yang admissible dan consistent, A pasti complete dan optimal. Heuristic demikian dapat diperoleh dari variasi masalah yang dipermudah, atau submasalah. mana -nya tidak observable atau non-deterministic masih bisa diatasi. Masalah di mana agent menerima input baru dari sensor setelah bertindak.