Java KI für 4 Gewinnt

LaSs-kNaTtErN

Cadet 4th Year
Registriert
Apr. 2007
Beiträge
115
Hi,
ich muss für die Schule eine Ki für 4 Gewinnt programmieren. Das Projekt geht ein halbes Jahr ist also schon etwas umfangreicher.
Ich bin eben für die KI zuständig.
Natürlich erfrag ich hier keinen Code^^ wollte aber mal wissen wie ihr das Thema angehen würdet?

Ich hatte die Idee meine "KI" hochrechnen zu lassen um somit die beste Spielstrategie zu ermitteln. Die Frage wäre, wie könnte ich das genau machen und ob das zu langsam wäre?
Der Vorteil wäre aber, da es ja 7 Spalten gibt könnte man 7 Schwierigkeiitsstufen einstellen, da man ja in jeder Zeile ne unterschiedliche Chance zum gewinnen hat. Und die ist absteigend also so wären Schwierigkeitsgrade einfach zu realisieren.

Aber habt ihr allgemein andere bessere Ideen? oder auch links?

Vielen Dank im voraus

Gruß Alex
 
Ich würde erstmal hingehen und ´ne Partie mit mir selbst spielen. Dabei würde ich jeden einzelnen Schritt bzw. Zug analysieren, diese wären:

-Eigener Aufbau
-Überprüfung des Gegners vor jeder Zugdurchführung

Ebenso würde ich im Internet nach gängigen Strategien und deren Schritt-für-Schritt Erklärung suchen, die du dann evtl. implementieren könntest.

Allgemein wichtig bei einer solchen KI ist, dass sie Verlieren können soll.
Dies geht entweder zufällig, oder basierend auf "Ablenkung", weil es "2 Schlachtfelder" gibt.

Es sollte jedoch auch eine Möglichkeit geben, Taktiken früh zu durchschauen und zu kontern.


Ich weiß jedoch nicht wie weit das Ganze dann noch im Rahmen der Anforderungen bleibt.
Kann dir auch gerne weiterhin bei dem Problem zur Verfügung stehen. (ICQ: 208011597)

Hoffe ich konnte helfen. :)
Mfg
 
Ich würde so vorgehen:
Ein Computergegner arbeitet sich durch vollgende Schritte:

  1. Prüfen, ob der Computer gewinnen kann. Wenn nicht, dann zu zweitens.
  2. Prüfen, ob der Spieler gewinnen kann und ihn entsprechend blockieren. Wenn nicht, dann zu drittens.
  3. Einen Stein bestmöglich platzieren.
Das Schema mit dem der Computergegner seine Steine bei drittens setzt, sollte jede mögliche Position gewichten, inwiefern sie zum Erfolg führt und dann entsprechend die beste Position auswählen.

Optional könnte man noch eine Datenspeicher hinzufügen, der nach jedem Zug aktualisiert wird und alle noch "guten" Positionen enthält, damit solche Positionen, die den Computer verlieren lassen könnten oder nichts bringen gleich aussortiert werden.
Dadurch spart man sich, alles nach einem Zug komplett neu zu berechnen.
 
Das Problem wird sein, dass 4 Gewinnt sowieso immer vom beginnenden Spieler gewonnen werden kann.
Du kannst also natürlich eine KI machen, aber wirklich sinnvoll ist es nicht ;)
 
Zurück
Oben