Informed Searching Part 1

Slides:



Advertisements
Presentasi serupa
PENERAPAN KECERDASAN BUATAN
Advertisements

TEKNIK PENCARIAN (SEARCHING)
Penyelesaian Problem Dengan Pencarian (Blind / Un-Informed Searching)
Kisi-kisi Jawaban UTS Semester Pendek Genap 2008/09.
Artificial Intelligent
Heuristic Search Dr. Kusrini, M.Kom.
Pengantar Intellegensia buatan
Problem Solving Game Playing
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Problem Solving Search -- Uninformed Search
MASALAH, RUANG KEADAAN DAN PENCARIAN
Metode Pencarian/Pelacakan
METODE PENCARIAN HEURISTIK
Teknik Pencarian.
Game playing Kecerdasan Buatan Pertemuan 5 IT-EEPIS.
Pencarian Tanpa Informasi
Hill Climbing Best First Search A*
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
Pertemuan 4 Mata Kuliah : Kecerdasan Buatan
Ruang Keadaan (state space)
Artificial Intelligence
Pencarian (Searching)
Penyelesaian Masalah Teknik Pencarian
Metode Pencarian & Pelacakan
1 Pertemuan 16 Game Playing Continued Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/2.
Problem Solving Search -- Informed Search Ref : Artificial Intelligence: A Modern Approach ch. 4 Rabu, 13 Feb 2002.
1 Pertemuan 15 Game Playing Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1.
Route/Path Planning.
Informed (Heuristic) Search
Disampaikan Oleh : Yusuf Nurrachman, ST, MMSI
Pencarian Heuristik (Heuristic Search).
Pencarian Heuristik.
Penyelesaian Masalah menggunakan Teknik Pencarian Heuristic Search
Searching (Pencarian)
Teknik Pencarian 1 Blind Search
KECERDASAN BUATAN PERTEMUAN 3.
Penyelesaian Masalah menggunakan Teknik Pencarian Blind Search
Pertemuan 6 Metode Pencarian
Masalah, Ruang Masalah dan Pencarian
Metode Pencarian/Pelacakan
Metode Pencarian & Pelacakan
Masalah, Ruang Keadaan dan Pencarian
Pemecahan Masalah dengan Pencarian
Bahan Kuliah IF2211 Strategi Algoritma
Branch and Bound Lecture 12 CS3024.
Pertemuan 6 Pencarian Heuristik
Design and Analysis Algorithm
Heuristic Search (Part 2)
Constraint Satisfaction Problem (CSP)
Pertemuan 6 Pencarian Heuristik
Metode pencarian dan pelacakan - Heuristik
KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
MASALAH, RUANG KEADAAN DAN PENCARIAN
Problem solving by Searching
CSG3F3/ Desain dan Analisis Algoritma
Search.
Artificial Intelegence/ P 3-4
TEKNIK PENCARIAN.
Problem solving by Searching
Fakultas Ilmu Komputer
Informed (Heuristic) Search
Masalah, Ruang Keadaan dan Pencarian
Pertemuan 6 Metode Pencarian
Masalah, Ruang Masalah dan Pencarian
Tugas Mata Kuliah Kecerdasan Buatan
Heuristic Search.
KECERDASAN BUATAN PERTEMUAN 4.
Heuristic Search Best First Search.
MASALAH, RUANG KEADAAN DAN PENCARIAN
Modul II Masalah, Ruang Masalah dan Pencarian
Transcript presentasi:

Informed Searching Part 1 Kecerdasan Buatan/ Artificial Intelligence Informed Searching Part 1 Rekyan Regasari Mardi Putri, ST, MT Lailil Muflikhah, S.Kom, M.Sc Imam Cholissodin, S.Si., M.Kom M. Ali Fauzi, S.Kom, M.Kom

Pokok Bahasan Best-first search Min-Max Alpha Betha Pruning Greedy best-first search A* search Heuristics Local search algorithms Hill-climbing search Simulated annealing Local beam search Genetic algorithms Latihan Individu + Tugas Kelompok

Best-First Search Prinsip best-first search : Lakukan 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 search namanya! Implementasi: fringe adalah sebuah priority queue di mana node disortir berdasarkan f(n). Contoh : Uniform-cost search Greedy (best-first) search A* search

Heuristic Function Kunci keberhasilan best-first search terletak di heuristic function. Heuristic adalah : rule of thumb “kiat-kiat sukses”, “tips-tips keberhasilan” informasi tambahan bagi si agent (agar lebih sukses) → informed search Heuristic function h(n) adalah fungsi yang menyatakan estimasi cost dari n ke goal state. Ada banyak kemungkinan heuristic function untuk sebuah masalah.

Heuristic Function Contoh : (Romania with step costs in km) Sebuah heuristic function untuk agent turis Rumania : hSLD(n) = jarak straight-line distance dari n ke Bucharest.

Greedy Best-First Search Prinsip greedy best-first search : Lakukan node expansion terhadap node di fringe yang nilai h(n)-nya paling kecil. Greedy best-first search selalu memilih node yang kelihatannya paling dekat ke goal.

Greedy Best-First Search Prinsip greedy best-first search : Lakukan node expansion terhadap node di fringe yang nilai h(n)-nya paling kecil. Greedy best-first search selalu memilih node yang kelihatannya paling dekat ke goal.

Greedy Best-First Search Prinsip greedy best-first search : Lakukan node expansion terhadap node di fringe yang nilai h(n)-nya paling kecil. Greedy best-first search selalu memilih node yang kelihatannya paling dekat ke goal.

Greedy Best-First Search Prinsip greedy best-first search : Lakukan node expansion terhadap node di fringe yang nilai h(n)-nya paling kecil. Greedy best-first search selalu memilih node yang kelihatannya paling dekat ke goal.

Greedy Best-First Search Properties of greedy best-first search : Complete? Ya, jika state space terbatas dan pengulangan state-nya ditangani. (Lihat Neamt → Oradea) Time complexity? Secara teoritis, O(bm), tetapi heuristic function yang baik akan lebih mempercepat. Space complexity? O(bm) → semua node disimpan di memory Optimal? Tidak.

A* Search Prinsip A* search : 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* search :

A* Search Prinsip A* search : 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* search :

A* Search Prinsip A* search : 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* search :

A* Search Prinsip A* search : 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* search :

A* Search Prinsip A* search : 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* search :

A* Search Prinsip A* search : 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* search :

Admissible Heuristics A* search menggunakan heuristic yang admissible 0 ≤ h(n) ≤ h*(n), di mana h*(n) adalah cost dari n yang sebenarnya. Bahasa mudahnya : nilai sebuah heuristic function tidak pernah melebihi cost ke goal yang sebenarnya. Contoh : hSLD(n). A* search adalah optimal. Bukti optimalitas A* (1) : Andaikan G2 adalah goal suboptimal di dalam fringe. Ambil n sebuah fringe node pada path menuju G, goal optimal, sbb : Karena f(G2) > f(n), algoritma A* search tidak pernah akan memilih G2 untuk di-expand. Teorema terbukti! f(G2) = g(G2), karena h(G2) = 0 g(G2) > g(G), karena G2 tidak optimal g(G) ≥ f(n), karena h admissible

Admissible Heuristics Consistency sebuah heuristic : Sebuah heuristic 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. Theorem : If h(n) is consistent, A* using GRAPH-SEARCH is optimal

Admissible Heuristics Bukti optimalitas A*(2) Node expansion A* berdasarkan urutan nilai f . Bayangkan penelusuran state space yang dilakukan A* menambahkan f-contour. Bandingkan dengan “lapisan” yang ditelusuri breadth-first dan uniform-cost.

A* Search Properties of A* : Complete? Ya, kecuali jumlah node di mana f ≤ f(G) tak terbatas. Time complexity? Eksponensial dalam (error h x jumlah step solusi). Space complexity? O(bm) → 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*

Merancang Heuristic Contoh Admissible Heuristic h(n) untuk 8-puzzle h1(n) : jumlah angka yang salah posisi. h2(n) : jumlah jarak semua angka dari posisi yang benar (base Manhattan Distance) Diketahui posisi tile 1 di Start State (2,2) dan di Goal State (0,0) Hitung Dman(1) = |2-0|+|2-0| = 2 + 2 = 4 h1(s) = 6 h2(s) = Dman(1) + Dman(2)+ Dman(3) + Dman(4)+ Dman(5) + Dman(6)+ Dman(7) + Dman(8)= 4+0+3+3+1+0+2+1=14 (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) (2,0) (2,1) (2,2) Posisi

Merancang Heuristic Latihan Admissible Heuristic Perhatikan 8-puzzle berikut : Tentukan h1(s) dan h2(s) !

Merancang Heuristic Membandingkan dua heuristic h1 dan h2 sama-sama admissible. Mana yang lebih baik? Bandingkan jumlah node yang di-expand: Jika h2(n) ≥ h1(n) untuk semua n (dan keduanya admissible), dikatakan bahwa h2 men-dominate h1 dan lebih baik untuk search. Semakin besar nilai h(n), semakin dekat ke h*(n), semakin banyak node yang tidak di-expand (di-prune), semakin efisien search-nya! D IDS A*(h1) A*(h2) 12 3,473,941 539 113 24 54,000,000,000 39,135 1,641

A* Search f(N) = h(N) = jumlah angka yang salah posisi 3 4 3 4 5 3 3 4 2 4 4 2 1

A* Search f(N) = g(N) + h(N) dengan h(N) = jumlah angka yang salah posisi 3+3 3+4 1+5 1+3 2+3 2+4 5+2 5+0 0+4 3+4 3+2 4+1

A* Search f(N) = h(N) =  jarak semua angka dari posisi yang benar (base Manhattan Distance) 6 4 5 3 2 5 4 2 1

Admissible Heuristics Consistency sebuah heuristic : Sebuah heuristic 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. Theorem : If h(n) is consistent, A* using GRAPH-SEARCH is optimal

Admissible Heuristics Bukti optimalitas A*(2) Node expansion A* berdasarkan urutan nilai f . Bayangkan penelusuran state space yang dilakukan A* menambahkan f-contour. Bandingkan dengan “lapisan” yang ditelusuri breadth-first dan uniform-cost.

Hill-Climbing Search NILAI sebuah node → h(n) (heuristic function) Bayangkan seorang penderita amnesia mendaki gunung dengan kabut tebal (thick fog). State: posisi koordinat (X,Y) h(n): ketinggian pendaki Konsep penting: state space sebagai landscape. Disebut juga greedy local search Tergantung pilihan initial state, hill-climbing bisa terperangkap dalam local maximum.

Hill-Climbing Search Local maximum: tidak ada tetangga yang lebih baik, tetapi bukan solusi optimal. Plateau (dataran): semua tetangga sama baiknya. Contoh Hill-Climbing Search :

Algoritma Minimax Definisi algoritma ini rekursif, dengan base case pada terminal state Untuk menghitung MINIMAX VALUE pada initial state, harus depth-first search seluruh game tree! Complete? Ya, kalau game tree-nya finite Optimal? Ya, asumsi lawan musuh optimal juga. (Kalau tidak? “Lebih optimal”!) Time complexity? O(bm) Space complexity? O(bm) (atau O(m) dgn. backtracking) Contoh dalam catur: b ≈ 35, m ≈ 100 → pencarian strategi optimal berdasarkan Minimax tidak feasible!

Algoritma Minimax Biasanya dalam suatu permainan ada batasan waktu Andaikan ada agent bermain catur yang diberi 100 detik untuk “berpikir” tiap langkah. Mis. sistem bisa memproses 104 node/detik → 106 node/langkah. Kita bisa melakukan aproksimasi sbb.: Cutoff: batasi depth yang diproses (≈ IDS). Evaluation function: prediksi dari nilai utility function (tidak perlu sampai ke terminal state).

Algoritma Minimax Biasanya, evaluation function berupa kombinasi linier dari fitur-fitur sebuah state: Eval (s) = w1f1(s) + w2f2(s) + . . . + wnfn (s) = Mis. untuk catur: w1 = 1, f1 = jumlah pion putih - jumlah pion hitam w2 = 3, f2 = jumlah gajah putih - jumlah gajah hitam

Algoritma Minimax Contoh penerapan algoritma Min Max. Diberikan sebuah situasi permainan seperti di bawah ini : X (max player) sedang dalam giliran untuk melanjutkan permainan. Berikan semua situasi berikutnya yang mungkin untuk X Pilihlah jalur yang tepat sesuai dengan algoritma minmax, jika diketahui fungsi utilitas untuk situasi menang untuk X = +10, kalah = -10, dan draw = 0.

Algoritma Minimax Penyelesaian pada Tic-Tac-Toe (Algoritma Min Max) :

Game Playing - Minimax Misal, Terdiri dari : 3 2 1 3 2 5 3 1 4 2 players: MAX (computer) and MIN (opponent) Sifat : deterministic, perfect information. Select a depth-bound (say: 2) and evaluation function MAX MIN - Construct the tree up till the depth-bound Select this move 3 - Compute the evaluation function for the leaves 2 1 3 - Propagate the evaluation function upwards: - Taking minima in MIN - Taking maxima in MAX 2 5 3 1 4

Minimax Example MAX 1 A B C MIN 1 -3 D E F G MAX 4 1 2 -3 4 -5 1 -7 2 Select this move B C MIN 1 -3 D E F G MAX 4 1 2 -3 4 -5 1 -7 2 -3 -8 = terminal position = agent = opponent

Algoritma Alpha-beta Pruning Secara umum digunakan untuk optimasi Algoritma Mini-max. Instead of : First creating the entire tree (up to depth-level) Then doing all propagation Interleave the generation of the tree and the propagation of values. Point : Some of the obtained values in the tree will provide information that other (non-generated) parts are redundant and do not need to be generated.

Algoritma Alpha-beta Pruning Principles: Generate the tree depth-first, left-to-right (propagate final values of nodes as initial estimates for their parent node). MIN MAX 2 2 - The MIN-value (1) is already smaller than the MAX-value of the parent (2) 1 - The MIN-value can only decrease further, 2 =2 1 5 - The MAX-value is only allowed to increase, - No point in computing further below this node

Algoritma Alpha-beta Pruning If an ALPHA-value is larger or equal than the Beta-value of a descendant node : stop generation of the children of the descendant Alpha-value MIN MAX 2 2 1  2 =2 1 Beta-value 5

Algoritma Alpha-beta Pruning If an Beta-value is smaller or equal than the Alpha-value of a descendant node: stop generation of the children of the descendant MIN MAX 2 2 3 2 =2 1 Beta-value 5  Alpha-value

Algoritma Alpha-beta Pruning MAX A B C MIN ≤ 6 D E MAX 6 ≥ 8 H I J K 6 5 8 = agent = opponent

Algoritma Alpha-beta Pruning MAX ≥ 6 A B C MIN 6 ≤ 2 D E F G MAX 6 ≥ 8 2 H I J K L M 6 5 8 2 1 = agent = opponent

Algoritma Alpha-beta Pruning MAX ≥ 6 A B C MIN 6 2 D E F G MAX 6 ≥ 8 2 H I J K L M 6 5 8 2 1 = agent = opponent

Algoritma Alpha-beta Pruning MAX 6 A B C MIN 6 2 beta cutoff D E F G MAX 6 ≥ 8 alpha cutoff 2 H I J K L M 6 5 8 2 1 = agent = opponent

Mini-Max with  at work: 8 7 3 9 1 6 2 4 5  4 16  5 31 39 = 5 MAX 6  8  5 23 15 = 4 30 = 5  3 38 MIN 10  2 18  1 33  1 2  8 12  4 20  3 25  3 35  2 5 = 8 8  9 14 = 4 22 = 5 27  9 29  6 37 = 3 MAX 1 3 4 7 9 11 13 17 19 21 24 26 28 32 34 36 11 static evaluations saved !!

Example of a perfectly ordered tree MAX MIN 21 21 12 3 21 24 27 12 15 18 3 6 9 21 20 19 24 23 22 27 26 25 12 11 10 15 14 13 18 17 16 3 2 1 6 5 4 9 8 7

Algoritma Alpha-beta Pruning Kesimpulan : alpha-beta algorithm does the same calculation as minimax, and is more efficient since it prunes irrelevant branches. usually, the complete game tree is not expanded, search is cut off at some point and an evaluation function calculated to estimate the utility of a state. So far, for a possibly good and efficient search: select good search method/technique provide info/heuristic if possible apply prune irrelevant branches

Ringkasan Best-first search : Uniform-cost search : f(n) = g(n) Greedy best-first search : f(n) = h(n) A* search : f(n) = g(n) + h(n) Dengan heuristic yang admissible dan consistent , A* pasti complete dan optimal. Heuristic dapat diperoleh dari variasi masalah yang dipermudah, atau submasalah. Search di mana environment-nya tidak observable atau non-deterministic masih bisa diatasi. Permasalahan utama : menghindari local maximum secara stochastic.

Selesai