Problem Solving Search -- Informed Search Ref : Artificial Intelligence: A Modern Approach ch. 4 Rabu, 13 Feb 2002
2 Review Secara kasar, simple problem-solving agent : Percept Problem definition Search for solution Action. Problem definition/statement : –Initial state. –Operator. –Goal test. –Path cost function. Search dilakukan pada state space-nya : –Yg. perlu diperhatikan : completeness, optimallity, time complexity, space complexity.
3 Review –Secara garis besar ada 2 : Uninformed : Tidak punya informasi mengenai goal. Hanya bisa tahu apakah suatu state itu goal state atau bukan. Contoh : BFS, uniform- cost search, DFS, depth-limited search, IDS, bidirectional search. Informed (dibahas hari ini). Contoh : –Problem-solving agent utk. menyelesaikan 8-puzzle. –Problem-solving agent utk. mencai jalan. –Bagaimana : Problem definition/statement. Search. Representasi komputer ?
4 Informed Search Informed search : –Mempunyai informasi mengenai keberadaan goal. –Informasi tsb. merupakan estimasi cost yg. dibutuhkan current state utk. mencapai goal state. Estimasi tsb. dinyatakan dlm. heuristic function (h). Macam informed search : –Best-first search : memilih meng-expand state yg. “kelihatannya” terbaik (akan mencapai goal paling cepat) dari keadaan sekarang. Greedy search. A* search.
5 Informed Search –Memory bounded search : Pencarian dng. memory terbatas. Iterative Deepening A* search (IDA*). Simplified Memory-bounded A* search (SMA*). –Iterative Improvement Algorithms : Hanya menyimpan 1 sate saja. Utk. problems yg. solusinya bukanlah path hasil pencarian, tapi goal state-nya (the end justifies the mean). Contoh : n-queen problem. Hill Climbing. Simulated Annealing.
6 Greedy Search Fungsi evaluasi : h(n) (perkiraan cost yg. dari n ke goal). Seperti DFS, tapi setiap kali menghadapi pilihan state mana yg. harus di-expand, greedy menentukan dng. memilih h(n) terkecil. Tidak complete. Tidak optimal. Dng. b : branching factor, m : max. depth : –Time complexity : O(b m ) bisa jauh lebih baik jk.. h(n) akurat. –Space complexity : O(b m ) beda dng. DFS ? Contoh : lihat papan.
7 A* Search Fungsi evaluasi : f(n) = g(n) + h(n) g(n) : cost dari initial state ke n. h(n) : perkiraan cost dari n ke goal, dng. syarat : h(n) tidak overestimates (admissable heuristic) 0 <= h(n) <= h*(n) h*(n) : cost dari n ke goal. f(n) : perkiraan total cost dari path yg. melalui n. Seperti uniform cost, tapi pemilihan state yg. akan di- expand berdasarkan f(n).
8 A* Search Heuristik yg. admissable umumnya (not always) menghasilkan f yg. tidak pernah turun (monotonicity). –Jk. ternyata f tidak menunjukkan monotonicity, mk. bs. dibuat monoton dng. mengubah f menjadi : f(n) = max (f(parent(n)), g(n)+h(n)). –Jk. f monoton, mk. A* seakan-akan BFS thd. contour. Complete (kecuali ada inf. state dng. f <= f(goal)). Optimal (masa sih ?) Worst case, dng. b : branching factor, m : max. depth : –Time complexity : O(b m ). –Space complexity : O(b m ). Contoh : lihat papan.
9 Heuristic Function Pemilihan fungsi heuristik ? –Akurat. Selama masih tidak overestimates, makin besar nilai h, makin baik fungsi heuristik tersebut. emang kenapa ? Jadi jk. ada 2 heuristik (h1 & h2) yg. admissable, h1 mendominasi (utk. setiap n h1(n) >= h2(n)), h1 yg. dipilih. –Efisien. Waktu utk. menghitungnya cukup acceptable. Membuat fungsi heuristik –Melemahkan permasalahan (menjadikan relaxed problem : problem yg. restriksi operatornya lebih relax daripada problem sebenarnya). Contoh : ABSOLVER.
10 Heuristic Function –Menggabungkan beberapa fungsi heuristik yg. admissable : h(n) = max(h 1 (n), h 2 (n), …, h m (n)). –Statistik (tp. tdk. menjamin admissability). –Memberikan bobot pada faktor-faktor yg. diperkirakan mempengaruhi tercapainya suatu goal (learning from observation). Heuristik utk. CSP : –Most-constrained-variable : pilih variabel yg. kemungkinan jumlah value-nya paling kecil. –Most-constraining-variable : assign value ke variabel yg. berhubugan dng. paling banyak constrain pd. unassigned variabel. –Least-constraining-value : pilih value yg. yg. paling sedikit meng- constrained unassigned variabel yg. lain.
11 IDA* search Seperti IDS, hanya saja limit-nya bukanlah depth-limit, tapi f-limit. State dapat berulang.
12 SMA* search Meng-expand state sampai sebatas memoryyg. dimilikinya. Ketika memory kurang, maka state yg. paling buruk akan dilupakan (forgotten nodes), tapi nilai terbaik dari node yg. dilupakan itu disimpan di ancestor. Asalkan memory memungkinkan, tidak mengulang repeated states (mengatasi kelemahan IDA*) Complete (jk. memory dapat menyimpan path solusi). Optimal (jk. memory dapat menyimpan path solusi terbaik).
13 Hill Climbing “Like climbing Everest in thick fog with amnesia”. Dari current state (c), melihat kemungkinan next state yg. ada, jk. ada next state (n) yg. lebih baik dari c, maka current state = n. Sangat tergantung initial state & bentuk masalah. –Bisa terjebak : Local maxima, Plateaux, Ridges. Tidak complete, tidak optimal. Utk. mengatasinya : random-restart-hill-climbing. –Jk. jumlah restart boleh berapa saja : complete, optimal.
14 Simulated Annealing Seperti hill-climbing, tapi jk. stuck (terjebak), daripada restart random, simulated annealing memperbolehkan utk. jalan turun. Mengambil ide dari proses annealing. Dari current state (c), kemudian pilih random next- state(n) yg. akan di-expand. Jk. n lebih baik dari c, maka current state = n. Jk. tidak, dng. probabilitas tertentu lanjut ke random next state.