Abstract:
Gim adalah sebuah bentuk dari aktivitas bermain yang dilakukan oleh pemain dengan mengikuti
serangkaian aturan untuk mencapai tujuan spesifik tertentu. Pada umumnya, pemain dari gim
adalah manusia, tetapi gim juga dapat dimainkan oleh entitas lainya berupa sistem komputer
yang dapat melakukan aktivitasnya secara otonom. Dalam bidang Artificial Intelligence(AI),
sistem tersebut dikenal dengan sebutan agen sebutan Game-playing agent (GPA). Contoh GPA
yang menunjukkan performa tinggi ketika bermain gim adalah DeepBlue (spesifik bermain pada
permainan catur) dan AlphaGo (Go). Terdapat beberapa cara yang dapat digunakan untuk
mengembangkan lebih lanjut GPA menjadi General Game-Playing(GGP) agent yaitu agen yang
dapat digunakan untuk bermain pada lebih dari satu gim, contohnya adalah AlphaZero yaitu
agen yang dapat bermain di gim Go, Shogi, dan Catur.
Pengembangan terhadap GGP agent juga berjalan beriringan dengan pengembangan terhadap
general game-playing system, yaitu sistem yang dapat memodelkan lebih dari satu gim. Salah satu
general game-playing system yang dapat digunakan untuk bermain pada beberapa gim adalah
Ludii. Pada sistem Ludii sudah terdapat gim yang dimodelkan menggunakan class grammar dan
dapat dimainkan oleh agen yang dikembangkan menggunakan bahasa pemrograman Java. Pada
penelitian ini dibuat GGP agent yang dapat bermain pada lebih dari satu gim di Ludii. Untuk
membuat agen tersebut digunakan algoritma yang terinspirasi dari AlphaZero yaitu Monte Carlo
Tree Search (MCTS) dengan neural network yang dilatih secara self-play.
Walaupun begitu, agar agen dapat berjalan di Ludii, diperlukan beberapa penyesuaian dan
modifikasi. Contohnya, digunakan wrapper yaitu sebuah cara untuk melakukan konversi antara
fitur yang disediakan oleh Ludii dalam bentuk objek dan tensor untuk melakukan pelatihan
terhadap neural network. Selanjutnya, dilakukan eksperimen untuk agen cerdas yang sudah
dibangun menggunakan tiga gim yaitu Tic-Tac-Toe, Hex, dan Reversi. Untuk memperkecil
resource yang dibutuhkan pada eksperimen, ukuran papan dari Hex dan Reversi yang dipakai
telah diperkecil. Kemudian, agen dilatih menggunakan dua model neural network dan dua
jenis wrapper. Agen yang telah dilatih kemudian diuji dengan bermain gim melawan agen yang
mengimplementasikan algoritma berbeda.
Berdasarkan hasil dari pertandingan, didapatkan bahwa agen yang dibuat sudah cukup
berhasil berlatih dan bermain di ketiga gim yang diambil. Pada Tic-Tac-Toe, agen dapat memberikan
hasil seimbang pada 100 dari 100 pertandingan ketika bertanding melawan agen dengan
algoritma optimal yaitu alpha-beta pruning. Sedangkan pada Hex 4 × 4, agen memenangkan
seluruh pertandingan ketika bermain sebagai pemain pertama.