Bin zwar kein starker Spieler, aber ich stelle fest, dass mich der Algorithmus selbst mit wenigen Iterationen schon schlagen kann. Ich bin vorsichtig optimistisch, dass der Algorithmus für das Spiel gut geeignet sein könnte.
MCTS konvergiert gegen Alpha-Beta ohne Tiefenbeschränkung. Bei Spielen, wo der Algorithmus schnell genug konvergiert, wäre das Ergebnis eine fast fehlerfreie Engine. (Schach eher nicht, aber vielleicht Reversi.)
Man muss nur die Spielregeln hardcoden, Strategie und Taktik kristallisieren sich von selber raus. Man braucht keine heuristische Bewertungsfunktion wie bei Alpha-Beta mit Tiefenbeschränkung.
Der Zufallsfaktor macht die Engine "menschlicher". In derselben Stellung wird nicht immer derselbe Zug gewählt.
Das Zeitmanagement ist einfach. Ich wähle einfach nur die Anzahl der Iterationen und die benötigte Zeit wächst proportional mit.
Ich habe es noch nicht ausprobiert, aber ich glaube, der Algorithmus lässt sich einfach parallelisieren. Wenn mir keine Verbesserungen mehr einfallen, würde ich das Problem einfach mit mehr Kernen bewerfen.
Zugehöriges Rabbit Hole: Es gibt einen Weltverband für Mühle, dessen offizielle Regeln machen aber keinen sehr professionellen Eindruck und lassen mehr Fragen offen, als sie beantworten. Ich habe stattdessen Ralph Gassers Regeln implementiert, der das Spiel in den 90ern gelöst hat. http://library.msri.org/books/Book29/files/gasser.pdf
Add comment