(Moderator)
Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
Delphi 2007 Enterprise
|
Re: Ideen zur Schach KI
25. Mai 2005, 12:44
Ich bleibe dabei, das ich nicht glaube, das dein Verfahren immer den besten Zug findet. Er sucht nur eine ganze Weile nach zufälligen Zügen... Das dabei eventuell der beste Zug dabei ist, ist logisch. Erzeuge zum Spass mal eine Liste aller möglichen Züge, führe die nacheinander aus, merke Dir die Stellungbwertung, und zeige dann den besten Zug an. Ich bezweifle, das bei Dir immer das gleiche rauskommt...
Mein Zeugs habe ich erstmal so hingeschrieben, ich weiss gar nicht, ob das funktioniert.
Ja, ich hab so ziemlich alle Spiele (Brett- und Denkspiele) programmiert (als ich noch nicht arbeiten musste) von Dame über Reversi, Backgammon, Go-Bang, 4-Gewinnt etc. Ich habe auch mal eine Arbeitsplangenerierung als Spiel programmiert (eigentlich ein Optimierungsproblem, aber das ist Schach ja auch: Finde den besten Zug)
Du solltest auf jeden Fall Alpha-Beta-Pruning implementieren, einen schnellen Zuggenerator und eine schnelle Bewertungsfunktion implementieren.
Der Horizonteffekt tritt ja dann auf, wenn der Rechner 'denkt', dieser Zug (der Letzte in der Vorschautiefe) sei jetzt der Brenner, aber in Wirklichkeit bekommt er gleich danach eine aufs Maul. Wie kann man das vermeiden? Ich glaube, das ist das grosse Problem. Aber, man kann versuchen, die wirklich dämlichen Horizonteffekte zu vermeiden. Wie? Nun, wenn wir uns im Schlagabtausch befinden und ich denke, ich hau Dir die Dame weg und gebe mir 1000 Punkte, ist das toll. Im nächsten Zug wäre ich Matt (was ich nicht sehe). Also sollten Züge, die einen grossen Vorteil erlangen (oder einen Nachteil abwenden) tiefer analysiert werden (bis sich z.B. die Lage wieder beruhigt hat). Wann hat sich 'die Lage wieder beruhigt'? Wenn z.B. das Vorzeichen der Stellungsbewertung nicht bei jedem Halbzug wechselt, oder auch einfach: Wenn [Stellung (Mein-Zug) - Stellung (Deine Antwort)] < Schwellenwert...
Du kannst dich auch mal mit neuronalen Netzen beschäftigen. Das beste Backgammonprogramm arbeitet damit und ist unbesiegbar geworden. Neuronale Netze werden gerne als Allheilmittel gepriesen. Sind sie zwar nicht, aber diffuse Muster können sie ganz gut erkennen. Bei vielen Stellungen gibt es ja solche 'Muster'...
Halte uns auf dem Laufenden, viel Spass. Fragen werden immer gerne beantwortet.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|