Board Game
Teori Game
Menururt Dimiyati (1992), teori permainan (game theory) adalah bagian dari ilmu pengetahuan yang berkaitan dengan pembuatan keputusan pada saat ada dua pihak atau lebih berada dalam kondisi persaingan atau konflik. Pihak-pihak yang bersaing ini disumsikan bersifat rasional dan cerdas, artinya masing-masing pihak akan melakukan strategi tindakan yang rasional untuk memenangkan persaingan itu, dan masing-masing pihak juga mengetahui strategi pihak lawannya. Selanjutnya pihak ini disebut pemain.
Tujuan teori ini adalah menganalisa proses pengambilan keputusan dari persaingan yang berbeda-beda dan melibatkan dua atau lebih pemain/kepentingan. Kegunaan dari teori permainan adalah metodologi yang disediakan untuk menstruktur dan menganalisa masalah pemilihan strategi. Menggunakan teori permainan, maka langkah pertama adalah menentukan secara explicit pemain, strategi yang ada, dan juga menentukan preferensi serta reaksi dari setiap pemain.
Terdapat dua jenis strategi permainan yang dapat digunakan pada game theory, yaitu pure strategy (setiap pemain mempergunakan strategi tunggal) dan mixed strategy (setiap pemain menggunakan campuran dari berbagai strategi yang berbeda-beda).
Pure strategy digunakan untuk jenis permainan yang hasil optimalnya mempunyai saddle point (semacam titik keseimbangan antara nilai permainan kedua pemain). Sedangkanmixed strategy digunakan untuk mencari solusi optimal dari kasus game theory yang tidak mempunyai saddle point.
Unsur-unsur Dasar Teori Game
1. Jumlah Pemain
Permainan diklasifikasikan menurut jumlah kepentingan atau tujuan yang ada dalam permainan tersebut. Dalam hal ini perlu dipahami, bahwa pengertian “jumlah pemain” tidak selalu sama artinya dengan “jumlah Orang” yang terlibat dalam permainan. jumlah pemain disini berarti jumlah kelompok pemain berdasarkan masing-masing kepentingan atau tujuannya. Dengan demikian dua orang atau lebih yang mempunyai kepentingan yang sama dapat diperhitungkan sebagai satu kelompok pemain.
2. Pay-off
Ganjaran / pay-off adalah hasil akhir yang terjadi pada akhir permainan berkenaan dengan ganjaran ini, permainan digolongkan menjadi 2 macam kategori, yaitu permainan jumlah-nol (zero-sum games) dan permainan jumlah-bukan-nol (non-zero-sum games). permainan jumlah-nol terjadi jika jumlah ganjaran dari seluruh pemain adalah nol, yaitu dengan memperhitungkan setiap keuntungan sebagai bilangan positif dan setiap kerugian sebagai bilangan negatif. Selain dari itu adalah permainan jumlah – bukan-nol. Dalam permainan jumlah-nol setiap kemenangan bagi suatu pihak pemain merupakan kekalahan bagi pihak pemain lain. letak arti penting dari perbedaan kedua kategori permainan berdasarkan ganjaran ini adalah bahwa permainan jumlah-nol adalah suatu sistem yang tertutup. Sedangkan permainan jumlah-bukan-nol tidak demikian halnya. Hampir semua permainan pada dasarnya merupakan permainan jumlah-nol. Berbagai situasi dapat dianalisis sebagai permainan jumlah-nol.
3. Strategi Permainan
Setiap permainan yang dianalisis dengan teori permainan selalu dapat disajikan dalam bentuk sebuah matriks permainan. matriks permainan disebut juga matriks ganjaran yaitu sebuah matriks yang semua unsur berupa ganjaran dari para pemain yang terlibat dalam permainan tersebut. Baris-barisnya melambangkan strategi –strategi yang dimiliki pemain pertama, sedangkan kolom-kolomnya melambangkan strategi-strategi yang dimiliki pemain lain. dengan demikian, permainan berstrategi mxn dilambangkan dengan matriks permainan m x n . Teori permainan berasumsi bahwa strategi yang tersedia bagi masing-masing pemain dapat dihitung dan ganjaran yang berkaitan dengannya dapat dinyatakan dalam unit, meskipun tidak selalu harus dalam unit moneter. Hal ini penting bagi penyelesaian permainan, yaitu untuk menentukan pilihan strategi yang akan dijalankan oleh masing-masing pemain, dengan menganggap bahwa masing masing pemain berusaha memaksimumkan keuntungannya yang minimum (maksimin) atau meminimumkan kerugiannya yang maksimum (minimaks). Nilai dari suatu permainan adalah ganjaran rata-rata / ganjaran yang diharapkan dari sepanjang rangkaian permainan, dengan menganggap kedua pemain selalu berusaha memainkan strateginya yang optimum.
4. Titik Pelana (Saddle Point)
Titik pelana adalah suatu unsur didalam matriks permainan yang sekaligus sebagai maksimin baris dan minimaks kolom. permainan dikatakan bersaing ketat (Strictly determined) jika matriksnya memiliki titik pelana. Strategi yang optimum bagi masing-masing pemain adalah strategi pada baris dan kolom yang mengandung titik pelana tersebut. dalam hal ini baris yang mengandung titik pelana merupakan strategi optimum bagi pemain pertama, sedangkan kolom yang mengandung titik pelana merupakan strategi optimum bagi pemain lain. Langkah pertama penyelesaian sebuah matriks permainan adalah memeriksa ada atau tidaknya titik pelana. Bila terdapat titik pelana permainan dapat segera dianalisis untuk diselesaikan. Untuk menentukan titik pelana biasanya dilakukan dengan menuliskan nilai-nilai minimum dan Maksimum masing-masing kolom, kemudian menentukan maksimun diantara minimum baris dan minimum diantara maksimum kolom. jika unsur maksimum dari minimum baris sama dengan unsur minimum dari maksimum kolom, atau jika maksimin = minimaks, berarti unsur tersebut merupakan titik pelana.
Teori permainan dapat diterapkan dalam berbagai bidang, meliputi kemiliteran, bisnis, social, ekonomi dan ekologi. Sebagai contoh pada dunia bisnis, seorang direktur suatu perusahaan didalam memperkenalkan sebuah produk baru berusaha mengetahui kemungkinan strategi paling baik atau suatu kombinasi strategi untuk merebut market share yang lebih besar, sementara saingannya juga mencoba meperkenalkan produk sejenis dengan strategi yang berbeda dengan direktur pemasaran tersebut, antara lain: penurunan harga, pemberian hadiah, peningkatan mutu produk, memilih media advertasi yang efektif. Disinilah peranan teori permainan untuk menentukan strategi mana yang akan diputuskan oleh dirktur pemasaran tersebut untuk merebut pasar.
ALGORITMA MINIMAX
algoritma minimax adalah aturan untuk permainan zero-sum 2 pemain, yang berusaha meminimalkan kemungkinan kalah sambil memaksimalkan kemungkinan menang untuk pemain yang akan melangkah.
Di kedalaman 1 (dan kedalaman ganjil lainya), posisi papan akan menentukan nilai untuk pemain yang akan melangkah saat ini (current player), sehingga di kedalaman ganjil ini algoritma minimax memilih langkah bernilai maksimal sebagai langkah terbaik. Sebaliknya di kedalaman 2 (dan kedalaman genap lainnya), posisi papan akan menentukan nilai untuk pemain lawan yang akan melangkah berikutnya (opponent player), sehingga di kedalaman genap ini algoritma minimax memilih langkah bernilai minimal sebagai langkah terbaik.
Sebagai ilustrasi sampai kedalaman dua bisa digambarkan dengan tabel berikut:
B memilih B1
B memilih B2
B memilih B3
A memilih A1
+3
−2
+2
A memilih A2
−1
0
+4
A memilih A3
−4
−3
+1
Ketika A memilih langkah A1 dilanjutkan dengan B memilih langkah B1, posisi papan yang terbentuk bernilai +3. Demikian pula untuk A1 → B2 nilainya -2, A1 → B3 nilainya +2 dst. Sekarang mari kita coba aplikasikan algoritma minimax untuk menghitung langkah terbaik bagi pemain A.
Terhadap langkah A1 (kedalaman 1) misalnya valid moves pemain B adalah B1, B2 dan B3 (kedalaman 2), dan langkah terbaik menurut algoritma minimax didapat dengan mencari langkah bernilai minimal (karena di kedalaman 2), yaitu B2 (bernilai -2). Demikian pula terhadap langkah A2 yang terbaik bagi B adalah B1 (bernilai -1), dan terhadap A3 adalah B1 juga (bernilai -4). Selanjutnya, nilai untuk langkah pemain A (kedalaman 1) adalah nilai yang 'dikembalikan' dari pemain B di kedalaman 2, yaitu A1 adalah -2, A2 adalah -1, dan A3 adalah -4. Kemudian untuk kedalaman 1 ini algoritma minimax mencari nilai maksimal sebagai langkah terbaik, yaitu A2 (bernilai -1).
Untuk kedalaman lebih dari dua, cara 'berpikir' algoritma minimax dapat digambarkan sebagai pohon permainan (game tree) seperti pada gambar di atas. Di lokasi paling dalam (disebut lokasi node daun atau leaf node), dalam hal ini kedalaman 4, dilakukanlah perhitungan nilai posisi papan yang selanjutnya 'dikembalikan' ke node pada kedalaman di atasnya terus hingga sampai lokasi paling atas (di sebut akar atau root). Panah merah menunjukkan nilai yang dikembalikan dari langkah terbaik pilihan algoritma minimax ke kedalaman di atasnya. Demikianlah, kita dapat melihat algoritma minimax bergantian memilih langkah dengan nilai minimal dan maksimal sebagai langkah terbaik sesuai dengan kedalamannya. Dengan algoritma ini komputer dapat 'berpikir' sampai kedalaman tertentu untuk menentukan langkah terbaik untuk memenangkan permainan.
Tetapi pada prakteknya, algoritma minimax kini tidak pernah digunakan lagi, karena algoritma ini harus memperhitungkan semua valid moves, sehingga memerlukan waktu yang sangat lama. Sebagai gantinya telah dikembangkan beberapa improvisasi dari minimax seperti algoritma AlphaBeta, NegaScout dll. yang dapat melakukan pemangkasan game tree supaya tidak perlu memperhitungkan semua valid moves, sehingga dapat 'berpikir' dalam waktu jauh lebih cepat.
TRANSPOSITION TABLE AND MEMORY
· Algoritma dapat menggunakan tabel transposisi untuk menghindari melakukan pekerjaanekstra dalam mencari posisi board yang sama beberapa kali
· Memori kerja posisi board sudah dikenal
· Menggunakan fungsi hash khusus desiderata: sebarkan posisi-posisi yang mirip seluas mungkin melalui kisaran nilai hash nilai hash yang banyak berubah saat berpindah dari papan bergerak mengalami perubahan yang sangat sedikit.
· Kunci zobrist adalah sekumpulan bit acak dari fixed-length pola yang tersimpan untuk setiap kemungkinan keadaan dari setiap lokasi yang mungkin ada pada board. Contoh: Catur memiliki 64 kotak, dan masing-masing persegi bisa kosong atau ada 1 dari 6 potongan berbeda di atasnya, masing-masing dua warna mungkin.Zobrist kunci harus seperti berikut : 64 2 (6 + 1) = 832 bit-string yang berbeda.
· Kunci Zobrist perlu diinisialisasi dengan bit-string acak dengan ukuran yang sesuai.
· Untuk setiap kotak yang tidak kosong, tombol Zobrist adalah mendongak dan XORed dengan jumlah hash yang berjalan.
· Zobrist Key dapat diperbarui secara bertahap
Apa yang harus disimpan?
· Tabel hash menyimpan nilai yang terkait dengan posisi board
· Gerakan terbaik dari posisi masing-masing board.
· Kedalaman digunakan untuk menghitung nilai
· Nilai yang akurat, atau kita dapat juga menyimpan nilai "fail-soft" yang dihasilkan darisebuah cabang yang dipangkas
· Nilai akurat atau nilai gagal-rendah (alpha pruned), atau nilai gagal-tinggi (beta pruned)
SUMBER ;
· https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwiyoMDbvN7XAhUKs48KHTgxAbEQFgg6MAM&url=http%3A%2F%2Fpssi.unikama.ac.id%2Fwp-content%2Fuploads%2Fsites%2F42%2F2017%2F02%2F10.-Game-Tech.doc&usg=AOvVaw1Bf_0GDBy_BqlH96b5BZ-4
· http://genethello.blogspot.co.id/2011/06/game-theory-algoritma-minimax.html
· https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&cad=rja&uact=8&ved=0ahUKEwiw_5f7st7XAhXFvY8KHWS3CLsQFgg8MAQ&url=http%3A%2F%2Fwww.imada.sdu.dk%2F~marco%2FTeaching%2FAY2014-2015%2FDM842%2FSlides%2Fdm842-p2-lec10.pdf&usg=AOvVaw0rpZDqQhB0EyjNLRlVPHrg
· https://dickaariptian17.blogspot.co.id/2016/03/teori-game-dan-algoritma-minimax.html
Komentar
Posting Komentar