Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Steigerung von Suchtiefe/ELO/Scores bei Bedenkzeiten
- - By Uwe Anonym Date 2013-08-02 07:33
Liebe Gemeinde,
wir hatten kürzlich eine heftige Diskussion, dass/ob es ein RIESEN-Unterschied ist, eine Engine 10 Sekunden, 30 Sekunden, 3 min, 1 Stunde, 1 Tag (o.ä.) rechnen zu lassen.
Das geht natürlich auch einher mit der Geschwindigkeit von PCs (3 Jahre alt vs. was nutzt mir ein neuer PC?).

Es ging im Ausgangspunkt um die Funktion "Ausspielen" als Unterstützung für n-Hirne und Fernschach (Analyse der "Wahrheit")
Klar ist, dass beim Fernschach der "Operator" nicht luftleer auf den Bildschirm starren möchte - also hier der schnellste PC schon aus praktischen Gründen zählt!
Klar ist, dass vor x Jahren noch die langen Bedenkzeiten sinnvoll waren, um in zweistellige Suchtiefen zu kommen (halbe wie ganze Züge!).
Klar ist, dass man früher von einer gesättigten Steigerung der ELO (Grenznutzen!) ausging.

Aber: Wie ist das heute, mit aktuellen Engines?
Leider geben die Ranglistenzahlen (zB LS) die Antwort NICHT, da sie lediglich die relative Spielstärke ggü. Konkurrenten aufzeigt, nicht aber die Resultate bei EINER Software gegen sich selbst.
Ich bin mir aber sicher, dass Tester wie Entwickler hier einschlägiges Datenmaterial zur Verfügung haben.

Vielen Dank vorab!!!
Parent - - By Tom Paul Date 2013-08-02 10:39
Für mich ist es ein riesen Unterschied ob ich meine Turnierpartien mit einem alten/neuen PC mit wenig/vielen Kernen mit wenig/viel GHz und mit wenig/viel Bedenkzeit analysiere.
Und zum glück habe ich einen neuen PC mit vielen Kernen mit viel GHz und auch viel Bedenkzeit.
Macht vor allem dann Sinn wenn man selbst Hand bei den Analysen anlegt.
Und ich kann mich noch gut an die schlimme Zeit von früher erinnern wo es ganz anders aussah.

Nehmen wir einmal an ich analysiere meine Turnierpartie, dann kommt es darauf an wie lang und kompliziert die Partie war, daraus ergibt sich wie viel Hand ich selber anlegen muss.
Je mehr ich etwas machen muss desto länger wird die Analyse/der Analysebaum.
Dauer 1 Stunde - 1 Tag.
Parent - By Uwe Anonymous Date 2013-08-04 22:09
GENAU, so hatte ich es auch gemeint - ist aber ein praktischer Aspekt
Parent - - By Michael Scheidl Date 2013-08-02 11:46
Schneller ist besser, tiefer ist stärker. - Klingt simpel, aber so ist es wirklich nach wie vor.

Seinerzeit hatte ich auch geglaubt, sobald wir 20+ Rechentiefen haben, wird jede weitere Steigerung fast nichts mehr bringen. Doch das hat sich nicht bewahrheitet! Es geht noch immer so weiter wie zuvor.

Ich weiß nicht wo diese heftige Diskussion stattfand (ich glaube nicht hier), aber zum Beispiel zehn Sekunden gegenüber drei Minuten ergibt bei einer modernen guten Engine ungefähr einen Rechentiefeunterschied von vier Halbzügen, oder im Schnitt sogar ein wenig mehr.
Parent - - By Uwe Anonymous Date 2013-08-04 22:10
Die Diskussion fand im Freundeskreis und Auge in Auge statt.

Mich interessiert dringend echtes Datenmaterial, nicht die "gefühlten" Werte...
Danke sehr für weitere Hinweise.
Parent - - By Stefan Pohl Date 2013-08-05 08:48 Edited 2013-08-05 08:52
[quote="Uwe Anonymous"]
Die Diskussion fand im Freundeskreis und Auge in Auge statt.

Mich interessiert dringend echtes Datenmaterial, nicht die "gefühlten" Werte...
Danke sehr für weitere Hinweise.
[/quote]

Guckst du hier: http://talkchess.com/forum/viewtopic.php?t=48733
Zeigt sehr schön, daß mehr Bedenkzeit umso weniger bringt, je schneller die Hardware ist, bzw. je länger schon die Ausgangsbedenkzeit war. Stichwort abnehmender Grenznutzen.

Stefan
Parent - By Benno Hartwig Date 2013-08-05 16:40
[quote="Stefan Pohl"]Guckst du hier: http://talkchess.com/forum/viewtopic.php?t=48733
Zeigt sehr schön, daß mehr Bedenkzeit umso weniger bringt, je schneller die Hardware ist, bzw. je länger schon die Ausgangsbedenkzeit war. Stichwort abnehmender Grenznutzen.[/quote]Schon eine sehr interessante Liste, die den abnehmenden Nutzen von Rechenpower-Verdopplungen zeigt.
Allerdings hören die Messwerte einigermaßen weit vor den interessierenden Bereichen auf. In diese wird dann nur hineinextrapoliert (und es passt ja recht gut).
Weiter zu extrapolieren zu 'infinite time controll' unter selbstbewusster Annahme  des Funktionstyps a/(b*x^c + 1), gibt uns aber einen Hinweis auf den schier ungeheuren Mut von Kai Laskos.

Benno
Parent - - By Frank Quisinsky Date 2013-08-05 07:46 Edited 2013-08-05 07:54
Hi Michael,

zeitgleich zur Hardwareentwicklung natürlich immer die Softwareentwicklung.
Wenn solche Zugtiefen wie bei Stockfish erreicht werden, wird beim Baum mehr geschnitten.
Mit der Folge, dass auch mehr überrechnet / übersehen wird.

Erzähle Dir alten Haudegen ja kein News aber seinerzeit immer in der Diskussion ob durch eine Verdoppelung der Leistung auch konstant die ELO um Werte zwischen 50-60 ELO zunehmen. Es gab mehr Zweifler als Befürworter für diese These. Nach wie vor glaube ich auch eher, dass die Steigerungen nach wie vor in ELO nicht linear sind bzw. geringfügig weniger werden. Schon allein wenn ich Analysen starten und sehe das heutige TOP Programme schon sehr schnell den wohl besten Zug errechnen und dann Stunden später auch nichts anderes finden. Wobei sich aber immer noch einiges in der Variante beim Zweiten Zug der Analyse regt. Der Ponder Treffer wird also genauer bzw. die Hauptvarianten werden interessanter.

In Pentium III Zeiten mit BruteForce Programmen gerne ermittelt. Da war es in der Tat so, dass die Verdoppelung der Spielstärke gar 70 ELO brachte. Je höher der BruteForce Anteil ist desto mehr bringt die Steigerung der Hardware war seinerzeit die Aussage. Stark selektive Programme erreichten beim Test so um die 50 ELO Steigerung bei Verdoppelung der Spielstärke.

So rein gefühlsmäßig beim Unterschied Q9550 mit Fritz Bench 15 im Vergleich zu Haswell i7 mit Fritz Bench um 33,5 bei 4,3 GHz sehe ich zwar enorm hohe Stellungen pro Sekunde aber vergleiche ich die Analysen der beiden Maschinen, sehe ich maximal in der Hauptvariante Abweichungen. Glaube persönlich nicht daran, dass eine Verdoppelung der Hardware Leistung heute noch Werte um mehr als 30 ELO bringen, zumindest nicht bei TOP Engines wie Stockfish. Wenn z. B. eine Stellung mit klarem Gewinnzug analysiert wird und die schnellere Maschine logischer Weise schneller löst, ist das meines Erachtens vergleichbar zu einer optischen Täuschung. Diese extrem Stellungen kommen tatsächlich in Schachpartien zu selten vor. Ich muss schon 30 SWCR Partien durchstöbern um dann wirklich mal etwas ausfindig zu machen bzw. um eine Teststellung zu kreieren. Zugegeben, viele Züge liegen auch weit über den eigenen Horizont und wir selbst verstehen zu selten die gespielten "gute" Züge von Schachprogrammen auf extremen Level.

Beweisen kann ich das natürlich nicht, habe noch zu wenige Analysen laufen gehabt aber wir sollten uns bei den hohen Suchtiefen und nps nicht blenden lassen. Ferner ist das eh nur dann genauer messbar wenn 1 Core genutzt wird.

Viele Grüße
Frank

Bedeutet letztendlich auch, dass lange Turnierpartien bei Engine-Engine Vergleichen immer weniger Nutzen haben. Eigentlich nur interessant für Beobachter sind um selbst während der Partien zu analysieren. Beim Blitzschach hast Du ja gar keine Chance mehr irgend etwas wirklich selbst zu verstehen.
Parent - By Stefan Schiffermüller Date 2013-08-05 08:42
Zu diesem Thema habe ich mir schon mal Gedanken gemacht:

[quote="Stefan Schiffermueller"]
[quote="Stefan Pohl"]
[quote="Stefan Schiffermueller"]
Sie sagten in einem anderen Kommentar, dass Sie das offizielle Kompilat getestet haben, welches aber um 4% langsamer ist als das entsprechende automatische Kompilat, was bei den Entwicklungsversionen benutzt wird. Wenn eine Geschwindigkeitsverdopplung 70 ELO ausmachen, ergibt das bei 4% Unterschied: log2(1.04) * 70 ELO = 4 ELO.

Addiert man diese 4 ELO zu Stockfish 3 in der aktuellen ls-Rangliste, so ist die Version 130519 'nur' noch 15 Punkte besser (statt 19).
[/quote]

70 Elo sind bei Geschwindigkeitsverdopplung heutzutage deutlich zu hoch gegriffen. 30-40 Elo halte ich für realistisch. Dann wären es nur noch +2 Elo
[/quote]

Da muss ich widersprechen. Man kann abschätzen, was eine Geschwindigkeitsverdopplung bringt, indem man die Elo-Werte bei 4 Kernen und 1 Kern vergleicht. Wenn man noch annimmt, dass eine Kernverdopplung einem Geschwindigkeitsfaktor von 1.7 entspricht, dann bekomme ich folgende Elo-Differenzen pro Geschwindigkeitsverdopplung:

CEGT 40/20-Liste  Stockfish 3    : (3066 Elo - 2969 Elo)/2 / log2(1.7) = 63 Elo
CEGT 40/4-Liste   Stockfish 222 : (3086 Elo - 2960 Elo)/2 / log2(1.7) = 82 Elo

Bei kleiner werdender Bedenkzeit vergrößert sich der Wert noch. D.h. für die schnellere ls-Liste sind 70 Elo eher niedrig angesetzt.
[/quote]
Stefan
Parent - By Tom Paul Date 2013-08-05 09:40
Das mit dem schneiden ist schon ein Problem, da manchmal zu viel oder auch zu schnell geschnitten wird und somit der beste Zug verloren geht, weil dieser nicht rechtzeitig als bester Zug erkannt wurde.

Als ich meine Rechenleistung verdoppelt habe (jetzt ist es ein 6 Kerne PC) hat sowohl Stockfish als auch Houdini garantiert mehr als 30 ELO hinzugewonnen. Mein neuer PC gewinnt 50% und remisiert zu 50% wenn überhaupt gewinnt mein alter Rechner nur 1 Partie.

Aber bei einer Steigerung von 16 auf 32 oder 32 auf 64 Kerne könnten es schon maximal 30 ELO sein.
Parent - - By Stefan Schiffermüller Date 2013-08-05 15:45
Hallo Uwe,

Was eine Geschwindigkeitsverdopplung bringt, kann man abschätzen durch die Elo-Differenz einer Engine bei einem und vier Kernen. Wenn man noch annimmt, dass eine Kernverdopplung einem Geschwindigkeitsfaktor von 1.7 entspricht, dann erhält man folgende Elo-Gewinne pro Kern-und Zeitverdopoplung für 2 verschiedene Bedenkzeiten/Ranglisten:

ELO-Liste             Engine             ELO-Gewinn pro Kernverdopplung     ELO-Gewinn pro Zeitverdopplung

CEGT 40/4-Liste   Stockfish 222 : (3084 - 2961)/2 = 61,5                 / log2(1.7) = 80
CEGT 40/4-Liste   Houdini 3       : (3182 - 3082)/2 = 50                   / log2(1.7) = 65
CEGT 40/4-Liste   Houdini 1.5a   : (3122 - 3018)/2 = 52                   / log2(1.7) = 68
CEGT 40/4-Liste   Rybka 3         : (3014 - 2918)/2 = 48                   / log2(1.7) = 63
CEGT 40/4-Liste   Hiarcs 14       : (2967 - 2824)/2 = 71,5                / log2(1.7) = 93
CEGT 40/4-Liste   Shredder 12   : (2899 - 2800)/2 = 49,5                / log2(1.7) = 65

