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  
- - By Kurt Utzinger Date 2020-07-04 16:53 Upvotes 1
Beim TCED Season 18 CPU Superfinal Bonus https://tcec-chess.com/ kommt Komodo 14 gegen
Stockfish 20200701 böse unter die Räder. Nach 81 Partien steht es 57½ : 23½ für Stockfish.
Mfg
Kurt
Parent - - By Thomas Lagershausen Date 2020-07-04 17:08
Wie ist denn das in dieser brachialen Form möglich?

Die Auswertung zeigt eine Differenz von unglaublichen 380 Elopunkten aus.
Parent - - By Peter Weise Date 2020-07-04 17:30
Wer hat das denn (aus)gerechnet?


Result     : 57.5/81 (+57,=1,-23)
Perf.      : 71.0 %
Margins    :
68 %      : (+  4.7,-  5.2 %) -> [ 65.7, 75.7 %]
95 %      : (+  9.1,- 10.6 %) -> [ 60.4, 80.1 %]
99.7 %    : (+ 13.4,- 16.6 %) -> [ 54.4, 84.4 %]

Elo        :  155
Margins    :
68 %      : (+ 42,- 42) -> [ 113, 198]
95 %      : (+ 86,- 82) -> [  73, 242]
99.7 %    : (+137,-125) -> [  31, 293]


Diff. = 155, also vollkommen "normal"!
Parent - - By Peter Martan Date 2020-07-04 20:06
Aber wenn du die absoluten Zahlen ausrechnest, Peter, muss es schon irgendwie auf die Ausgangswerte ankommen.
Und im TCEC ging man halt von Phantasiezahlen irgendwas um 3700 herum aus offenbar, keine Ahnung warum. Vielleicht der tollen Hardware wegen.
Parent - - By Frank Brenner Date 2020-07-04 20:47
Die Ausgangswerte spielen keine Rolle. Wichtig ist die Elo-Differenz. Die Differenz ist stets gleich, egal welche Ausgangswerte du vorgibst.
Aus diesem Grund kann man neutral einfach 0 Elo vorgeben.
Parent - - By Peter Martan Date 2020-07-04 20:57 Edited 2020-07-04 21:05
Bist du sicher? Aber doch wohl höchstens, wenn du beiden 0 annimmst, nein?
Warum wollen sonst Elo- Starke möglichst wenig gegen Elo- Schwache spielen? Ich dachte eigentlich schon, dass man, je mehr Elo man ins Match mitbringt, umso mehr zu verlieren hat,  wenn der Andere zuerst niedriger rangiert.
Parent - - By Frank Brenner Date 2020-07-05 15:01 Edited 2020-07-05 15:04
Wenn du zwei  Engines gegeneinander spielen lässt und ein Ergebnis von  100:900  erzielt wird beträgt der Elounterschied 382 ELO.

Dabei spielt es keine Rolle ob der schwächere Gegner ein Anfänger ist mit 700 ELO oder ob es ein Meisterspieler ist mit 2800 ELO.

In beiden Fällen hat der Gewinner 382 ELO mehr.

Jetzt zu Deinem Beispiel:

Angenommen ein ELO 2900 Spieler spielt gegen einen durchschnittlichen Amateur Spieler mit nur 1700  ELO und zwar 1000 Partien.

Wenn die Elo Werte der beiden Spieler(2900, 1700)  bereits vorab  anhand von mehreren Tausend Partien ermittelt worden sind, brauchen die Spieler eigentlich gar nicht anzutreten:

Das erwartete Ergebnis wird  0:1000 oder  mit geringer Wahrscheinlichkeit sogar 0,5 : 999,5 lauten.

Wenn dieser stärkere Spieler dagegen durch eine plötzlich eintretende starke Demenz gegen den 1700 Spieler ein Ergebnis von nur 500:500 erzielt, so wandert seine Elo stark nach unten und der Amateur erhält einen kräftigen Aufschlag auf seine ELO.

Wenn alle früheren Partien ignoriert werden haben beide Anschließend eine gleiche ELO, nämlich 2300.

Jenachdem wie stark man frühere Ergebnisse noch einfließen lässt bleibt am Ende der Großmeister noch etwas besser als 2300 und der Amateur etwas weniger als 2300.

Im Idealfall werden Ergebnisse aus der Vergangenheit exponentiell fallend mit der Zeit (R-Wert kleiner als 1) Berücksichtigt.

D.h. z.B: Eine Partie von vor 1 Jahr nur zu 50% und eine Partie von vor 2 Jahren nur 25 % und eine Partie von vor 3 Jahren nur zu 12,5%.

Beim Computerschach werden bei großen Turnieren mit hunderten oder sogar tausenden Partien die in der früheren Zeiten erspielten Ergebnisse Grundsätzlichi alle verworfen, denn heutzutage werden im Computerschach stets "Themen" Turniere gespielt.

Themen werden durch ganz besondere Eröffnungsvorgaben oder durch ganz besondere Bedenkzeiten oder Handicaps gestaltet.

