Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Warum beherrscht nicht einmal Stockfish die Idee der
- - By Tom Paul Date 2013-09-24 15:11
zweifachen Stellungswiederholung und die anderen Engines auch nicht oder?

Vorteile
1. Die Engine würde in der Stellung tiefer rechnen.
2. Bedenkzeit gegenüber dem Gegner einsparen oder dazugewinnen.
3. Das würde mehr nach menschlichem Stil aussehen.
4. Gegen Menschen und Engines würde diese Engine mehr Punkte holen.
5. Außerdem habe ich festgestellt, dass einige Engines verwirrt reagieren, wenn ihr Gegner eine zweifache Stellungswiederholung macht: z.B. gab es abstürze (somit gratis Sieg für die andere Engine oder den Menschen), oder die Engine musste sich von Tiefe 0 wieder hocharbeiten, oder die Engine spielte einen Zug den sie garnicht berechnet hatte, oder die Engine bewertete die Stellung plötzlich ganz anders als zuvor.
Parent - - By Michael Scheidl Date 2013-09-24 15:44
Es ist ganz richtig wenn Engines ein zweifaches Vorkommen derselben Stellung ("zweifache Wiederholung" ist ungenau formuliert!) nicht voreilig als remis bewerten, denn die Regel lautet ja remis ist bei dreifachem Vorkommen. Nach nur zweifachem Vorkommen könnte sich eine intelligente Engine eventuell entscheiden abzuweichen und auf Gewinn zu spielen, wenn die Bewertungen Chancen dafür sehen.
Parent - By Benno Hartwig Date 2013-09-24 19:55
[quote="Michael Scheidl"]Es ist ganz richtig wenn Engines ein zweifaches Vorkommen derselben Stellung ("zweifache Wiederholung" ist ungenau formuliert!) nicht voreilig als remis bewerten, denn die Regel lautet ja remis ist bei dreifachem Vorkommen. Nach nur zweifachem Vorkommen könnte sich eine intelligente Engine eventuell entscheiden abzuweichen und auf Gewinn zu spielen, wenn die Bewertungen Chancen dafür sehen.[/quote]Mag ja sein. Aber soweit ich es beurteile, bewerten die Engines die Stellung doch mit 0,00 (oder was sie sonst für remis als Wert nehmen), wenn sie mit dem besten Zug eine Stellungswiederholung erreichen. Sie warten doch gar nicht darauf, dass das ein weiteres Mal passiert.
Das hatte in den 80ern doch schon Colossus auf dem C64 gekonnt. Da war das noch einfach zu erkennen, weil die erreichte Tiefe eh recht klein war.

Ich denke, gerade das führt insb. bei Stockfish doch so oft dazu, dass er lange 0,00 anzeigt, um dann zu erleben, dass sein Gegner doch in eine andere Variante abspielt.

Benno
Parent - - By Tom Paul Date 2013-09-24 19:59
Übrigens bezog sich meine Aussage keinesfalls ausschließlich auf eine 0.00 Bewertung.

Die Engine sollte in jeder möglichen Stellung in der eine zweifache Stellungswiederholung spielbar ist diese auch spielen und erst danach den besten Zug ausführen.
Parent - By Chess Player Date 2013-09-24 20:13
[quote="Tom Paul"]
Übrigens bezog sich meine Aussage keinesfalls ausschließlich auf eine 0.00 Bewertung.
...in der eine zweifache Stellungswiederholung spielbar ist diese auch spielen ...
[/quote]

Das könnte auch nach hinten losgehen, denn wenn die gegnerische engine zwischenzeitlich erkannt hat, das die Stellung für sie vorteilhaft ist, dann war es das!
Parent - By Benno Hartwig Date 2013-09-25 14:19
[quote="Tom Paul"]Die Engine sollte in jeder möglichen Stellung in der eine zweifache Stellungswiederholung spielbar ist diese auch spielen und erst danach den besten Zug ausführen.[/quote]Wenn die Alternativen und ggf. auch diese Stellung schlecht aussehen, könnte sie das gut tun und auf Remis hoffen.
Allerdings kann ihr passieren, dass der Gegner danach anders weiterspielt (Logik also wie im Folgenden):

Wenn die Stellung gut aussieht, könnte sie das auch tun. Ihr Gegner würde aber ggf. genauso wie eben agieren, und so müsste sie selbst nun versuchen, in der Folge irgendwann einen anderen Zug zu spielen, als denjenigen, den sie beim ersten Mal als den besten(!) errechnet hatte.
Ja. Könnte klappen. Wenn es irgendwann vor der 3. Wiederholung solch einen guten Alternativzug gibt.
Diese Chance ("Ja, solch einen Zug werde ich finden!") muss also Wertmäßig verglichen werden mit dem besten Zug, der die Wiederholung von vornherein verhindert.

Benno
Parent - - By Michael Bechmann Date 2013-09-25 07:49
Zitat:
Warum beherrscht nicht einmal Stockfish die Idee der
zweifachen Stellungswiederholung und die anderen Engines auch nicht oder?


Das tun sie doch, so wie es in den Schachregeln steht.
Wo also sollten da Vorteile sein?
Besonders Punkt 5 kann ich nicht nachvollziehen. Bei einer zweifachen Stellungswiederholung muss die Engines nichts mehr tun, denn dann ist Remis entstanden.
Parent - - By Benno Hartwig Date 2013-09-25 09:03
[quote="Michael Bechmann"]Das tun sie doch, so wie es in den Schachregeln steht.[/quote]Weil die Engine dann einen guten Plan bekommt, obwohl die Suchtiefe für das Erkennen des Remis nicht ausreicht.
Wenn ich eine Stellung minimaxmäßig 'erzwingen' kann, in der meinem Gegner schon mal nichts Geeignetes eingefallen ist, dann ist die ja vielleicht remisträchtig, auch wenn die Positionelle Bewertung einen für mich etwas schlechteren Wert ergibt. Dann strebe ich das mal an und hoffe auf das Remis.

Natürlich ist das 2-schneidig:
Diese Stellung habe ich ja ggf. beim ersten Mal mit -0.50 bewertet (gegen mich)
Jetzt könnte ich ggf. auch eine -0.20-Stellung erreichen. (wäre ja besser für mich)
Engines nehmen streben dann aber gern diese bekannte Stellung an, weil sie bereits diese erste Wiederholung mit 0,00 bewerten.
Und gerade Stockfish 'wundert' sich dann gern, wenn der Gegner danach 'frech und überraschend' anders weiterspielt als beim ersten mal.

Ggf. geht die Rechnung auf "Dem Gegner fällt nicht besseres ein, ggf. gibt es für ihn ja auch nichts Gutes!" Dann ist es gut, die Stellung erneut anzustreben.
Ggf. Sieht der Gegner, dass der erste Weg zu nichts führte, und spätestens sobald er erkennt, dass es auf Wiederholung hinaus läuft, macht er etwas anderes.
So gesehen z.B. im TCEC-Spiel Stockfish vs. Bouquet.

Benno
Parent - - By Michael Bechmann Date 2013-09-25 10:39
Sinnvoll wäre es, wenn die Engine mehrere Züge als 0,00 bewerten (Das ist im Endspiel regelmäßig so) einen zufälligen Zug aus diesen auswählt und darauf achtet, dass man die Züge aus der aktuellen Stellung ausschließt, die bereits ausgeführt worden sind (um Stellungswiederholung zu vermeiden).
Parent - - By Benno Hartwig Date 2013-09-25 11:43
[quote="Michael Bechmann"]Sinnvoll wäre es, wenn die Engine mehrere Züge als 0,00 bewerten (Das ist im Endspiel regelmäßig so) einen zufälligen Zug aus diesen auswählt und darauf achtet, dass man die Züge aus der aktuellen Stellung ausschließt, die bereits ausgeführt worden sind (um Stellungswiederholung zu vermeiden).
[/quote]Man kann den alpha-beta-Algorithmus sicher so ändern, dass er gleichgute beste Züge erkennt. Das kostet dann aber mehr Zeit und macht bestenfalls beim ersten Zug im Suchbaum Sinn. Ein voll bewerteter Zug braucht sehr viel mehr Zeit als einer, der nur widerlegt zu werden braucht.
Dann kann man auch einen zufälligen Zug wählen, im Interesse eines abwechslungsreichen Spiels. Wird das irgendwo so gemacht? Ist die Sinnhaftigkeit ausreichend?