CEGT 40/20-Liste  Stockfish 3    : (3061 - 2970)/2 = 45,5                 / log2(1.7) = 59
CEGT 40/20-Liste  Houdini 3       : (3147 - 3049)/2 = 49                   / log2(1.7) = 64
CEGT 40/20-Liste  Houdini 1.5a   : (3077 - 3000)/2 = 38,5                / log2(1.7) = 50
CEGT 40/20-Liste  Rybka 4.1      : (3043 - 2948)/2 = 47,5                / log2(1.7) = 62
CEGT 40/20-Liste  Rybka 3         : (2976 - 2901)/2 = 37,5                / log2(1.7) = 49
CEGT 40/20-Liste  Hiarcs 14       : (2923 - 2812)/2 = 55,5                / log2(1.7) = 72
CEGT 40/20-Liste  Shredder 12   : (2866 - 2800)/2 = 33                   / log2(1.7) = 43

Stefan
Parent - - By Stefan Schiffermüller Date 2013-08-05 17:44
Die Durchschnittswerte sind dann:

              Kern x 2   Zeit x 2
40/4'       55           72
40/20'     44           57

Genauere Durchnittswerte bekommt man, wenn man die obige Rechnung mit weiteren Engines durchführt.

Stefan
Parent - - By Uwe Anonymous Date 2013-08-05 21:39
Hallo Stefan,
super - da habe ich ja ein "Wespennest" der Diskussionen eröffnet.

Du hast genau das gemacht, was ich eigentlich nicht als saubere Lösung erachtet hatte:
Du bist in die "indirekten" Vergleiche gegangen. (Ranglistenkennzahlen)
Ich hatte unsaubere Effekte vermutet, andererseits....

Ich war eigentlich eher auf der Suche nach bereits gespielten direkten Vergleichen einer Software mit sich selbst.
Der Talkchess-Beitrag geht in diese Richtung.

Ich bin gespannt, was in diesem Thread noch kommt...
Vielen Dank!
Uwe
Parent - - By Benno Hartwig Date 2013-08-06 08:14
[quote="Uwe Anonymous"]Ich war eigentlich eher auf der Suche nach bereits gespielten direkten Vergleichen einer Software mit sich selbst.[/quote]Warum interessieren dich gerade die?
Mich würde besonders der Nutzen der Geschwindigkeitsverdopplung bei Spielen gegen eine bunte Gegnerschaft interessieren.
Und dem kann man nun  versuchen nahe zu kommen anhand der Daten, die man eben hat.
Gerade die Ergebnisse der Spiele einer Egine mit sich selbst sind da ggf. eher ein schlechterer Informationslieferant, befüchte ich.

Eine weitere Informationsquelle könnte übrigens auch
http://ssdf.bosjo.net/long.txt
sein, wenngleich sowohl Software als auch Hardware der SSDF-Liste eingeschränkt und alt sind.
Aber hier haben diverse Engine zwei Ratings bekommen, die sie auf verschieden schneller Hardware erspielten.

Benno
Parent - By Uwe Anonymous Date 2013-08-06 13:15
Hallo Benno,

1) Die sauberste Aussage bekommt man im puristischsten Versuch!

2) SSDF ist AKTUELL von März, aber leider
a) schlimme HW (ja, ich kenne die Gründe dafür und finde die NORMierung generell ok) = CPU-Benchmark der Spitzenhardware bei 10% aktuellster CPUs
b) kaum 1:1 Vergleiche enthalten
c) Keine "Derivate" = Houdini etc.

Danke dennoch!
Uwe
Parent - By Stefan Schiffermüller Date 2013-08-06 09:33
[quote="Uwe Anonymous"]
Ich war eigentlich eher auf der Suche nach bereits gespielten direkten Vergleichen einer Software mit sich selbst.
Der Talkchess-Beitrag geht in diese Richtung.
[/quote]
Im Talkchess-Beitrag wurden bei 40/4' ~70 Elo und bei 40/20' ~60 Elo prognostiziert (siehe Kurve). Das stimmt interessanterweise mit meinen ermittelten Durchschnittswerten bei Zeitverdopplung sehr gut überein, obwohl ich ja mehrere (starke) Engines betrachtet habe im Spiel gegen andere Engines und nicht nur Houdini 3 im Spiel gegen sich selbst.

Stefan
Up Topic Hauptforen / CSS-Forum / Steigerung von Suchtiefe/ELO/Scores bei Bedenkzeiten

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill