Das hab ich mich auch schon gefragt. Meinem Verständnis nach sollte es eher ein Wettbewerb sein, in dem die KI lernt, das spiel gegen einen vorgefertigten Gegner zu gewinnen. Gewinner wäre derjenige, der die wenigsten Durchläufe/Generationen benötigt zum gewinnen .
Aber das widerspricht ja dann der Runden-Definition (Punkto 1vs1/All vs All usw.).
Ich würde sagen, das sollte sich mit einem vernünftigen Punktesystem lösen lassen wobei z.B. jede Aktion/Reaktion mit 1 - 10 Punkten bewertet wird und dann davon irgendwie der Punkteprozentsatz der guten resp. schlechten Entscheidungen eine Endwertung ergibt und dann vielleicht der effektive Sieg nur noch ein paar Bonuspunkte.
Spoiler anzeigen
Sagen wir mal wir haben 2 KIs die gegeneinander Tic Tac Toe spielen:
KI_1_O verwendet einen Zufallsgenerator um den nächsten Zug auszuwürfeln.
KI_2_X wertet das Spielfeld aus (was mich gleich noch zu einer weiteren Frage bewegt) und entscheidet anhand eines Algorythmus, wo der nächste Stein hingelegt werden soll.
Runde 1:
X | ||
O | ||
KI_1_O: 3pkt Der Zug hat keine negativen Folgen für den Spieler. Allerdings wurde er einfach dahingewürfelt.
KI_2_X: 8pkt Der Algorythmus sieht, dass KI_1_O für den nächsten Zug 8 beinahe gleichwertige Möglichkeiten hat. Um sich selbst einen möglichst grossen Möglichkeitspool zu schaffen, entscheidet sie sich für eine der Ecken. Welche ist dabei nicht von Bedeutung.
Runde 2:
X | ||
O | O | |
X |
KI_1_O: 6pkt Der Zug hat wiederum keine negativen Folgen für den Spieler. Allerdings wurde er einfach dahingewürfelt. Dennoch hat der Zug einen positiven Effekt auf das Endergebnis
KI_2_X: 6pkt die KI hat gesehen, dass KI_1_O eine Möglichkeit zum beenden des Spiels hat, es sieht nun die Notwendigkeit, in dieser Spalte einen Stein zu legen. Aufgrund eines Programmierfehlers entscheidet es sich aber fälschlicherweise (aufgrund der dadurch entstehenden 2 Möglichkeiten für einen sinnvollen nächsten Zug) wiederum für die Ecke. Dieser Zug kann die KI den Sieg kosten, wird also deshalb
Runde 3:
X | ||
O | O | O |
X |
KI_1_O: 6pkt Die KI hat das Spiel gewonnen.
KI_2_X: 0pkt Dieser Zug wurde nicht mehr gespielt.
Wir sehen also, dass KI_2_X das Spiel an sich sowohl auf dem Feld als auch punktemässig (15:14).
Rechnen wir das nun aber mal nach Schlauheit aus:
KI_1_O: Diese KI hat in 3 Zügen insgesamt 15 von 30 möglichen Punkten erreicht. Das sind gerundete 45%.
KI_2_O: Diese KI hat in 2 Zügen (der letzte wurde ja nicht mehr gespielt) insgesamt 14 von 20 möglichen Punkten erreicht. Das sind satte 70%.
Damit gewinnt nun also KI_2_O, sie hat insgesamt einfach schlauer reagiert auch wenn sie verloren hat.