Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Wider den statistischen Unsinn
- - By Stefan Pohl Date 2019-07-12 16:19
Hier mal die 500 Partien von lc0 0.21.2 T40.T8.610 gegen Stockfish 190622 aufgeteilt in 5 Blöcke mit jeweils 100 Partien, aus meinem 3000er Testrun von Lc0 021.2 T40.T8.610:
Jeweils aus Sicht von Lc0

0-100: +25 =58 -17 : 54.0% Eloleistung: +28 Elo
101-200: +13 =69 -18 : 47.5% Eloleistung: -17 Elo
201-300: +21 =58 +21 : 50.0% : Eloleistung: 0 Elo
301-400: +13 =63 -24 : 44.5% : Eloleistung: -38 Elo
401-500: +13 =62 -25 : 44.0% Eloleistung: -42 Elo

Größte Abweichung: (0-100) & (401-500): 70 Elo (!)

Das sollte nun doch mal endgültig klarmachen, daß nach 100 Partien von lc0 gegen Stockfish irgendwelche Aussagen, wie dieses Net ist 30 Elo besser als jenes, einfach Quatsch sind. Da "mißt" man Zufallsschwankungen, sonst nichts.
Parent - - By Reinhold Stibi Date 2019-07-12 17:04 Upvotes 2
Es könnte auch sein, dass diese Ergebnisse, aufgrund der äußerst kurzen Bedenkzeiten zustande gekommen sind.

Ich finde, trotz der Super-Hardware, die Bedenkzeit von 50 Sek. + 500 Millisekunden pro Zug zu knapp.

Deine Ausführung dazu habe ich in einem anderen Thread gelesen.

Es dauert doch Sekunden, bis Lc0 zur hohen Leistung hochfährt. Am Anfang sind es oft nur 1/3 der vollen Leistung.
Bei 500 Miilisekunden  kommt Lc0 wahrscheinlich mit einer RTX 2060 oder RTX 2070   auf ca. 8 Kn/s und schaukelt sich dann
hoch auf ca. 24 Kn/s was ca. 20 Sekunden dauert.
Anders ist es bei Ponder on (was aber bei Volllast nicht zweckmäßig ist); da sieht man direkt wie schnell die Engine
reagiert, weil sie nicht extra hochfahren muss.

Ich denke schon dass deine früheren Ergebnisse mit 36 Partien pro Engine auch gut aussagekräftig waren.

Meine vielen Erfahrungen mit Tests sind dass die Ergebnisse von 50 Partien zu 200 Partien nicht sehr unterschiedlich
waren. Es gibt natürlich auch Ausreißer.

Mir ist die Qualität von Partien wichtiger, als die Quantität.

Was ich hier für die GPU aufgeführt habe, gilt in ähnlicher Weise auch für die CPU.

Nachtrag: bis 250 Millesekunden wird Lc0 nur ca. 4 Kn//s. bringen (ist eine viertel Sekunde und kann man mit den
Augen kaum erfassen) und steigert sich dann wahrscheinlich zum Ende auf ca. 8 Kn/s, was aber nicht viel bringt, weil ja die Zeit
zu ende ist.
Parent - - By Wolfgang Battig Date 2019-07-12 17:31 Upvotes 1
Zitat:
Es könnte auch sein, dass diese Ergebnisse, aufgrund der äußerst kurzen Bedenkzeiten zustande gekommen sind.


Da die Bedenkzeit immer dieselbe war - egal ob man sie nun gut oder schlecht, zu kurz, zu lang oder sonstwas findet - taugt das nicht als Erklärung für die Abweichungen zwischen den 100er-Blöcken.
Parent - By Stefan Pohl Date 2019-07-12 18:17 Edited 2019-07-12 18:21 Upvotes 1
Eben. Mehr gibt es dazu nicht zu sagen. Wenn lc0 wirklich nicht auf Geschwindigkeit käme, bei nur 500ms, wie kommt lc0 dann auf 55% Erfolgsscore im ersten 100er Block gegen Stockfish?? Dann müßte Stockfish lc0 ja unterpflügen. Auch im ersten 100er Block. Zudem zeigt ja die LittleblitzerGUI die Knotenzahlen der Engines an, gemittelt über alle Züge aller Partien.
Da zeigt die LBG für Stockfish bei mir knapp 12MN/s und für lc0 ca. 15.000 n/s. Und zwar sowohl bei der jetzigen Bedenkzeit, als auch mit der 3x längeren Zeit, mit der ich vorher getestet habe. Auch das zeigt, daß die kurze Bedenkzeit die Engines nicht abbremst, weil sie erst “auf Touren“ kommen müssen. Das ist also Quatsch.
Ich verstehe aber, wie dieser (falsche) Eindruck entsteht: startet man lc0 im Konsolenmodus oder startet lc0 frisch geladen in einer GUI (auch im Analysemodus), dann lädt lc0 zunächst das Neuralnetz ein und rechnet erst dann los, dadurch ist er zunächst langsamer, einfach weil er erst später anfängt zu rechnen. Das passiert aber nur, wenn lc0 frisch eingeladen wurde, nicht innerhalb einer laufenden Partie.
Parent - - By Reinhold Stibi Date 2019-07-12 18:27 Upvotes 1
Bei ganz kurzen Bedenkzeiten kommen doch viel mehr Ausreißer vor als bei Mittleren und Langen;
das kann sich ausgleichen oder auch nicht. Es ist dann auch dem Zufall überlassen.
Parent - - By Reinhold Stibi Date 2019-07-12 19:18 Upvotes 1
Die mittlere Knotenzahl ist nicht entscheidend. Die Computerpartien dauern oft über 75 Züge. Im Endspiel, das oft entscheidend, ist bleiben dann  nur 500 Millisekunden pro Zug übrig. Das ist einfach zu wenig, auch bei bester Hardware.