Hier interessiert dann die Themen-Spielstärke.
Parent - - By Peter Martan Date 2020-07-05 17:34 Edited 2020-07-05 17:41
Frank Brenner schrieb:

Beim Computerschach werden bei großen Turnieren mit hunderten oder sogar tausenden Partien die in der früheren Zeiten erspielten Ergebnisse Grundsätzlichi alle verworfen, denn heutzutage werden im Computerschach stets "Themen" Turniere gespielt.

Themen werden durch ganz besondere Eröffnungsvorgaben oder durch ganz besondere Bedenkzeiten oder Handicaps gestaltet.

Hier interessiert dann die Themen-Spielstärke.

Im TCEC sind aber Ausgangselo bei diesem Themenevent von irgendwas wie 3700 für komodo und 3750 von SF vorab eingesetzt worden, wie mir scheint, was ich so gesehen hatte in der Tabelle, in der dann die brachialen 380 oder so rausgekommen sind.
Die haben dort einfach irgendwie anders gerechnet als du offenbar, aber das war ja auch das Thema dieses Thread- Events hier.
Parent - - By Frank Brenner Date 2020-07-06 02:21
57.5 vs 23.5 entsprechen, so wie Peter Weise angegeben hat +155 ELO unterschied.

Die 380 ELO von Thomas Lagerhausen's Auswertung sind natürlich viel zu hoch. Ich weiss nicht woher die Zahl stammt. Unter Kurts Link sehe ich diese Zahl (380) nicht.

TCEC berechnet seit je eine historische ELO Zahl für jede Engine. Hierbei werden einfach die Ergebnisse aus all den Jahren von allen Versionen einer Engine zu einem Wert zusammengesetzt.
Wie auch immer, diese Zahl ist nur so ein ungefährer Anhaltspunkt, damit ein Fremder, der sich überhaupt nicht in der Computerschachszene auskennt und keine Engine kennt, so in etwa einen groben Anhaltspunkt über die Spielstärkeeinordnung einer Engine erhält.
Parent - By Peter Martan Date 2020-07-06 08:44
Frank Brenner schrieb:

Die 380 ELO von Thomas Lagerhausen's Auswertung sind natürlich viel zu hoch. Ich weiss nicht woher die Zahl stammt. Unter Kurts Link sehe ich diese Zahl (380) nicht.

Nein, jetzt natürlich nicht mehr, weil der Link mittlerweile zu einem anderen Themen- Event führt. Hab' im Archiv geschaut, da sind die Bonus- Matches von S18  nicht drin.
Parent - - By Detlef Uter Date 2020-07-04 20:28
Naja, ich weis ja nicht warum,

aber Stockfish spielt mit den vollen 176 Threads,
und Komodo nur mit der Hälfte von 88 Threads.


Da ist es doch kein Wunder, wenn die nominal schwächere Engine
unter diesen Bedingungen erst recht abstinkt.
Parent - By Thomas Lagershausen Date 2020-07-04 20:31
Ahh, das bingt Licht ins Dunkel.

Mercy für die Info.
Parent - By Peter Martan Date 2020-07-04 20:35
Tatsächlich? Irgendwie doof.
Parent - By Frank Brenner Date 2020-07-04 20:49 Edited 2020-07-04 20:56 Upvotes 2
Ich würde sagen, dieser Hardwareunterschied liefert vielleicht eine Elo-Differenz von 8 ELO, vielleicht auch 0 oder -x

Hardware: 88 echte Cores / 176 threads

Wenn K wirklich "nur" die 88 phys. cores verwendet und SF auch die hyperthreading cores, dann kann es durchaus sein, daß K entweder nicht mit 176 Cores umgehen kann, oder damit schlechter spielt oder ähnliche Gründe.

Aber selbst wenn nicht:  der Übergang von 88 echte Cores auf 176 echte+virtuelle liefert maximal  8 ELO.
Parent - By Andreas Strangmüller Date 2020-07-05 02:46
Hallo Detlef,

die Entwickler entscheiden über jeden einzelnen (UCI) Parameter, bevor er in diesem Event zum Einsatz kommt.
Jeder dieser Parameter wurde vorher getestet.
Komodo profitiert bezüglich Spielstärke vom Einsatz von Hyperthreading über 64 Threads derzeit nichts, wie übrigens alle andere Schach Engines die auf Lazy SMP beruhen auch.
Vielleicht lässt sich das in Zukunft noch optimieren, derzeit ist das nicht der Fall.

Grüße
Andreas
Parent - - By Benno Hartwig Date 2020-07-05 08:18

> Wie ist denn das in dieser brachialen Form möglich?
> Die Auswertung zeigt eine Differenz von unglaublichen 380 Elopunkten aus.


Mancher Keksperte hatte hier ja schon "Elo-Differenzen" ausgerechnet, bei denen er aber nur sämtliche nicht-Remis-Partien wertete.
"Weil es dann so wunderschön brachial wirkt!"
Parent - By Benno Hartwig Date 2020-07-05 08:25
PS:
380 Elo entsprächen einer 91%-Überlegenheit!
Und soooo drastisch war es denn doch nicht (aber drastisch genug schon, finde ich!)!
Parent - - By Peter Martan Date 2020-07-05 08:44
Ich finde diese ganzen Pausenfüller eher doof. Kann man nicht mal einfach etwas Pause machen?
Parent - - By Benno Hartwig Date 2020-07-05 17:15 Upvotes 1

