CodeBlanks Logo Icon CodeBlanks

Minimax

Oyun ağacında minimax değerini öğrenirsin.

Minimax

Minimax, iki kişili sıfır toplamlı oyunlarda optimal hamleyi bulan algoritmadır. Oyun ağacında max oyuncusu kazancını büyütmeye, min oyuncusu rakibinin kazancını küçültmeye çalışır.

Yaprak düğümlerde değerler bilinir. İç düğümlerde, sıradaki oyuncu max ise çocukların en büyüğü, min ise en küçüğü seçilir.

Algoritma özyinelemelidir ve oyun derinliği d'e kadar tüm ağacı tarar; karmaşıklık O(b^d)'dir.

Minimax özyinelemesi

Minimax özyinelemeli çalışır: her iç düğümde, sıradaki oyuncuya göre çocuklardan en büyük veya en küçük değer seçilir.

minimax(node, is_max): eğer düğüm yapraksa değerini döndür; değilse, çocukların minimax değerlerini hesapla ve max veya min uygula.

İki oyuncu sırayla oynar; bu yüzden her seviyede is_max değişir.

Uygulama minimax fonksiyonu

minimax(node, is_max) yaz. node iç içe liste; yaprak değer tamsayı. Max oyuncu en büyüğü, min oyuncu en küçüğü seçer. print(minimax([[3, 5], [2, 9]], True)) ile 3 yazdır.

Başlangıç kodu

solution.py
def minimax(node, is_max):
    # Basit minimax değer

Örnek çözüm

solution.py
def minimax(node, is_max):
    # Basit minimax değer
    if not isinstance(node, list):
        return node
    if is_max:
        return max(minimax(child, False) for child in node)
    return min(minimax(child, True) for child in node)
print(minimax([[3, 5], [2, 9]], True))

Beklenen çıktı

3

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Max oyuncusunun hedefi nedir?

solution.py
if is_max:
    return max(values)
  • Rakibi memnun etmek
  • Ağacı küçültmek
  • Hızı artırmak
  • Kazancı büyütmek Doğru cevap

Açıklama: Max oyuncusu kazancı büyütmeyi hedefler.

2 max dalı

Soru
if is_max:
    return ____(minimax(child, False) for child in node)
Cevap
if is_max:
    return max(minimax(child, False) for child in node)

Açıklama: Max oyuncusu en büyüğü seçer.

3 Minimax kavramları

Kavram Anlamı
max oyuncu Büyüt
min oyuncu Küçült
yaprak Bilinen değer
oyun ağacı Arama alanı

Uzman seviye bölümündeki tüm dersler