Anda di halaman 1dari 4

PENYELESAIAN PENCARIAN LEGAL STATE PADA GAME TIC-TAC-TOE DENGAN MENGGUNAKAN ALGORITMA MINIMAX DIMAS PANCA PUTRA 09372005

Email: dimaspancaputra@gmail.com ABSTRAK Algoritma Minimax (juga sering disebut Minmax) adalah sebuah algoritma yang mendasari pola pikir langkah penyelesaian masalah dalam beberapa jenis permainan komputer, seperti tic-tac-toe, othello, checkers, catur, dll. Pada dasarnya, algoritma Minimax sangat andal untuk menyelesaikan segala masalah dalam pencarian langkah untuk permainan komputer dengan jumlah kemungkinan penyelesaian yang kecil, seperti pada permainan tic-tac-toe. Tetapi, jika algoritma Minimax digunakan pada permainan dengan jumlah kemungkinan penyelesaian yang besar seperti pada permainan tic tac toe, algoritma Minimax ini memerlukan waktu yang sangat lama untuk membangun pohon penyelesaian. Makalah ini akan mencoba menjelaskan sebuah konsep algoritma minimax dan pembelajaran mesin yang diterapkan pada permainan tic-tac-toe. Setelah pembelajaran dari strategi-strategi untuk sebuah permainan didapat, algoritma minimax diharapkan mampu membantu pemain memainkan tic-tac-toe dengan baik. Hasil dari proses ini diharapkan dapat dibandingkan dengan beberapa metode-metode yang lain dalam lingkup kecerdasan buatan.
Kata kunci: Algoritma Minimax, Pembelajaran Mesin, Permainan, Tic-Tac-Toe.

PENDAHULUAN Memainkan sebuah permainan merupakan sebuah konsep penelitian yang sangat populer dikalangan komunitas AI (kecerdasan buatan). Para peneliti di bidang itu telah mengembangkan beberapa metode pencarian untuk permainan. Metode-metode pencarian yang dikembangkan biasa berupa pencarian secara tradisional maupun secara heuristic yang lebih cerdas. Penelitian ini akan mencoba memfokuskan pada permainan sederhana yang dinamakan Tic-Tac-Toe. Seiring dengan kemajuan globalisasi, nuansa kompetitif makin kental dalam keseharian manusia. Seiring dengan itu, kecenderungan kegiatan didominasi oleh kegiatan-kegiatan yanglebih banyak menkonsumsi stamina otak. Hal itu berbeda dengan kecenderungan kehidupan manusia zaman dahulu (misalnya zamanprasejarah) yang masih di dominasi

oleh kegiatan yang didominasi kinerja otot. Terkurasnya stamina otak yang dirasakan sebagian besar manusia zaman modern, tentu saja tidak cukup dipulihkan dengan istirahat fisik saja. Karena itu kebutuhan entertainment sangatlah vital saat ini.Seiring dengan majunya dunia entertainment, salah satu area entertainment yang cukup banyak melibatkan scientist dan artist adalah gaming industry. Dulunya game merupakan salah satu aspek entertainment yang minor, hanya sebagaiselingan atau hiburan saja. Dan dianggap tidak menghasilkan sesuatu. Bahkan terkadang jika terdapat orang yang teramat sangat menggandrungi dunia game hal itu dianggap sesuatu yang tidak normal. Namun hal itu sedikit demi sedikit berubah. Untuk membuat pemain merasa seperti melawan pemain manusia lainnya, diperlukan

suatu algoritma yang dapat membuat AI ini mampu mengambil keputusan yang terbaik agar dapat mengalahkan pemain atau setidaknyamenghalau pemain menang. Algoritma minimax ini merupakan algoritma yangsangat sering dipakai untuk permasalah tersebut. Dan permainan tic-tac-toe merupakan salah satu contoh yang baik dan cukup sederhana untuk kita mengerti bagaimana cara kerja dan efeknya. PEMBAHASAN 1. Permainana tic-tac-toe Permainana tic-tac-toe merupakan permainan berjenis board-game berukuran 3x3. Pemain harus mengisi sel-sel tersebut sedemikian sehinggakarakter yang dimasukkan pemain tersebut dapat membentuk suatu garis lurus horizontal, vertikal, ataupun juga diagonal. Permainan ini biasanya dimainkan oleh 2 orang pemain, tapi pada versi permainan komputer, pemain lawan dapatdigantikan oleh komputer. Dalam permainan ini hasilnya dapat berupa menang,kalah, ataupun seri.Disini dengan adanya AI yang mampu meminimalisir kemungkinan untuk pemain menang, permainan ini akan menjadi sangat sulit untuk dimenangkan oleh pemain. Bahkan kemungkinan terbaik untuk pemain hanyalah seri. Dengan katalain dengan menggunakan algoritma minimax ini, komputer tidak akah pernah kalah Berikut contoh permainan tic-tac-toe :

Gambar 1.2 Contoh kondisi seri pada permainan tic-tac-toe Berikut garis besar algoritma minimax secara umum : Cari langkah yang dengan nilai maksimum IF langkah tersebut merupakan langkah kemenangan THEN pilih lagkah tersebut. ELSE FOR EACH kemungkinan langkah yang ada Cari langkah lawan yang bernilai minimum. RETURN nilai dari langkah tersebut. Pilih langkah yang bernilai maksimum dari langkah-langkah tersebut. Pemakaian algoritma umum diatas untuk permainan tic-tac-toe adalahsebagai berikut : IF ada langkah kemenangan THEN pilih langkah tersebut. ELSE IF lawan mempunyai 2 spot terisi dalam satugaris dengan spotketiga masih kosong THEN tutup langkah tersebut(isi spot kosong ketigatersebut) .ELSE melangkah ke state yang mempunyai kemungkinan menang tertinggi (berdasarkan nilai) Dilihat dari algoritma diatas, nilai heuristic yang dibangkitkan akan sangatmempengaruhi analisis dari AI tersebut. Oleh karena itu, semakin bagus fungsiheuristic maka semakin bagus pula analisis AI tersebut, dan semakin sulit pula AIuntuk dikalahkan.

Gambar 1.1 Contoh kondisi menang pada permainan tic-tac-toe

2. Implementasi Algoritma Minimax Anggaplah ada 2 pemain A dan B. Jika pemain A bisa menang dalam 1langkah, maka langkah tersebut adalah langkah kemenangannya. Jika pemain Bmengetahui bahwa langkah tersebut akan mengarahkan ke hasil akhir dimana pemain A akan menang, dan di lain kondisi ada langkah lain yang akan mengarahkan ke hasil akhir seri, maka langkah terbaik untuk pemain B adalahlangkah yang akan mengarahkan hasil akhir permainan ke hasil seri. Di setiaptahap algoritma ini mengasumsikan bahwa pemain A mencoba untuk memaksimalisasi peluang menang. Di lain pihak, pada giliran berikutnya pemainB akan mencoba meminimalisir peluang menang untuk pemain A. Oleh karenaitu, A disebut juga maximizing player (MAX) dan B disebut juga minimizing player (MIN).Pembentukan pohon pencarian solusi digunakan dengan menggunakankonsep depth-first, dimulai dari awal permainan sampai akhir permainan. Setelahitu, posisi akhir permainan dievaluasi melalui sudut pandang MAX seperti gambar dibawah ini :

MinMax (GamePosition game) { return MaxMove (game);} MaxMove (GamePosition game) { if (GameEnded(game)) { return EvalGameState(game);} else { best_move < - {}; moves <- GenerateMoves(game); ForEach moves {move <MinMove(ApplyMove(game)); if (Value(move) > Value(best_move)){ best_move < - move;}}r eturn best_move;}}MinMove (GamePosition game) { best_move <- {};moves < - GenerateMoves(game); ForEach moves {move <MaxMove(ApplyMove(game)); if (Value(move) > Value(best_move)){ best_move < move;}}return best_move; } Values disini merepresentasikan sebagaimana bagusnya suatu langkah dalam permainan. Jadi, pemain A (MAX) akan memilih langkah dengan nilai paling tinggi diakhir. Di sisi lain, pemain B (MIN) akan melakukan serangan balik dengan memilih langkah yang terbaik untuknya, yakni meminimalisir hasil darilangkah yang dipilih pemain A. KESIMPULAN AI (Kecerdasan Buatan ) akan selalu memilih langkah yang dapat meminimalisir kemungkinan pemain(manusia) untuk menang dan memblok semua langkah kemenangan pemain.Dengan demikian permainan akan selalu seri apabila pemain cukup teliti dalammenentukan langkah. Namun jika pemain melakukan langkah yang salah, maka AI akan langsung menggunakan kesempatan tersebut.

Gambar 2.1. Representasi pohon pencarian pada algoritma minimax. Setelah itu nilai dari setiap simpul diisi dari bawah ke atas dengan nilaiyang sudah dievaluasi oleh fungsi heuristic. Simpul milik pemain A (MAX) menerima nilai maksimum dari simpul-simpul anaknya. Simpul milik pemain B(MIN) akan memilih nilai minimum dari simpul anak-anaknya. 5 Berikut pseudocode dari algoritma yang digunakan :

Berikut kesimpulan yang di dapat: a. Algoritma minimax merupakan algoritma yang sangat bagus dan cocok untuk pengambilan keputusan oleh AI, terutama dalam permainan nplayer (n>=2). b. Algoritma minimax menggunakan konsep DFS dalam pembentukan pohonsolusi. c. Pohon solusi dibentuk dari awal permainan sampai akhir permainan. d. Untuk permainan yang terbilang cukup kompleks seperti permainan catur, pembentukan pohon solusi dari awal permainan sampai akhir permainan akansulit direalisasikan berhubung kemungkinan yang ada sangat besar. e. Oleh karena itu, kita dapat membatasi dalamnya pohon solusi pada suatutahap untuk mempercepat kinerja pengambilan keputusan. f. Semakin akurat fungsi heuristic yang digunakan, semakin baik pula pengambilan keputusan yang dilakukan oleh AI.

g. Dengan menggunakan algoritma minimax untuk AI dalam permainan tictac-toe, pemain (manusia) tidak akan pernah menang melawan AI tersebut.

DAFTAR PUSTAKA Munir, Rinaldi.2006. Strategi Algoritmik. Program Studi Informatika, Institut Teknologi Bandung. Kevin McGee, Advance Game Programming : AI , Desember 9, 2005. Wikimedia Foundation, Inc.A * Search Algorithm http://en.wikipedia.org/wiki/Astar_search_alg orithm. www.stancford.edu~msirotasocominimax.ht ml http://ai-depot.com/articles/minimaxaexplained/1/

Anda mungkin juga menyukai