ARTIFICIAL INTELIGENCE
Kecerdasan Buatan atau Artificial Intelligence didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin atau komputer agar dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer atau games, logika fuzzy, jaringan syaraf tiruan dan robotika. Artificial Intelligence atau kecerdasan buatan digunakan dalam permainan ini yaitu diletakkan pada komputer yang bertindak sebagai lawan dari user. Dengan menggunakan kecerdasan buatan, user akan mendapatkan perlawanan layaknya perlawanan manusia. Hal ini disebabkan komputer selain berusaha membuat goal, juga menghalangi jalannya user dalam membuat goal.
CONTOH 5 GAME BESERTA ALGORITMANYA
1. Stacking Birds
Pada Stacking Birds Game ini menggunakan Algoritma Minimax. Algoritma minimax merupakan basis dari semua permainan berbasis AI seperti permainan catur dan tic tac toe misalnya. Pada algoritma Minimax, pengecekan akan seluruh kemungkinan yang ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. Tentunya dibutuhkan resource yang berskala besar untuk menangani komputasi pencarian pohon solusi tersebut.
Keuntungan yang didapat dengan menggunakan algoritma minimax yaitu algoritma minimax mampu menganalisis segala kemungkinan posisi permainan untuk menghasilkan keputusan terbaik karena lagoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat mengalami kerugian minimum. Semua strategi lawan akan dihitung dengan algoritma yang sama dan seterusnya. Ini berarti pada langkah pertama, komputer akan menganalisis seluruh pohon permainan. Dan, untuk setiap langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapat keuntungan minimum dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum.
Rules dari Stacking Birds Game
Berikut ini adalah aturan dalam permainan Stacking Birds :
- Pada games ini papan terbentuk atas 3 kolom dan 3 baris (3×3).
- User dilambangkan dengan objek bird berwarna merah dan AI Computer dilambangkan dengan pig berwarna hijau.
- User mempunyai hak untuk giliran pertama.
- Taruhlah objek anda pada kolom yang ada, setelah itu AI Computer yang mendapat giliran selanjutnya. AI Computer berusaha untuk menghalangi user membentuk garis horizontal, vertikal maupun diagonal dari tiga objek user. Begitupun sebaliknya, user juga akan menghalangi AI Computer membentuk garis horizontal, vertikal maupun diagonal dari tiga objek AI.
- Pemenangnya ditentukan berdasarkan pemain pertama yang dapat membuat tiga objek pemain masing-masing berhimpitan membentuk garis vertikal, horisontal atau diagonal.
- Apabila tidak ada pemain yang dapat membentuk garis vertikal, diagonal, atau horizontal dari tiga objek pemain secara berhimpitan, maka permainan berakhir seri (draw).
INITIAL STATE
Kondisi awal pada Game Stacking Birds adalah suatu papan yang terdiri dari tiga kolom dan tiga baris. Tujuan dari game ini adalah membentuk suatu garis baik itu horizontal, vertikal maupun diagonal dari tiga objek pemain. Dimana user yang dilambangkan dengan objek bird berwarna merah melawan AI computer yang dilambangkan objek pig berwarna hijau. Pada game ini, user mendapat giliran yang pertama.
GOALS
Goal atau tujuan permainan ini adalah menang. Pemain dikatakan menang ketika berhasil membuat tiga objek pemain tersebut membentuk garis baik vetikal, horizontal maupun diagonal. Akan tetapi, apabila tidak ada pemain yang berhasil mencapai goal, maka permainan berakhir seri. Berikut contoh kondisi akhir permainan.
2. Game ROW
Row merupakan kategori MiniMax dan Alpha Beta Pruning pada strawberry prolog
Algoritma yang diimplementasikan pada permainan ini adalah Minimax yang dioptimasikan dengan Alpha Beta Pruning.
Algoritma minimax merupakan basis dari semua permainan berbasis AI seperti permainan Satu Lawan Banyak misalnya. Pada algoritma minimax, pengecekan akan seluruh kemungkinan yang ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. Tentunya dibutuhkan resource yang berskala besar untuk menangani komputasi pencarian pohon solusi tersebut berhubung kombinasi kemungkinan untuk sebuah permainan catur pada setiap geraknya sangat banyak sekali. Keuntungan yang didapat dengan menggunakan algoritma minimax yaitu algoritma minimax mampu menganalisis segala kemungkinan posisi permainan untuk menghasilkan keputusan yang terbaik karena algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum. Semua strategi lawan akan dihitung dengan algoritma yang sama dan seterusnya. Ini berarti, pada langkah pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapatkan keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum.
Minimax yang merupakan algoritma pohon pencarian akan melakukan penelusuran pada setiap node hingga diperoleh nilai maksimum untuk memenangkan pertandingan. Namun, pohon pencarian pada Satu Lawan Banyak memiliki kedalaman dan ruang lingkup percabangan yang luas, sehingga dibutuhkan waktu cukup lama untuk mengevaluasi seluruh kemungkinan. Untuk itulah dibutuhkan sebuah algoritma yang dapat mengoptimalkan pencarian, yaitu Alpha Beta Pruning. Algoritma ini akan memangkas beberapa percabangan pada pohon pencarian yang tidak mempengaruhi hasil evaluasi Minimax. Dengan adanya Alpha Beta Pruning maka ruang pencarian dapat dikurangi sehingga proses penelusuran dan evaluasi dapat dilakukan lebih cepat.
Algoritma yang diimplementasikan pada permainan ini adalah Minimax yang dioptimasikan dengan Alpha Beta Pruning.
Algoritma minimax merupakan basis dari semua permainan berbasis AI seperti permainan Satu Lawan Banyak misalnya. Pada algoritma minimax, pengecekan akan seluruh kemungkinan yang ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. Tentunya dibutuhkan resource yang berskala besar untuk menangani komputasi pencarian pohon solusi tersebut berhubung kombinasi kemungkinan untuk sebuah permainan catur pada setiap geraknya sangat banyak sekali. Keuntungan yang didapat dengan menggunakan algoritma minimax yaitu algoritma minimax mampu menganalisis segala kemungkinan posisi permainan untuk menghasilkan keputusan yang terbaik karena algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum. Semua strategi lawan akan dihitung dengan algoritma yang sama dan seterusnya. Ini berarti, pada langkah pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapatkan keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum.
Minimax yang merupakan algoritma pohon pencarian akan melakukan penelusuran pada setiap node hingga diperoleh nilai maksimum untuk memenangkan pertandingan. Namun, pohon pencarian pada Satu Lawan Banyak memiliki kedalaman dan ruang lingkup percabangan yang luas, sehingga dibutuhkan waktu cukup lama untuk mengevaluasi seluruh kemungkinan. Untuk itulah dibutuhkan sebuah algoritma yang dapat mengoptimalkan pencarian, yaitu Alpha Beta Pruning. Algoritma ini akan memangkas beberapa percabangan pada pohon pencarian yang tidak mempengaruhi hasil evaluasi Minimax. Dengan adanya Alpha Beta Pruning maka ruang pencarian dapat dikurangi sehingga proses penelusuran dan evaluasi dapat dilakukan lebih cepat.
Daftar Pustaka :
https://isaveme.wordpress.com/2011/11/23/game-row-pada-strawberry-prolog/
https://inikitaa.wordpress.com/2013/01/21/contoh-game-strawberry-prolog-stacking-birds/
Pembuatan game beserta algoritmanya