> Kann man nicht mal einfach etwas Pause machen?


Kann "man" nicht einfach auch akzeptieren, dass andere in der Pause auch irgendwas machen möchten mit dem vorhandenen Equipment? 
Jedem steht frei, in dieser Zeit woanders hin zu schauen.
Parent - - By Peter Martan Date 2020-07-05 21:23 Upvotes 1
Benno Hartwig schrieb:

Kann "man" nicht einfach auch akzeptieren, dass andere in der Pause auch irgendwas machen möchten mit dem vorhandenen Equipment?

Du triffst den Nagel aber sehr genau auf den Kopf, Benno, "irgendwas machen" mit dem vorhandenen Equipment.
So teuer wie das war und soviel Strom, wie es frisst, könnte man sich halt auch "irgendwas Sinnvolleres" vorstellen.
Und nicht hinschauen, wenn irgendwo Unfug getrieben wird, ist eine guter Tipp, aber in erster Linie für einen Vogel Strauß, das Prinzip, das auf TCEC verfolgt wird, ist aber irgendwie schon das Gegenteil, (oder sollte es sein, nein?), nämlich die anderen Vögel (als den Strauß) dazu zu bringen, Werbung zu glotzen, während "irgendwas gemacht wird".
Parent - - By Benno Hartwig Date 2020-07-06 07:15
Das mächtige Equipment ist da. Mache doch mal einen Vorschlag:
Welche sinnvolle Anwendung in diese Pausenzeit würde dir gefallen?

Nein, "einmotten, weil das so schön Strom spart!" halte ich für keine attraktive Option.
Parent - By Peter Martan Date 2020-07-06 07:20 Edited 2020-07-06 07:43
Benno Hartwig schrieb:

Das mächtige Equipment ist da. Mache doch mal einen Vorschlag:
Welche sinnvolle Anwendung in diese Pausenzeit würde dir gefallen?

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=132633#pid132633
Parent - - By Benno Hartwig Date 2020-07-05 17:27
PS:
Und was jetzt bei "S18 - Top Of The Top Bonus" passiert, finde ich durchaus auch interessant!
(Stoofvlees, Stockfish, AllieStein, LCZero)
Parent - - By Peter Martan Date 2020-07-05 21:09
Das ja, irgendwie, bin neugierig, wie lange das geht, bevor Ihnen das nächste einfällt, was wieder viel zu wenig Partien liefern wird, dass es wirklich was aussagte. Ich meine ja nur, bei dir schadet's ja auch nicht, den alten Miesmacher zu geben, weil dir deine Begeisterung eh nicht leicht zerstört werden kann.
Parent - - By Eduard Nemeth Date 2020-07-05 21:22
Weshalb man den Zuschauern kein Ponder ON Turnier (wenigstens als Lückenfüller) anbieten kann, ist mir ein Rätsel.
Parent - By Peter Martan Date 2020-07-05 21:27 Edited 2020-07-05 21:38
Naja, jetzt haben sie wieder ein paar NN- Engines und SF, da ist der GPU- Server natürlich wieder viel mehr im Einsatz als der mit der Super- CPU.
Drum wär's für mich halt auch cleverer gewesen, außer SF allein zusätzlich ein paar Branches von ihm (so Top of the Top wie die anderen NNis außer LC0 in diesem Feld wäre z.B. Crystal, CorChess, einer der neuen Michael Byrne- Fische, BrainLearn von Andrea Manzo z.B. durchaus auch, SFNNUE wäre auch schon so weit vielleicht) gegen die gleiche Zahl von NN- Engines antreten zu lassen, die Spiele so zu organisieren, dass immer eine A-B-Engine den CPU- und eine NN-Engine den GPU- Server nutzt, dann wäre Ponder on wieder ein zusätzlicher Reiz gewesen, wenn man schon "irgendwas machen möchte mit dem Equipment", wie es Benno so trefflich formuliert.
Parent - - By Frank Brenner Date 2020-07-06 17:04
Welchen Sinn ergibt "Ponder On" ?

Die Hardware müsste dann auf beide Engines 1:1 verteilt werden, wodurch jede Engine nur die hälfte der Hardware bekommt, selbst wenn sie am Zug ist.

Das ist doch Vergeudung von Rechenkapazität für die es keine Kompensation gibt, denn wenn der Ponderzug nicht gezogen wird, ist ein Großteil der Berechnungen überflüssig.

Ohne Ponder dagegen ist die Energieeffizienz bei 100%.
Parent - - By Eduard Nemeth Date 2020-07-06 18:10 Edited 2020-07-06 18:12
Pondern ermöglicht der Engine die Gegnerzeit zu nutzen. Das ist sinnvoll. Deshalb spielen wir auf dem Server mit Ponder ON. Das ist auch spannender. Sonst kann ich nur gähnen und warten beim Zuschauen bis meine Engine wieder dran ist. Aber sowas verstehst du nicht.

(Ponder ON gibt es übrigens schon seit den DOS Zeiten, und bei der WCCC wird auch mit Pondern gespielt.)
Parent - - By Lothar Jung Date 2020-07-06 21:00
Ja, es ermöglicht längere Bedenkzeiten auf beiden Seiten.
Ist auch bei Menschen so. Oder gehen die immer nach einem Zug aufs Klo.
Parent - - By Frank Brenner Date 2020-07-06 22:16 Edited 2020-07-06 22:26
Zitat:
Ja, es ermöglicht längere Bedenkzeiten auf beiden Seiten.


Das bildest du dir dann nur ein, denn wenn sich beide Engines die Hardware teilen, dann rechnen sie auch nur halb so schnell, was einer Halbierung der Bedenkzeit gleichkommt.

Durch die Ponderrechnungen die zu einem Teil, sagen wir zu 40% verworfen werden, erzielst du dann nur insgesamt eine 80% Nutzung der Hardware.

Menschen sind zwei unabhängige Personen mit zwei Gehirnen. Wenn du zwei PC's hast, dann wird natürlich mit Ponder  on gespielt. Teilen sich die Engines aber einen PC so wird am besten ohne Ponder gespielt.
Parent - - By Lothar Jung Date 2020-07-07 08:28
Meine Bemerkung war nicht auf ein PC, sondern auf Tuniere bezogen.
Aber auf einen PC, also Leela gegen SF, rechnet entweder die GPU und 2 Threads die CPU oder bei SF nur die CPU (20 Threads).
Mit Ponder On reizen sie den PC voll aus.
Parent - - By Peter Martan Date 2020-07-07 09:14 Edited 2020-07-07 09:21
Genau, und nachdem es ursprünglich um TCEC ging, dort sind es ja noch dazu zwei verschiedene Server, auf denen entweder die NN- Engines oder (nicht sowohl als auch) die A-B- Engines spielen, der eine mit den Super- GPUs, der andere mit der Super- CPU.

Und die Frage "Welchen Sinn ergibt Ponder on" stellt sich für einen Schachspieler überhaupt nicht, der könnte sich höchstens fragen, welchen Sinn ergibt Ponder off, und dazu müsste er auch schon mehr Computerschachspieler als Schachspieler sein.

Wenn Hardware- seitig irgendwas gegen Pondern spricht, dann kann man's ja abdrehen, ansonsten wird natürlich im Schach gepondert, das ist mir kein weiteres darüber Pondern wert.
Parent - By Detlef Uter Date 2020-07-07 10:09 Upvotes 1
Ja, da stimme ich dir voll und ganz zu!

Wenn eine AB-Engine gegen eine NN-Engine spielt,
ist ponden das natürlichste und einzig Ware auf der
Welt!

Das ist ja schon meine Rede seit 45!
Parent - - By Benno Hartwig Date 2020-07-06 18:17

> Die Hardware müsste dann auf beide Engines 1:1 verteilt werden, wodurch jede Engine nur die hälfte der Hardware bekommt, selbst wenn sie am Zug ist.


Wenn beispielsweise AB-Engines gegeneinander spielen und 20 Kerne da sind, ist eben Geschmackssache, was stärker interessiert
- ohne Pondern, die rechnende Engine hat dann 20 Kerme
- mit Pondern, beide Engines haben jederzeit 10 Kerne

Wenn aber AB gegen NN spielt, werden ja verschiedene Hardware-Systeme beansprucht.
Hier könnte wohl schon sehr effizient mit Pondern spielen.
Soweit ich weiß, benötigen die NNs dochnur sehr moderat CPU-Leistung.
Parent - By Peter Martan Date 2020-07-06 18:46 Edited 2020-07-06 18:57
Benno Hartwig schrieb:

Wenn aber AB gegen NN spielt, werden ja verschiedene Hardware-Systeme beansprucht.
Hier könnte wohl schon sehr effizient mit Pondern spielen.
Soweit ich weiß, benötigen die NNs dochnur sehr moderat CPU-Leistung.

Meinte ich eben auch, Benno. Besonders, wenn sowieso die NN- Engines auf ihrem eigenen GPU- Server spielen und SF (und die anderen A-B-Sucher) auf einem zweiten.

Drum hätte ich halt auch, wenn du mich schon nach meinen ausdrücklichen Lieblingspausenfüllern gefragt hast, am liebsten ein Feld aus gleich vielen A-B wie NN- Engines, und wenn das jetzige Bonus- Event Top of the Top heißt, sähe ich neben der Créme de la Créme der NNis außer SF selbst allein halt auch mal gern ein paar SF- Branches, wie geschildert.

Und ich weiß schon, dass das Leben kein Wunschkornzert ist, und TCEC schon gar nicht, und was einem dort alles gratis geboten wird, das ist schon insgesamt sehr beachtlich, nur um es auch mal wieder zu würdigen und nicht immer nur zu meckern.

Aber ein Multi- NN- A-B- Match (die letze Vorrunde des Sufis war ja eh gerade so etwas, das hat mir mehr gegeben direkt irgendwie als das Sufi selbst), dazu noch mit Pondern, wäre für mich zusätzlich interessant.

Es ist einfach das realistische Schach, was die Zeiteinteilung angeht, bei Menschen, bei denen man's eh nicht abdrehen kann, wie bei Maschinen. Das Erraten des gegnerischen nächsten Zuges ist eine schachliche Qualität, die bessere Zeiteinteilung wird dadurch umso mehr belohnt bei Pondertreffern, die Zeiteinteilung ist ein ganz wesentliches Kriterium der Spielstärke bei Schachmotoren. Die von den NN- Engines war lange Zeit schwächer als die von SF, ob das noch so ist, würde man mit Pondern meiner Meinung nach einfach besser sehen als beim künstlichen Trennen der Bedenkzeiten.
Parent - - By Frank Brenner Date 2020-07-06 22:25
Das wird vielleicht einmal so kommen, also bei NN vs CPU, wenn es tatsächlich so ist daß eine NN Engine nur sehr wenige CPU Cores benötigt und sehr viele CPU Cores zur Verfügung stehen.

Der Setup hierfür ist aber durchaus schon etwas komplizierter.

Ansonsten bei nur einem PC und zwei CPU-Engines, oder zwei NN-Engines geht es am besten mit Ponder off und 100%er Nutzung der PC Leistung durch diejenige Engine die am Zug ist. Warum sollte man hier Ponder on spielen ? Dafür gibt es wirklich keinen Grund.
Parent - - By Benno Hartwig Date 2020-07-07 00:07 Edited 2020-07-07 00:10

>Warum sollte man hier Ponder on spielen ? Dafür gibt es wirklich keinen Grund.


So sehe ich das überhaupt nicht!

Pondern ist ein Feature, welches die Spielstärke signifikant erhöht.
(aus meinem Bauch heraus geschätzte Größenordnung: so wie Geschwindigkeitssteigerung um Faktor 1.5, also vielleicht 25 Elo)
Und das Pondern könnte bei verschiedenen Engines ja durchaus unterschiedlich effizient gelöst sein
(Häufigkeit von Pondertreffern, ggf. sogar Betrachtung mehrerer Züge bei besonders langer Ponderzeit)
Insofern halte ich erst mal für ausgesprochen naheliegend, den Enginevergleich mit  Pondern anzustreben.

Auf Ponder zu verzichten halte ich vor allem dann für sinnvoll, wenn man besonders viele Partien spielen möchte mit 1-Kern für das Denken.
(statistische Aussagekraft vor Realitätsnähe), den Pondern würde die Anzahl der Partien halbieren.

Wenn ich 88 Kerne habe, ist vielleicht wirklich interessanter, diese realitätsnah durchgängig mit 44 Kernen je Engine zu sehen
als immer zu erleben, dass die eine Engine mit 88 Kernen rechnet, während die andere Engine pausiert und ihre unterschiedlich passenden oder falschen Erwartungen dann so überhaupt keine Rolle spielen.
Parent - - By Frank Brenner Date 2020-07-07 14:51 Edited 2020-07-07 14:54
Zitat:
So sehe ich das überhaupt nicht! Pondern ist ein Feature, welches die Spielstärke signifikant erhöht.
(aus meinem Bauch heraus geschätzte Größenordnung: so wie Geschwindigkeitssteigerung um Faktor 1.5, also vielleicht 25 Elo)


Du erzielst mit PB durchaus eine Bedenkzeiterhöhung um den Faktor 1,5, agreed.

Aber das geht einher mit einem Verlust der CPU Performance  um 50%,  Unterm Strich erzielst du also eine Bedenkzeitverringerung auf 75%

In Elo kann man es nicht ausdrücken, da eine Verdopplung der Zeit nur bei kleinen Bedenkzeiten +50 ELO bringt.
Bei Fernschachbedenkzeiten von 1 Tag/Zug führt eine Verdopplung vielleicht nur noch zu einem Plus von nur 3 ELO.

Zu Deinem anderen Beispiel mit many-cores, also zb 100 Cores:  Ab einer bestimmten Anzahl an Cores gibt es für eine einzeln gewählte Engine einen individuellen Break-Even Point ab dem es sinnvoller ist mit halber Corezahl+PB zu spielen statt mit doppelter Kernzahl ohne PB.
Das kommt weil es für eine ab-Engine sehr kompliziert ist mit sehr vielen Cores effizient umzugehen.
Bei 1-4 Cores schaffen heutzutage alle Engines noch eine vernünftige Beschleunigung. Bei 8-16 Cores nur noch einige.
Je besser die Implementation der parallelen alphabeta Suche in einer Engine realisiert ist umso besser kommt die Engine noch mit sehr großen Anzahl an Cores aus.

Wenn die Hardware sagen wir 200 Cores hat und die Engines nur 50 Cores vernünftig (also ELO-steigernd) verwalten können, so ist es am sinnvollsten VIER Spiele gleichzeitig OHNE PB zu spielen. Auf diese weise geht 100% der CPU Kapazität in die Schachberechnungen ein und nicht 75% wie bei PB-on

