[quote="Reinhard Scharnagl"]... oder eine Befreiung vom
strikten Negamax-Ansatz (unterschiedlich angepasste Bewertungsmodelle für beide Parteien),
da beide kaum mittels derselben Bewertungsfunktion über Züge entscheiden. [/quote]
Eine interessante Idee.
In welchem Maße könnte womöglich eine Engine gegen Rybka3 ohne Tablebases erfolgreicher spielen, wenn ihre Bewertungskriterien sie erkennen ließen, dass das falsche-Läufer-Endspiel zwar remis ist, dass ihr Gegner Rybka3 für sich hier aber einen klaren Vorteil wähnen würde?
Bisweilen könnte die Engine aus schlechter Position eine Stellung herbeiführen, in der sie erkennt, dass der Gegner das Remis verhindern kann, in der sie aber auch erkennt, dass Rybka3 frohgemut in das falsche-Läufer-Endspiel abwickeln wird.
Eine statistisch nicht wichtige Randerscheinung?
Oder würden da doch häufiger mal halbe Punkte eingefahren werden, die ansonsten nicht kämen?
(Jedenfalls gäbe Vas das vielleicht endlich die Motivation, hier nachzubessern!)
Jede Stellung müsste wohl zwei Values bekommen, einen den die Engine für korrekt hält, einen den vermutlich der Gegner für korrekt hält.
Beim Minimax würden dann für alle Knoten jeweils wieder zwei Werte aufgebaut,
- damit die Engine selbst sich entscheiden kann,
- und damit gemutmaßt werden kann, was die Gegnerengine entscheiden würde.
mal so spontan angedacht...
Benno
By Reinhard Scharnagl
Date 2009-08-21 14:47
Selbstverständlich bekommt dann jede Position zwei höchstwahrscheinlich unterschiedliche Bewertungen.
Das Problem hierbei ist aber nicht der Übergang zwischen den Bewertungsmodellen beim zugbedingten
Farb- bzw. Spielerwechsel, sondern die zu erwartende Schwierigkeit, dass die jeweiligen Maxima / Minima
nicht bei identischen Zügen liegen (sonst wäre dieser Ansatz zudem sinnlos).
By Reinhard Scharnagl
Date 2009-08-21 15:04
Sofern die möglichen Bewertungsfunktionen eine parametrisierte Familienschar darstellten,
wäre eine neu hinzukommende Aufgabe, diese Parameter während der Partie optimal zu
modellieren, durch Annäherung an die zwischenzeitlich vom Gegner gespielten Züge,
beispielsweise mittels simulierter Abkühlungsverfahren oder etwa auch per Fuzzy Logic.
By Reinhard Scharnagl
Date 2009-08-21 15:35
Eine weiter Folge solchen Vorgehens wäre, dass diese Art von Bewertung Schach
als Spiel mit de facto unvollständiger Indformation betrachten würde. Es wäre
also aus der Sicht beider Seiten KEIN Nullsummenspiel mehr. Die Bewertung des
besten Zuges aus eigener Sicht in eigener Bewertung plus der aus fremder
Sicht in fremder Bewertung wäre dann in der Regel nicht gleich Null. Deshalb
muss man sich dann auch etwas anderes einfallen lassen als den Negamax ...
Dennoch würde es die tatsächliche nicht allwissende Situation besser treffen.
By Reinhard Scharnagl
Date 2009-08-21 15:45
Dieser Bewertungsverschiedene Ansatz hätte selbstverständlich noch weitere
Einsatzmöglichkeiten, besonders eine andere Nutzung mehrerer Prozessorkerne,
was ich mir folgendermaßen vorstelle: eine Engine rechnet parallel mit verschie-
denen Bewertungsfunktionen für sich selber: mal eher defensiv, eher offensiv,
eher Damenflügelorientiert, u.s.w. bei gleichbleibend optimierter Bewertungs-
funktion für die Gegenseite.
Dies würde der Erprobung divergierender STRATEGIEN gleichkommen, deren
erfolgversprechendstes Optimum dann festgestellt und angewandt werden
könnte. (Octopus macht bereits ähnliches in Bäumen unterhalb 0-Moves).
Leider findet sich in deutscher Sprache keine Nachfrage nach solchen Über-
legungen. Kreativität wird nicht honriert, sondern boykotiert oder sabotiert.