4 Gewinnt KI - Bewertung

zidius

Lieutenant
Registriert
Juli 2009
Beiträge
903
Hi,
ich programmiere gerade für einen Wettbewerb an meiner Hochschule eine 4 Gewinnt KI (mit modifizierten Regeln) und bin jetzt bei der Feinabstimmung der Bewertungsfunktion.

Aber genau die macht mir richtig Probleme.
Zur kurzen Beschreibung:
Ich verwende die Alpha-Beta-Suche und bewerte in einer bestimmten Tiefe das Spielfeld durch Zählen der vorhandenen 2er und 3er Ketten (4er Ketten werden gesondert gesucht)
Dabei werden nur solche Ketten berücksichtigt, die noch zu einer 4er Kette erweitert werden können.
Die eigenen Ketten zählen positiv, die des Gegners negativ und die Summe ist das Ergebnis.
...

Eigentlich so, wie man es überall im Netz nachlesen kann. Was nur leider nirgends erwähnt wird ist, wie viele Punkte es für die 3er und 2er Ketten geben soll. Bzw. welches das 'beste' Verhältnis zwischen diesen ist (Wenn es überhaupt so eins gibt).

Habe selber schon viele Werte ausprobiert, kann aber leider nicht wirklich bestimmen, welche besser bzw. schlechter sind :freak:

Mom schwanke ich zwischen
2er Kette = 2 Punkte, 3er Kette = 5 Punkte
und
2er Kette = 2 Punkte, 3er Kette = 30 Punkte
vll. ist aber beides murks.

Wollte daher hier mal nachfragen, ob damit schon wer Erfahrung hat :)
Bin für Tipps aller Art dankbar!

Gruß
F(r)og of War
 
du meinst mit positiv und negativ... dass du einen gesammtpunktzahl aus den beiden machst? wieivele der gegner hat und wieviele selbst.

Ich würde es so machen....

zuerst musst die KI prüfen ob die seine kette auf vierer erweitern kann. wenn nicht dann prüft die ki ob der gegner auf vierer (oder dreier) erweitern kann. bei 3er kette musst du aber erst den gegner prüfen ob der nicht auf vierer oder dreier erweitern kann. alles was unter 3 ist, ist harmlos. bei den zweier kette machst du die selbe überprüfung wie bei 3er.
 
Na ja, diese Abfragen erledigt indirekt die AlphaBeta Suche...

Ich suche also von der akt. Spielsituation alle möglichen Folgekombinationen nach z.B. 10 weiteren Zügen und diese werden dann bewertet.
Somit 'denkt' meine KI 10 Züge voraus.
...

Wie schon geschrieben funktioniert das auch wunderbar, ich weiß nur nicht welche die besten Werte für 2er und 3er Ketten sind.

Ein kleines Beispiel:
Lasse ich meine KI gegen sich selbst spielen und verändere die Werte (z.B. so, dass nur noch 3er Ketten Punkte geben), dann wählt die KI, im Laufe des Spiels, zwar ab und zu ein paar andere Züge, aber am Ergebnis (also Sieg oder Niederlage) ändert sich nichts.

Es ist natürlich ohnehin schwierig objektive Aussagen aus diesen Tests zu ziehen, da ich die KI immer nur gegen sich selber Spielen lassen kann.
(Durch die veränderten Regeln bringen mir andere 4 Gewinnt Programme [ohne Code] nix)

Edit:
Wenn aber hier jemand zufällig eine 'normale' 4 Gewinnt KI geschrieben hat, wäre ich für Infos über die Punktevergabe sehr dankbar.
 
Zuletzt bearbeitet:
Ohne die Werte für die Bewerung zu kennen:
Du könntest doch "einfach" KIs mit unterschiedlichen Parametern gegeneinander antreten lassen. Oder die KI, die du optimierst, gegen eine mit fixen Parametern und einer leichten Zufallsabweichung in der Bewertung. Dann jeweils 1000 Spiele oder so laufen lassen und schauen wie erfolgreich deine KI ist. Dann Parameter anpassen und wieder laufen lassen.
 

Ähnliche Themen

Antworten
11
Aufrufe
7.316
Antworten
8
Aufrufe
1.880
D
  • Gesperrt
Antworten
5
Aufrufe
3.135
Zurück
Oben