Einfache tic-tac-toe AI

Ich weiß, das wurde oft gefragt, und ich habe gesucht anderen code, aber das meiste, was ich gesehen habe scheint nicht makellos (nicht verliert) und einfach, elegant und effizient. Und ich bin nicht in der Lage zu entscheiden, welche Art von Lösung würde passen diese Beschreibung.

Den Lösungen, die ich gesehen habe, sind:

(1) Mit minimax mit alpha-beta-pruning. Dies scheint kompliziert zu mir und eventuell unnötig, für so ein einfaches Spiel? Ist es wohl zu kompliziert? Wenn nicht, würde ich tun müssen, eine Menge von hard-Codierung oder bin ich Missverständnis der Algorithmus?

(2) Schreiben Sie Ihren code mit dem pseudocode-Strategie von Wikipedia... ich bin mir nicht genau sicher, wie Sie diese umsetzen. Zum Beispiel, es sagt nur "check für Gabeln". Würden die meisten diese Kontrollen durchgeführt werden, indem ein array von winningLines und überprüfen, ob Sie möchte ausgefüllt werden oder sowas? Wenn nicht, kann mir jemand Hinweise auf das, was Datenstrukturen oder irgendwelche grundlegenden Tipps, wie die Umsetzung der Kontrollen stellte in der pseudocode hier: http://en.wikipedia.org/wiki/Tic-tac-toe#Strategy . Ich habe auch gesehen, algorithmen, geben Sie einen numerischen Wert ein " X " Quadrat und einem 'O' square und verwenden Sie dann die Summe um den Gewinner zu entscheiden, aber ich sehe nicht ein, warum dies besonders nützlich.

Andere angemessenen Lösungen?

  • Für so ein kleines Spiel Baum, nur brute-force-it. Es würde überhaupt keine Zeit zu simulieren, die jedes mögliche Spiel.
  • scheint nicht makellos (gewinnt immer) = normal scheint. ich Gewinne immer bei tic tac toe. oder im schlimmsten Fall Unentschieden. jeder intelligenten person, das gleiche Ergebnis. das ist, warum spielt man nicht, tic tac toe nach dem Alter von 10 Jahren. es ist kein Spaß, wenn niemand gewinnt.
  • Auch ja, "immer zu gewinnen" ist nicht ein Gültiger Anforderung (immer). Stell dir vor, dein Algorithmus spielt gegen sich selbst.
  • Ich meinte nie verliert
  • Dann sollten Sie vielleicht Bearbeiten Sie Ihre Frage.
InformationsquelleAutor user1136342 | 2013-04-01
Schreibe einen Kommentar