Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / TCEC Superfinal Bonus zwischen Komodo und Stockfish
1 2 Previous Next  
Parent - - By Andreas Matthies Date 2020-07-09 18:30
Frank Brenner schrieb:

Zitat:
Pondern ist Spielstärkesteigerung, wenn jede Engine einen Rechner hat,
und darum ist wert, in der Praxis zu untersuchen, wie effizient einzelne Engines pondern können.
Finde ich.


Auch hier ist es Resourcenverschwendung. 
Bei zwei PC's ist es am effizentesten auf jedem PC unabghängig voneinander partien zu spielen, ohne Ponder. Also zwei Partien gleichzeitig, auf jedem Rechner eine.
Nur so erzielst du 100% cpu Nutzung. Mit Pondern nur 75%-80%


Schon wieder diese krummen Prozente... ich hoffe, wir sind uns einig, was sinnvolle Einstellungen für ein Ponder-Match sind.
Es dürfen auch bei Ponder-Matches nie mehr Threads gleichzeitig rechnen als CPU-Kerne verfügbar sind (Hyper-Threading hier mal außen vor gelassen).
Beispiel:
CPU hat 8 Kerne und zwei Engines sollen mit Ponder=on gegeneinander spielen => Threads = 4
Parent - By Frank Brenner Date 2020-07-10 01:14
Das ist doch nicht das Thema
Parent - - By Andreas Matthies Date 2020-07-08 22:47
Frank Brenner schrieb:

Das Pondern ist doch keine kreative Implementation. Hier gibt es keine Optimierungsmöglichkeit.

Das ist (höchst wahrscheinlich) falsch. Eine Engine ist nicht gezwungen, während der Bedenkzeit des Gegners genau auf dem vorhergesagten Ponderzug herumzurechnen.
Genau wie es beim LazySMP Optimierungsvarianten gibt (wie z.B. das Auslassen von bestimmten Tiefen je Threadnummer) könnte es bestimmt auch beim Pondern Varianten geben, die ein paar kleine Elo bringen. Z.B. ein ausgefeiltes Zeitmanagement beim Ponderhit oder das Rechnen auf unterschiedlichen Zugvarianten des Gegners oder sogar auf der aktuellen Position des Gegners, um einfach nur die Hashtable zu füllen.
Aber da es kaum Turniere mit aktivem Ponder gibt, stecken die Entwickler auch wenig bis gar keinen Ehrgeiz in dieses Feature.
Parent - - By Frank Brenner Date 2020-07-09 01:47
Durch optimieren kriegst du die CPU Auslastung von 75%-80% vielleicht auf 77%-82%

Die Entwickler stecken kein Ehrgeiz in dieses Feature, weil es bedeutungslos ist.
Parent - By Benno Hartwig Date 2020-07-09 07:03
Sollte das nicht praktisch geklärt werden,
und nicht durch ein pauschale Vorurteil,
welches ohne tatsächliche Kenntnis der aktuellen Implementierungen und erst recht der tatsächlichen Möglichkeiten generiert wurde?
Parent - - By Andreas Matthies Date 2020-07-09 18:23 Edited 2020-07-09 18:39
Frank Brenner schrieb:

Durch optimieren kriegst du die CPU Auslastung von 75%-80% vielleicht auf 77%-82%

Die Entwickler stecken kein Ehrgeiz in dieses Feature, weil es bedeutungslos ist.


??? Was hat Pondern bzw. dessen Optimierung mit der CPU Auslastung zu tun? Eine Engine sollte immer so viele Kerne zu 100% auslasten wie sie Threads nutzen darf. Optimierung bedeutet, mit diesen 100% auch gute Züge zu finden. Ich weiß nicht, wie du auf diese krummen Prozentzahlen kommst.
Parent - - By Frank Brenner Date 2020-07-10 18:00
Wenn der Ponderzug nicht genommen wird hat die Ponderengine 50% der CPU Last umsonst verbraten.
Bei einer Ponderhitrate von 50% ergibt sich dadurch eine effektive 75%ige Nutzung der CPU.

Durch Optimierung des Ponderalgorithmus kommt man vielleicht etwas höher als 75%, aber niemals in die Nähe von 100%
Parent - - By Peter Martan Date 2020-07-10 20:18 Edited 2020-07-10 20:54
Warum nimmst du 50% CPU- Effektivität an für den falschen Ponderzug?
Warum nicht 0%?
Und warum ist der eigene Zug, der davor aufgrund des falsch angenommenen Gegenzuges berechnet und gemacht wurde, nicht auch schon mit 0% CPU- Effektivität belastet?
0% wenn der eigene Zug falsch ist, weil der angenommene Gegenzug falsch war, 50%, wenn der eigene Zug richtig war, der Gegner dann einen anderen Zug gemacht hat als angenommen, der angenommene aber besser war als der gemachte?

Sollte man das alles dann nicht eigentlich am Ausgang der Partie beurteilen, zu wieviel Prozent welcher Zug zum Ergebnis positiv oder negativ beigetragen hat? Könnte man nicht dann erst genauer sagen, wie gut die CPU ausgelastet war relativ zu der des Gegners und zum Ergebnis, beim einzelnen Zug und insgesamt?
Ist die CPU nicht nachweislich besser ausgelastet, wenn nicht gespielt wird, und dadurch ein Verlustpunkt vermieden wird? Ist es nicht immer noch besser als bei einem Remis? Man hat keinen halben Punkt gewonnen, aber der Gegner auch nicht und die CPU hat absolut keine Ressourcen verschwendet.

Wenn wir jetzt anfangen, natürlich wie immer völlig stellungsunabhängig, statt der schachlichen Leistung in einem Turnier, einem Match,  bein einem Zug (ist ja bei Computerschachbüchern auch nicht unüblich, einem bestimmten Eröffnungszug eine Elo- Performance zuzuschreiben) statt der Performance in Punkten, Prozenten der insgesamt gespielten Partien, eventuell noch Prozent der Gewinnwahrscheinlichkeit beim Zug und der Stellung von mir aus, deine Prozent der CPU- Auslastung pro Zug beim Pondern und beim Nichtpondern zuzuordnen, macht das die bisher übliche schachliche Beurteilung schon etwas anders, nein?

Dann fang mal an, das in Elo oder dergleichen umzurechnen, wenn du mit anderen Schach- oder Computerschachspielern darüber diskutieren willst. Dir irgendwelche Zahlen aus den Fingern zu saugen, ohne wenigstens über einzelne Stellungen, einzelne Engines und wieviel Knoten sie in welchem Fall wie "sinnvoll" berechnet haben in Prozent der CPU- Leistung, das wird's nicht bringen. Mit solchen Zahlen stehst du, um es mal politisch möglichst korrekt zu formulieren, argumentativ auf sehr schwachen Beinen, bei uns zu Hause würde man sagen, du stehst damit auf der Seife.

Was du vor allem wirst machen müssen, ist den vermuteten %ellen Blödsinn dadurch zu verifizieren, dass du sowohl mit Pondern als auch ohne Pondern Matches spielen lässt, dann kannst du aus den Vergleichen vielleicht halbwegs Evidenz- basierte Aussagen treffen, du wärst gerade dann gut beraten, das Pondern gegen das Ponder off zu testen, wie dir auch bei anderen Rating- Systemen die Theorie und die Praxis nahelegt, ebenso wie alle anderen einzelnen Personen, mit denen du glaubst, hier über eine gemeinsame Frage zu diskutieren.

Weil ich dich aber dann noch mit weiteren Fragen zu deinen Prozenten beschäftigen würde wollen, wie gut oder wie schlecht hat denn ein Zug, ein eigener oder der Antwortzug (der dann zum Ponderzug wird) oder der drauffolgende in der primary line der Berechnung zu sein, damit die CPU-Auslastung von 75% auf 76% Effektivität steigt oder von 22 auf 21% sinkt? Natürlich sollte man diese Fragen schon an bestimmten Stellungen, Engines, Knoten/Zeit, Time to Depth, Time to Solution, Evals als Gewinnwahrscheinlichkeiten der miteinander zu verlgeichenden Züge, diese Fragen an an dergl. Messgrößen festmachen.

Einfach zu sagen, dieser oder jener eigene oder Ponderzug oder 3.Halbzug ist ein 100% iger Blödsinn, ist's der 3. Halbzug, ist die Berechnung des nächsten Zuges zu 33.3% blöd, beim Ponderzug zu 50 und beim eigenen zu 100?
Doch geht auch, scheint dein Prinzip zu sein, find' ich aber doch irgendwie vereinfachend sozusagen, um nicht weiter rechnen oder nachdenken zu müssen. Man dreht dann bei der Frage, nachdem man 75% aufs digitale Papier gebracht hat, das darüber Pondern für sich selbst ab und schaut mal, was Andere dazu zu schreiben haben.

Mag sein, das ist dein Thema, Frank, dafür solltest du dann aber wirklich einen eigenen Thread eröffnen, wie du schon selbst richtig bemerkt hast, ist es das Thema dieses Threads nämlich wirklich außer für dich für niemanden.
Vielleicht noch abgesehen von mir, der ich ja an und für sich immer wieder mal die Prozent der Sinnhaftigkeit des einen oder anderen Postings nicht so auf die Goldwaage lege, schon gar nicht in Prozent der Ressourcen- Auslastung relativ zur Wortzahl.
Parent - - By Frank Brenner Date 2020-07-10 22:43 Edited 2020-07-10 22:47
Ähm FrankQ ? Ach ne Peter

Zitat:
Warum nimmst du 50% CPU- Effektivität an für den falschen Ponderzug?


Für ein Ponder-On Turnier auf einem PC gilt:
Wenn der Ponderzug richtig war gilt für die CPU-Effizienz für die Ponderrechnung  100%, ansonsten 0%, im Schnitt für die Ponderberechnungen 50% und insgesamt für den gesamten PC: 75%
Parent - - By Peter Martan Date 2020-07-10 23:38 Edited 2020-07-11 00:17
Ich hätte es weniger detailliert erklären sollen, warum du dir auch ganz andere Zahlen willkürlich aus den Fingern saugen könntest und was du hingegen machen müsstest, um zu irgendwelchen Zahlen zu kommen, die von schachlicher Relevanz wären.
Um bei deiner Milchmädchenrechung zu bleiben, wenn der Ponderzug kein Treffer ist, kann das daran liegen, dass der Gegner einen schlechteren Zug macht als den von der Gegnerengine angeommenen, oder daran, dass er einen besseren macht.

Zu wieviel Prozent die Engine beim Pondern Sinnvolles berechnet hat, hängt natürlich genau so wie beim Rechnen am eigenen Zug davon ab, wie weitreichend die Folgen von etwas besseren oder etwas schlechteren Zügen sind und um das nachrechnen zu können, müsstest du immer die schachliche Leistung des einen und des anderen Zuges relativ zur Zeit der Partiedauer und des einzelnen Zuges beurteilen. Dann kämst du zu einer Zeit- Nutzenrechnung der CPU- Leistung, sie würde nur immer noch niemanden interessieren relativ zum rein schachlichen Ergebnis. Man müsste sonst nämlich anfangen zu berechnen, wie sinnvoll die Ressourcen für welche Partie eingesetzt worden wären relativ zu einer anderen Partie und damit wären wir endgültig auf deinem Exaktheits-, und Nachvollziehbarkeits- Niveau.

Vergleichen zwischen Pondern und Ponder off könntest du's  aber jedenfalls sowieso auch nur anhand von Ausprobieren mit verschiedenen Hardware- TCs, Engines und Eröffnungen, genau so, wie's auch jetzt gemacht wird.

Übrigens kommen die Berechnungen beim Pondern auch dann in den Hash, wenn kein Pondertreffer draus wird. Lag jetzt der Gegner mit seinem Gegenzug falscher als der Pondertreffer gewesen wäre, sind die Berechnungen während der Gegnerzeit natürlich trotzdem effektiver gewesen als die der Engine, die am Zug ist und dann einen falschen macht.

Wir können uns auf diese Art von mir aus noch lange austauschen, es hat nur nichts mit dem zu tun, was du uns aufs Aug drücken willst mit deinen Phantasiezahlen, die ihrerseits mit Schach einfach nichts zu tun haben.
Die Nützlichkeit von Pondern kannst du relativ zum Ponder off nur durch Testen von bestimmten Engines mit bestimmer Hardware- Zeit und bestimmten Eröffnungen herausfinden, wenn's dich nicht interessiert, dann lass' es, aber bilde dir nicht ein, du könntest dadurch, dass du dir die Welt des Schachs mit aus der Luft gegriffenen Zahlen einfacher rechnest als sie ist, das Interesse Anderer daran für blöd erklären, ohne dafür Widerspruch zu ernten.
Parent - - By Frank Brenner Date 2020-07-11 14:32
Das ist keine Milchmädchenrechnung, sondern exakt, wobei ich die 50% geschätzt  habe, die könnte man noch empirisch bestimmen, was aber bedeutungslos ist, da die Effizienz niemals in die nähe von 100% gelangt. Die letzte Aussage führt zum KO Kriterium für Ponder-On.
Parent - - By Peter Martan Date 2020-07-11 14:49
Quatsch.