Stellungswiederholungen werden ja jetzt gezielt angestrebt, wenn die Alternativen schlecht sind.
Stellungswiederholungen werden ja jetzt gezielt vermieden, wenn es eine bessere Alternative gibt.

Interessant finde ich aber die Frage:
Sollte eine Stellungswiederholung angestrebt werden, wenn diese Stellung eigentlich als 'nicht gut' bewertet wird und es dabei eine Alternative gibt, die nicht ganz so schlecht ist?
Also: Sind die Remischancen größer in der Stellung die 'nur etwas schlecht ist' oder in der 'objektiv schlechteren' Stellung, aus der mein Gegner aber schon einmal nichts machen konnte?

Benno
Parent - - By Tom Paul Date 2013-09-25 12:25
Sagen wir Stockfish bewertet seine Stellung mit +1.00, das ist vielleicht gewonnen oder remis.
Jetzt spielt Stockfish die besten Züge die er findet und die Partie endet remis.
Jetzt spielt Stockfish ab der gleichen Stellung noch einmal, wiederholt die Züge immer da wo dies möglich ist und die Stellung nicht verschlechtert, erreicht dadurch eine höhere Tiefe, hatte mehr berechnet und gewinnt die Partie.
Parent - - By Benno Hartwig Date 2013-09-25 13:38
[quote="Tom Paul"]Sagen wir Stockfish bewertet seine Stellung mit +1.00, das ist vielleicht gewonnen oder remis.
Jetzt spielt Stockfish die besten Züge die er findet und die Partie endet remis.
Jetzt spielt Stockfish ab der gleichen Stellung noch einmal, wiederholt die Züge immer da wo dies möglich ist und die Stellung nicht verschlechtert, erreicht dadurch eine höhere Tiefe, hatte mehr berechnet und gewinnt die Partie.[/quote]Oh, du meinst, Stockfish sollte auf alle Züge und Bewertungen vorhergehender Partien zugreifen können? Das wäre sehr viel Aufwand mit sehr wenig Trefferwahrscheinlichekeit, befüchte ich. Aber sollte SF eine bekannte Stellung treffen, dann würde die Engine profitieren. Klar. Aber mit welchern Wahrscheinlichkeit gelingt das? 0,000000000000000000000000000000001 oder so?

Ich sprach bislang nur von Wiederholungen innerhalb einer Partie.
Wie soll die Engine damit umgehen, wenn eine Stellung im Suchbaum erscheint, die schon mal auf dem Brett war.
Was soll sie machen, wenn alle Alternativen schlecht scheinen.
Was soll sie machen, wenn eine Alternative gut aussieht.
Und wie ist dies jeweils zu bewerten, wenn diese Wiederhol-Stellung selbst eigentlich mehr oder weniger 'gut' oder auch 'schlecht' aussah?
Da bin ich mir dann doch unklar, was die Engines machen.
Mein Eindruck: Wenn die Alternativen schlecht sind, dann Wiederholung anstreben, und mit 0,00 bewerten.
Das ist aber ggf. simpler und schlechter als nötig. (Und ggf. machen die Engines es ja doch besser, und ich erkannte es nur nicht)

Benno
Parent - By Tom Paul Date 2013-09-25 14:16
War eher so wie bei GMs gemeint, die spielen nicht sofort den besten Zug sondern wiederholen die Stellung z.B. durch Schach geben und erst dann den besten Zug, psychologischer Effekt wer das sagen hat.
Bei den Engines würde es sich dies dann auf die Tiefe etc auswirken.
Up Topic Hauptforen / CSS-Forum / Warum beherrscht nicht einmal Stockfish die Idee der

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill