Ki für Brettspiel Mühle



  • Hallo,

    ich bin auf der Suche nach einer KI für das Brettspiel Mühle.
    Ich habe ein Mühlespiel in c++ programmiert in dem ich im Moment nur gegen andere Leute spielen kann. Nun möchte ich gerne gegen eine KI spielen können ohne alles selber schreiben zu müssen.

    Kann mir einer einen Tipp geben oder hat vllt eine Idee?

    Viele Grüße



  • Ich würde so vorgehen, als ob ich eine Schach-KI schreiben wöllte.

    Erst eine Bewertungsfunktion schreiben, welche für eine gegebenen Menge von Steinen sagt, wie viel Punkt du und wie viele der Gegner hat.

    Dann eine Funktion, welche für eine Gegebenes Spielstand eine Menge von möglichen Zügen ermittelt (Hier keine Zufallsfunktion verwenden)

    Du hast dann also N mögliche Spielzüge. Du probierst dann einfach jeden davon durch und benutzt die Bewertungsfunktion.

    Auf die Weise baut sich ein Suchbaum auf, wo es für jeden Knoten einen Punktwert aus der Bewertungsfunktion gibt.

    Beim Aufbauen des Baumes gibt es nun Strategien: Erst dann Baum komplett bis 3 Tiefen aufbauen. Ab da dann nur noch die vielversprechenden Zweige weiter verfolgen.

    Der Zweig, der zum Höchsten Knoten führt, wird dann genommen.


  • Mod

    Er will ja gerade nicht alles selber programmieren.

    Wobei ich da nicht wirklich einen Weg drumrum sehe. Die Chance, dass du Code für eine fertige Mühle-KI findest ist eher gering (das Spiel ist nicht wirklich interessant, da es bereits vor Jahrzehnten gelöst wurde) und selbst wenn, wäre es voraussichtlich ähnlich viel Arbeit, diese in das Programm zu integrieren, wie eine eigene KI zu schreiben.

    Mühle wurde Anfang der 1990er auf damaligen Desktopcomputer mit damaligen Techniken vollständig gelöst. Bei Google findest du jede Menge Paper aus der damaligen Zeit mit kompletten Algorithmen, wie man die Tiefensuche effizient durchführt (Mühle heißt auf Englisch "Nine Man's Morris").

    Ist natürlich einigermaßen langweilig für den menschlichen Spieler, weil diese perfekte KI immer mindestens ein Unentschieden erzwingen kann.


Anmelden zum Antworten