Du siehst, ich kann schon auch kürzer.
Parent - - By Detlef Uter Date 2020-07-11 14:57
Na, da bin ick aber bass erstaunt!
Parent - By Peter Martan Date 2020-07-11 14:59
Gell?
Du bist noch nicht so lange dabei, Detlef, sonst kenntest du auch diese Seite von mir bereits.
Parent - - By Andreas Matthies Date 2020-07-11 19:27 Upvotes 2
Frank Brenner schrieb:

Wenn der Ponderzug nicht genommen wird hat die Ponderengine 50% der CPU Last umsonst verbraten.
Bei einer Ponderhitrate von 50% ergibt sich dadurch eine effektive 75%ige Nutzung der CPU.

Durch Optimierung des Ponderalgorithmus kommt man vielleicht etwas höher als 75%, aber niemals in die Nähe von 100%


Selbst wenn der Ponderzug nicht genommen wird, landet man häufig durch Transposition trotzdem wieder in denselben Positionen, die Ponderei hat also wertvolle Informationen in die Transpositiontable geschrieben. Deine Prozente sind also mehr als gewagt. Man könnte auch argumentieren, dass schon während der normalen Bedenkzeit ein großer Teil der CPU-Zeit verschwendet wird, wenn der Gegner nicht so antworten will wie man es erwartet.
Parent - - By Frank Brenner Date 2020-07-12 04:35 Edited 2020-07-12 04:46
Zitat:
Selbst wenn der Ponderzug nicht genommen wird, landet man häufig ....


häufig ist aber nicht immer, daher deutlich unter 100%.

Während der normalen Berechnung des Zuges ist die CPU Ausnutzung bestmöglich für die Performance am Zug befindliche Engine.

Während der Ponderzeit wird niemals eine CPU Ausnutzung von 100% für die Schachberechnung erreicht, im Durchschnitt wird stets etwas über das Maß hinaus verworfen, welches ohnehin verworfen wird bei der normalen Berechnung wenn die Engine am Zug wäre.

Es geht nicht darum ob die Effizienz bei 50,60,70,80,90 % liegt, sondern darum daß sie in jedem Fall unter 100% liegt.

Ich weiß, ein Forum lädt zu Kontraposition statt agreement ein, und daher verstehe ich auch, daß Du und Peter  euch im Kreis windet, anstatt zu verstehen.
Parent - By Andreas Matthies Date 2020-07-12 07:50
Frank Brenner schrieb:

Während der normalen Berechnung des Zuges ist die CPU Ausnutzung bestmöglich für die Performance am Zug befindliche Engine.

Das ist deine ganz persönliche Definition von 100% CPU Ausnutzung, auch wenn der Satz hinten etwas humpelt. Aber unter dieser Voraussetzung hast du bestimmt Recht mit allem, was du schreibst.

Frank Brenner schrieb:

Ich weiß, ein Forum lädt zu Kontraposition statt agreement ein, und daher verstehe ich auch, daß Du und Peter  euch im Kreis windet, anstatt zu verstehen.

Danke, dass du mich erleuchtet hast.
Parent - - By Peter Martan Date 2020-07-12 09:17 Edited 2020-07-12 09:52 Upvotes 1
Frank Brenner schrieb:

Ich weiß, ein Forum lädt zu Kontraposition statt agreement ein, und daher verstehe ich auch, daß Du und Peter  euch im Kreis windet, anstatt zu verstehen.

Im Kreis winden tut sich hier nur einer, der immer wieder dasselbe frank(!) von der Leber weg behauptet und den verschiedensten Argumenten, die der puren schachlichen Vernunft einfach evident sind, nichts als die Wiederholung des immer wieder gleichen Quatsches entgegenbringt.
Alle Leute, mit denen du hier darüber "diskutierst", sagen dir, du saugst dir ganz offensichtlich was aus den Fingern, es hat nichts mit vernünftigem Rechnen und nichts mit Schach zu tun, aber du machst einen Dauerbrenner(!) aus diesem deinem Quatsch.
Ich bin dann hier wieder raus, hätte Ingo Bauer vielleicht gesagt (allerdings sicher viel früher als ich), der seine eigene Liste nach dem Pondern benannt hat, was dir Michael Scheidl vielleicht sagen würde, dessen Nickname ja auch Permanent Brain ist, stelle ich mir lieber gar nicht vor.
Parent - - By Roland Riener Date 2020-07-12 12:28
Zusatzfrage zum abgezweigten Thema Pondern:

Gehen bei Enginepartien bei Ponder off nicht bei jedem Halbzug, also bei Enginewechsel, die Hashfüllungen verloren und bleiben sie bei Ponder on vielleicht erhalten?
Parent - By Peter Martan Date 2020-07-12 12:45 Upvotes 1
Der Hash wird weder beim Pondern noch beim Nichtpondern zwischen den Zügen gelöscht, wenn Engine und GUI normal funktionieren und keinen anderen Auftrag erhalten.
Parent - - By Wolfgang Battig Date 2020-07-09 01:49
Andreas Matthies schrieb:

...
Aber da es kaum Turniere mit aktivem Ponder gibt

Dafür gibt es Ranglisten mit Ponder, bei uns allein derer zwei...
Zitat:
stecken die Entwickler auch wenig bis gar keinen Ehrgeiz in dieses Feature.

Das ist allerdings (leider) korrekt. Bei GCP (Stoofvlees, immerhin nach LC0 und Stockfish die Nr.3) beißen wir da bisher auf Granit.
Aber es gibt auch Gegenbeispiele. Als ich den Autor von "Igel" nach Ponder fragte kam zunächst das übliche "ja, steht auf der To-do-Liste, aber nicht sehr weit vorne". Als ich dann konkret auf unsere Listen verwies und dass ich Igel gerne in unsere 5+3-Liste integrieren wolle, hatte ich am nächsten Tag eine Version mit Ponder-Option. Mittlerweile ist Pondern bei der Engine ab Version 2.5.0 fest integriert.

Manchmal muss man die Autoren nur genug "nerven"...

Viele Grüße
Wolfgang

PS: Da der Thread eh schon Off-Topic ist (eigentlich ging es ja um das Bonusmatch bei TCEC), die kurze Frage an Dich, ob es mit RubiChess weitergeht oder ob 1.7.3 die letzte Version ist/war?
Danke
Parent - - By Andreas Matthies Date 2020-07-09 18:36 Upvotes 1
Wolfgang Battig schrieb:

PS: Da der Thread eh schon Off-Topic ist (eigentlich ging es ja um das Bonusmatch bei TCEC), die kurze Frage an Dich, ob es mit RubiChess weitergeht oder ob 1.7.3 die letzte Version ist/war?
Danke


Nee, das war eine Frust-Kurzschlussreaktion. Habe mich ein wenig über einen Konkurrenten geärgert...
Ich bastel weiter, aber es ist sehr zäh.
Parent - - By Wolfgang Battig Date 2020-07-09 20:35
Das freut mich!
Auf dem Niveau, dass deine Engine bereits erreicht  hat, wird es zäh, keine Frage. 

Kommt denn in Kürze etwas? Wenn nicht würde ich  zunächst  die 1.7.3 in unsere neue Liste integrieren...
Parent - By Andreas Matthies Date 2020-07-09 20:51
Wolfgang Battig schrieb:

Das freut mich!
Auf dem Niveau, dass deine Engine bereits erreicht  hat, wird es zäh, keine Frage. 

Kommt denn in Kürze etwas? Wenn nicht würde ich  zunächst  die 1.7.3 in unsere neue Liste integrieren...

Nein, in Kürze kommt da nichts. Im Moment hätte ich höchstens sowas wie eine 1.7.3.1.
Parent - By Eduard Nemeth Date 2020-07-07 16:51
Mit dem SlowMover kann man beim Stockfish viel Einfluss nehmen. Stellt man den SlowMover zB. auf den Wert 250, dann kommt es vor dass die Engine selbst in einer 5min Partie 1 bis 2 Minuten lang an einem Zug rechnet. In einer meiner Partien auf dem Server wurde der erste berechnete Zug nach 2 Min, und der nächste nach 60s gespielt. In komplizierten Stellungen (je nachdem was für ein Buch man verwendet) kann sowas einen Vorteil bedeuten. Aber manchmal auch einen Nachteil. So hatte ich zwar hier und da eine Partie gewonnen, leider aber auch einige Partien verloren. Verloren NUR deshalb weil der Gegner ständig gut ponderte, bis meine Engine nur noch 30s für den Rest hatte, der Gegner aber noch 4 von 5 Minuten.

Aber, so ist Turnierschach, und es ist gut dass es diese Features gibt (auch der Contempt gehört dazu) mit denen man auf das Turnier-Spiel ein wenig mehr Einfluss nehmen kann.
Up Topic Hauptforen / CSS-Forum / TCEC Superfinal Bonus zwischen Komodo und Stockfish
1 2 Previous Next  

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill