Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Schachstatistik-Tools
- - By Thomas Plaschke Date 2022-07-07 19:40 Upvotes 3
Da Stefan Pohl sich in diesem Forum nur noch zurückhaltend zeigt, will ich auf neue Versionen seiner Tools SGS ("Sacrifice Games Search Tool" = Opfer-Spiele-Such-Werkzeug) und EAS ("Engines Aggressivenes Statistics Tools" = Werkzeug zur Ermittlung der Aggressivitätsstatistiken) hinweisen. Mit den verbesserten Versionen kann man Datenbanken auf die jeweiligen Kriterien durchsuchen lassen. Genaueres findet man auf seiner Webseite, wo er die Tools zum Herunterladen anbietet.
Ich habe die Tools auf 137.000 Partien von Frank's letztem Turnier verarbeiten lassen. Man kann damit schnell reichlich schöne Partien finden . Oder man kann sehen, um wie viel aggressiver HIARCS 15 in der neuen Version 15.1 geworden ist.

Viele Grüße
Th. Plaschke
Parent - By Frank Quisinsky Date 2022-07-08 01:00 Edited 2022-07-08 01:11 Upvotes 1
Hi Thomas,

interessant ist das sich viele unterschiedlichen Statistiken angleichen und dann aus der Gesamtheit heraus ein konkretes Bild zu den Engines abliefern.
Also ein stetiges Filtern von postiven und negativen Auffälligkeiten.

Dabei fällt immer wieder besonders auf, dass Engines heute eine ja schon fast wahnsinnige Spielstärken in der dritten Partiephase erreichen.
Also, der Übergang zum Endspiel. Da viele Engines genau das sehr gut können fallen andere Statistiken dann so ein wenig ins Niemandsland.
Resultierend daraus, dass viele max. auf Elo schauen bzw. eh schon längst den Überblick über die vielen sehr starken Engines verloren haben.

Stefan's Tool sucht ja z. B. über die ganze Partie hinweg nach auffälligen aggressiven Kombinationen.
Wenn z. B. genau das verglichen wird mit schnellen Angriffspartien, die ja meist resultieren aus aggresssiven Kombinationen, ergibt das erstaunlich oft ein sehr einheitliches Bild.

Wie so viele eigentlich unterschiedliche Statistik-Ideen, die sich dann aber wie Puzzlesteine zusammenfügen.

So langsam kommt auch bei der Statistik Frage ein wenig Schwung ins Geschehen.
Werden die Engines immer stärker brauchen wir solche Programme, Statistik-Ideen ... um zu sehen was eigentlich nicht mehr zu sehen ist.

Ferner brauchen wir solche Programme, weil unglaublich viele Partien angeboten werden und niemand mehr mühseelig selbst Partie für Partie abprüft.
Die Zeit hat niemand!

Selbst hoffe ich, dass auch in gut bekannten GUIs die Entwickler ein wenig Fantasie einsetzen um gezielter Partien zu filten.

Hiarcs:
Jo, da gab es von 15.0 zu 15.1 einen Schub nach vorne (wichtiger als die paar Elo mehr bei der neuen Version).
Überhaupt war ich sehr enttäsucht, dass Hiarcs viel schlechter bei mir gestartet ist als bei anderen.
Mit mehr Partien hat sich das dann reguliert. Es gab offenbar direkt 6 Engines die Hiarcs 15.0 gar nicht mochte.
Diese Ergebnisse drückten Hiarcs dann ein wenig nach unten und das trotz so vieler Gegner die ich einsetzte.

Meine letzten Ergebnisse von Version 15.0 und 15.1 schauen aber meines Erachtens völlig OK aus.
Mag die Engine selbst sehr!!
Auch die entwickelte GUI Chess-Explorer!

https://www.amateurschach.de/t-ki/tables/run-6/r30_059_moves.txt
https://www.amateurschach.de/t-ki/tables/run-6/r30_079_moves.txt ... das Problem von Hiarcs!
https://www.amateurschach.de/t-ki/tables/run-6/r30_099_moves.txt
https://www.amateurschach.de/t-ki/tables/run-6/r30_299_moves.txt ... das nächste Problem von Hiarcs!

Diese Welle beim Spielstil war aber im Grunde immer schon vorhanden.
Diese Statistik mache ich schon seit vielen Jahren.

Hiarcs hatte immer schon einen anderen Spielstil und war nie direkt vergleichbar mit anderen Engines.

Stark im Übergang zum Endspiel und im Endspiel selbst baut die Engine etwas ab.
Stark nach der Eröffnung aber im späten Mittelspiel baut die Engine etwas ab.

Wie gesagt, das war bei Hiarcs noch nie anders.
Auch strategisch spielt Hiarcs klug. Man hat das Gefühl da ist wirklich ein Plan dahinter.
Nur gegen stärkere Engines wird Hiarcs überrechnet und dann wirkt es oft so als wenn eine gute Idee nicht zu Ende gespielt wird.

Dies dann auf allerhöchsten Niveau und für Menschen kaum zu realsieren.
Geht mit Statistik ...

Letztendlich eine gute Sache was Stefan macht.
Und Hiarcs ist und war immer schon ein interessantes Schachprogramm.

Viele Grüße
Frank
Parent - - By Stefan Pohl Date 2022-07-08 05:33 Edited 2022-07-08 05:36
Danke für das Posting. Schön, daß dir die Tools gefallen.
Mittlerweile ist ja die EAS Rangliste fester Bestandteil meiner Website.
Die neueste Ausgabe ist mit der Updateversion meines EAS Tools neu berechnet worden:
https://www.sp-cc.de/eas-ratinglist.htm

Weiter mit großem Abstand vorn: Velvet 4.0.0.
Parent - - By Hauke Lutz Date 2022-07-08 19:17
Die neuen Versionen deiner Tools sind wirklich top.

Auch Velvet ist beeindruckend.
Ich hoffe auf eine Version die mehrere Kerne unterstützt.
Parent - - By Peter Martan Date 2022-07-08 19:46 Edited 2022-07-08 19:53
Im Shredder 13 funktioniert's jetzt bei mir mit 4.0.10, im Fritz (17) immer noch nicht.
Da gab's mal einen Thread darüber im CCC mit einem Workaraound für manche GUIs und für die Konsole, in der die vorige Version 3.3.0 ja den Befehl auch nicht direkt umgesetzt hat, finde ihn (den Thread) jetzt aber nicht auf die Schnelle.
Parent - - By Stefan Pohl Date 2022-07-08 20:46
Peter Martan schrieb:

Im Shredder 13 funktioniert's jetzt bei mir mit 4.0.10, im Fritz (17) immer noch nicht.
Da gab's mal einen Thread darüber im CCC mit einem Workaraound für manche GUIs und für die Konsole, in der die vorige Version 3.3.0 ja den Befehl auch nicht direkt umgesetzt hat, finde ihn (den Thread) jetzt aber nicht auf die Schnelle.


Wenns in Fritz nicht läuft, würde ich immer mal versuchen, den polyglot adapter dazwischenzuschalten. Damit laufen viele Engines dann doch.
Ich schau mir das am Wochenende mal an.
Parent - - By Hauke Lutz Date 2022-07-08 22:05
Danke, bei Fritz 14 klappt es mit Polyglot.
Parent - By Stefan Pohl Date 2022-07-08 22:48 Upvotes 1
Dachte ichs doch. Schön!
Parent - By Hauke Lutz Date 2022-07-08 21:57
Danke für den Tipp. Shredder13GUI kann ich bestätigen.
Parent - - By Stefan Pohl Date 2022-07-08 20:43
Ich bin auf Arbeit und kann das jetzt nicht verifizieren, aber mir ist so, dass Velvet schon mehrere Kerne bzw. Threads unterstützt. Nur leider keine MultiPV Analyse, was ein wichtiges Feature wäre.
Parent - - By Peter Martan Date 2022-07-08 21:26 Edited 2022-07-08 21:49
Analyse- Modus im Shredder funktioniert mit 30 Threads, hingegen hab' ich jetzt die 4.0.10 in der Konsole mit dem Befehl
setoption name threads value 30
probiert, und obwohl die engine das zu akzeptieren scheint (keine Fehlermeldung), sind die Knoten danach zwar nicht dieselben wie mit 1 Thread aber doch viel zu niedrig für 30, vor allem auch, wenn man's mit dem vergleicht, was im Shredder zu sehen ist.

Seltsam, oder? Wär's in beiden Fällen single thread, sollten die Knoten ziemlich genau gleich sein, kann's jetzt gerade auch nicht reproduzieren, weil eine Partie läuft, aber sowie die aus ist, speichere ich die Konsolen- Ausgaben auch noch. Dazu sollte ich aber auch erst mal sicher sein, dass das Kommando stimmt. Ich bilde mir ein, du warst an dem Thread im CCC damals über dieses Thema auch beteiligt, erinnerst du dich?

So schaut's im Shredder aus mit 30 Threads bis Ende Tiefe 23:

23/35   0:24   +0.14   1.d4 d5 2.c4 e6 3.Sf3 Sf6 4.Sc3 Lb4 5.Lg5 h6 6.Lxf6 Dxf6 7.e3 O-O 8.Tc1 c6 9.a3 Lxc3+ 10.Txc3 Sd7 11.Dc2 Te8 12.Ld3 a5 (911.617.961) 37898
Bester Zug: d2-d4 Zeit: 0:26.282 min  K/s: 37.806.302  Knoten: 985.056.187

Und single thread:

23/38   1:00   +0.16   1.d4 d5 2.c4 e6 3.Sf3 Sf6 4.Lg5 h6 5.Lxf6 Dxf6 6.e3 Lb4+ 7.Sc3 O-O 8.Tc1 Td8 9.Le2 dxc4 10.O-O c5 11.Se4 Dg6 12.a3 Lxa3 13.bxa3 Dxe4 14.Txc4 (158.073.046) 2605
Bester Zug: d2-d4 Zeit: 1:08.781 min  K/s: 2.596.117  Knoten: 175.658.822

Edit: hab' jetzt endlich den Thread im CCC gefunden, in dem's damals um den bug von 3.3.0 ging:

http://talkchess.com/forum3/viewtopic.php?p=927605#p927605

Und da jetzt noch der Output in der Konsole:

Single thread (ohne options gestartet):

Velvet Chess Engine v4.0.1
go depth 20
...
info depth 20 seldepth 35 score cp 15 nodes 35348929 nps 2648452 hashfull 582 time 13347 pv d2d4 d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 c1g5 e8g8 e2e3 h7h6 g5h4 c7c5 c4d5 e6d5 f1e2 c5d4 f3d4 b8c6
bestmove d2d4 ponder d7d5

Velvet Chess Engine v4.0.1
setoption name threads value 30
go depth 20
...
info depth 20 currmove g1h3 currmovenumber 20
info depth 20 seldepth 35 score cp 15 nodes 35348929 nps 2822674 hashfull 582 time 12523 pv d2d4 d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 c1g5 e8g8 e2e3 h7h6 g5h4 c7c5 c4d5 e6d5 f1e2 c5d4 f3d4 b8c6
bestmove d2d4 ponder d7d5

Lustig, oder?
Wrong command?
Wieso dann aber überhaupt Unterschiede?
Parent - - By Stefan Pohl Date 2022-07-08 21:48
Ach ja, das war das Problem mit dem isready Uci Kommando...
Parent - - By Peter Martan Date 2022-07-08 21:50
Du hast geantwortet, während ich den console- output nachgereicht habe, kannst du den reproduzieren?
Parent - - By Stefan Pohl Date 2022-07-08 22:01 Edited 2022-07-08 22:05
Momentan nicht, ich bin wie gesagt, auf Arbeit.
Soweit ich das erinnere musst du bei Velvet nach dem setoptions Kommando für die Threads eben noch das Kommando isready eingeben.

Ich schaue mir das morgen an und probiere mal den polyglot adapter aus.
Parent - By Peter Martan Date 2022-07-08 22:08
Mit isready passt's in der Konsole:

Velvet Chess Engine v4.0.1
setoption name threads value 30
isready
readyok
go depth 20
...
info depth 20 seldepth 33 score cp 13 nodes 808094768 nps 41215208 hashfull 891 time 19606 pv d2d4 d7d5 g1f3 g8f6 c2c4 e7e6 b1c3 f8b4 d1a4 b8c6 e2e3 e8g8 c1d2 c8d7 a4c2 c6e7 a2a3 b4c3 d2c3 e7g6
bestmove d2d4 ponder d7d5
Parent - - By Stefan Pohl Date 2022-07-08 12:34 Edited 2022-07-08 12:54 Upvotes 3
Thomas Plaschke schrieb:

Ich habe die Tools auf 137.000 Partien von Frank's letztem Turnier verarbeiten lassen. Man kann damit schnell reichlich schöne Partien finden . Oder man kann sehen, um wie viel aggressiver HIARCS 15 in der neuen Version 15.1 geworden ist.


Wobei zu beachten ist, daß das EAS-Tool (bzw. alle diese Tools) nur die Gewinnpartien der Engines "verarbeitet". Das führt dazu, das oft nur recht wenige Partien zur Auswertung herangezogen werden können. Hiarcs 15.1 hat im FCP-Turnier z.B. nur 101 Gewinnpartien abgeliefert. Das ist natürlich für einen validen EAS-Score mehr als dünn...insbesondere, da das Punktesystem für die Opfer je nach Größe des Opfers exponentiell ist.
Das EAS-Tool "meckert" deswegen auch, wenn eine Engine unter 50 Gewinnpartien in einer pgn-Datenbank hat und warnt, daß dieses Ergebnis nicht valide ist. Aber 100 Gewinnpartien ist natürlich auch nicht wirklich gut.

In meiner EAS-Rangliste kommt mir (und dem Tool) zugute, daß in meiner SPCC-Rangliste eine Engine immer mindestens 7000 Partien für die SPCC-Partiedatenbank spielt (mindestens 7 Gegner, jeweils immer ja 1000 Partien). Daher ist die kleinste Gewinnpartienzahl einer Engine momentan Igel 3.1.0 mit aber immerhin auch noch 696 Gewinnpartien. Für Statisitiken gilt eben immer: Ohne genügend "Masse" wird das nichts Vernünftiges. Da meine Tools nur die Gewinnpartien der Engines berücksichtigen können (logischerweise), gilt das für die Tools umso mehr...

PS: Habe soeben auch die EAS-Ranglistekalkulation für meine Full-List Rangliste hochgeladen (alle Engines/Versionen seit 2020 (ohne die ganzen Stockfish Dev-Versionen, die würden die Liste verzerren)). Diese EAS-Evaluierung dauert einige Stunden, aber es sind auch insgesamt über 1 Million Partien durchzusehen. Daher mache ich dieses Update nur von Zeit zu Zeit. Jetzt ist die Liste aber aktuell (kommt unterhalb der SPCC-Full List- Rangliste) (Hiarcs ist aber nicht dabei, da ich die lächerliche Preispolitik nicht bereit bin mitzumachen. Weder will ich den komischen Chess Explorer, noch kaufe ich eine Engine, sie nur singlecore läuft, wenn ich sparen will - das ist ja grotesk. Für eine mittelmäßige Engine, die nur singlecore erlaubt zahle ich nicht 80€. Und 150€ für einen Multicore-Betrieb, der auch nur bis 32 Threads geht - das ist ja wohl eine absolute Frechheit. Ohne mich)

https://www.sp-cc.de/files/spcc_full_list.txt

Interessant in dieser Auswertung ist Velvet: Die Engine wurde erst mit V3.3.0 wirklich aggressiv. Version 3.2.0 ist auch in meiner Full-Rangliste und liegt in der EAS-Auswertung nur auf Platz 64 mit einem sehr mittelmäßigen EAS-Score, während Velvet 3.3.0 und Velvet 4.0.0 Platz 1 und 3 belegen...

PS2: Welches meiner 3 Tools macht was?
SGS-Tool sucht nach Opferpartien in einer pgn-Datenbank, egal von welchen Spielern und gibt insgesamt 5 pgn-Dateien aus (sowie ein Statistik-Textfile): Nämlich die Kurzpartien und die Opferpartien sortiert nach Opfergröße (1 Bauer bis 5+ Bauern) falls man als Suchoption "0" angibt, also eine volle Suche nach allen Opfergrößen durchführt.
One_Engine_Aggressiveness_Stats_V2.5 Tool sucht nach Opferpartien und Kurzpartien einer bestimmten (anzugebenden) Engine und gibt insgesamt 6 pgn-Dateien aus (sowie ein Statistik-Textfile): Nämlich die Kurzpartien und die Opferpartien sortiert nach Opfergröße (1 Bauer bis 5+ Bauern). Auch der EAS-Score der Engine wird ausgegeben.
All_Engines_Aggressiveness_Stats_V2.5 Tool sucht nach Opferpartien und Kurzpartien aller Engines und errechnet für alle Engines den EAS-Score und erstellt die EAS-Rangliste als Textfile. In einer pgn-Datei werden alle zur Auswertung herangezogenen Partien (also alle Opferpartien (egal wie große das Opfer war) und alle Kurzpartien zusammen ausgegeben.)
Parent - - By Thomas Plaschke Date 2022-07-08 14:55

> Wobei zu beachten ist, daß das EAS-Tool (bzw. alle diese Tools) nur die Gewinnpartien der Engines "verarbeitet". ...


Ja, das hatte ich auch schon bemerkt. Die Partien mit korrektem Opfer, die später zum Remis oder zur Niederlage versaut werden, können vermutlich ohne Analyse durch ein Programm, das sicherheitshalber allwissend und alles erkennend sein sollte, nicht gefunden werden. - Von der zeitlichen Dimension gar nicht zu reden.

Aber es ist schon eine ganze Menge, was man durch Deine Tools bekommt. Und was ich bemerkenswert finde: Diese Ergebnisse sind möglich, ohne schachliche Analyse, sondern nur durch das Ausreizen eines geniales Tools.
Weil das Auswerten großer Datenbanken doch einige Zeit in Anspruch nimmt, habe ich pgn-extract 22.05 auch mit dem clang-Compiler übersetzen lassen: 30 % schneller (als pgo und ein paar andere Parameter waren auch noch gesetzt). Anscheinend sind bei diesem Compiler die String- und/oder I/O-Routinen effizienter.

> Interessant in dieser Auswertung ist Velvet: ...


Velvet hatte ich nicht auf dem Radar. Da Velvet 3.3.0 auch in Frank's Turnier als aggressiv auffiel, werde ich's auf dem Schirm behalten.

Vielen Dank und viele Grüße
Th. Plaschke
Parent - By Stefan Pohl Date 2022-07-08 16:29
Thomas Plaschke schrieb:

Ja, das hatte ich auch schon bemerkt. Die Partien mit korrektem Opfer, die später zum Remis oder zur Niederlage versaut werden, können vermutlich ohne Analyse durch ein Programm, das sicherheitshalber allwissend und alles erkennend sein sollte, nicht gefunden werden. - Von der zeitlichen Dimension gar nicht zu reden.

Aber es ist schon eine ganze Menge, was man durch Deine Tools bekommt. Und was ich bemerkenswert finde: Diese Ergebnisse sind möglich, ohne schachliche Analyse, sondern nur durch das Ausreizen eines geniales Tools.
Weil das Auswerten großer Datenbanken doch einige Zeit in Anspruch nimmt, habe ich pgn-extract 22.05 auch mit dem clang-Compiler übersetzen lassen: 30 % schneller (als pgo und ein paar andere Parameter waren auch noch gesetzt). Anscheinend sind bei diesem Compiler die String- und/oder I/O-Routinen effizienter.


Eine 30% schnellere pgn-extract Version würde meine Tools erheblich beschleunigen. Könntest du mir einen Downloadlink senden? Ich würde dann pgnextract in meinen Tools durch deine Binary ersetzen, falls es in Testruns identische Ergebnisse liefert...
Parent - - By Frank Quisinsky Date 2022-07-08 17:56 Edited 2022-07-08 18:18
Velvet = Überläufer!
Das Teil ist derart aggressiv ... das sollte man nicht ohne eine Schutzausrüstung anpacken.

Im Grunde verraten sich die aggressiven Programme alle an einer kleinen Statistik?
Zügedurchschnitt der Gewinnpartien ohne Aufgabenfaktor!

Hier sind alle Angreifer vorne.
Kein Programm dazwischen, dass einen niedrigen Zügedurchschnitt bei Gewinnpartien hat, selbst aber nicht zu den Angreifern gehört.

Und Velvet hält beim Zügedurchschnitt gar den Rekord und das gar deutlich!!
Version 4 habe ich auch schon gestetet und das schaut da nicht anders aus (publiziere nichts mehr).

Sieht man z. B. in der *.jpg Ratingliste der von mir genutzten Partien.

Ob Velvet aber aggressiver ist als seinerzeit Spark oder Hakkapelitta?
Vermutlich ist das Programm von Allard in seiner Ära kaum zu toppen.
Keine Ahnung, Velvet ist mind. nahe dran oder gar besser.
Parent - By Frank Quisinsky Date 2022-07-08 18:14 Edited 2022-07-08 18:21 Upvotes 1
Wer sich dafür interessiert ...
Hat Ferdinand Mosca mit auf Wunsch mal zu meiner FCP Rating Liste (ca. Ende 2016 eingestellt) programmiert.

Download-Bereich von Frank's Chess Page:
Utils von Ferdinand Mosca

Programm PNGS starten!

Kommen 5 Abfragen ...

Enter PGN ... z. B. games.pgn
Minimum moves ... bei meinen Partien war ein Matt nach 19 dabei, also 19
Maximum moves ... Partien ab 300 Züge wurden wiederholt, also 299
Enter player name ... all
Enter results ... all

Viele andere Auswertungen sind damit möglich!
Früher zu FCP Rating-List Zeiten hatte ich beständig nach jeden Gauntlet 24 Stats gemacht und aus diesen dann versucht den Spielstil der Engine herauszufinden.

Mal ausprobieren und sich anschauen was PNGS für eine Statistik ausgibt.
Diese Statistik findet sich aber auch in dem Statistik Download zum FCP Tourney-KI.

Wie gesagt, am Zügedurchschnitt der Gewinnpartien verraten sich alle Angreifer sofort.
Was sich logisch anhört aber nicht unbedingt logisch ist.



Viele Grüße
Frank

WICHTIG:
Muss mit Statistiken vorsichtig sein.
Wenn man sieht das sehr viele Programme sehr vieles gleich machen vergeht einem die Lust auf Statistik.
Up Topic Hauptforen / CSS-Forum / Schachstatistik-Tools

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill