Hi, AI Experte hier
TLDR; Monte Carlo Tree Search und Binary Decision Cutoff
Zuerst etwas vereinfacht, mit nur einem Würfel und ohne Pasch. Darauf aufbauend dann die vollständige Vorgehensweise.
Wir bedenken 1–4 Spieler (Ja, auch der Single Player Fall kann, gespielt / bedacht werden, auch wenn in der Praxis eher langweilig) oder man generalisiert zu X Spielern und findet eine Regel, das Spielbrett für X Spieler zu generieren.
Aber gehen wir einfach mal vom Standard Mensch ärgere dich nicht aus, mit 1 - 4 Spielern.
Ziel:
Wenn ein Spieler S an der Reihe ist, muss der beste Zug ermittelt werden. Wobei natürlich bekannt ist, was der Würfel W grade anzeigt. (S → 1 bis 4, W → 1 bis 6) Ebenfalls sind Spielfiguren Positionen entscheidend.
Wenn S dran ist, kann von der Wurzel aus ein Suchbaum erzeugt werden.
Sobald das Spiel beginnt und der erste Spieler gewürfelt hat, gilt folgendes Szenario:
Die Wurzel des Baumes B hat 4 direkte Kindknoten. Jedes Kind ist genau eine der möglichen Konfigurationen, die dadurch entstehen, dass der Spieler die Wahl hat, welche seiner Figuren er zieht.
Die Kindknoten sind also diejenigen Spielbrett-Konfigurationen, welche sich ergeben, sobald ein Spieler gewürfelt hat und eine Figur gezogen wurde.
Da wir alle 4 Knoten auf diese Weise darstellen können, kommt nun die Simulation.
Rein konzeptionell wollen wir für jeden Knoten eine Anzahl Simulationen bis zum Spielende durchführen, um statistisch zu bestimmen, wie gut der Zug war / wie oft die Konfiguration im Mittel gewinnt.
Angenommen nach dem ersten Zug führen wir für jeden der 4 Kind-Knoten 1000 Simulationen durch.
Gemerkt wird sich, wie oft der Spieler S (Spieler, der am Zug ist) in jeder der 4 Konstellationen die gemachten Simulationen gewonnen hat.
Zum Beispiel könnte das Resultat sein, dass der Spieler mit der ersten Spielfigur ein Resultat von 200 gewonnenen Simulationen hat und das Resultat der zweiten bis vierten Spielfigur unter 150 lag. Das wäre dann auch schon der gewünschte, beste Zug.
Hier noch Gedanken, die unerlässlich sind:
Bei der Simulation muss das Schlagen programmiert werden
Muss auf 2 Würfel und Pasch angepasst werden
Da die einzelnen Figuren gleichwertig sind, können viele Kindknoten, die zu gleichen Konfigurationen führen, zusammengefasst werden und der Suchbaum wird dramatisch kleiner, aber bleibt optimal
Da kann man jetzt fast eine Bachelorarbeit in Informatik draus machen.