Minimax Algorithmus



  • Hallo zusammen,
    ich möchte gerne den Minimax Algorithmus verwenden um mir eine KI für Tic Tac To als Gegner zu erstellen.
    Allerdings habe ich mir jetzt schon echt viel Stoff zu dem Algo angesehen und verstehe immernoch nicht so ganz wie die Metrik berechnet werden soll.
    Der Algo probiert ja alle möglichkeiten die es gibt durch und berechnet eine Metrik für jede Möglichkeit.
    Kann mir von euch jemand ein Beispiel geben,wie ich die Metrik passend berechnen kann?



  • Tic Tac To kann man doch wunderbar durchrechnen. Von daher nimm einfach 1, wenn weiss gewonnen hat, -1, wenn schwarz gewonnen hat, und rekursiver Abstieg, wenn noch keiner 3 in einer Reihe hat.



  • Damit wird aber nicht der schnellste Gewinnzug ermittelt. Daher sollte man noch die aktuelle Spielzugnummer (level) mit einfließen lassen, z.B.

    return (10-level) * player * win;
    

    wobei player dann 1 oder -1 ist und win entsprechend 1, 0 oder -1 - und level je Abstieg von 0 (oder 1) an ansteigt.



  • SG1 schrieb:

    Tic Tac To kann man doch wunderbar durchrechnen. Von daher nimm einfach 1, wenn weiss gewonnen hat, -1, wenn schwarz gewonnen hat, und rekursiver Abstieg, wenn noch keiner 3 in einer Reihe hat.

    Jupp. Weil man immer ankommt, braucht es gar keine Abschätungen der Stellung bei unbekanntem Ausgang.
    Aber die Werte weären 1=gewinn, -1=verluste, 0=unentschieden.
    Oder, was auch noch geht, ist die Zugnummer des Spielendes einfließen zu lassen, 100-znde=gewinn, 0=unentschieden, -100+znde=verlust, um schnelle Siege zu forcieren und im Verlustfall dem Gegner möglichst lange zu widerstehen.


Log in to reply