Wie oben schon angeführt entstehen dann zu viele Ausreißer. Das kann sich ausgleichen oder auch nicht.

Mein Vorschlag wäre, 1 Min. + 1 Sek. pro Zug. Glaube dass dann die Schwankungen nicht so groß wären.

Dann wären es halt keine 3000 sondern ca. 2000 bis 2500 Partien, die aber von der Aussagekraft m.E.
zuverlässiger wären.
Parent - By Eduard Nemeth Date 2019-07-12 19:40
Reinhold Stibi schrieb:

Mein Vorschlag wäre, 1 Min. + 1 Sek. pro Zug. Glaube dass dann die Schwankungen nicht so groß wären.


Mir persönlich ist es am liebsten wenn eine Zugzahl in einer bestimmten Zeit ausgespielt wird, auch gerne mit Bonuszeit. Das hat für mich mehr Turniercharakter. Die passende Einteilung der eigenen Zeit gehört für mich auch zu unserem Spiel! Wer zB. gut im Endspiel ist kann langsamer beginnen, oder andersrum.
Parent - - By Eduard Nemeth Date 2019-07-12 17:17
Interessant fände ich auch noch, Partien nach verschiedenen Eröffnungsstilen aufzuteilen (zB. geschlossen, halboffen, offen, gambit). Dann könnte man eine Tendenz sehen, wo welches Netz an Spielstärke zugelegt oder nachgelassen hat.
Parent - - By Reinhold Stibi Date 2019-07-12 17:24
Das kannst du doch z.B. mit der Fritz GUI, oder ChessBasse  selber herausfiltern.
Parent - By Reinhold Stibi Date 2019-07-12 17:27
Nachtrag: Oder auch durch spezielle Eröffungsbücher die man auch selber zusammenstellen kann.
Parent - By Stefan Pohl Date 2019-07-12 18:24
Reinhold Stibi schrieb:

Das kannst du doch z.B. mit der Fritz GUI, oder ChessBasse  selber herausfiltern.


Eben. Du kannst dir ja alle 3000 Partien auf meiner Website herunterladen.
Parent - By Chess Player Date 2019-07-12 21:31
Blödsinn mein Herr, alles in der Standardabweichung. Nur ein Ausreisser.
Parent - - By Ernest Bonnem Date 2019-07-12 22:23
Naja Stefan, die 95% error-bar kann man ja kalkulieren (einfach !), und dann sieht man das alles "normal" ist...
Du weisst das, aber viele Leute hier sind Statistik-blöd !
Parent - By Reinhold Stibi Date 2019-07-13 05:42 Edited 2019-07-13 06:21
Vielleicht sind auch die absoluten Statistikgläubiger blöd.

Bevor man eine Statistik anfängt müssen die Grundlagen stimmen,
und weil dies oft nicht der Fall ist,  gibt es so viele falsche Statistiken.
Parent - - By Chess Player Date 2019-07-13 09:22
Viele Leute gibt es hier nicht mehr!
Parent - By Roland Riener Date 2019-07-13 11:53 Upvotes 1
Zitat:
Viele Leute gibt es hier nicht mehr!

Weil du eineinhalb Jahre verschwunden warst, haben viele enttäuscht das Handtuch geworfen 
Parent - - By Clemens Keck Date 2019-07-13 12:26 Upvotes 1
bei 100 Spielen ist die Genauigkeit bei + - 40 ELO etwa.
bei 200 Spielen etwa  + - 28 Elo

Ich glaube immer noch das die Spieldauer einen Einfluß auf die Genauigkeit hat.

Also 100 Spiele 1 +1 sagen vielleicht weniger aus als 100 Spiele 60 +15.

In meinen eigenen Lc0 Testreihen stoße ich allerdings an meine (Glaubens)Grenzen.
Ich nutze 2 Maschinen mit 16 core Intel plus RTX 2060.
Beide nicht wirklich baugleich bis auf die CPU.
Aber gerade deswegen würde ich 2 Testruns a 180 Spiele 5m+3s ponder ON mehr vertrauen, wenn die Ergebnisse ähnlich wären.
Das sind sie aber leider gar nicht
Drum ist auch aktuell Pause, bis ich mal Lust habe genauer alles zu überdenken...

C.K.
Parent - By Stefan Pohl Date 2019-07-13 12:49 Edited 2019-07-13 13:00
Clemens Keck schrieb:

bei 100 Spielen ist die Genauigkeit bei + - 40 ELO etwa.
bei 200 Spielen etwa  + - 28 Elo

Ich glaube immer noch das die Spieldauer einen Einfluß auf die Genauigkeit hat.

Also 100 Spiele 1 +1 sagen vielleicht weniger aus als 100 Spiele 60 +15.

