AI Minesweeper-Projekt

8

Ich muss Minesweeper Solver implementieren. Ich habe begonnen, einen regelbasierten Agenten zu implementieren. Ich habe bestimmte Regeln implementiert. Ich habe eine heuristische Funktion zur Auswahl der besten passenden Regel für die aktuelle Zelle (mit Informationen über umgebende Zellen), die behandelt wird. Für jede ausgewählte Zelle kann sie sich also für 8 Umgebungszellen entscheiden, um sie zu öffnen, zu markieren oder gar nichts zu tun. Ich meine. Im Moment erhält der Agent eine entschlüsselte Zelle und entscheidet, was mit den umgebenden Zellen geschehen soll (im Moment weiß der Agent nicht, wie er entscheiden soll, welche Zelle behandelt werden soll).

Meine Frage ist, welcher Algorithmus implementiert werden soll, um zu entscheiden, welche Zelle behandelt werden soll?

Nehmen wir an, für den ersten Zug zeigt der Agent eine Eckzelle (oder eine andere, gemäß einer Regel für den ersten Zug). Was danach zu tun?

Ich verstehe, dass ich eine Art von Suche durchführen muss. Ich kenne viele Suchalgorithmen (BFS, DFS, A-STAR und andere), das ist nicht das Problem, ich verstehe einfach nicht, wie ich diese Suchanfragen hier verwenden kann.

Ich muss es in den Prinzipien der künstlichen Intelligenz implementieren: Ein moderner Ansatz.

    
Nikita 06.07.2012, 20:37
quelle

2 Antworten

8

BFS, DFS und A * sind hier wahrscheinlich nicht geeignet. Diese Algorithmen sind gut, wenn Sie versuchen, eine Vorgehensweise zu planen, wenn Sie das vollständige Wissen über die Welt haben. In Minesweeper haben Sie kein solches Wissen.

Stattdessen würde ich vorschlagen, einige der logischen Inferenztechniken aus Abschnitt III des Buches zu verwenden, insbesondere mit SAT oder den Techniken aus Kapitel 10. Dadurch können Sie Rückschlüsse darauf ziehen, wo die Minen Fakten wie "Eins" verwenden von den folgenden acht Feldern ist eine Mine, und genau zwei der folgenden acht Felder sind eine Mine. " Wenn Sie dies bei jedem Schritt tun, können Sie herausfinden, wo sich die Minen befinden, oder erkennen, dass Sie raten müssen, bevor Sie fortfahren.

Hoffe, das hilft!

    
templatetypedef 06.07.2012, 21:09
quelle
0

Ich habe das portiert (mit ein bisschen Hilfe). Hier ist der Link dazu: Ссылка . Hier ist das Projekt: Ссылка

Viel Spaß!

    
Robert Plummer 02.01.2015 21:01
quelle