Die, nennen sie wir mal, "KI" ist gar nicht so schwer.
Du musst erstmal die Regeln eingeben, a la Zustandsänderung aus der Graphentheorie. Du brauchst eine Computerinterne Repräsentation des Spielfeldes, vielleicht array oder so. Wichtig ist, dass der Computer aus einer Spielfeldkostellation alle möglichen Züge berechnen kann. Des weiteren wie bereits erwähnt eine Bewertungsfunktion, da kann man schön rumprobieren.
Letztendlich lässt du dir alle x möglichen Züge berechnen, und ausgehend von den x Spielfeldern, die aus den x Zügen hervorgehen, lässt du dir wieder alle möglichen Züge errechen. Dies machst du bis zu einer gewissen Tiefe. Natürlich fällt und steigt damit der Rechen und Speicherbedarf. Am Ende bewertest du und nimmst den besten Weg.
Code:
Beispiel mit einer Tiefe 3
am Zug
Du 1 2 3 4
Gegner 11 12 21 22 23 33 41 42
Du 111 112 113 121 211 212 221 222 223 231 331 411 412 413 414 421 422
Du lässt dir alle möglichen Züge berechnen das sind 1, 2, 3 und 4.
Aus dieser Liste nimmst du den ersten Zug und wendest ihn an und bekommst ein entsprechendes Spielfeld.
Du lässt wieder alle Züge berechnen nämlich 11 und 12. Von denen nimmst du wieder den ersten und wendest ihn an.
Ausgehend von dem Spielfeld, welches sich aus der Anwendung von Zug 11 auf das Spielfeld, welches von der Anwendung aus Zug 1 herrührt, ergibt, berechnest du alle möglichen Züge.
111 112 und 113. Du wendest den ersten Zug 111 an und bekommst ein Spielfeld. Wir sind jetzt in der Ebene 3 also in der Zielebene. Dieses Spielfeld bewertest du nun und merkst dir die Bewertung.
Auf dem Spielfeld vom erfolgten Zug 11 führst du Zug 112 aus und bewertest das Feld. Du hast jetzt 3 Bewertungen, eine für 111,eine für 112 und eine für 113.
Du nimmst die schlechteste und schreibst sie klein neben den Zug 11, nun nimmst du das Spielfeld von Zug 12 und erstellst alle mögl. Züge. Ausgehend davon berechnest du wieder alle Spielfelder und bewertest sie, nimmst die schlechteste bewertung und schreibst sie dir neben 12.
Du nimmst deswegen die schlechteste, weil ja dein Gegner in Ebene 2 am Zug ist und er wird wahrscheinlich, die beste Wahl für sich , also die schlechtest für dich nehmen.
Nun schreibst du die bessere Bewertung von 11 und 12 oben neben die 1, weil du ja in Ebene 1 am Zug bist.
Positive und negative Bewertungswahl wechseln sich also ab, jeh nachdem wer am Zug ist. Die Bewertungsfunktion kann so immer gleich bleiben.
Jetzt lässt du dir von 2 wieder alle Züge erstellen bis unten mit bewertung usw. Du bewegst dich also den Baum von oben nach unten und wieder nach oben und von links nach rechts.
Am Ende steht neben jedem Zug in Ebene 1,2,3 und 4 eine kleine Bewertung. Die beste repräsentiert den Zug, den du machst oder machen solltest.
Soweit erstmal das, Fragen oder schon abgeschaltet?
Gast 2000
Lesezeichen