Top Banner
1 1. RATNA OKTAVIANI (0834010059) 2. NURANI SEPTIWULAN(0834010083) 3. MUHAMMAD ABBAS Z.A (0834010168) 4. MISBACHUL MUNIR U. (0834010170)
15

GAME PLAYING ( METODE MINIMAX )

Jan 04, 2016

Download

Documents

neylan

GAME PLAYING ( METODE MINIMAX ). RATNA OKTAVIANI(0834010059) NURANI SEPTIWULAN(0834010083) MUHAMMAD ABBAS Z.A(0834010168) MISBACHUL MUNIR U.(0834010170) TAUFAN CHRISWANTO(0834010192). GAME PLAYING. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GAME  PLAYING ( METODE  MINIMAX )

1

1. RATNA OKTAVIANI(0834010059)

2. NURANI SEPTIWULAN(0834010083)

3. MUHAMMAD ABBAS Z.A(0834010168)

4. MISBACHUL MUNIR U.(0834010170)

5. TAUFAN CHRISWANTO(0834010192)

Page 2: GAME  PLAYING ( METODE  MINIMAX )

2

Pada teori game playing ini berisi mengenai metode-metode pencarian minimax. Pencarian minimax merupakan pencarian nilai terbaik dari nilai-nilai evaluasi yang didapat dari berbagai macam cara untuk menghitung nilai evaluasitersebut. Pencarian ini bekerja dengan cara menelusuri segala kemungkinan yang terjadi pada papan dengan melakukan pencarian untuk beberapa langkah ke depan.

Page 3: GAME  PLAYING ( METODE  MINIMAX )

3

Beberapa karakteristik dan batasan game untuk Game Playing :

Dimainkan oleh 2 pemain : manusia dan komputer. Para pemain saling bergantian melangkah.

Kedua pemain sama-sama memiliki akses pada informasi yang lengkap tentang keadaan permainan, sehingga tidak ada informasi yang tertutup bagi lawan mainnya.

Tidak melibatkan faktor probabilitas, misalnya dengan menggunakan dadu.

Tidak melibatkan faktor psikologi, seperti "gertakan“Lawan diasumsikan pintar juga, jadi jangan mengharap

lawan khilaf, sehingga terjadi salah langkah.

Beberapa contoh permainan yang biasa digunakan sebagai contoh kasus Game Playing pada AI :

1. Checkers

2. Othello

3. Tic-Tac-Toe

4. Chess

Page 4: GAME  PLAYING ( METODE  MINIMAX )

4

Program AI game playing umumnya dapat dibedakan menjadi tiga bagian utama :

1. move generator : digunakan untuk men-generate atau membuat semua daftar langkah yang bisa dijalankan suatu pemain2. fungsi evaluasi : digunakan untuk mengevaluasi seberapa baik/buruk sebuah posisi dari sudut pandang pemain tertentu (mengevaluasi semua daftar langkah yang telah dibuat sebelumnya)

3. algoritma search atau minimax tree : cara kerja dalam menulusuri semua kemungkinan langkah sampai kedalaman tertentu.

Page 5: GAME  PLAYING ( METODE  MINIMAX )

5

Digunakan untuk menilai "seberapa baik" konfigurasi suatu game. Pada game playing fungsi evaluasinya memberikan estimasi tentang kualitas papan permainan dalam mengarahkan seorang pemain untuk memenangkan permainan, biasa disebut static board evaluator, f(n) Pada setiap node akar :

Jika f(n) bilangan positif besar, artinya konfigurasi papan dengan pemilihan node n "baik untuk saya dan buruk untukmu“

Jika f(n) bilangan negatif besar, artinya konfigurasi papan dengan pemilihan node n "buruk untuk saya dan baik untukmu“

Jika f(n) dekat dengan 0, artinya papan dalam keadaan netral Pada node daun :

Jika f(n) = + "tak terhingga", artinya kondisi saya memenangkan pertandingan.

Jika f(n) = - "tak terhingga", artinya kondisi kamu memenangkan pertandingan.

Contoh static evaluation function untuk Tic-Tac-Toe: f(n) = [jumlah 3-length yang terbuka untuk saya] - [jumlah 3-length yang terbuka untukmu].

Page 6: GAME  PLAYING ( METODE  MINIMAX )

6

Minimax adalah sebuah prosedur pencarian yang melihat ke depan -- memperhatikan apa yang akan terjadi kemudian -- yang digunakan untuk memilih langkah berikutnya.

Asumsikan bahwa kita telah memiliki sebuah Static Board Evaluator yang akan mengembalikan sebuah bilangan yang menunjukkan "seberapa baiknya" sebuah konfigurasi papan.

Page 7: GAME  PLAYING ( METODE  MINIMAX )

7

Anggaplah static board evaluator untuk konfigurasi papan D, E, F, G, masing-masing adalah 4, 7, 2, dan 8. Nilai konfigurasi B adalah 4 (karena jika saya memilih B, lawan akan memilih D – langkah terbaik untuk dia). Hal yang sama akan terjadi bila saya melangkah ke C yang nilai konfigurasinya 2.

Dengan demikian nilai konfigurasi A adalah 4 (artinya melangkah ke konfigurasi B=4 lebih baik bagi saya dibanding C=2).

Page 8: GAME  PLAYING ( METODE  MINIMAX )

8

Fungsi minimax telah dilakukan secara lengkap untuk node B, jadi kita akan mulai menerapkan fungsi yang sama untuk C. Pertama kita melihat F dan mendapatkan nilainya = 2. Saat ini sesungguhnya tidak perlu memeriksa node G, karena apapun nilainya tidak akan mengubah keputusan saya untuk memilih langkah B. Perhatikan bahwa saat ini current maximum adalah 4 :Jika G>2, misalnya G=8 seperti pada contoh, maka lawan akan memilih F jika saya (komputer) memilih C. Dalam hal ini max(B,C) = max(min(4,7),min(2,8)) = max(4,2), jadi saya memilih B=4.Jika G<2, misalnya G=1, maka lawan akan memilih G jika saya memilih C. Dalam hal ini max(B,C) = max(min(4,7),min(2,1)) = max(4,1), jadi saya tetap memilih B=4.

Kenyataan ini selanjutnya dapat digunakan untuk memangkas (pruning) seluruh game subtree di bawah node G.

Page 9: GAME  PLAYING ( METODE  MINIMAX )

9

Gambar pohon yang dibangun dengan algoritma Minimax. Disini MAX diwakili aras genap, sedangkan MIN diwakili aras ganjil.

Langkah-langkah membuat algoritma Minimax adalah sbb :

1. Misalkan ada 2 pemain yang terlibat, kita namakan MAX dan MIN.

2. Lalu sebuah pohon pencarian dibangkitkan secara depth-first-search dari posisi awal permainan hingga akhir permainan.

3. Dari sudut pandang MAX, akan dicari posisi terakhir yang paling menguntungkan bagi MAX. MAX akan mengambil nilai maksimum dari pohon pencarian yang dibangkitkan pada simpul terakhir. Sebaliknya, MIN akan menangkis serangan MAX dengan mengambil nilai minimum pada posisi akhir permainan, yang akan meminimalisasi serangan MAX.

Page 10: GAME  PLAYING ( METODE  MINIMAX )

10

Game tic tac toe

Tic tac toe adalah salah satu game klasik yang hanya bisa dimainkan oleh dua orang pemain. Kedua orang pemain itu bergiliran mengisikan tanda yang berbeda (biasanya silang dan lingkaran) di dalam kotak sebesar 3x3. Pemain yang berhasil memposisikan tandanya secara horisontal, vertikal, atau diagonal sebagai baris yang penuh akan memenangkan pertandingan.

Page 11: GAME  PLAYING ( METODE  MINIMAX )

11

Contoh ilustrasinya sebagai berikut :

Ilustrasi game diatas dimenangkan oleh pemain yang menggunakan tanda X.

Permainan di atas berakhir seri. Jika seorang pemain sadar bahwa dirinya tidak bisa menang maka hasil seri lah yang paling baik baginya.

Karena itu strategi salah satu pemain di atas adalah berusaha bertahan (defense) dengan cara menghalangi pemain lainnya untuk membentuk sebuah garis lurus.

Page 12: GAME  PLAYING ( METODE  MINIMAX )

12

Untuk menang atau mencegah kekalahan dalam game ini. Komputer harus secara konsisten melakukan langkah-langkah sesuai prioritas di bawah ini dengan mendahulukan langkah dengan prioritas tertinggi.1. menyempurnakan 3 buah baris diagonal, vertikal, atau horizontal.2. menahan lawan agar tidak membentuk tiga baris yang sempurna (horisontal, vertikal, maupun diagonal)3. menciptakan strategi dengan melakukan langkah yang membuat kita mempunyai dua kemungkinan penyempurnaan baris. Beberapa pola tersebut antara lain :

Page 13: GAME  PLAYING ( METODE  MINIMAX )

13

4. Mencegah posisi lawan mempunyai pola yang bisa membuatnya menang (contoh : seperti pola di atas).

5. memperbesar kemungkinan kemenangan dengan membuat dua tanda yang berdampingan.

6. mencegah lawan membuat dua tanda yang berdampingan.

Salah satu cara untuk menciptakan Artificial Intelligence yang sesuai adalah dengan menganalisa seluruh game tree. Namun, sebuah game tree tic tac toe yang lengkap mempunyai 1040 nodes.

Page 14: GAME  PLAYING ( METODE  MINIMAX )

14

Page 15: GAME  PLAYING ( METODE  MINIMAX )

15

Andaikan sebuah permainan antara 2 pemain : MAX (agent) dan MIN

MAX jalan dulu, lalu MIN, dst. sampai game selesai1 langkah = 2 pemain (MAX jalan, MIN jalan)

Kelemahan algoritma Minimax yaitu tidak mampu memroses data dengan ukuran masukan yang besar, karena proses untuk membangun pohon pencarian dangan algoritma ini memiliki kompleksitas algoritma eksponensial. Maka dari itu, diperlukan optimasi dalam algoritma ini agar tidak semua simpul dibangkitkan.