Penerapan Algoritma Monte Carlo Tree Search pada Permainan Halma
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Dalam ilmu komputer, Artificial Intelligence atau AI adalah salah satu bidang yang
penting untuk dipelajari. Objek awal penelitian AI yang sangat dikenal adalah
permainan. AI dirancang dalam suatu permainan agar komputer dapat memainkan
permainan dengan cerdas sesuai dengan tujuan permainan tersebut. Penerapan AI
pada permainan telah banyak dilakukan oleh para peneliti pada berbagai jenis
permainan. Khususnya untuk jenis permainan papan, seperti penelitian yang telah
dilakukan pada permainan Catur, Go, dan Checkers. Penelitian tersebut memberikan
hasil yang memuaskan, yang berarti AI dapat bermain lebih baik dari pemain manusia
(Schaeffer, 2010).
Dalam game theory, permainan papan yang bersifat zero-sum dan perfect
information biasanya menggunakan algoritma pencarian pada pohon permainan untuk
mencari langkah pion yang terbaik. Salah satu algoritma pohon pencarian yang
dikenal baik dalam permainan adalah algoritma Minimax. Pada permainan Catur,
algoritma Minimax, dapat berjalan dengan optimal, tetapi tidak cukup optimal untuk
permainan Go dikarenakan kompleksitas permainan Go yang tinggi (Chaslot, 2010).
Algoritma baru kemudian diusulkan yaitu algoritma Monte Carlo Tree Search
(MCTS). Algoritma MCTS adalah algoritma yang memilih langkah terbaik
berdasarkan hasil simulasi permainan. Algoritma MCTS dapat diterapkan pada
beberapa jenis permainan seperti jenis permainan papan. Hasil yang paling baik sejauh
ini telah diperoleh pada permainan Go, dimana algoritma MCTS mengungguli semua
teknik pencarian klasik lain (Chaslot, et al. 2008). Seperti penelitian yang dilakukan
oleh Gelly, et al. (2012) algoritma MCTS berhasil diterapkan pada permainan Go
dengan melakukan beberapa peningkatan pada algoritma MCTS. Pada penelitian lain,
algoritma ini berhasil diterapkan pada permainan Othello (Nijssen, 2007), Hex
(Arneson, et al. 2010), dan Lines of Action (Winands, et al. 2010).
2
Algoritma MCTS pada penelitian ini, penulis ingin terapkan pada permainan
papan lainnya yaitu Halma. Permainan Halma cukup dikenal dan digemari oleh
masyarakat karena konsep permainannya yang mudah dimengerti dan tidak memiliki
terlalu banyak peraturan. Pemain hanya perlu memindahkan seluruh pion miliknya
dari daerah asal ke daerah tujuan. Langkah pion bisa berupa satu langkah biasa ke
segala arah dan langkah lompatan sekali atau lompatan berkali-kali jika ada satu pion
disebelahnya. Pemain yang lebih dahulu memindahkan seluruh pion ke daerah lawan
dinyatakan sebagai pemenang.
Permainan Halma termasuk permainan yang memiliki kompleksitas yang
tinggi dikarenakan banyaknya kemungkinan langkah yang dapat dilakukan pion.
Permasalahan lainnya adalah langkah penyelesaian permainan Halma sangat
bergantung pada posisi pion lawan. Oleh karena itu, diperlukan suatu pendekatan
untuk menyelesaikan permasalahan tersebut.
Penelitian pada permainan Halma sebelumnya, Indah (2011) menggunakan
algoritma Depth First Search (DFS) hanya untuk mendeteksi langkah-langkah yang
dibolehkan.
Penelitian
lainnya,
Lieyanda
(2011)
merancang
AI
dengan
mengimplementasikan algoritma Greedy pada permainan Halma berdasarkan
lompatan terjauh atau pion belakang. Penggunaan algoritma Greedy pada permainan
Halma tidaklah memberikan hasil yang cukup optimal. Sedangkan, Bell (2009)
mencari permainan dengan giliran terpendek pada permainan Halma menggunakan
teknik pencarian Breadth First Iterative Deepening A*. Hasilnya permainan terpendek
dapat dilakukan dalam 30 putaran.
Pada penelitian kali ini, penulis ingin merancang permainan Halma yang dapat
dimainkan oleh satu user sebagai human player melawan satu atau tiga AI yang
menggunakan algoritma MCTS. Algoritma lain juga akan digunakan dalam membantu
menyelesaikan permainan Halma ini. Dengan melakukan penelitian ini, diharapkan
algoritma MCTS dapat menentukan langkah pion Halma dengan baik sehingga
seluruh pion dapat mengisi daerah tujuan lebih dahulu dari pemain lainnnya.
1.2. Rumusan Masalah
Rumitnya penyelesaian dalam permainan Halma, dimana langkah penyelesaian sangat
tergantung pada posisi pion dan pion pihak lawan. Sehingga diperlukan satu
pendekatan lain untuk menyelesaikan permasalahan tersebut.
3
1.3. Batasan Masalah
Agar penelitian ini terarah, batasan masalah yang akan dibahas adalah :
1. Jumlah pemain ada 2 dan 4 dengan masing-masing jumlah pion 13.
2. Papan permainan Halma bentuk persegi ukuran 16×16.
3. Hanya 1 user yang dapat bermain sebagai human player.
4. Pion merah selalu bermain pada giliran pertama. Giliran bermain berlawanan
arah jarum jam.
1.4. Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk menentukan langkah pion pada permainan
Halma menggunakan algoritma Monte Carlo Tree Search.
1.5. Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini bagi pengguna adalah untuk mengasah
strategi pengguna dalam bermain Halma dengan pemain komputer yang kompetitif.
Selain itu, untuk menambah wawasan ilmu pengetahuan bagi penulis dan pembaca
tentang penggunaan algoritma Monte Carlo Tree Search dalam menentukan langkah
pion pada permainan Halma sehingga penelitian ini dapat dijadikan referensi untuk
penelitian selanjutnya.
1.6. Metodologi Penelitian
Metodologi untuk menyelesaikan penelitian ini adalah sebagai berikut :
1. Studi Literatur
Pada tahap ini dilakukan studi literatur mengenai permainan Halma dan
algoritma MCTS dari berbagai buku, jurnal, maupun internet.
2. Analisis
Pada tahap ini akan dilakukan analisis mengenai penerapan algoritma MCTS
dan algoritma DFS pada permainan Halma.
3. Perancangan dan Implementasi
Pada tahap ini dilakukan perancangan sesuai dengan hasil analisis sistem.
Selanjutnya mengimplementasikan hasil analisis dan perancangan pada sistem.
4
4. Pengujian
Pada tahap ini dilakukan pengujian sistem untuk melihat kinerja dari algoritma
MCTS. Pada tahap ini user mencoba melawan satu pemain AI, selanjutnya
melawan 3 pemain AI.
5. Dokumentasi
Pada tahap ini dilakukan dokumentasi hasil dari penerapan algoritma MCTS
pada permainan Halma.
1.7. Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut :
BAB 1 PENDAHULUAN
Bab ini berisi latar belakang penelitian ini dilakukan, perumusan masalah, batasanbatasan masalahnya, tujuan dan manfaat penelitian, metodologi penelitian, dan
sistematika penulisan dari penyusunan skripsi ini.
BAB 2 LANDASAN TEORI
Bab ini menjelaskan mengenai landasan teori yang diperoleh dari acuan yang
mendasari dalam melakukan kegiatan penelitian pada tugas akhir ini.
BAB 3 ANALISIS DAN PERANCANGAN
Bab ini menjelaskan mengenai analisis algoritma MCTS untuk pencarian langkah pion
pada permainan Halma dan algoritma DFS serta perancangan aplikasinya.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini menjelaskan implementasi pada sistem dari analisis yang dilakukan dan
pengujian terhadap aplikasi.
BAB 5 KESIMPULAN DAN SARAN
Bab ini menguraikan rangkuman dari masing-masing sub-sub bab yang ada sehingga
diperoleh kesimpulan dari penelitian ini serta memberikan saran agar bermanfaat
untuk pengembangan dari sistem ini selanjutnya.
PENDAHULUAN
1.1. Latar Belakang
Dalam ilmu komputer, Artificial Intelligence atau AI adalah salah satu bidang yang
penting untuk dipelajari. Objek awal penelitian AI yang sangat dikenal adalah
permainan. AI dirancang dalam suatu permainan agar komputer dapat memainkan
permainan dengan cerdas sesuai dengan tujuan permainan tersebut. Penerapan AI
pada permainan telah banyak dilakukan oleh para peneliti pada berbagai jenis
permainan. Khususnya untuk jenis permainan papan, seperti penelitian yang telah
dilakukan pada permainan Catur, Go, dan Checkers. Penelitian tersebut memberikan
hasil yang memuaskan, yang berarti AI dapat bermain lebih baik dari pemain manusia
(Schaeffer, 2010).
Dalam game theory, permainan papan yang bersifat zero-sum dan perfect
information biasanya menggunakan algoritma pencarian pada pohon permainan untuk
mencari langkah pion yang terbaik. Salah satu algoritma pohon pencarian yang
dikenal baik dalam permainan adalah algoritma Minimax. Pada permainan Catur,
algoritma Minimax, dapat berjalan dengan optimal, tetapi tidak cukup optimal untuk
permainan Go dikarenakan kompleksitas permainan Go yang tinggi (Chaslot, 2010).
Algoritma baru kemudian diusulkan yaitu algoritma Monte Carlo Tree Search
(MCTS). Algoritma MCTS adalah algoritma yang memilih langkah terbaik
berdasarkan hasil simulasi permainan. Algoritma MCTS dapat diterapkan pada
beberapa jenis permainan seperti jenis permainan papan. Hasil yang paling baik sejauh
ini telah diperoleh pada permainan Go, dimana algoritma MCTS mengungguli semua
teknik pencarian klasik lain (Chaslot, et al. 2008). Seperti penelitian yang dilakukan
oleh Gelly, et al. (2012) algoritma MCTS berhasil diterapkan pada permainan Go
dengan melakukan beberapa peningkatan pada algoritma MCTS. Pada penelitian lain,
algoritma ini berhasil diterapkan pada permainan Othello (Nijssen, 2007), Hex
(Arneson, et al. 2010), dan Lines of Action (Winands, et al. 2010).
2
Algoritma MCTS pada penelitian ini, penulis ingin terapkan pada permainan
papan lainnya yaitu Halma. Permainan Halma cukup dikenal dan digemari oleh
masyarakat karena konsep permainannya yang mudah dimengerti dan tidak memiliki
terlalu banyak peraturan. Pemain hanya perlu memindahkan seluruh pion miliknya
dari daerah asal ke daerah tujuan. Langkah pion bisa berupa satu langkah biasa ke
segala arah dan langkah lompatan sekali atau lompatan berkali-kali jika ada satu pion
disebelahnya. Pemain yang lebih dahulu memindahkan seluruh pion ke daerah lawan
dinyatakan sebagai pemenang.
Permainan Halma termasuk permainan yang memiliki kompleksitas yang
tinggi dikarenakan banyaknya kemungkinan langkah yang dapat dilakukan pion.
Permasalahan lainnya adalah langkah penyelesaian permainan Halma sangat
bergantung pada posisi pion lawan. Oleh karena itu, diperlukan suatu pendekatan
untuk menyelesaikan permasalahan tersebut.
Penelitian pada permainan Halma sebelumnya, Indah (2011) menggunakan
algoritma Depth First Search (DFS) hanya untuk mendeteksi langkah-langkah yang
dibolehkan.
Penelitian
lainnya,
Lieyanda
(2011)
merancang
AI
dengan
mengimplementasikan algoritma Greedy pada permainan Halma berdasarkan
lompatan terjauh atau pion belakang. Penggunaan algoritma Greedy pada permainan
Halma tidaklah memberikan hasil yang cukup optimal. Sedangkan, Bell (2009)
mencari permainan dengan giliran terpendek pada permainan Halma menggunakan
teknik pencarian Breadth First Iterative Deepening A*. Hasilnya permainan terpendek
dapat dilakukan dalam 30 putaran.
Pada penelitian kali ini, penulis ingin merancang permainan Halma yang dapat
dimainkan oleh satu user sebagai human player melawan satu atau tiga AI yang
menggunakan algoritma MCTS. Algoritma lain juga akan digunakan dalam membantu
menyelesaikan permainan Halma ini. Dengan melakukan penelitian ini, diharapkan
algoritma MCTS dapat menentukan langkah pion Halma dengan baik sehingga
seluruh pion dapat mengisi daerah tujuan lebih dahulu dari pemain lainnnya.
1.2. Rumusan Masalah
Rumitnya penyelesaian dalam permainan Halma, dimana langkah penyelesaian sangat
tergantung pada posisi pion dan pion pihak lawan. Sehingga diperlukan satu
pendekatan lain untuk menyelesaikan permasalahan tersebut.
3
1.3. Batasan Masalah
Agar penelitian ini terarah, batasan masalah yang akan dibahas adalah :
1. Jumlah pemain ada 2 dan 4 dengan masing-masing jumlah pion 13.
2. Papan permainan Halma bentuk persegi ukuran 16×16.
3. Hanya 1 user yang dapat bermain sebagai human player.
4. Pion merah selalu bermain pada giliran pertama. Giliran bermain berlawanan
arah jarum jam.
1.4. Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk menentukan langkah pion pada permainan
Halma menggunakan algoritma Monte Carlo Tree Search.
1.5. Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini bagi pengguna adalah untuk mengasah
strategi pengguna dalam bermain Halma dengan pemain komputer yang kompetitif.
Selain itu, untuk menambah wawasan ilmu pengetahuan bagi penulis dan pembaca
tentang penggunaan algoritma Monte Carlo Tree Search dalam menentukan langkah
pion pada permainan Halma sehingga penelitian ini dapat dijadikan referensi untuk
penelitian selanjutnya.
1.6. Metodologi Penelitian
Metodologi untuk menyelesaikan penelitian ini adalah sebagai berikut :
1. Studi Literatur
Pada tahap ini dilakukan studi literatur mengenai permainan Halma dan
algoritma MCTS dari berbagai buku, jurnal, maupun internet.
2. Analisis
Pada tahap ini akan dilakukan analisis mengenai penerapan algoritma MCTS
dan algoritma DFS pada permainan Halma.
3. Perancangan dan Implementasi
Pada tahap ini dilakukan perancangan sesuai dengan hasil analisis sistem.
Selanjutnya mengimplementasikan hasil analisis dan perancangan pada sistem.
4
4. Pengujian
Pada tahap ini dilakukan pengujian sistem untuk melihat kinerja dari algoritma
MCTS. Pada tahap ini user mencoba melawan satu pemain AI, selanjutnya
melawan 3 pemain AI.
5. Dokumentasi
Pada tahap ini dilakukan dokumentasi hasil dari penerapan algoritma MCTS
pada permainan Halma.
1.7. Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut :
BAB 1 PENDAHULUAN
Bab ini berisi latar belakang penelitian ini dilakukan, perumusan masalah, batasanbatasan masalahnya, tujuan dan manfaat penelitian, metodologi penelitian, dan
sistematika penulisan dari penyusunan skripsi ini.
BAB 2 LANDASAN TEORI
Bab ini menjelaskan mengenai landasan teori yang diperoleh dari acuan yang
mendasari dalam melakukan kegiatan penelitian pada tugas akhir ini.
BAB 3 ANALISIS DAN PERANCANGAN
Bab ini menjelaskan mengenai analisis algoritma MCTS untuk pencarian langkah pion
pada permainan Halma dan algoritma DFS serta perancangan aplikasinya.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini menjelaskan implementasi pada sistem dari analisis yang dilakukan dan
pengujian terhadap aplikasi.
BAB 5 KESIMPULAN DAN SARAN
Bab ini menguraikan rangkuman dari masing-masing sub-sub bab yang ada sehingga
diperoleh kesimpulan dari penelitian ini serta memberikan saran agar bermanfaat
untuk pengembangan dari sistem ini selanjutnya.