Algoritma Minimax Algoritma Negamax

10 tercipta akibat langkah yang dibuat oleh parent node sampai akhirnya didapat salah satu pemain yang memenangkan permainan Timothy, 2014. Pada gambar 2.2 ditunjukan bagaimana pohon permainan untuk permainan tic tac toe. Gambar 2.2 Pohon Permainan dari Permainan Tic Tac Toe Borovska Lazarova, 2007 Setiap permainan turn-based dapat direpresentasikan dalam bentuk pohon permainan. Gambar 2.2 menunjukan pohon permainan dari permainan tic tac toe untuk dua langkah pertamanya. Setiap node pada pohon menunjukan posisi papan permainan dan setiap cabangnya menunjukan langkah yang dapat diambil. Jumlah cabang untuk setiap papannya adalah sama dengan jumlah dari langkah yang dapat diambil. Ada saatnya pada suatu posisi papan tidak ada lagi langkah yang bisa diambil. Itu berarti telah mencapai akhir permainan dan point akhir akan diberikan pada setiap pemain. Pada zero-sum games, point akhir setiap pemain jika ditambahkan akan sama dengan nol.

2.5 Algoritma Minimax

Algoritma minimax adalah algoritma pohon permainan yang dibagi menjadi dua bagian, dimana pemain pertama merupakan computer player dan pemain kedua merupakan human player. Minimax akan mencari jalan terbaik untuk computer player dan human player akan memainkan permainan dengan jalan terbaiknya sendiri. Dapat diartikan bahwa minimax akan memaksimalkan nilai jika langkah diambil untuk computer player dan meminimalkan nilai jika langkah diambil untuk human player Elnaggar et al., 2014. Universitas Sumatera Utara 11 Jadi pada minimax, jika computer player memilih langkah yang akan diambil, minimax akan memilih langkah dengan keuntungan terbesar karena minimax akan memaksimalkan nilai akhir computer player. Sedangkan saat human player jalan, tentu akan memilih langkah yang akan merugikan computer player atau dapat dikatakan human player akan meminimalkan nilai akhir dari computer player. Minimax tentu saja diperuntukan untuk mencari nilai terbaik dalam permainan berbasis zero-sum. Maksudnya, jika misalkan computer player yang mendapatkan nilai, maka human player akan mengalami kehilangan nilai dengan jumlah yang sama dengan nilai yang didapat computer player, atau sebaliknya Plaat et al., 2012. Gambar 2.3 menunjukan bagaimana ilustrasi kerja dari algoritma minimax. Gambar 2.3 Ilustrasi Kerja Algoritma Minimax Ben Coppin, 2004

2.6 Algoritma Negamax

Algoritma minimax dilihat berdasarakan sudut pandang computer player, sehingga minimax dapat mengetahui di setiap tahapan, dia harus memaksimalkan nilai atau meminimalkan nilai tergantung tahapan tersebut milik computer player atau human player. Cara ini dapat diperbaharui dengan cara setiap ingin naik ke tahap selanjutnya kita negasikan nilainya dan memilih nilai maksimal. Sudut pandangnya pun berubah, karena setiap pemain memilih langkah dengan nilai maksimal, maka sudut pandang berubah disetiap gilirannya. Cara ini dapat disebut algoritma negamax. Perbedaan dari algoritma negamax dan minimax adalah negamax hanya menggunakan fungsi maksimal dan tidak seperti algoritma minimax yang menggunakan kedua fungsi yaitu fungsi maksimal dan fungsi minimal. Ini dapat dilakukan dengan menegasikan nilai yang dikembalikan dari point lawan daripada Universitas Sumatera Utara 12 mencari nilai minimal Elnaggar et al., 2014. Hal ini dapat ditunjukan dengan menggunakan relasi matematika berikut: Max a, b == -Min -a, -b Pada gambar 2.4 akan ditunjukan bagaimana ilustrasi kerja dari algoritma negamax. Gambar 2.4 Ilustrasi Kerja Algoritma Negamax Millington, 2006

2.7 Android