Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.11.2008, 17:11

Tic-Tac-Toe KI

Hi Forum!
Ich beschäftige mich gerade mit der Entwicklung einer Tic-Tac-Toe-KI, welche wenn möglich nicht verlieren sollte. Ich hab das ganze mal hochgeladen, Link steht unten.
Ihr habt den Kreis als Symbol, der Bot ein 'X'. Die KI ist noch nicht ganz fertig, für ein 3x3 muss ich noch ein paar bestimmte Züge programmieren, bei größeren Größen dürfte die KI schon immer ein Unentschieden schaffen.
Außerdem ist ein 2x2 sinnlos (1. Spieler gewinnt immer), und bei einer Größe größer als 8x8 stürzt komischerweise das Programm ab, also einfach eine Größe von 3x3 bis 8x8 wählen.

Sagt mir einfach, was ihr von der KI haltet. Ich hab vor 2 Tagen mal damit begonnen. Außerdem geht es NUR um die KI, mir ist also bewusst, dass man das Programm durch einen Buchstaben, wo eine Zahl erwartet wird, leicht zum Schreddern bringt ;).

Außerdem: x: von links nach rechts; y: von oben nach unten

Link: Hier klicken

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »defaultplayer^^« (07.07.2011, 16:52)


2

28.11.2008, 18:02

Ich komm gar nicht soweit irgendwas zu machen: Es kommt einfach das hier:

(Link)

3

28.11.2008, 18:45

Naja, beim 3*3 gewinn ich schonmal immer, erstrecht weil die ki immer gleich auf meine züge reagiert... aber auf anderen spielfeldern ist sie ganz gut (davon abgesehen, das das Programm öfters mal abstürzt)

4

28.11.2008, 18:54

@Koerperkarle: Kann ich nicht nachvollziehen. Könnte daran liegen, dass du ungültige Koordinaten angibst (dann zählt der Wurf nicht), aber dass das 3 mal passiert ist eigentlich unmöglich. Kommst du wenigstens dazu, dass du einmal irgendetwas eingeben kannst (außer die Größe)?

@raXor: Ja, bei 3x3 gibts nen sehr einfachen Trick, den ich noch beheben muss. Und in letzter Zeit gibt es bei mir auch viele Abstürze, auch schon bei 5x5. Sehr seltsam, mal schauen, woran das liegen kann.

Ok, dann werde ich zuerst einmal bei 3x3 die KI noch verbessern, danach muss ich mich schleunigst um die Abstürze kümmern. Danke soweit!

5

28.11.2008, 19:04

Ich komm gar nicht erst dazu, was einzugeben. Er macht 3 (oder mehr bei größeren Feldern) X und sagt, die Artificial Intelligence hätte gewonnen. Erinnert mich an das Beispiel von "Frogger" aus Davids Buch. :lol:
Aber ich glaub net dasses daran liegt

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

6

28.11.2008, 20:33

Ich habe das Programm nicht ausprobiert, aber ich habe mich vor kurzem auch mit KI (unter anderem) für XXO beschäftigt. Daher mal ein kleiner Tipp zur KI:
Ich denke da ist ein Datenbank Ansatz die simpelste Lösung. Du hast ca 400.000 verschiedene Spielverläufe die lassen sich wunderbar im voraus berechnen und für jede Situation die "optimale" Reaktion der KI speichern. Damit muss zur Laufzeit nur noch ein Wert in der "Datenbank" (hier reicht ja sogar ne std::map) nachgeschaut werden für eine praktisch perfekte KI.

7

28.11.2008, 22:44

@xardias: Danke, aber für mich ein wenig zu spät, weil sie für eine Größe größer als 3x3 schon gut genug ist (zumindest hab ich noch nicht gewonnen). Das Prinzip könnte ich mir durchaus merken, könnte mal noch nützlich sein (obwohl ich nicht geplant habe, in nächster Zeit noch eine KI zu programmieren).

Werbeanzeige