1 / 15

GAME PLAYING ( METODE MINIMAX )

GAME PLAYING ( METODE MINIMAX ). RATNA OKTAVIANI (0834010059) NURANI SEPTIWULAN (0834010083) MUHAMMAD ABBAS Z.A (0834010168) MISBACHUL MUNIR U. (0834010170) TAUFAN CHRISWANTO (0834010192). GAME PLAYING.

neylan
Download Presentation

GAME PLAYING ( METODE MINIMAX )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GAME PLAYING( METODE MINIMAX ) RATNA OKTAVIANI (0834010059) NURANI SEPTIWULAN (0834010083) MUHAMMAD ABBAS Z.A (0834010168) MISBACHUL MUNIR U. (0834010170) TAUFAN CHRISWANTO (0834010192)

  2. GAME PLAYING 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 evaluasi tersebut. Pencarian ini bekerja dengan cara menelusuri segala kemungkinan yang terjadi pada papan dengan melakukan pencarian untuk beberapa langkah ke depan.

  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

  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 pemain 2. 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.

  5. FUNGSI EVALUASI • 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].

  6. STRATEGI MINIMAX • 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.

  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).

  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.

  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.

  10. CONTOH GAME PLAYING 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.

  11. Contohilustrasinyasebagaiberikut: Ilustrasi game diatas dimenangkan oleh pemain yang menggunakantanda X. Permainan di atas berakhir seri. Jika seorang pemainsadarbahwadirinyatidakbisamenangmakahasilserilah yang paling baikbaginya. Karena itu strategi salah satu pemain di atas adalahberusahabertahan (defense) dengan cara menghalangipemainlainnyauntukmembentuksebuahgarislurus.

  12. Strategi yang harusdirancangolehalgoritma game 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. • menyempurnakan 3 buah baris diagonal, vertikal, atau horizontal. • menahan lawan agar tidak membentuk tiga baris yang sempurna (horisontal, vertikal, maupun diagonal) • menciptakan strategi dengan melakukan langkah yang membuat kita mempunyai dua kemungkinan penyempurnaan baris. Beberapa pola tersebut antara lain :

  13. Mencegah posisi lawan mempunyai pola yang bisa membuatnya menang (contoh : seperti pola di atas). • memperbesar kemungkinan kemenangan dengan membuat dua tanda yang berdampingan. • 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.

  14. Andaikan sebuah permainan antara 2 pemain : MAX (agent) dan MIN • MAX jalan dulu, lalu MIN, dst. sampai game selesai • 1 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.

More Related