Anda di halaman 1dari 11

ALGORITMA

MINIMAX
PENGERTIAN
 Algoritma mini-max adalah algoritma rekursif atau backtracking yang digunakan dalam
pengambilan keputusan dan teori permainan. Ini memberikan gerakan optimal bagi pemain
dengan asumsi lawan juga bermain maksimal.
 Algoritma Mini-Max menggunakan rekursi untuk mencari melalui pohon permainan.
 Algoritma Min-Max banyak digunakan untuk bermain game di AI. Seperti Catur, Catur, tic-
tac-toe, go, dan berbagai permainan penarik. Algoritma ini menghitung keputusan minimax
untuk keadaan saat ini.
PENGERTIAN
 Dalam algoritma ini dua pemain memainkan permainan tersebut, yang satu disebut MAX dan
yang lainnya disebut MIN.
 Kedua pemain saling bertarung karena pemain lawan mendapat keuntungan minimal dan
mendapat keuntungan maksimal.
 Kedua Pemain dalam permainan ini saling berlawanan, di mana MAX akan memilih nilai
yang dimaksimalkan dan MIN akan memilih nilai yang diminimalkan.
 Algoritma minimax melakukan algoritma pencarian depth-first untuk eksplorasi pohon
permainan yang lengkap.
 Algoritme minimax melanjutkan hingga ke simpul terminal pohon, lalu menelusuri kembali
pohon tersebut sebagai rekursi.
CARA KERJA ALGORITMA
MIN-MAX:
 Cara kerja algoritma minimax dapat dengan mudah dijelaskan menggunakan sebuah
contoh. Di bawah ini kami telah mengambil contoh pohon permainan yang mewakili
permainan dua pemain.
 Dalam contoh ini, ada dua pemain, yang satu disebut Maximizer dan yang lainnya disebut
Minimizer.
 Maximizer akan berusaha mendapatkan skor semaksimal mungkin, dan Minimizer akan
berusaha mendapatkan skor seminimal mungkin.
 Algoritme ini menerapkan DFS, jadi dalam pohon permainan ini, kita harus menelusuri
seluruh daun untuk mencapai node terminal.
 Di simpul terminal, nilai terminal diberikan sehingga kita akan membandingkan nilai tersebut
dan menelusuri kembali pohonnya hingga keadaan awal terjadi. Berikut adalah langkah-
langkah utama yang terlibat dalam menyelesaikan pohon permainan dua pemain:
LANGKAH-1
Pada langkah pertama, algoritme menghasilkan seluruh pohon permainan dan menerapkan
fungsi utilitas untuk mendapatkan nilai utilitas untuk status terminal. Pada diagram pohon di
bawah ini, anggaplah A adalah keadaan awal pohon. Misalkan pemaksimal mengambil giliran
pertama yang mempunyai nilai awal kasus terburuk =- tak terhingga, dan memperkecil akan
mengambil giliran berikutnya yang mempunyai nilai awal kasus terburuk = + tak terhingga.
LANGKAH 2
Sekarang, pertama kita cari nilai utilitas untuk Maximizer, nilai awalnya adalah -∞, jadi kita
akan membandingkan setiap nilai di status terminal dengan nilai awal Maximizer dan
menentukan nilai node yang lebih tinggi. Ini akan menemukan hasil maksimal di antara
semuanya.
 Untuk simpul D maks(-1,- -∞) => maks(-1,4)= 4
 Untuk Node E maks(2, -∞) => maks(2, 6)= 6
 Untuk Node F maks(-3, -∞) => maks(-3,-5) = -3
 Untuk simpul G max(0, -∞) = max(0, 7) = 7
LANGKAH 3
Pada langkah berikutnya, giliran minimer, sehingga akan membandingkan semua nilai node
dengan +∞, dan akan menemukan nilai node lapisan ke-3
 Untuk simpul B= min(4,6) = 4
 Untuk simpul C= menit (-3, 7) = -3
LANGKAH 4
Sekarang giliran Maximizer, dan ia akan kembali memilih nilai maksimum dari semua node dan
menemukan nilai maksimum untuk node akar. Di pohon permainan ini hanya ada 4 lapisan,
maka kita langsung mencapai simpul akar, tetapi di permainan sebenarnya akan ada lebih dari 4
lapisan.
 Untuk simpul A maks(4, -3)= 4
PROPERTI ALGORITMA MINI-
MAX
 Selesai- Algoritma Min-Max Selesai. Ia pasti akan menemukan solusi (jika ada), di pohon
pencarian terbatas.
 Optimal- Algoritma Min-Max optimal jika kedua lawan bermain maksimal.
 Kompleksitas waktu- Saat menjalankan DFS untuk pohon permainan, maka kompleksitas
waktu algoritma Min-Max adalah O(b m ) , di mana b adalah faktor percabangan pohon
permainan, dan m adalah kedalaman maksimum pohon.
 Kompleksitas Ruang- Kompleksitas ruang pada algoritma Mini-max juga mirip dengan DFS
yaitu O(bm)
BATASAN ALGORITMA
MINIMAX
Kelemahan utama dari algoritma minimax adalah ia menjadi sangat lambat untuk permainan
yang kompleks seperti Catur, go, dll. Jenis permainan ini memiliki faktor percabangan yang
sangat besar, dan pemain mempunyai banyak pilihan untuk diputuskan. Keterbatasan algoritma
minimax ini dapat diperbaiki dari pemangkasan alfa-beta

Anda mungkin juga menyukai