C++ Programmierwettbewerb-Bild

Ich nehme derzeit an einem Programmierwettbewerb teil. Dabei geht es um die Programmierung einer KI (Künstliche Intelligenz) die in einem Turnier gegen die anderen KIs antreten darf.

Basierend auf dem Spielprinzip von "Bejeweled" wurde ein Kampfspiel für zwei Spieler entwickelt. Nähere Informationen dazu findet man auf der Seite des Wettbewerbs. Es geht prinzipiell darum möglichst geschickt Steine zusammenzufügen um damit dem Gegner Schaden zuzufügen. Da das Spiel von KIs gespielt wird gibt es keine Visualisierung, jedoch hat ein Teilnehmer ein Java Programm geschrieben, dass den momentanen Spielstand anzeigt und es ermöglicht ein Spiel Mensch gegen KI zu führen. Ich werde die für Testzwecke natürlich benötigen.

Meine genaue Strategie für die KI werde ich erst nach abgabefrist bekanntgeben. Nur soviel: ich werde sie in Etappen auf mehrere Versionen erstellen. So habe ich dann mehrere KIs, die ich dann gegeneinander testen kann um herauszufinden, ob die neue Version dann auch wirklich besser ist als die vorangegangene.

Drückt mir und meiner KI die Daumen ;)

Folgende KI Versionen werde ich implementieren:

  • KI 1.0 (Neto): Standard KI die als Basis für weitere überlegungen dienen wird. fertig
  • KI 2.0 (Nodons): Realistisch spielende KI die bereits kluge Züge macht. fertig
  • KI 3.0 (Meduris): diese KI plant bereits über einen Zug hinweg. fertig
  • KI 4.0 (Neit): diese KI wird im Hinblick auf den nächsten Zug des Gegners den Zug machen. fertig
  • KI 5.0 (Balor): diese KI soll auch den menschlichen Spieler schlagen können. fertig
Nach langem Testen steht mein Gewinner nun fest! Die 3. KI (Meduris) darf mich bei dem Wettbewerb vertreten. Interessanterweise konnten die zwei intelligenteren KIs gegen diese nicht bestehen. Nach langem Testen und Herumprobieren schaffte ich es nicht diese KI zu schlagen. Meduris liefert für meinen Ansatz das beste Ergebnis. Ich hoffe er kann sich auch gegen andere KIs behaupten.

Mein KI belegte nur den vorletzten Platz. Trotzdem habe ich von dem Wettbewerb einiges gelernt. Naja, wenigstens nicht der letzte Platz.

zu C++ Programmierwettbewerb hier