In meinen eigenen Lc0 Testreihen stoße ich allerdings an meine (Glaubens)Grenzen.
Ich nutze 2 Maschinen mit 16 core Intel plus RTX 2060.
Beide nicht wirklich baugleich bis auf die CPU.
Aber gerade deswegen würde ich 2 Testruns a 180 Spiele 5m+3s ponder ON mehr vertrauen, wenn die Ergebnisse ähnlich wären.
Das sind sie aber leider gar nicht
Drum ist auch aktuell Pause, bis ich mal Lust habe genauer alles zu überdenken...

C.K.


Das ist genau der Punkt. Dieser Glaube (das die Spieldauer einen Einfluß auf die Genauigkeit hat, s.o.) ist unausrottbar, weil die Leute Computerschach zu anthrophozentrisch betrachten. Aber gerade deswegen eben falsch. Und deshalb tritt eben auch das ein, was du beschreibst: " würde ich 2 Testruns a 180 Spiele 5m+3s ponder ON mehr vertrauen, wenn die Ergebnisse ähnlich wären. Das sind sie aber leider gar nicht "
Das erklärt sich einfach aus dem simplen Fakt, daß für die Genauigkeit die Zahl der Partien und die Errorbar von Bedeutung sind. Nicht die Partiedauer. Und bei nur 180 Partien können Ergebnisse extrem voneinander abweichen, wenn man das Ganze nochmal wiederholt. Egal, ob eine Partie eine Minute, eine Stunde oder einen Tag dauert. Das Einzige, was Ergebnisse mit steigender Bedenkzeit etwas weniger heftig von 50% abweichen läßt, sind die steigenden Remisqouten, die die Ergebnisse immer Richtung 50%-Marke drücken. Das wird aber durch das Mehr an Partien mit kürzerer Bedenkzeit mehr als kompensiert. Zudem machen die steigenden Remisoquten die Ergebnisse insgesamt enger beieinanderliegend, insofern sind sie statistisch kontraproduktiv. Letzlich richtet man mit langen Bedenkzeiten (und weniger Partien) statistisch viel mehr Schaden an, als man an schachlicher Qualität dazugewinnt - zumal letzteres nichts mit der Ergebnisqualität zu tun hat!
Parent - - By Lothar Jung Date 2019-07-13 12:53 Upvotes 1
Lc0 skaliert bei längeren Bedenkzeiten und/oder stärkerer GPU-Hardware, d.h. RTX 2070 aufwärts, besser als die A/B-Engines.
Anders ausgedrückt, Lc0 profitiert von tieferen Berechnungen.
Lc0 ist dann taktisch nicht mehr so anfällig und besser im Endspiel.
Bedenkzeiten von 1/1 auf der schwächsten möglichen RTX-Hardware (mobile RTX 1060, heruntergetaktet) führt als Testumgebung zu großen Schwankungsbreiten.
Ich weiß, Leela-Ratio!?
Diese steht unter Kritik.
Aber die abgeleitete Berechnung, ist kein solider Anker für die veränderten Engine/Hardware-Bedingungen auf beiden Seiten, Leela und SF und erst recht für andere Engines (Komodo/Houdini).
Lothar
Parent - - By Stefan Pohl Date 2019-07-13 13:09
Lothar Jung schrieb:

Lc0 skaliert bei längeren Bedenkzeiten und/oder stärkerer GPU-Hardware, d.h. RTX 2070 aufwärts, besser als die A/B-Engines.
Anders ausgedrückt, Lc0 profitiert von tieferen Berechnungen.
Lc0 ist dann taktisch nicht mehr so anfällig und besser im Endspiel.


Das hab ich bisher auch geglaubt. Das scheint aber nicht (mehr?) zu stimmen. Jedenfalls ist das Ergebnis von Netz T40.8.610 mit meiner neuen, kurzen Bedenkzeit in der Eloleistung nämlich sogar etwas besser, als es mit der längeren Bedenkzeit war. Nur 16 Elopunkte schwächer als Stockfish 10 mit 50''+500ms (!). Mit 150''+1500ms waren es ca. 30 Elo schwächer als Stockfish 10.

Lothar Jung schrieb:

Bedenkzeiten von 1/1 auf der schwächsten möglichen RTX-Hardware (mobile RTX 1060, heruntergetaktet) führt als Testumgebung zu großen Schwankungsbreiten.


Ich hab 1/1 nie genutzt, aber kurze Bedenkzeiten führen nur zu minimal größeren Schwankungsbreiten, weil die Remisqouten niedriger sind. Mehr Gewinnpartien ergeben nun mal etwas größere Schwankungen, als viele Remisen. Logisch. Aber dafür kann man mit kurzer Bedenkzeit viel mehr Partien spielen und gewinnt so viel mehr Ergebnisqualiät durch schmalere Errorbars dazu, als man durch die etwas höheren Schwankungen (wegen der geringeren Remiszahl) verliert.
Parent - - By Lothar Jung Date 2019-07-13 13:41 Upvotes 1
Mir liegt es fern irgendeine Kritik zu üben. Ich schätze die Arbeit der Tester und Ranglistenersteller sehr.

Bei den KI-Programmen ist jedoch alles Anders: Neuronale Netze durch Selflearning; Tensorcores anstatt A/B-Suche und Bewertungsalgorithmen aufgrund von Schachwissen auf Multi-CPUs.
Zwei Welten treffen aufeinander.

