Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Stockfish / Zeiteinteilung?
- - By Eduard Nemeth Date 2019-08-29 13:29
Ich bin gerade auf dem Server und spiele mit Stockfish eine Partie 16+0. Nachdem die Engine immerhin 16 Züge aus dem Buch spielte, musste der 17. Zug berechnet werden! Dabei ließ sich Stockfish gerade mal 9 Sekunden Zeit! Ja meine Güte, warum muss man bei der Bedenkzeit so schnell ziehen? Gerade der erste berechnete Zug ist in meinen Augen der wichtigste. Was nutzt einem das beste Buch, wenn die Engine es gleich vermasselt. Was haben sich die Programmierer dabei gedacht?
Parent - - By Eduard Nemeth Date 2019-08-29 13:38
Die Partie endete immerhin Remis. Das ist die Stellung:

Deepblueocean,Eman 4.00 - SolistaChess,Stockfish Polyglot 1/2-1/2, Wertungspartie, 16 min 2019



Schwarz sollte sich in einer solchen Stellung Zeit nehmen!! Aber nix da, Stockfish spielte nach 9s 17...Qb6 (Bewertung 0.00).
Parent - - By Benno Hartwig Date 2019-08-29 14:20
Ich denke mal, die Engine verhält sich gleich: wenn sie diese Stellung direkt aus der Eröffnung präsentiert bekommt, oder wenn sie vorher bereits einige Züge fleißig selbst errechnete. Welcher grundsätzliche Unterschied sollte hier denn bestehen? Abgesehen, dass Hashtable-Inhalte ggf. irgendwie genutzt werden können.
Menschen beginnen hier einen Plan zu fassen und überlegen dafür sinnvollerweise länger. In den Folgezügen zehren sie dann von diesem Plan und sind schneller. SF und auch andere Engines sehen aber einfach eine Stellung und beginnen zu überlegen, was man damit anfangen kann, nutzen allenfalls etwas Hashtableinhalte.

Die Entscheidung kurz oder lang zu Überlegen kann also nur durch die Stellung selbst begründet sein.
Welche besonderen für die Engine erkennbaren Merkmale hat denn diese Stellung, die ein besonders langes Nachdenken geboten erschienen lässt?
4 mal solange denken verschafft ja auch nur ca. 2 Plys mehr, also vielleicht statt 25 nun 27.
Ok, welche Gründe SF bewogen, nur besonders kurz zu denken, weiß ich auch nicht. Gundsätzlich erwarte ich sowas, wenn die Engine erkennt, dass alles außer der Hauptvariante grottenschlecht ist und kaum Potential für nette Überraschungen bietet.

Benno
Parent - - By Eduard Nemeth Date 2019-08-29 14:42
Das mag alles stimmen. Ich hatte vor einiger Zeit Lc0 auf CPU getestet, und als Gegner diente mir Rybka 4.1 single. Ganz auffallend war zu beobachten dass Rybka sich zum Anfang der Partie, also nach den Buchzügen, relativ viel Zeit nahm. Es geht demnach. Und das war sehr gut! Ich wünschte Stockfish würde es ähnlich machen.
Parent - By Benno Hartwig Date 2019-08-30 06:46

> Es geht demnach


Ich stelle mir vor, dass die Engine je nach Spielsituation (Partiebeginn oder schon im 30. Zug, vielleicht auch nach Materialfülle o.ä.) sich überlegt, welche Zeit sie für die aktuelle Berechnung anvisieren sollte, und diese Zeit wird dann je nach Analyseergebnis so oder so noch verändert. ("Ich bin mit einer Stufe durch, die nächste noch anzufangen lohnt mit Blick auf die Zeit nicht" oder "Oha, habe gerade erkannt, dass mein bester Zug doch Mist ist, ich muss noch was finden, was wenigstens besser als das ist...")

Diese Grundsätzliche "erste" Zeitangabe könnte die eine Engine setzen als "1/60 der noch verfügbaren Zeit", während die andere sagt 1/40 oder 1/100 der verfügbaren Zeit. Dadurch würdest du dir ganz grundsätzlich Engines bauen, die zu Beginn länger denken (und später in Zeitnot geraten können) oder auch zu beginn flott ziehende Engines (die an dieser Stelle vielleicht die Partie nicht in die richtige Richtung bringen).
So stelle ich es mir zumindest einfach vor.
Ungefähr richtig?

Benno
Parent - By Michael Scheidl Date 2019-08-29 23:25
Nun, bei einer Perspektive auf 60 Züge und mit 10% Zeitreserve ergäbe das knapp 20 Sekunden pro Zug. Ich weiß aber nicht wie sich Stockfish die Zeit einteilt. - Zur Stellung an sich kann man glaub ich sagen, hier gleich den Damentausch anzubieten läßt auf mangelnden Kampfesdurst schließen aber vielleicht lags an der Sommerhitze. Sind ja auch nur Menschen.

Analysis by Stockfish 090519 64 BMI2 (auf Tiefe 38):

1. = (0.00): 1...Qb6 2.Qxb6 Nxb6 3.Nd4 Rxc3 4.Nxe6 Rcc8 5.Nd4 Bg5 6.Bxg5 hxg5 7.Nf5 Rcd8 8.Rg2 g6 9.Nxd6 Nbc4 10.Bxc4 Nxc4 11.Nxe8 Rxd1+ 12.Ka2 Kf8 13.Nf6 Kg7 14.Rf2 Re1 15.Ne8+ Kf8 16.Nf6
2. = (0.05): 1...Bf8 2.Nd4 g5 3.Bxe5 Nxe5 4.Nf5 Ng6 5.Rg2 Nf4 6.Rgd2 Rc6 7.Ne2 Nxe2 8.Bxe2 Bxf5 9.gxf5 Bg7 10.c3 Be5 11.Rd3 Qb6 12.Qxb6 Rxb6 13.Kc2 Rc6 14.Rh1 Rc4 15.Re3 Rc7 16.Bf3 Kg7 17.h4 Rcc8 18.Bg4 Bf6 19.hxg5 hxg5 20.Kd3 Rh8 21.Reh3 Rh4
3. = (0.10): 1...g5 2.Bg3 Qc7 3.Be1 Bf6 4.Nd4 Qc5 5.Rg3 Nc6 6.Na4 Qe5 7.Bc3 Qf4 8.Nxe6 Rxe6 9.Bxf6 Qxe3 10.Rxe3 Nxf6 11.Nb6 Rce8 12.Bg2 Ne5 13.Rb3 Ng6 14.e5 dxe5 15.Bxb7 e4 16.Bc8 Rc6 17.Bb7
4. = (0.15): 1...Qc7 2.Nd4 g5 3.Bxe5 dxe5 4.Nf5 Bxf5 5.gxf5 Qb6 6.Rg3 Qxe3 7.Rxe3 Red8 8.Nd5 Kf8 9.Red3 Nf6 10.Nxf6 Bxf6 11.c3 Rxd3 12.Rxd3 Rd8 13.Rxd8+ Bxd8 14.Be2 Ke7 15.b4 Kd6 16.Kb2 f6 17.Kb3 Kd7 18.Bh5 Kd6 19.Kc4 Be7 20.a4 Bf8 21.Kd3 Kd7 22.Bf7 Be7 23.Kc4
- - By Heinz Hagenstein Date 2019-08-29 13:36
Ja da ist was dran,und in Zeitnot rechnet die Engine viel zu lange.

Gruß Heinz
Parent - By Eduard Nemeth Date 2019-08-29 14:44
Das stimmt sogar! Da wo es kaum Rettung gibt, verbraucht Stockfish dann die ungenutzte Zeit.
Up Topic Hauptforen / CSS-Stockfish / Zeiteinteilung?

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill