Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Problem Solving Game Playing

Presentasi serupa


Presentasi berjudul: "Problem Solving Game Playing"— Transcript presentasi:

1 Problem Solving Game Playing
Ref : Artificial Intelligence: A Modern Approach ch. 5 Senin, 18 Feb 2002

2 Review Problem dng. tugas 1 (tugas bab 3) ? Informed search
Best-first search : Greedy search. A* search. Memory bounded search : Iterative Deepening A* search (IDA*). Simplified Memory-bounded A* search (SMA*). Iterative Improvement Algorithms : Hill Climbing. Simulated Annealing.

3 Review Heuristik Pemilihan fungsi heuristik ? Membuat fungsi heuristik
Akurat. Efisien. Membuat fungsi heuristik Melemahkan permasalahan. Menggabungkan beberapa fungsi heuristik yg. admissable. Statistik. Memberikan bobot pada faktor-faktor yg. diperkirakan mempengaruhi tercapainya suatu goal (learning from observation).

4 Game Playing Permainan sederhana, spt. jenis simple puzzle (e.g. 8-puzzle), dapat diselesiakan dng. metode-metode search sebelumnya (blind & informed search). Permainan (game) yg. melibatkan minimal 2 org. pemain, berarti melibatkan pula unpredictable opponent  contingency problem. Search space game besar & biasanya ada batas waktu Pemain harus menentukan langkah selanjutnya berdasarkan informasi yg. dimiliki saat ini (tdk. tahu pasti hasil tindakannya)  lebih mendekati real world problem

5 Game Playing Game bisa dibagi menjadi :
(src:slide buku Russell&Norvig) Beberapa metode search utk. game playing : Minimax. Alpha-Beta Pruning. Expectiminimax.

6 Minimax Utk. game yg. deterministic & memiliki perfect information.
Terdiri atas level max & min Max : pemain  node yg. di-expand berikut adalah yg. nilainya terbesar. Min : lawan (asumsi: lawan bermain semaksimal mungkin utk. meminimumkan nilai kita).  node yg. di-expand berikut adalah yg. nilainya terkecil. Node di-expand sampai terminal states (states dimana game berakhir), pada terminal dilakukan penghitungan utility function-nya. Nilai ini kemudian dipropagasikan ke atas sampai root berdasarkan max/min. Yg. penting nilai relatif, bukan absolut.

7 Minimax Complete. Optimal (jk. lawan memilih yg. langkah yg.optimal juga). Dng. b : branching factor, m : max. depth : Time complexity : O(bm). Space complexity : O(bm). Contoh : Utk. catur : reasonable game jk. b  35, m  100.  tdk. feasible jk. harus meng-explore semua.  Solusi : Menentukan depth (cutting-off search). Pruning.

8 Minimaxing with Fixed-Depth Limit
Sama dengan minimaxing, hanya saja node di-expand sampai batas depth tertentu, misal sampai level n (n ply). Biasa disebut n-move look-ahead. Nodes pada level n dianggap sebagai leaf (cutoff, minimax biasa : terminal) & penghitungan evaluation function (minimax biasa : utility function) dilakukan pada leaves tsb. Evaluation function : estimasi utility (heuristik). Jk. pemilihan n tidak tepat, dapat terjadi suatu langkah dipilih krn. berdasarkan penghitungan evaluation function akan menang, tapi ternyata akan mengakibatkan kekalahan.

9 Minimaxing with Fixed-Depth Limit
Maslah : Cutoff test. Cutoff harus dilakukan pada posisi quiescent (funsi evaluasi tdk. menghslkan nilai yg. sangat berbeda dng. kenyataan nanti). Solusi : meng-expand posisi non-quiescent hingga diperoleh posisi quiescent. Pencarian ini disebut : quiescent search. Contoh : utk catur

10 Minimaxing with Fixed-Depth Limit
Horizon problems : Jk. posisi yg. dihadapi dapat mengakibatkan kekalahan & posisi tsb. sukar utk. dihindari. Umumnya yg. dilakukan hanya menunda terjdinya posisi tsb. shg. melewati batas depth (over the horizon). Belum ada general solution utk. mengatasinya. Contoh : utk catur

11 Minimaxing with Fixed-Depth Limit
Tidak complete (kecuali jk. depth limit = max level). Tidak optimal (kecuali jk. depth limit = max level). Dng. b : branching factor, d : depth : Time complexity : O(bd). Space complexity : O(bd). Branching factor (b) game, umumnya besar (e.g.: 35 utk. catur). Dng. minimax, jk. b sngt. besar, mk. depth yg. feasible utk. di-explore lebih sedikit, berarti look-ahead juga kecil. Contoh : utk. catur, mis. waktu utk. berpikir : 100 sec & waktu meng-explore node : 104 nodes/sec, mk. utk. tiap move, kita dapat meng-explore 106 nodes.  bd = 106  35d = 106  d = 4 Jadi hanya bisa melihat 4 langkah ke depan (dlm. catur : novice).

12 Alpha-Beta Pruning Sebenarnya tdk. semua nodes perlu di-explore
Alpha-beta pruning tidak meng-expand node-node yg. tidak mungkin dipilih. Expand dilakukan secara DFS. Sama seperti minimax, hanya saja nilai max (alpha) yg. ada hingga sekarang & nilai min (beta) yg. ada hingga sekarang disimpan, shg. : Jk. pd. level max, menjumpai node yg. value-nya < alpha, node tsb. tidak di-expand. Jk. pd. level min, menjumpai node yg. value-nya > beta, node tsb. tdk. di-expand. Utk. jelasnya : lihat contoh di papan.

13 Alpha-Beta Pruning Complete.
Optimal (jk. lawan memilih yg. langkah yg.optimal juga). Dng. b : branching factor, d : depth : Time complexity : O(bd/2)  rata-rata. Space complexity : O(bd)  max. Umumnya, waktu yg. dibutuhkan alpha-beta pruning adalah 1/2 waktu yg. dibutuhkan minimax, mk. look-ahead yg. mungkin juga menjadi 2X lipat. Mis.: utk. contoh catur di slide 11, dng. alpha-beta pruning, ada 8 langkah yg. dapat dilihat (average player).

14 Expectiminimax Utk. game-game yg. non-deterministik (ada unsur kemungkinan/chance), misal jumlah langkah dibatasi oleh nilai dari dadu yg. dilempar (monopoli), mk. perlu ditambahkan chance nodes pada search tree-nya. Sama dng. minimax, hanya saja antara level max dng. min / min dng. max, terdapat chance nodes yg. menunjukkan probabilitas dapat dilakukannya suatu langkah (lihat contoh). Alpha-beta pruning ? pruning dapat juga dilakukan dng. memberikan batas pada utility/evaluation function, shg. jk. ada node yg. melebih/kurang dr. batas atas/batas bawah fungsi, dapat langsung di-ignore.

15 Expectiminimax Nilai absolut evaluasi/utility dpt. berpengaruh. Contoh : Time complexity : O(bmnm) atau O(bdnd), n : jumlah kemungkinan (misal hasil melempar 1 dadu, n = 6).

16 Game Playing (Accomplishment)
Catur : 1997 : Deep Blue (IBM) mengalahkan juara dunia, Garry Kasparov. Deep Blue mampu melihat 40 langkah ke depan, elo rating sekitar 2600 yg. berarti termasuk 100 besar pecatur dunia. Checkers : 1994 : Chinook (buatan Jonathan Schaeffer & team, University of Alberta) menjadi juara dunia checkers.


Download ppt "Problem Solving Game Playing"

Presentasi serupa


Iklan oleh Google