Wichtiger als die Elos ist m.E. der eher menschliche positionelle Spielstil von Leela mit unkonventionellen Eröffnungsideen.
Eine Bereicherung in erster Linie für das Schachspiel und auch für das Computerschach trotz oder gerade wegen der Unterschiede.
Computerschach ist ein sehr gute Simulation.
Andere Bereiche, die simuliert werden können, werden von KI-Netzen profitieren.
Alles ist und wird unheimlich spannend. Der Fokus liegt hier auf unheimlich.
Parent - By Jörg Oster Date 2019-07-13 16:32
Lothar Jung schrieb:

Bei den KI-Programmen ist jedoch alles Anders: Neuronale Netze durch Selflearning; Tensorcores anstatt A/B-Suche und Bewertungsalgorithmen aufgrund von Schachwissen auf Multi-CPUs.
Zwei Welten treffen aufeinander.


Oder:
Monte-Carlo-Suche anstatt Alpha-Beta-Suche;
Neuronales Netz, trainiert durch Self-Learning, anstatt manueller Bewertungsfunktion (aufgrund von Jahrhunderten von Schachwissen) und einigen Zugsortierungsheuristiken;
Low-End CPU + High-End GPU(s)  vs. High-End CPU(s).

Zwei Welten nebeneinander, oder gar nur 2 Seiten einer Medaille? 
Parent - - By Stefan Pohl Date 2019-07-13 17:03 Edited 2019-07-13 17:13
Lothar Jung schrieb:

Mir liegt es fern irgendeine Kritik zu üben. Ich schätze die Arbeit der Tester und Ranglistenersteller sehr.



Und ich schätze Kritik, sofern sie auch faktisch begründet ist. Und ich wiederhole es gerne: Auch ich habe geglaubt, daß lc0 mit weniger Bedenkzeit in meinen Tests gegen die AB-Engines schlechter scoren würde, weil lc0 vermeintlich mit mehr Zeit (und/oder Rechenpower) mehr zulegen kann, als die AB-Engines. Daher hatte ich erwartet, daß beim Test von lc0 Net T40.T8.610 mit 50''+500ms ein meßbar schlechterer Elo-Score herauskommen würde, als beim Testrun desselben Netzes mit der dreifachen Zeit (150''+1500ms), den ich zuvor gemacht hatte. Aber das Gegenteil trat ein. Habe mal alle Partien in eine Datenbank geschmissen und ORDO drüberlaufen lassen, falls noch irgendjemad zweifelt:

T40.T8.610 und JH.T8.610 sind das identische Netz, nur anderer Name, damit Ordo nicht durcheinander kommt. Man sieht, daß lc0 mit der kurzen Bedenkzeit besser scorte. +4 Elo liegen allerdings noch innerhalb der vergleichenden Errorbar, aber schlechter ist das Ergebnis mit der ultrakurzen Bedenkzeit mit erheblicher Sicherheit nicht.
Insofern ist die These, daß lc0 von mehr Bedenkzeit mehr profitiert, als AB-Engines, hiermit durch Meßdaten widerlegt. Was auch mich überrascht, das geb ich gerne zu.
Damit ist auch die krude These, daß lc0 ohne pondern eine gewisse "Anlaufzeit" braucht, um auf volle Knotenleistung zu kommen natürlich ad acta gelegt. Sonst müßte ja bei 50''+500ms ein deutlich schlechterer Score rauskommen als bei 150''+1500ms, da diese Anlaufzeit, egal wie groß sie wäre, ja prozentual mehr ins Gewicht fiele, wenn die Bedenkzeit kürzer ist.


     Program                      Elo    +    -   Games   Score   Av.Op.  Draws

   1 BrainFish-2 190531 bmi2    : 3577    9    9  5000    79.7 %   3328   38.1 %
   2 Stockfish 190622 bmi2      : 3531    7    7  5500    73.6 %   3343   43.1 %
   3 Stockfish 190504 bmi2      : 3527    8    8  5100    74.7 %   3329   44.1 %
   4 Stockfish 10 181129        : 3508    6    6 12000    77.2 %   3284   39.5 %
   5 Lc0 0.21.2 T40.T8.610      : 3490    9    9  3000    66.1 %   3365   46.0 % <-- Zeit 50''+500ms
   6 Lc0 0.21.1 N:JH.T8.610     : 3486   20   20   700    68.6 %   3337   49.9 % <-- Zeit 150''+1500ms
   7 Stockfish 9 180201         : 3461    8    8  5000    74.9 %   3258   41.7 %
   8 Houdini 6 pext             : 3431    4    4 18600    61.8 %   3337   49.5 %
   9 Komodo 13.01 bmi2          : 3402    6    6  9500    52.3 %   3386   52.3 %
  10 Komodo 12.3 bmi2           : 3395    6    6  9100    59.4 %   3323   50.3 %
  11 Komodo 13.01 MCTS          : 3298    7    7  6000    42.2 %   3358   54.4 %
  12 Fire 7.1 popc              : 3281    4    4 18600    42.3 %   3345   50.3 %
  13 Xiphos 0.5.3 bmi2          : 3272    5    5 12600    34.1 %   3399   48.3 %
  14 Ethereal 11.53 pext        : 3270    7    7  5500    34.6 %   3389   50.0 %
  15 Komodo 12.3 MCTS           : 3261    6    6  8000    43.7 %   3312   47.1 %
  16 Ethereal 11.25 pext        : 3253    5    5 12100    33.0 %   3391   46.2 %
  17 Laser 1.7 bmi2             : 3202    7    7  6100    30.5 %   3357   45.5 %
Parent - - By Jörg Oster Date 2019-07-13 18:10 Upvotes 1
Wahrscheinlich ist die Zugauswahl, bedingt durch den "policy head" des NN,
also der Zug, der ausgespielt wird, so gut, dass eine tiefere Suche diese Auswahl nur noch selten ändert.
Was ja auch des öfteren schon erwähnt wurde.

Im Gegensatz zu den bekannten Engines, die mit jeder neuen Suchtiefe durchaus noch mal wechseln.
Und das bringt dann halt bei mehr Zeit noch ein paar Pünktchen ein.
Parent - By Stefan Pohl Date 2019-07-14 07:45
Ja, das ist vermutlich die Erklärung. Das glaub ich auch. Trotzdem war ich überrascht, daß lc0 so gut mit der Bulletbedenkzeit klarkommt. Aber das ist natürlich eine sehr positive Überraschung, denn so kann man eben mehr Partien spielen und bekommt bessere Ergebnisse, also statistisch relevantere und stabilere. Und das ist natürlich bei lc0 besonders wichtig, weil ja in schneller Folge immer neue Nets released werden, die sich in der Spielstärke so geringfügig unterscheiden, daß man andernfalls diese Unterschiede gar nicht seriös messen kann.
Parent - By Benno Hartwig Date 2019-07-13 21:23 Upvotes 1
Wenn 2 Engines bei bestimmten Gegebenheiten aufeinandertreffen, gibt es 3 Wahrscheinlichkeiten pweiß, pschwarz und premis=1-pweiß-pschwarz.
Die Genauigkeit des Ergebnisses lässt sich rein mit statistischen Methoden abschätzen. Die Gegebenheiten sind ansonsten egal, was da gespielt wurde ist egal, ob es Schach war, bei kurzen oder langen Zeiten, oder ein Würfelspiel, oder Murmeln in der Urne, oder Karten...

Ok, wenn premis größer wird, landen die Ergebisse dichter an 50%. Werden etwas genauer.
(Und wenn premis=1, dann trifft jedes Ergebnis sogar genau den korrekten Wert )

Benno
Parent - - By Torsten Schoop Date 2019-07-13 16:57 Upvotes 1
Der Faktor, der hier in den Zufall ins Spiel bringt, bist Du. Denn Schach ist ein deterministisches Spiel ohne Zufallsfaktor. Den „Zufall“ den Du misst, den erzeugt Du selber durch die Auswahl Deiner Eröffnungsstellungen.

Wenn Du 50 Stellungen nimmst und diese mit Farbwechsel Lc0 und SF spielen lässt und das 5x, dann sollten die Abweichungen dieser 100er Blöcke durch Hash-, SMP- und sonstige Effekte minimal sein.

Soweit die Theorie. Hat jemand so etwas von Euch schon mal in der Praxis ausprobiert?
Parent - - By Reinhold Stibi Date 2019-07-13 22:33
Die Ergebnisse der 500 Partien Stockfish 22.06.19  gegen  Lc0 T8.610 TCEC

+105  =319  -85   = 52 %  + 14 Elo  für Stockfish  sind schlüssig.

Auffallend sind die vielen Gewinnpartien.

Wahrscheinlich wäre das gleiche Endergebnis auch bei längerer Bedenkzeit
zustande gekommen.

Der Unterschied zu längeren Bedenkzeiten ist, dass von beiden Seiten viel
mehr Fehler im Spiel gemacht worden sind.
Das kann man positiv oder auch negativ sehen. Einerseits sehr viele Gewinnpartien,
andererseits verminderte Qualität der Spiele.

Das muss jeder für sich entscheiden, wie er es haben möchte.

Interessant wäre ein Turnier mit einem neueren Net von Lc0 gegen Stockfish und Allgemein.

Da könnte wieder Lc0 die Nase knapp vorne haben. 

Läuft da gerade bei Dir ein Turnier ?
Parent - - By Stefan Pohl Date 2019-07-14 07:53
Reinhold Stibi schrieb:

Der Unterschied zu längeren Bedenkzeiten ist, dass von beiden Seiten viel
mehr Fehler im Spiel gemacht worden sind.
Das kann man positiv oder auch negativ sehen. Einerseits sehr viele Gewinnpartien,
andererseits verminderte Qualität der Spiele.


Eigentlich kann man das nur positiv sehen. Denn durch kurze Bedenkzeiten kann man viel mehr Partien spielen. Das verbessert die statistische Ergebnisqualität dramatisch. Die dafür etwas geringere schachliche Qualität fällt dagegen kaum ins Gewicht, denn diese ist immer noch jenseits von gur und böse und schlicht übermenschlich.
Zudem drücken mehr Remisen (bei mehr Bedenkzeit) alle Ergebnisscores der Engines Richtung 50%-Marke, was die Ergebnisse zusätzlich schlechter unterscheidbar macht und Eloabstände reduziert.
Kurze Bedenkzeiten sind also in jeder Hinsicht zum Testen besser geeignet. Punkt.
Parent - By Guenter Stertenbrink Date 2019-07-14 09:01 Edited 2019-07-14 09:08
es geht auch noch kuerzer.

Spaetestens seit den Tests auf Discord, welches Lc0 ins TCEC15 Superfinale geschickt werden sollte,
wissen wir doch, dass kurze Test-Bedenkzeiten gut geeignet sind.

T8.610,14.9,14050
T8,575,12.5,12502
T6,532,12.1,8000
42176,7.5,11602
42232,4.6,16250
42010,1.7,8000
42145,0.7,10400
sf-dev,0,138008
42100,-0.6,8000
41997,-1.1,8000
42200,-1.1,12202
42154,-4.2,11002
42016,-5.6,8000
41800,-8.3,8000
32930,-21.2,2000
------------------------
net,Elo,games
Parent - By Clemens Keck Date 2019-07-14 12:56
Stefan Pohl schrieb:

Hier mal die 500 Partien von lc0 0.21.2 T40.T8.610 gegen Stockfish 190622 aufgeteilt in 5 Blöcke mit jeweils 100 Partien, aus meinem 3000er Testrun von Lc0 021.2 T40.T8.610:
Jeweils aus Sicht von Lc0

0-100: +25 =58 -17 : 54.0% Eloleistung: +28 Elo
101-200: +13 =69 -18 : 47.5% Eloleistung: -17 Elo
201-300: +21 =58 +21 : 50.0% : Eloleistung: 0 Elo
301-400: +13 =63 -24 : 44.5% : Eloleistung: -38 Elo
401-500: +13 =62 -25 : 44.0% Eloleistung: -42 Elo

Größte Abweichung: (0-100) & (401-500): 70 Elo (!)

Das sollte nun doch mal endgültig klarmachen, daß nach 100 Partien von lc0 gegen Stockfish irgendwelche Aussagen, wie dieses Net ist 30 Elo besser als jenes, einfach Quatsch sind. Da "mißt" man Zufallsschwankungen, sonst nichts.
Parent - - By Clemens Keck Date 2019-07-14 13:07 Upvotes 2
das ist ein schei...Thema

verdirbt mir die Lust am testen.

Ich will keine 10.000 Partien pro Test spielen, und schon gar nicht Partien weit unter 1 Minute.
Letztendlich kann ich mich nur auf meinen Eindruck eines Tests verlassen... dann querlesen wer noch alles das netzwerk aus meinen Tests in der Kur hatte ( Discord, GLB64 , usw)

Aus dieser "Suppe" wähle ich dann das "stärkste" netzwerk für die täglichen Turniere bei Infinitychess  .

Mei, fast schon peinlich 

C.K.
Parent - - By Reinhold Stibi Date 2019-07-14 13:23 Upvotes 1
Lass Dich nicht beirren.

Auch wenn Einige einem einimpfen  wollen, dass man 200 und mehr Partien gegen eine
Engine spielen müßte, um eine zuverlässige Aussage über die Spielstärke zu erlangen,
bleibe ich bei meiner Meinung dass dazu in der Regel  100 Partien genügen.

Glaube auch dass bei den ganz kurzen Partien die Streuung größer ist und deshalb
in diesem Fall mehr Partien gespielt werden müssen.
Der Hund hat sich sozusagen in den Schwanz gebissen.
Parent - - By Peter Weise Date 2019-07-14 13:37
Ich denke Stefan Pohl hat recht!
Jeder kann dies selbst nachvollziehen:
einfach das Ergebnis der ersten 50 oder 100 oder 200 Partien festhalten und danach vergleichen wie es nach 1000 und mehr Partien steht. Natürlich kann man auch mal Glück haben und nach bereits gerade einmal 300-400 Partien das "richtige" Resultat haben, nur weiß man das dann halt nicht! Und mit Bedenkzeiten hat das schon lange nichts mehr zu tun im Computerschach!
Parent - - By Reinhold Stibi Date 2019-07-14 13:51
Ja, dann spiel doch selber 200 und mehr Partien gegen eine Engine,
als sich auf Andere zu verlassen.
Parent - By Peter Weise Date 2019-07-15 09:03
Ist schon so ähnlich in der Mache und wird genau so ablaufen wie dieser Test:

http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=120474#pid120474

Diesmal mit dem Net welches bei der CEGT den ersten Platz erklommen hat 42668. Sollten die Temperaturen im jetzigen Bereich bleiben so könnte alles in knapp 10 Tagen fertig sein.
Parent - - By Guenter Stertenbrink Date 2019-07-14 13:28
ja, immer diese elende Konkurrenz - ausser wenn man erster wird
Parent - - By Reinhold Stibi Date 2019-07-15 07:18 Upvotes 1
Mich würde mal interessieren welcher Statistiker im Computerschach die Errobar
erfunden hat, oder vielleicht besser gesagt entwickelt hat.

Die Frage dürfte auch sein, ob sie überhaupt stimmt.

Möchte ja die Autorität von Stefan Pohl nicht untergraben, aber manches darf man
doch kritisch hinterfragen, besonders wenn Ergebnisse auffällig sind. 

Bei dem Match mit den 500 Partien  Stockfish 22.06.19  gegen Lc0 T8.610 (TCEC)
fällt die außerordentlich hohe Gewinnquote von 38 % auf. Das ist doch nicht normal
bei diesen Spitzenengines. Zu erwarten wären bei objektiven Testbedingungen 20 %.

Da könnte schon der Gedanke aufkommen, dass an den Testbedingungen etwas nicht
stimmt.
M.E. liegt es an der extremen kurzen Bedenkzeit von 58 Sek. pro Spiel + Aufschlag von
einer halben Sekunde pro Zug. Besonders der letztere Wert ist zweifelhaft weil damit doch
einige Partien im Endspiel "verhunzt" werden was natürlich auch das Endergebnis beeinflusst.

Dass solch eine extreme kurze Bedenkzeit keinen  Einfluss haben soll auf die Errobar  entspricht
m.E. jeder Logik.

Werde nun selber einen Test mit 500 Partien mit Stockfish 22.06.19  gegen  Lc0 TCEC
durchführen aber mit etwas längerer Bedenkzeit.

Wenn sich die großen Schwankungen je 100 Block, wie von Stefan Pohl festgestellt, bestätigen
sollten, dann mea culpa, mea maxima  culpa an Stefan Pohl
Parent - By Clemens Keck Date 2019-07-15 07:41
what?
Die Error Bar hat Mit S. Pohl doch nichts zu tun.

Das ist so ein mathematischer "Krimskrams" der mit Sicherheit seine Berechtigung hat.
Die Confidence (CFS) ist noch einmal so ein Wert, der eine Aussage bezüglich der Genauigkeit von Tests darstellt.
Wieder was mathematisches. Lässt sich alles in Ordo nachlesen.

Jedemfalls fliegt jedes TestErgebnis bei Discord sofort raus, wenn u. a. nicht alle Werte aufgezeigt werden.

C.K.
Parent - By Stefan Pohl Date 2019-07-15 08:57 Edited 2019-07-15 09:55 Upvotes 1
Reinhold Stibi schrieb:

Mich würde mal interessieren welcher Statistiker im Computerschach die Errobar
erfunden hat, oder vielleicht besser gesagt entwickelt hat.
Die Frage dürfte auch sein, ob sie überhaupt stimmt.


Die Errorbar ist eine rein statistische Gesetzmäßigkeit über Schwankungsbreiten bei Meßdaten, die nicht nur speziell im Schach oder Computerschach zutrifft. Elozahlen und Errorbars kann man in jedem sog. "Nullsummenspiel" anwenden.
https://de.wikipedia.org/wiki/Nullsummenspiel

Reinhold Stibi schrieb:

Möchte ja die Autorität von Stefan Pohl nicht untergraben, aber manches darf man
doch kritisch hinterfragen, besonders wenn Ergebnisse auffällig sind. 


Ich fühle mich ja geschmeichelt, aber das ist doch alles nicht auf meinem Mist gewachsen!
Und man darf immer alles kritisch hinterfragen. Das sollte man sogar!

Reinhold Stibi schrieb:

Bei dem Match mit den 500 Partien  Stockfish 22.06.19  gegen Lc0 T8.610 (TCEC)
fällt die außerordentlich hohe Gewinnquote von 38 % auf. Das ist doch nicht normal
bei diesen Spitzenengines. Zu erwarten wären bei objektiven Testbedingungen 20 %.
Da könnte schon der Gedanke aufkommen, dass an den Testbedingungen etwas nicht
stimmt.
M.E. liegt es an der extremen kurzen Bedenkzeit von 58 Sek. pro Spiel + Aufschlag von
einer halben Sekunde pro Zug.


Remisqouten steigen mit mehr Bedenkzeit. Das ist so. Und fallen mit weniger Bedenkzeit. Der Denkfehler liegt schlicht im Begriff "objetive Testbedingungen". Das ist die falsche anthrophozentrische Denkweise. Es gibt keine "objektiv" guten oder schlechten Bedenkzeiten zum Testen. Solange die Bedenkzeit nicht so kurz ist, daß auf Windows/Hardwareebene verzerrende Effekte auftreten (das passiert nach meinen Erfahrungen so ca. unter 200ms pro Zug) sind alle Bedenkzeiten eben das was sie sind. Bedenkzeiten. Und je geringer diese Bedenkzeit ist, desto mehr Gewinnpartien und desto weniger Remisen.

Reinhold Stibi schrieb:

Werde nun selber einen Test mit 500 Partien mit Stockfish 22.06.19  gegen  Lc0 TCEC
durchführen aber mit etwas längerer Bedenkzeit.
Wenn sich die großen Schwankungen je 100 Block, wie von Stefan Pohl festgestellt, bestätigen
sollten, dann mea culpa, mea maxima  culpa an Stefan Pohl


Tja, und hier kommt nun noch eine echte Crux - Statistik ist leider voller Tücken. Aber um das zu erklären, muß ich zunächst noch mal erläutern, was das Prinzip der Errorbar aussagt: Es sagt, daß Ergebnisse mit 95%-Wahrscheinlichkeit innerhalb der Errorbar schwanken können und mit 5%-Restwahrscheinlichkeit sogar außerhalb der Errorbar liegen können.

Der Knackpunkt ist hier der Begriff "können". Eben nicht müssen! Das ist ein wesentlicher Punkt. Warum?
Wenn man, wie in meinem hier angeführten Praxis-Beispiel mit den 5 100er-Blöcken der 500 Stockfish-lc0-Partien starke Schwankungen in den Ergebnisse aufgetreten sind, dann kann man daraus ableiten, daß solche Schwankungen möglich sind - logisch, sonst wäre es ja nicht dazu gekommen. Führt man nun aber solche Testreihen durch und es treten viel kleinere Schwankungen oder sogar gar keine Schwankungen auf, dann kann man eben daraus nicht ableiten, daß größere Schwankungen nicht auftreten können!!! Sondern nur, daß es in dem konkreten Fall eben nicht passiert ist. Selbst wenn man 10 oder 50 oder 100 solcher Testreihen macht, in denen keine oder geringere Schwankungen auftreten, kann man daraus eben nicht folgern, daß größere Schwankungen nicht doch passieren können.
Ich hatte bei meinem Testrun das "Glück", daß große Schwankungen auftraten. Daher konnte ich das als instruktives Beispiel nutzen, um zu demonstrieren, daß solche Schwankungen möglich sind. Wäre mein Testrun "glatter" verlaufen, wäre das aber eben kein Argument gewesen, um zu sagen, die Errorbar und das zugrundeliegende Prinzip der Schwankungen/Ergebnisunsicherheit gelte gar nicht.
Ergo: Es ist nicht möglich, das Prinzip der Errorbar mit ein paar "glatteren" Testreihen zu widerlegen. Und es ist nicht möglich, mit ein paar glatteren Testreihen nachzuweisen, daß bei längeren Bedenkzeiten weniger starke Aussschläge in den Ergebnissen auftreten. Oder überhaupt so nachzuweisen, daß Änderungen in den Bedenkzeiten Einfluß auf die Schwankungsbreite haben.
Tut mir leid, aber so ist die Sachlage.
Wenn du also dein Experiment durchführst und es treten ähnlich große Schwankungen auf, wie bei meinem Durchlauf, dann ist gezeigt, daß diese Schwankungen auch mit mehr Bedenkzeit auftreten. Gut und schön. Aber, wenn nur weit geringere Schwankungen auftreten, dann ist damit leider nicht gezeigt, daß dies immer so ist und somit Schwankungen mit mehr Bedenkzeit geringer werden. Selbst dann nicht, wenn du das Experiment 10 mal oder 100 mal wiederholst.
Man müßte dieses Experiment einige tausend Male mit verschiedenen Bedenkzeitstufen durchführen und könnte sich dann das statistische Mittel ansehen. Aber wer will das schon machen? Ich sicher nicht.

Generell möchte ich noch mal das Thema Bedenkzeit aufgreifen. Denn auch hier schlägt ja das anthrophozentrische Denken wieder zu. Von Bedenkzeit zu sprechen, ist eigentlich eine (unzulässige) Vereinfachung. Letzlich hängt es ja auch an der Geschwindigkeit des Computers, auf dem getestet wird (auf einem nur 1/3 so schnellen Rechner müßte man 3x so viel Bedenkzeit geben - logisch). Es ist also immer eine Kombination zu betrachten, aus dem Faktor Bedenkzeit und Hardwarespeed. Daher geht es letzlich um die Zahl der berechneten Knoten pro gespieltem Zug, denn diese allein beschreibt ja die Kombination aus Bedenkzeit und Hardwarespeed. Man muß bedenken, daß die Errorbar in den Teststatistiken ja nicht erst seit gestern benutzt wird. Sondern schon, solange es Computerschach gibt. Also schon zu Brettcomputerzeiten. Damals waren die Rechner aber (ich vereinfache das jetzt mal) ca. Faktor 10000 langsamer. Und auch dort hat man in der SSDF und anderen Testreihen die Errorbar genutzt. Aus gutem Grund.
Was heißt das nun aber für die aktuelle Diskussion um Bedenkzeiten? Nehmen wir die luxuriöse Bedenkzeit von 3 Minuten/Zug aus der SSDF: Auf heutige Hardwaregeschwindigkeiten umgerechnet, würde das bedeuten, damals wurde mit 180''/10000 = 0.018'' oder 18ms pro Zug getestet, hätten die Tests auf einem modernen PC stattgefunden. Also viel, viel, viel kürzer, als ich es heute mache - durchschnittliche Bedenkzeit bei mir: ca. 1''/Zug laut LittleBlitzerGUI: Ergo teste ich mit gut 55 mal mehr "Bedenkzeit" als seinerzeit die Brettcomputer in der SSDF getestet wurden (!!!). Ergo müßten bei meinen Tests ja nur noch mikroskopisch kleine Schwankungen in den Ergebnissen auftreten, wenn damals schon die Errorbar galt und benutzt wurde (was der Fall war)...würde Reinholds Annahme stimmen, daß mehr Bedenkzeit die Schwankungsbreite der Ergebnisse nennenswert reduziert. Aber das ist eben nicht der Fall. Mein angeführtes Beispiel der 5 100er Partieblöcke von SF gegen lc0 hat ja gezeigt, daß auch heute noch solche großen Schwankungen auftreten können (nicht müssen, siehe oben!!!).

QED

Damit schließe ich das Thema nun auch ab. Ich habe es schon zu Zeiten meiner Lightspeed-Rangliste durchgekaut. Und nun schon wieder. Weitere Informationen zu statistischen Gesetzmäßigkeiten möge man bitte der Fachliteratur entnehmen. Ich habe das Thema nun oft und lange genug durchgekaut.
https://de.wikipedia.org/wiki/Fehlerrechnung
https://de.wikipedia.org/wiki/Varianz_(Stochastik)

Das letzte Wort sollte passenderweise Ed Schröder haben (ich denke, wir sind uns einig, daß Ed sich mit Computerschach so halbwegs auskennt...), den ich ja auch in meinem Profil-Spruch zitiere: "Randomness is a monster and you beat it by volume." Und eben nicht "Randomness is a monster and you beat it by longer thinking-time"...
Up Topic Hauptforen / CSS-Forum / Wider den statistischen Unsinn

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill