Minimax algoritması ile oynayan yapay zeka
Minimax, iki oyunculu sıfır toplamlı oyunlarda optimal hamleyi bulan bir oyun ağacı (game tree) algoritmasıdır. Path search algoritmaları (BFS/DFS/A*) yerine, rakibin en iyi hamlesini varsayarak kendi en iyi hamlesini hesaplar.
function minimax(board, depth, isMaximizing) {
if (terminal) return evaluate(board);
if (isMaximizing) {
bestScore = -Infinity;
for each move:
score = minimax(board, depth+1, false);
bestScore = max(bestScore, score);
return bestScore;
} else {
bestScore = +Infinity;
for each move:
score = minimax(board, depth+1, true);
bestScore = min(bestScore, score);
return bestScore;
}
}