Home
Help
Play
About Us

Permainan Checkers
Permainan Checkers adalah permainan yang dimainkan oleh dua orang (dalam hal ini komputer menjadi salah satu pemain dan manusia menjadi lawannya). Tujuan dari permainan ini adalah menghabiskan pion milik lawan dengan jalan memakan pion lawan.
Cara memakan pion lawan adalah dengan melompati pion lawan tersebut secara diagonal.

 

Agar dapat lebih leluasa dalam memakan pion lawan maka sedapat mungkin seorang pemain harus menciptakan pion raja di pihaknya.Hal ini dapat terjadi bila pion pemain mencapai ujung papan pada daerah lawan.Dengan menjadi raja, maka pion bisa bergerak maju-mundur baik dalam melangkah maupun dalam memakan pion musuh sedangkan pion biasa hanya dapat berjalan maju saja.

Baik pion raja maupun pion biasa melakukan langkahnya dengan arah diagonal.


Algoritma Minimax
Program permainan Checkers kami ini adalah implementasi dari algoritma Minimax. Pada algoritma ini komputer akan membuat sebuah game tree yang berisi kemungkinan-kemungkinan langkah yang bisa terjadi baik yang dilakukan oleh komputer sendiri maupun oleh manusia. Kemudian dengan menggunakan suatu fungsi evaluasi keadaan papan, maka komputer akan memilih suatu jalan yang terbaik dari semua jalan yang terburuk yang mungkin terjadi (dengan anggapan bahwa lawan selalu berusaha membuat keadaan komputer menjadi buruk dan lawan tidak pernah lengah).

Algoritma Minimax ini bersifat recursive sehingga game tree yang dihasilkan akan ditelusuri secara Depth First Search (DFS). Karena menggunakan metode DFS ini maka komputer bisa melakukan suatu cara optimasi pencarian langkah yaitu dengan menggunakan Alpha-Beta Prunning.

Dengan Alpha-Beta Prunning maka komputer akan dapat memangkas node-node tree yang tidak mungkin untuk dipilih/digunakan. Dengan demikian maka game tree yang dihasilkan akan menjadi lebih ringkas sehingga jumlah ply (level) dari game tree dapat diperbanyak. Jumlah ply yang lebih banyak akan membuat komputer menjadi semakin cerdas karena dapat 'melihat' lebih jauh ke depan.


Fungsi Static Board Evaluator
Fungsi evaluasi yang digunakan oleh algoritma Minimax untuk menilai kebaikan suatu state/kondisi disebut dengan fungsi Static Board Evaluator (SBE).

Fungsi SBE yang digunakan dalam program kami adalah sebagai berikut:

  • Setiap pion Checkers biasa di pihak kita (dalam hal ini komputer) bernilai 100. Bila pion tersebut semakin dekat ke daerah musuh akan bernilai semakin besar. Nilainya (100) akan dikalikan dengan kuadrat posisi baris pion tersebut. Hal yang sebaliknya berlaku untuk pihak musuh (nilai pion -100 dan dikalikan kuadrat posisi baris).
  • Setiap pion raja yang berada di pihak sendiri bernilai bernilai 200, akan tetapi bila raja berada di tepi papan akan nilainya akan dikurangi 10 baik untuk tepi baris maupun tepi kolom. Hal sebaliknya berlaku untuk pion raja pihak musuh.
  • Nilai akhir papan akan ditambahkan dengan suatu faktor random sehingga diharapkan pergerakan komputer tidak selalu sama untuk setiap permainan.