PB führt stets zu einer Vergeudung von Rechnerkapazität.
Parent - - By Benno Hartwig Date 2020-07-07 15:12 Edited 2020-07-07 15:19

> Aber das geht einher mit einem Verlust der CPU Performance  um 50%,  Unterm Strich erzielst du also eine Bedenkzeitverringerung auf 75%


Sorry: Missverständnis
Wenn ich mit meinem Rechner gegen einen anderen Gegner antrete, dann erhalte ich die größere Spielstärke, wenn ich mit Pondern spiele.

Und weil dies einfach so ist, interessiert mich, wie effektiv konkrete Engines mit der Möglichkeit des Ponderns umgehen.
Um dies zu erfahren wäre mir wichtiger, jetzt im Test pondernderweise mit 44 Kernen je Engine zu spielen als im häufig genutzten Rechnen-Warten-Wechselmodus mit 88 Kernen nur für die Engine am Zug.

> PB führt stets zu einer Vergeudung von Rechnerkapazität.


... und führt aber bei Tests zu Erkenntnissen über die jeweils implementierte Qualität der Pondern-Logik.

Konkret:
Wichtiger als die Erkenntnis, wie gut Engines statt mit 44 Kernen nun mit 88 Kernen spielen, wäre mir, wie gut sie mit 44 Kernen und Pondern spielen.
Aber Interessen sind halt verschieden.
Parent - - By Frank Brenner Date 2020-07-07 15:36
Das Pondern ist doch keine kreative Implementation. Hier gibt es keine Optimierungsmöglichkeit.

Die Idee beim Computerschach zu pondern stammt von Computerschach Laien, die das "Pondern" von Menschen bei Menschenturnieren beobachten (oder bei sich selbst) und meinen dies müßte ein Computer auch machen, weil die Partie ansonsten sehr unfair wäre, da bei Menschen das Nachdenken über die Stellung während der Gegner am Zug ist recht häufig Spielentscheidend ist. (zb bei Zeitnot)

Das sind solche Laien die früher auch gemeckert und es als unfair bezeichnet haben, wenn z.b. bei der SSDF der Genius von Richard Lang auf einem 486er spielen durfte, während der MM5 von Schröder nur einen 8 Bit 6502 bekommen hat.
Parent - By Peter Martan Date 2020-07-07 17:17 Edited 2020-07-07 18:14
Frank Brenner schrieb:

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

Doch, natürlich, man nennt die Optimierung besseres Schach.

Das ist nämlich dasjenige, das den besten Zug des Gegners richtig vorherberechnet, nicht nur den eigenen.
Automatisch hat dadurch der Gegner nur zwei Möglichkeiten, den besten Zug zu machen, der ist dann ein Pondertreffer, oder einen schwächeren, der ist dann schwächer.

Drum bringt das Pondern dem besseren Spieler und der besseren Engine mehr als dem schwächeren Spieler und der schwächeren Engine, weil mehr von den erwarteten Gegenzügen entweder richtig oder schwächer sein werden.
Wäre das nicht so, würde man ja auch als Mensch besser sagen, ach, ich überlege jetzt lieber noch nicht, was der Gegner machen wird, sondern warte erst auf seinen Zug und fange dann wieder zu überlegen an, sonst kostet mich das unnötig Hirnressourcen.

Das ist der Grund, warum ich sagte, die Frage stellt sich nicht für einen Schachspieler, für einen Computerschachspieler auch nur dann, wenn er kein Schachspieler ist.

Natürlich kannst du, wenn du nur einen PC hast, die Ressourcen für ein Match von zwei Engines gegeneinander möglicherweise besser verteilen, je nachdem, was die Themen- Spielstärke ist, die du ermitteln willst, (Themen- Spielstärke, ein Ausdruck für den ich dir ausgesprochen dankbar bin, ich glaube, ich werde ihn in der nächsten Zeit noch öfter verwenden ) für ein Hardware- TC- Verhältnis für die eine und die andere Engine oder Seite erfordert.

Aber wenn du genug Threads hast für beide Engines, insbesondere, und darum geht's jetzt doch mit TCEC und in deinem Disput mit Benno schon die ganze Zeit, zwei PCS, wozu du da das Pondern abdrehen willst, verstehst du glaube ich selbst nicht, oder? Dein einziges mathematisches Argument wäre, Strom zu sparen, dass das die Absicht von TCEC ist, kann natürlich sein, aber naja, da würde ich dann schon (worum's mir auch ging) mal überhaupt Pausen so richtig als Pausen machen, enorm Ressourcen- sparende Idee, kein Pondern und kein Spielen ohne Pondern, nämlich gar kein Spielen. Kann man auch immer wieder aufwerfen, die Frage, so wie "Welchen Sinn ergibt Ponder on?", "Welchen Sinn ergibt das Schachspielen"?

Rechne das noch einmal durch, Frank, gehe aber dabei davon aus, dass die eine Engine besser spielt als die andere, was in den meisten Fällen und den meisten Spielstärke-Themen der Fall sein wird, ob du's nachweisen kannst fürs entsprechende Thema ist eine andere Frage.

Und jetzt lass uns dann einfach fürderhin unterscheiden zwischen Themenelo zum Elothema Ponder, das du nicht eigens so nennen müsstest, und zu einem anderen, dass du immer willkürlich davon abtrennen müsstest, weil du das Pondern, das bei allen Engines normalerweise eingeschaltet ist, eigens übers GUI oder die internen Engine- Optionen abdrehen müsstest.

Kannst du dich noch an Ipon erinnern? Warum glaubst du, hat Ingo Bauer das so genannt? Er scheint Wert darauf gelegt zu haben, seine Liste dadurch für sich selbst (und dann im Lauf der Zeit auch für andere) aufzuwerten, kann auch sein, er wollte nur ein anderes Elothema damit anreißen, weil viele Listen, um mehr Spiele in derselben Zeit zusammenzubringen zur Ressourcen- Einsparung mit Ponder off gespielt wurden und werden.
Wie auch immer, er scheint der Meinung gewesen zu sein, es spiele sehr wohl eine Rolle.
Parent - - By Benno Hartwig Date 2020-07-07 17:26

> Das Pondern ist doch keine kreative Implementation.


Da bin ich nicht sicher.
Einfach losrechen mit dem vermuteten Gegnerzug ist recht simpel.
Aber auch hier mag es Unterschiede geben bei der Trefferquote.

Ich meine, ich las mal von einer Engine, die in der Lage war, wenn sie viel Zeit zum Pondern bekam, nicht nur diesen vermuteten Gegnerzug zu beantworteten, sondern auch ein oder zwei Züge mehr. Ob es weitere kreative Ansätze gibt (gezielte Nutzung der Hashtables...) weiß zumindest ich nicht.

Ich denke schon, Pondern könnte auch kreativ gelöst sein.
Und ich würde begrüßen, wenn den Entwicklern im Testgeschehen dafür auch gern eine Plattform geboten würde.
Parent - - By Frank Brenner Date 2020-07-08 02:30 Edited 2020-07-08 02:38
Zitat:
Und ich würde begrüßen, wenn den Entwicklern im Testgeschehen dafür auch gern eine Plattform geboten würde.


Solange mit einem PC gespielt wird führt Pondern stets,  egal mit welcher Strategie, zu häufig sich später als Überflüssig herausstellenden Berechnungen.
Es ist daher Grundsätzlich eine Resourcenverschwendung, egal wie "schlau" auch immer das Pondern gestaltet wird.

Die einzige Ausnahme liegt nur dann vor, wie du ja schon gesagt hast, , wenn eine NN Engine gegen eine CPU engine spielt und die NN Engine gar keinen oder nur sehr wenige Cores benötigt.

Der Testsetup ist dann aber kompliziert wenn viele NN Engines mitspielen, denn es kann nicht ausgeschlossen werden, dass die eine oder andere NN Engine sehr wohl sehr viele Cores benötigt.

Wie es bei LcZero momentan aussieht weiß ich nicht, aber im Zuge der Entwicklung kann sich die CPU Last dieser NN Engine durchaus von einer zur nächsten Version sehr stark ändern.
Aus diesem Grund ist der Testsetup kompliziert und man sollte besser auf Pondern verzichten.

Welchen Sinn sollte das denn auch haben ? Die Spielstärkereihenfolge wird doch durch Ponder nnicht verändert.

Ich weiß, es gab in der Vergangenheit häufig Testaufbauten von Privatleuten in denen sich angeblich herausgestellt hat, dass die eine oder die andere Engine angeblich relativ betrachtet einen höhren Ranglistenplatz erzielt wenn Pondern eingeschaltet wird.
Aber am Ende sind das nur Zufälle die da gemessen wurden, aufgrund der durchschnittlichen Bedenkzeitänderung die durch das Pondern erlitten wird.
Ähnliche leicht unterschiedliche Ergebnisse können auch verschiedene Zeitstufen hervorrufen, zb 5min+1s  zu  5min+5s ....
Parent - - By Benno Hartwig Date 2020-07-08 19:46

> Die Spielstärkereihenfolge wird doch durch Ponder nnicht verändert.


So ungefähr mag das stimmen.
Vielleicht ungefähr so wie bei
"Die Spielstärkereihenfolge auf 1 Kern und auf 4 Kernen ist doch gleich!"
mit der möglichen Folgerung: 4-Kern-Ratinglisten brauchen wir nicht!

Ja, so ungefähr wird wohl beides stimmen,
aber wie es genau ist wird man nur sehen, wenn man es sich jeweils konkret ansieht.

Nach meinem Eindruck gibt es ausgesprochen wenig statistisch belastbares Material zu den relativen Spielstärken mit Pondern.
Und wir haben dazu kaum mehr als mutige Thesen aus dem Bauch heraus.
Parent - - By Frank Brenner Date 2020-07-08 21:35 Edited 2020-07-08 21:37
Mußt du 1+1 = 2 statistisch belasten ?

Pondern ist nichts weiteres als eine Resourcenverschwendung, denn du nutzt damit nur 75%-80% der Hardware, bis auf die mögliche Ausnahme wenn eine reine NN Engine gegen eine reine CPU Engine spielt.

Also wozu Pondern ?

Zugegeben: wenn die Lieblingsengine in Not gerät, ist der Kiebitz-Fan glücklich, wenn sein Steckenpferdchen die Zeit nutzen kann während der böse Gegner rechnet.
Das ist auch der Grund wieso insbesondere nicht-wissenschaftlich-begabte-Menschen so laut nach Ponder=on rufen.
Parent - - By Benno Hartwig Date 2020-07-08 22:05 Edited 2020-07-08 22:08 Upvotes 1

> Pondern ist nichts weiteres als eine Resourcenverschwendung, denn du nutzt damit nur 75%-80% der Hardware


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.

Mich interessiert daher mehr, wie beispielsweise 2 Engines mit je 8 Kernen pondernd agieren,
als zu erfahren, was diese Engines ohne Pondern mit abwechselnd 16 Kernen machen.
Auch wenn dadurch Ressourcen "verschwendet" werden.
Nein: das Wort "Verschwendung" empfinde ich in diesem Zusammenhang als völlig unpassend.

Sorry, ich erklärte dies jetzt ein zweites Mal. Ich weiß.
Versprochen: ein drittes Mal fange ich nicht damit an.
Parent - - By Frank Brenner Date 2020-07-09 01:45
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%
Parent - By Benno Hartwig Date 2020-07-09 06:37
Du gehst von sowas wie der Erstellung einer Ratingliste aus. Daran denke ich hier nicht. Da kann man deine These vertreten, ok.
Ich denke aber an z.B. den Maschinenraum-"Spieler" mit seiner Engine, der gegen ein anderes System antritt, und der sich nun fragt, wie er sein System am effektivsten einsetzen kann.
Und der wird eben mit Pondern spielen wollen,
und den interessiert (wie mich eben auch, und wie vermutlich auch seine Gegner), welche relative Spielstärke die Engines mit  Pondern entwickeln.
Ob die sich ggf. hier und daunterscheidet von der, die ohne Pondern entsteht.

Und dieses sehr konkrete Interesse rechtfertigt eben die "Ressourcenverschwendung" (um bei deiner originellen Wortwahl zu bleiben).
Meiner Meinung nach deutlich mehr als beispielsweise die Frage, wie Engines eigentlich mit 88 statt 44 Kernen spielen, obwohl das natürlich auch was hat. Streite ich ja nicht ab.
Parent - - By Benno Hartwig Date 2020-07-09 06:37
Du gehst von sowas wie der Erstellung einer Ratingliste aus. Daran denke ich hier nicht. Da kann man deine These vertreten, ok.
Ich denke aber an z.B. den Maschinenraum-"Spieler" mit seiner Engine, der gegen ein anderes System antritt, und der sich nun fragt, wie er sein System am effektivsten einsetzen kann.
Und der wird eben mit Pondern spielen wollen,
und den interessiert (wie mich eben auch, und wie vermutlich auch seine Gegner), welche relative Spielstärke die Engines mit  Pondern entwickeln.
Ob die sich ggf. hier und da unterscheidet von der, die ohne Pondern entsteht.

Und dieses sehr konkrete Interesse rechtfertigt eben nun auch im Test die "Ressourcenverschwendung" (um bei deiner originellen Wortwahl zu bleiben).
Meiner Meinung nach deutlich mehr als beispielsweise die Frage, wie Engines eigentlich mit 88 statt 44 Kernen spielen, obwohl das natürlich auch was hat. Streite ich ja nicht ab.
Parent - By Frank Brenner Date 2020-07-09 16:56 Edited 2020-07-09 16:59
Wenn Du gegen externe Spieler antrittst ist PB=on selbstverständlich für dich selbst die beste Wahl, sonst schläft dein PC während der Gegner nachdenkt und du verlierst Spielstärke.

Das macht doch jeder oder ? Darum geht es doch gar nicht:

Es beschwert sich doch kein Dritter darüber, daß Du, wenn Du sagen wir auf einem Turnier gegen andere Spieler spielst, für deine Engine auf deinem TurnierPC kein PB einsetzt.

In der ganzen Diskussion geht es um voll automatisierte Turniere, wie zb TCEC oder Ranglistenturniere.   Glaubst du etwa das Stockfish Framework zieht PB=on in Betracht wenn da bis zu 40.000 Spiele gegen den Vorgänger ausgetragen werden ? Das ist und bleibt resourcenverschwendung.  Mit PB nutzt du bestenfalls 75%-82% der Hardware. Ohne PB kannst du rund 20% mehr Spiele in der gleichen Zeit und bei gleicher Durchschnittsbedenkzeit pro Zug spielen.

Zu dem zweiten Punkt: 88 vs 44 Kerne. Wenn die Engines mit 88 Kernen nur schlecht umgehen können, dann wäre es selbst hier sinnvoller zwei Partien gleichzeitig mit je 44 Kernen OHNE PB zu spielen, als nur  eine Partie mit 44 Kernen und PB.
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