download

Matakuliah
Tahun
Versi
: T0264/Intelijensia Semu
: Juli 2006
: 2/2
Pertemuan 16
Game Playing Continued
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• << TIK-99 >>
• << TIK-99>>
2
Outline Materi
•
•
•
•
•
Materi 1
Materi 2
Materi 3
Materi 4
Materi 5
3
12.3. Alfa-Beta Cutoffs
• Digunakan teknik branch-and-bound untuk
mengurangi jumlah keadaan yang harus diuji guna
menentukan nilai dari suatu pohon pelacakan.
•  adalah batas bawah digunakan oleh node yang
melakukan maximize.
•  adalah batas atas digunakan oleh node yang
melakukan minimize.
4
Alfa-Beta Cutoffs
• Pada node yang melakukan minimize, evaluasi
akan dihentikan jika sudah didapat node anak
memiliki nilai lebih kecil dari pada batas bawah ()
• Pada node yang melakukan maximize, evaluasi
akan dihentikan jika sudah didapat node anak
memiliki nilai lebih besar dari pada batas atas ( )
5
Alfa-Beta Cutoffs
• Alpha Cutoffs
6
Alfa-Beta Cutoffs
• Pada pohon pencarian, nilai  diset -  dan nilai 
diset .
• Node-node yang melakukan maximize akan
memperbaiki nilai , dari nilai anak-anaknya.
• Node-node yang melakukan minimize akan
memperbaiki nilai  dari nilai anak-anaknya.
• -cotoff diperuntukan bagi node yang melakukan
minimize dan -cutoff diperuntukan bagi yang
melakukan maximize
7
Alfa-Beta Cutoffs
• Jika nilai  >  maka evaluasi dihentikan.
• Tiap-tiap node yang melalui nilai  dan  akan
dievaluasi anak-anaknya dan akan memperbaiki
nilainya.
• Node-node yang melakukan minimize akan
memberikan nilai  sesuai dengahn nilai
nodenya.
• Node-node yang melakukan maximize akan
memberikan niali  sesuai dengan nilai
nodenya.
8
Alfa-Beta Cutoffs
• Alpha and Beta Cutoffs
 pruning
 pruning
9
Contoh lain -cutoff
10
12.4. Additional Refinements
 Waiting for quiescence
• Cara lain untuk membuat gerakan lebih efektif
adalah dengan melihat beberapa ply ke depan
hingga diperoleh keadaan yang stabil.
• Pada gambar berikut ini :
Didapat nilai A = 2 untuk game dengan 2 ply.
Namun setelah dilakukan eksplor menjadi 3 ply
maka didapat nilai A = 6.
 Secondary search
• Untuk meyakinkan bahwa nilai yang diperoleh
sudah optimal, maka dapat dilakukan dengan cara
mengekspand beberpa cabang, dan proses ini
dikenal dengan nama pencarian sekunder
11
Additional Refinements
 Menggunakan Book Moves
• Cara lain untuk membuat proses pencarian lebih
efektif adalah dengan menggunakan bantuan
book moves.
• Proses ini dilakukan dengan cara mencari
langkah-langkah yang telah terbukti kualitasnya.
• Proses pencarian ini hanya dilakukan pada suatu
tabel bukan ruang keadaan.
12
Additional Refinements
 Alternatives to MINIMAX
• Cara ini digunakan untuk memperbaiki
permasalahan pada minimax.
• Asumsinya bahwa lawan akan selalu memilih
gerakan yang optimal
• Garansinya bahwa gerakan merupakan pilihan
terbaik yang dapatkan.
• Dalam situasi tertentu lebih baik mengambil
resiko dengan asumsi lawan akan melakukan
kesalahan.
13
12.5. Iterative Deepening
Skema :
• Algorithm : Depth-First Iterative Deepening
• Algorithm : Iterative – Deepening – A*
14
Algorithm : Depth-First Iterative Deepening
1. Set SEARCH-DEPTH = 1
2. Conduct a depth-first search to a depth of
SEARCH-DEPTH. If a solution path is
found, then return it.
3. Otherwise, increment SEARCH-DEPTH by
1 and go to step 2.
15
Algorithm : Iterative Deepening-A*
1. Set THRESHOLD = the heuristic
evaluation of the start state.
2. Conduct a depth-first search, pruning
any branch when its total cost function (g
+ h’) exceeds THRESHOLD. If solution
path is found during the search, return it.
3. Otherwise, increment THRESHOLD by
the minimum amount it was exceeded
during the previous step, and then go to
step 2.
16
<< CLOSING >>
End of Pertemuan 16
Good Luck
17