Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Wie stark sind Schachprogramme wirklich?
- - By Frank Sanders Date 2023-01-28 14:45
Nach der aktuellen FIDE Weltrangliste hat Magnus Carlsen eine Elobewertung von 2859.
Schaut man sich die Computerranglisten (CEGT oder CCRL) an, so sind dort Elowerte, je nach Spieldauer, ca. zwischen 3500 und 3600 angegeben.

Meine Frage ist, sind das reine Phantasiezahlen, oder spielen die Programme um 600 bis 700 Elopunkte besser als die besten Menschen?

Und, die Programme bewegen sich mit jeder besseren Version weiter vom besten menschlichen Schach weg, wer kann die gefundenen Züge der Programme noch richtig einschätzen?
Parent - By Olaf Jenkner Date 2023-01-28 17:38 Upvotes 2
Frank Sanders schrieb:

Meine Frage ist, sind das reine Phantasiezahlen, oder spielen die Programme um 600 bis 700 Elopunkte besser als die besten Menschen?

Der Elorechner von Schacharena sagt:

Die Elodifferenz beträgt 641 Punkte.
Sie verlieren mit einer Wahrscheinlichkeit von 94,58 Prozent.

Jetzt machen wir ein KrautFanDing und sammeln so lange, bis
Carlsen nicht mehr widerstehen kann und hundert Partien spielt.
Danach prüfen wir die Verläßlichkeit der Elo-Zahlen.
Parent - - By Volker Pittlik Date 2023-01-28 19:35 Upvotes 2
Frank Sanders schrieb:

...
Meine Frage ist, sind das reine Phantasiezahlen, oder spielen die Programme um 600 bis 700 Elopunkte besser als die besten Menschen?


Das sind keine Phantasiezahlen, sondern Ratings für voneinander unabhängige Gruppen. Grundsätzlich muss mann sich vergegenwärtigen, dass das Elorating keine Messung wie die der Länge oder des Gewichts ist. Es gibt keine vergleichbare Definition von dem was "ein Elo" ist, wie es bei physikalischen Grössen der Fall ist.

Um zu ermitteln wie gross der Abstand zwischen Menschen und den Programmen (in Elo ausgedrückt) tatsächlich ist, müssten diese in relevatem Umfang gegeneinander spielen, was schon lange nicht mehr der Fall ist.

Bei der Entstehung der verschiedenen Ratinglisten wurden (wenn ich micht recht erinnere) willkürlich bestimmten Programmen ein bestimmtes Rating zugewiesen. Man hätte auch -42 oder 357 Fantastillionen nehmen können. Innerhalb der verschiedenen Ratinglisten stimmen die Verhältnisse. Über Abstände zu anderen Spielern (z.B. GMs), die nicht gegen die Spieler (Programme etwa) einer Ratingliste spielen, kann man nur spekulieren.

Volker
Parent - - By Frank Sanders Date 2023-01-28 20:52
Danke für die gute Erklärung.
Gibt es irgendwo Schätzungen oder Kommentare von GMs oder Wissenschaftern wir groß der Abstand Mensch - Maschine sein könnte?
Parent - - By Lothar Jung Date 2023-01-28 20:57
Um es sportlich auszudrücken:

Der Leistungsabstand ist vielleicht so groß wie der Berlin Marathon und einem Formel 1 Rennen.

Lothar
Parent - - By Olaf Jenkner Date 2023-01-28 21:56 Upvotes 1
Ich gewinne jeden Marathon mit dem Fahrrad.
Parent - By Lothar Jung Date 2023-01-28 22:08
Im Marathon läuft man. Habe selbst 5 davon bestritten.
Damals in Griechenland gab es noch keine Fahrräder.
Aber mein Vergleich gilt auch zwischen Radrennen und Formel 1.
Parent - By Peter Martan Date 2023-01-28 22:01 Edited 2023-01-28 22:37
Am ehesten praktische Versuche in diese Richtung unternimmt Larry Kaufman immer wieder mal mit Vorgabe- Matches. Willkürlich aus einem der Threads darüber ein Posting, in dem er auch etwas über Elo in dem Zusammenhang spekuliert,

https://talkchess.com/forum3/viewtopic.php?p=925288#p925288

Er bestätigt da aus der Praxis im Wesentlichen  aber nur die schon von verschiedener Seite hier bereits geschilderte hinlänglich bekannte Grundlage, es handle sich bei solchen wie auch anderen Ratings um Ergebnisse, die jeweils völlig für sich allein stehen.

Arpad Elo soll ja angeblich sogar selbst darunter gelitten haben, was mit seiner Formel für ein Kult getrieben wurde.

Von hier

https://de.wikipedia.org/wiki/Arpad_Elo

Zitat:
„Manchmal denke ich, ich habe Frankensteins Monster erschaffen! Die jungen Spieler interessieren sich mehr für die Elo-Wertung als für die Dinge auf dem Brett.“[2]


Warum kommt niemand auf die Idee, die Elo von Bayern München gegen einen Verein von Fußball- Robotern auszurechnen?
Nur so als weiteres Beispiel, was alles hinkt und trotzdem kein Vergleich ist
Parent - - By Benno Hartwig Date 2023-01-28 21:32 Edited 2023-01-28 21:35

> Man hätte auch -42 oder 357 Fantastillionen nehmen können.


Hätte man. Aber hat man wirklich so willkürlich gearbeitet?
Wie sah es aus bei CEGT, CCRL, SPCC, IPON...?
Hat man da nicht vielleicht doch versucht, eine irgendwie wenigstens ein Stück weit plausible Verankerung zu finden?
Vielleicht anhand von inzwischen uralten Engines, die seinerzeit eben doch wenigstens eine gewisse Anzahl von Partien gegen Menschen gespielt hatten.
Gerhard, Stefan, vielleicht mögt ihr ganz kurz was dazu sagen?
Parent - By Volker Pittlik Date 2023-01-29 09:54 Edited 2023-01-29 10:44
Benno Hartwig schrieb:

...Hat man da nicht vielleicht doch versucht, eine irgendwie wenigstens ein Stück weit plausible Verankerung zu finden?
Vielleicht anhand von inzwischen uralten Engines, die seinerzeit eben doch wenigstens eine gewisse Anzahl von Partien gegen Menschen gespielt hatten. ...


Genau so! Ich möchte da gar nicht falsch verstanden werden. Die Listenersteller haben die besten Informationen verwendet, die vorhanden waren.
Parent - By Andreas Schwartmann Date 2023-01-29 13:40 Upvotes 1
Ich habe ja am Anfang auch einige Jahre bei der CCRL mitgetestet. Ich meine mich zu erinnern, dass wir damals die SSDF-Ratings als Ausgangszahlen genommen haben.
Parent - - By Stefan Pohl Date 2023-01-30 07:38 Edited 2023-01-30 08:08 Upvotes 1
Benno Hartwig schrieb:

Hätte man. Aber hat man wirklich so willkürlich gearbeitet?
Wie sah es aus bei CEGT, CCRL, SPCC, IPON...?
Hat man da nicht vielleicht doch versucht, eine irgendwie wenigstens ein Stück weit plausible Verankerung zu finden?
Vielleicht anhand von inzwischen uralten Engines, die seinerzeit eben doch wenigstens eine gewisse Anzahl von Partien gegen Menschen gespielt hatten.
Gerhard, Stefan, vielleicht mögt ihr ganz kurz was dazu sagen?


Naja, also bei mir (SPCC) ist es ja so, daß für mich Stockfish der Elo-Aufhänger bzw. Referentpunkt für ORDO, ist. Und wie man in den Diagrammen auf meiner Hauptseite sieht, hat das ja schon mit Stockfish 3 und dem Beginn des Stockfish-Frameworks Fishtest, begonnen. Damals (2013) waren die Elozahlen noch nicht so "entrückt", SF 3 hatte ich seinerzeit auf 3020 Elo gesetzt. Orientierung für diese Zahl war damals CEGT. Danach ging ich ja immer so vor, daß eine neue offizielle SF-Version einen neuen Elowert erreichte. Dieser neue Elowert und der der neue Stockfish wurde dann der neue ORDO-Referenzwert für alle weiteren Tests. Das ging mit jeder neuen Stockfish-Version so weiter. Nur so war es möglich, die Elo-Fortschrittsdiagramme von Stockfish ohne "Löcher" durchgängig (und langfristig) zu erstellen. Dieses Verfahren bringt natürlich eine gewisse Elo-Inflation mit hinein, weswegen meine Elo-Zahlen in meiner aktuellen Rangliste mittlerweile gut 100 Elo höher sind, als die CEGT-Zahlen. Aber das ist nicht zu vermeiden.
Generell ist es natürlich so, daß die Celos mittlerweile lange nicht mehr mit menschlichen Elos verglichen wurden, weil die Engines einfach zu stark sind. Insofern sind alle Celos in gewisser Weise fiktional. Deswegen habe ich bei meiner Mini Top10-UHO RoundRobin-Rangliste ja auch Stockfish auf Elo=0 gesetzt und damit ORDO laufen lassen.

https://www.sp-cc.de/uho_ratinglist.htm

Denn UHO-Eröffnungen spreizen die Elo-Abstände zusätzlich stark und insofern macht hier der Versuch, Celos auf irgendeinen "realistischen" wert zu setzen, gar keinen Sinn mehr.

Code:

     Program                    Elo    +    -  Games    Score   Av.Op. Draws

   1 Stockfish 230123 avx2    :    7    5    5 10000    73.1%   -176   45.9%
   2 Stockfish 15.1 221204    :    0    5    5 10000    72.3%   -175   46.1%
   3 KomodoDragon 3.2 avx2    :  -51    5    5 10000    65.6%   -170   46.4%
   4 Berserk 10 avx2          : -165    5    5 10000    49.4%   -158   49.5%
   5 Koivisto 9 avx2          : -184    5    5 10000    46.6%   -156   49.7%
   6 RubiChess 221120 avx2    : -208    5    5 10000    43.1%   -154   48.4%
   7 Revenge 3.0 avx2         : -210    5    5 10000    42.8%   -154   48.5%
   8 Ethereal 13.75 nnue      : -226    4    4 10000    40.5%   -152   48.5%
   9 Rebel 16.1               : -229    5    5 10000    40.1%   -152   49.3%
  10 Fire 8.NN avx2           : -235    5    5 10000    39.2%   -151   47.3%
  11 Seer 2.6.0 avx2          : -248    5    5 10000    37.4%   -150   47.4%

Games        : 55000 (finished)

White Wins   : 26770 (48.7 %)
Black Wins   : 1875 (3.4 %)
Draws        : 26355 (47.9 %)


Letztlich geht es in Ranglisten heutzutage doch primär um die Reihenfolge der Engines in der Rangliste (und diese Reihenfolge möglichst außerhalb der Errorbars sicherzustellen), und nicht um die genauen Elo-Abstände innerhalb der Rangliste und deren Bezug zu menschlichem Schach. Zumindest sollte es primär darum gehen.

Und in meiner UHO-Top10-Rangliste hat man m.E. die besten Ergebnisse. Weil - dank UHO Eröffnungen - die Abstände weit gespreizt werden, was die statistische Sicherheit der Rangfolge erhöht und weil diese Rangliste eine echtes RoundRobin-Turnier ist: Alle 11 Engines spielen gegen jeden der 10 Gegner je 1000 Partien mit denselben 500 UHO-Eröffnungen. Und damit hat auch jede Engine 10000 Partien, also sehr viel.

Sehr interessant ist auch die Umrechnung der Rangliste in eine Gamepairs-Auswertung, welche mein Gamepairs-Rescorer Tool automatisch erledigt und was bei Gebrauch von meinen UHO-Eröffnungen absolut sinnvoll ist:
Realizing Vondele's (Stockfish maintainer) idea: "Thinking uniquely in game pairs makes sense with the biased openings used these days. While pentanomial makes sense it is a bit complicated so we could simplify and score game pairs only (not games) as W-L-D (a traditional  score of 2-0, or 1.5-0.5 is just a W)."

Dann sieht die Rangliste so aus (jede Engine hat jetzt "nur" noch 5000 Gamepairs, die als je ein Sieg, Remis, oder Niederlage, gewertet werden, logisch, da es ja 10000 Partien waren):

Code:

   # PLAYER                   :  RATING  ERROR  PLAYED     W     D     L   (%)  CFS(%)
   1 Stockfish 230123 avx2    :      31     17    5000  4308   582   110  92.0     100
   2 Stockfish 15.1 221204    :       0   ----    5000  4205   640   155  90.5     100
   3 KomodoDragon 3.2 avx2    :    -216     17    5000  3472   900   628  78.4     100
   4 Berserk 10 avx2          :    -564     18    5000  1586  1672  1742  48.4     100
   5 Koivisto 9 avx2          :    -610     19    5000  1291  1735  1974  43.2     100
   6 RubiChess 221120 avx2    :    -653     19    5000  1037  1750  2213  38.2     100
   7 Revenge 3.0 avx2         :    -671     18    5000   925  1760  2315  36.1     100
   8 Ethereal 13.75 nnue      :    -697     19    5000   769  1771  2460  33.1      98
   9 Rebel 16.1               :    -709     19    5000   722  1727  2551  31.7      99
  10 Fire 8.NN avx2           :    -721     19    5000   660  1707  2633  30.3     100
  11 Seer 2.6.0 avx2          :    -741     19    5000   599  1608  2793  28.1     ---


Hier ist der CFS-Wert bei fast allen Engines 100% und nie unter 98%... Meint ja die Wahrscheinlichkeit, daß die Engine wirklich besser als die nächststärkste ist. Diesen Wert gibt ORDO auf Wunsch ja mit an. Und mehr CFS-Sicherheit geht nicht! Keine andere Rangliste kommt auch nur annähernd auf solch hohe statistische Sicherheit. Die Ratingzahlen kann man dabei eigentlich vergessen, hier geht es um die Rangfolge und den CFS-Wert, also die statistische Sicherheit der Rangfolge. Welche Elozahl eine Engine hat, erst Recht in Bezug zu Menschen, ist dabei nicht (mehr) relevant. So sind halt die modernen Computerschach-Zeiten... Die Top10 Engines sind eben allen menschlichen Elo-Sphären längst entrückt. Insofern sollte man dann diesbzgl. auch nicht zurückschauen und noch versuchen, irgendwelche "realistischen" Celo-Zahlen zu nutzen. Das ist einfach mittlerweile komplett sinnlos.
Parent - - By Frank Sanders Date 2023-01-30 17:50
Danke für die ausführliche Erklärung der SPCC Liste. Für die Rangordnung der Programme untereinander ist es tatsächlich unwesentlich ob sie jetzt 100 Punkte oder 400 Punkte über dem menschlichen Schach spielen.
Sollte man aber versuchen, dieselbe Rangordnung mittels Testpositionen ausfindig zu machen (ich weiß dass es darüber geteilte Meinung gibt, ob das überhaupt möglich ist), dann stellt sich die Frage anders.
Wenn die Programm 300, 400,... oder mehr Elo über dem menschlichen Schach spielen, warum dann für die Punktevergabe noch die menschliche Analyse (bei den neueren Schachbüchern wahrscheinlich schon mit Computerunterstützung) verwenden? Wäre es dann nicht sinnvoller (wie es z.B. Ed Schröder bei STS macht) die Analyse der besten Programme für die Punktevergabe heranzuziehen?  
Wenn dem so ist, wäre es kein so großes Problem mehr, automatisch Testsets mit z.B.10.000 Teststellungen zu generieren und dann auszuwerten. Interessant wäre wie weit diese Ergebnisse dann mit denen der Listen übereinstimmen.
Parent - - By Peter Martan Date 2023-01-30 19:23 Edited 2023-01-30 20:05
Frank Sanders schrieb:

Wenn die Programm 300, 400,... oder mehr Elo über dem menschlichen Schach spielen, warum dann für die Punktevergabe noch die menschliche Analyse (bei den neueren Schachbüchern wahrscheinlich schon mit Computerunterstützung) verwenden? Wäre es dann nicht sinnvoller (wie es z.B. Ed Schröder bei STS macht) die Analyse der besten Programme für die Punktevergabe heranzuziehen?  
Wenn dem so ist, wäre es kein so großes Problem mehr, automatisch Testsets mit z.B.10.000 Teststellungen zu generieren und dann auszuwerten. Interessant wäre wie weit diese Ergebnisse dann mit denen der Listen übereinstimmen.

Also zunächst einmal kannst du menschliche Elo nicht mit denen der Programme vergleichen, ohne Menschen gegen Maschinen spielen zu lassen und nun hättest du eine der letzten Möglichkeiten, das, was die Engines zu bestimmten Stellungen sagen, mit menschlichen Bewertungen dieser Stellungen zu vergleichen, und was machst du? Du willst das auch lieber ganz an die Engines delegieren

Ok, kannst du machen, Schröder hat deshalb gleich 2 STS- Sets zum Download (du hast ja in seinem Forum auch festgestellt, dass die funktionieren zum Unterschied zu dem alten auf der rebel- MEA- site), eins mit SF- Evals, eins mit Evals von LC0 und ihm gefallen die LC0- bewerteten besser, der Unterschied ist (was ich mit dem LC0- Set auch aber nur ein bisschen probiert hab'), wenn du nur aufs Ranking wert legst, nicht groß.

Was du auf die Arten erreichst, ist ein einzelnes Quasi- Match jeder Engine, die du laufen lässt, mit SF, wenn's das SF- Set ist und mit LC0, wenn's das andere Set ist.
Hier ein Beispiel einer kleinen Liste anhand derjenigen Version, die Ferdinand Mosca dann in der Folge draus gemacht hat, indem er die 1-10 Punkte verzehnfacht hat, wie er's hier

https://talkchess.com/forum3/viewtopic.php?p=936637&sid=2202738db6973de9b78e96f08752ac84#p936637

und in den angrenzenden Postings, die er mit Ed darüber im CCC gewechselt hat, beschreibt.
Das, was in dem Link, der im Posting enthalten ist, als LAN_v5 bezeichnet, ich hab's FM5.epd (Ferdinand Mosca 5) genannt, hier eine kleine Liste damit, was die Angaben in den Spalten bedeuten, weißt du ja, natürlich ist LC0 ein Problem mit den 100msec., wenn man die Engine mit A-B vergleicht, die Initialisierungszeit ist schwer einzurechnen, EloStatTS hat zu diesem Zweck die offset.pgn zum Eichen, und vor allem ist dieses Programm auch nicht für so kurze TCs gedacht. Überhaupt sind die natürlich ein zusätzliches Kriterium für sich, aber darüber, dass immer alles Testergebnisse außer durch andere auch durch die Hardware- TCs für sich allein zu betrachten sind, sind wir ja im Bilde.



Ranking würde schon ziemlich passen, vom Rating her find' ich direkt besonders gut, dass es ganz andere Hausnummern in der absoluten Höhe sind als die aus dem game playing, weil man dadurch wenigstens gar nicht auf die Idee kommt, sie direkt zu vergleichen. Die Abstände (was sowieso immer schon das einzige war, was bei der Elowertung gezählt hat) sind auch gar nicht so schlecht. Koivisto und Berserk haben im Vergleich zu den meisten Ranglisten die Plätze getauscht, liegen aber (für die übrigen Abstände) auch ganz gut beisammen.

So, jetzt hast du auf diese Art ein bestimmtes Eng-Eng-Match gegen SF zusätzlich, aber wieso, wenn dich eh nach wie vor nur interessiert, wie nahe an bestimmten anderen Eng-Eng-Matches deine neue Liste dran ist, schaust du dann nicht gleich nur auf die, die du schon hast? Du musst sie ja nicht alle selber zu Hause nachspielen, wenn du die Ergebnisse der Listen anhand dessen als gut und für dich aussagekräftig beurteilen kannst und weißt, wie sie erstellt werden. Und dir im Klaren bist, das jedes Eng-Eng-Match-Ergebnis und jede Summe an solchen Einzelergebnissen dir nicht alle Fragen beantwortet, die du für dich persönlich sonst noch haben könntest. Es sagt dir kein noch so aufwändig gewonnene Ergebnis mehr als das, wofür es steht, für eine bestimmte einzelne Art von Test, Match, Teilnehmerfeld, Hardware- TC, Eröffnungs(und anderen)teststellungen.
Ob in Elo oder Prozent Performance oder "nur" in Ranglisten- oder Turnierplätzen gemessen, ist diesbezüglich auch völlig egal, die statistische Relevanz ist das Eine, die Übertragbarkeit, die es noch nie gab und jetzt weniger und weniger, ist ein von der Statistik zusätzlich und primär unabhängig zu betrachtendes Anderes. Natürlich kann ein Ergebnis auch sowohl statistisch irrelevant sein als auch völlig intransitiv zu anderen Ergebnissen, aber wie sehr die Bedingungen Hoffnung auf Übertragbarkeit auf andere mehr oder weniger ähnlich Bedinungen haben, hat nichts mit Statistik zu tun. Ist die auch noch schwach (die Statistik), kannst du die Übertragbarkeit halt noch weniger überprüfen, aber diese beiden Schwachstellen ständig miteinander zu verwechseln, das ist vielleicht die Ursache der über das zu vernachlässigende Ausmaß einer Elosion hinausgehende Bias im Computerschach schlechthin.

Du willst dir Eng-Eng-Matches ersparen, ok., an sich ein ökonomisches und ökogisches Ansinnen. Aber verstehst du schon auch, worauf ich immer wieder hinaus will: was hat das jemals für einen Sinn gehabt, Stellungstests gegen Eng-Eng-Matches "auszuspielen", das eine oder andere als die ultima ratio darzustellen, mit der man sich das andere ersparen kann. Wer wollte das jemals ernsthaft außer den alten Stellungstestphobikern, die sich immer nur davor furchtbar gefürchtet haben, es könnte ihnen jemand ihre (oft genug halt auch tatsächlich ziemlich wackligen) eigenen Eng-Eng-Match- Listen anzweifeln?
Ed Schröder schreibt ausdrücklich auch auf seiner MEA- site, dass das Tool keine Alternative zum game playing ist, es ist ein Ergänzung.

Wenn du's dazu ernsthaft weiter betreiben willst, neuerlich viel Erfolg und Spaß damit, wenn du auf die Art herausfinden willst, wieviel besser Engines als Menschen spielen, solltest du andere als automatisch von den Engine erstellte Evaluierungen der Stellungen dafür halt zumindest auch heranziehen, meinst du nicht?

Und wenn du dich einfach nicht imstande siehst, die Evals, die die Engines ausgeben, als Schachspieler selbst zu interpretieren und für besser oder schlechter als die anderer Engines anhand deiner Teststellungen zu beurteilen, dann lass doch bitte das Engine- Testen mit game playing aber lieber auch sein, oder lass nur von der Grunstellung aus buchlos spielen, kümmer dich nicht um die Dubletten, aber wenigstens machst du dann bei der Auswahl der Bücher oder Eröffnungsteststellungen nichts falsch, was dir das Vergleichen der Ergebnisse betrifft, die du mit einem bestimmten Testset oder Buch und mit einem anderen bekommst.

Das Aussuchen der Stellungen, die dir fürs game playing als Eröffnungen tauglich scheinen, wird, was den Aufwand an Hardware- Zeit und die Menge an Partien angeht, die du spielen lassen musst, und die Überlegung, mit welcher Hardware- Zeit in welchem Teilnehmerfeld, ein immer aufwändigerer Stellungstest für sich, wie willst du das sonst nennen, was du machst, um die guten von den schlechten Eröffnungsteststellungen zu unterscheiden? Wie, wenn nicht anhand der Analyse mit Engines willst du's machen? Es ist immer derselbe Vorgang für verschiedene Testzwecke, den komplett an die Engines zu delegieren, wo ist da die positive Absicht dahinter? Eine weitere Black Box zu konstruieren, von der du auch selbst gar nicht mehr weißt, wie sie zustande kommt und wie die Ergebnisse zu interpretieren sind? Ich kann verstehen, dass man Auto- Parametrisierung als einen Weg geht, nicht einzelne Stellschrauben Drehung für Drehung eingeben zu müssen, dass man das Training von Netzen für LC0 und für NNUE mehr und mehr automatisisiert, aber wenn du nicht irgendwo zu guter Letzt noch ein menschliches Maß für das, was zum Schluss herauskommt, auch anlegen willst, wozu schaust du dir die Ergebnisse dann überhaupt noch an? Dann lass die Engines doch völlig für sich allein ihren Code verbessern (davon schwärmen im CCC eh auch schon die AI- Fans vor sich hin) ihre Netze trainieren, ihre Tests automatisch absolvieren und nach denen wieder die weitere "Entwicklung" anpassen. Dann hast du endlich die Maschine, die die Kartoffeln anbaut, sie erntet, kocht, schält und aufisst.

Ich mache meine Stellungstests, um Ergebnisse zu bekommen, die mir zusätzlich zu den Eng-Eng-Match- Ergebnissen Infos bieten, natürlich auch, um nicht unnötig viel ausspielen lassen zu müssen und die Engines, die ich bestimmte Matches dann immer noch spielen lasse, dahingehend vorzutesten, welche gegen welche mit welchen Eröffnungsstellungen. Und ich mache die Stellungstest (im weitesten Sinn, das mit den Suiten ist ja überhaupt auch nur so ein einzelnes kleines Teilgebiet von dem, was man am Testen von und mit Stellungen machen kan und meiner Meinung nach halt auch muss, um zu so etwas wie Suiten und Eröffnungssets zu kommen) um Eröffnungsstellungen dahingehend zu sortieren und zu Sets zu sammeln, die mir für bestimmte Matches besonders geeignet scheinen. Entsprechend dem alten (irrtümlich von den Stellungstestverachtern als Totschlagargument missverstandenen) Satz, der Stellungstest testet die Teststellungen. Also zuerst die (auch die für die Eröffnungen gedachten) Teststellungen testen, dann mit denen die Engines. Und das Aussuchen der Teststellungen, das Testen vor dem Weitertesten, natürlich auch mit den Engines zur Unterstützung, wie sonst und warum nicht?

Und ich lasse immer wieder (eigentlich mehr als von frühen Eröffnungsstellungen) Engines späte Eröffnungs-, Mittel- und Endspielstellungen ausspielen, auch ein "Manko" des reinen Eng-Eng-Matches, wie es für die gängigen Ranglisten gemacht wird, die Eröffnungsstärke (mit den immer mehr selektierten Eröffnungsstellungen erst recht) wird viel mehr getestet damit als die Mittelspiel- und Endspielstärke, weil die besten Engines dadurch am erfolgreichsten im Eng-Eng-Match sind, dass sie nur die Mittel- und Endspielstellungen aus den Eröffnungsstellungen heraus gegen den Gegner in der Partie zulassen, die sie am besten bewerten können. Diejenigen Mittel- und Endspielstellungen, bei denen sie Schwächen hätten, lassen sie (so clever sind sie nämlich auch durch genau diesen Selektionsmechanismus der Eng-Eng-Ranglisten im Lauf ihrer Entwicklung mehr und mehr geworden) weniger und weniger aufs Brett kommen in der Partie.

Du solltest dir neben den Ideen der automatischen Suite- Erstellung, die ich ja durchaus auch interessant finde als eine zusätzliche, (du wirst vielleicht im Thread in Schröders Forum, in dem wir gemeinsam geschrieben haben, auch gesehen haben, was ich Ed da so alles vorschlage) ein kleines Refugium menschlicher Einmischung und menschlichen schachlichen Erkenntnisgewinns wenigstens das für dich selbst doch auch überlegen:

Wieviel zählen die Züge, die es aus den Stellungen zu bewerten gilt, nicht nur an Engine- Evals rein numerisch, sondern auch dahingehend, wie forciert sie sind, wieviel wie ähnlich gute Kandidatenzüge gibt es, wie sehr sind es game changer (alles Bewertungskritierien, die nicht in die numerischen und auch nicht in die WDL- Umrechnung davon eingehen, höchstens inform von Relationen zwischen den einzelnen Werten, aber nicht in ihre absolute Höhe) und dann vor allem auch noch das:
wie früh in der Eröffnung lenken sie das Spiel wie sehr im Fortgang, wieviel Einfluss auf den weiteren Partieverlauf haben sie (eine Eval von 1.00 in der frühen Eröffnung ist einfach prinzipiell etwas ganz anderes als im Mittel- und im Endspiel) wie nahe dem und wie weit fortgeschritten im Endspiel entscheiden sie das (Partie- Ende) dann schon als ganzer oder halber Punkt mit. Und je nach diesen Wertigkeiten für den Spielverlauf und auch je nach der Hardware- Zeit, die die Engines brauchen, um die möglichen Züge möglichst gut zu sortieren und zu evaluieren, solltest du bestimmten Stellungen in dem, was sie im Test zählen, verschieden viele Punkte geben. Oder du bleibst bei single best move- Stellungen und bewertest dafür diese zusätzlich durch das Kriterium Zeit (das sowieso auch immer eingeht, im game playing ebenso wie im "Stellungstest" im weitesten und im engsten Sinn) und oder als direkte Minimatches pro Stellung und Engine, wie es EloStatTS macht. Das vergleicht mit jedem neuen Run die Ergebnisse aller schon gewerteten Engines neu und vergibt danach die neuen Ränge und Punkte und rechnet sie in Elo um, die von der Art, wie sie erstellt werden, dem am nächsten kommen, was im game playing gewertet wird. Nicht umsonst sind die Eingaben, die du in EloStat und EloStatTS zur Eichung machst, durchaus ähnlich in der Abfrage, es ist das EloStat- Programm ja auch vom selben Autor Frank Schubert wie der EloStatTS. Ein Programm (noch besser, ein GUI- Feature), das die Arbeit von MEA mit der von EloStatTS kombinierte, das wäre was, na vielleicht im nächsten Fritz.
Parent - - By Peter Martan Date 2023-01-30 20:36 Edited 2023-01-30 20:47
Als ob's nicht genug Editierzeit wäre, aber das gehört noch dazu:

Die 100msec vom Screenshot sind den Absichten geschuldet, die Schröder und Mosca originär angegeben haben und Frank wollte ja über STS reden. Das Problem davon zeigt sich spätestens bei LC0, 300 ist eh schon das Dreifache, aber es wirkt sich (relativ zu A-B) weniger stark aus als ein Verhältnis von 200 zu 500 zwischen A-B und LC0, aber das liegt eben an der relativ zur ultra kurzen Gesamt- TC langen Initialisierungszeit von LC0.
Ich persönlich nehme, wenn ich das FM5- Set nehme, auch lieber 200 für die Anderen und 500 für LC0.  Woduch aber halt alle auch noch einmal etwas näher zusammen rücken, überhaupt ist ja Ferdys Absicht, die Abstände zu spreizen, nur bedingt durch das Multiplizieren aller Punkte mit 10 zu erreichen, was gleich bleibt, ist die prozentuelle Ausbeute, auf die's ja ausschließlich ankommt in den relativen Abständen, die Zahlenwerte steigen absolut, aber die Diskrimination nicht, und bei 200msec kommt man halt mit den besten noch näher an die 100% heran, je näher man denen kommt, desto größer wird das, was im game playing der Remis(und 1:1)- Tod ist.  Das ist die wirkliche Schwäche des Sets für sich allein (weshalb ich es ja entweder auf 2048 aufstocke mit passenden etwas schwereren kombiniert oder nur die nicht allzu leichten 594 STS mit 300, 400, 500 von den anderen), es funktioniert zur Unterscheidung ganz oben nur mit 100- 200 mscec.
Das 2048- er Set hab' ich jetzt übrigens erst kürzlich in den Punkte der Nicht- STS- Stellungen an die hohen Mosca- Werte der STS- Stellungen seiner LAN_v5.epd -Version angepasst. Da gibt's einen neuen Download- Link dazu

https://www.dropbox.com/s/926axqb6y9y7hpb/MEA2K.epd?dl=0

, der alte ist wieder nicht mehr gültig. Dafür, obwohl's halt auch wieder die Gesamt- Hardwarezeit erhöht, nehm ich 500msec für LC0 und 200 als TC für A-B SMP (single thread sowieso, sollte man für mehr Diskrimination auch im Mosca- Set nehmen eigentlich, ist aber halt schon auch wieder ein Ergebnis für sich und SMP interessiert vielleicht doch noch mehr, vor allem, wenn man wissen will, wieviel bei den besten mit kürzester Zeit überhaupt geht).
Parent - By Peter Martan Date 2023-01-31 13:09
Zitat:

Das 2048- er Set hab' ich jetzt übrigens erst kürzlich in den Punkte der Nicht- STS- Stellungen an die hohen Mosca- Werte der STS- Stellungen seiner LAN_v5.epd -Version angepasst. Da gibt's einen neuen Download- Link dazu

<a class='ura' href='https://www.dropbox.com/s/926axqb6y9y7hpb/MEA2K.epd?dl=0'>https://www.dropbox.com/s/926axqb6y9y7hpb/MEA2K.epd?dl=0</a>

, der alte ist wieder nicht mehr gültig. Dafür, obwohl's halt auch wieder die Gesamt- Hardwarezeit erhöht, nehm ich 500msec für LC0 und 200 als TC für A-B SMP

Und auch aus zusätzlich gegebenem Anlass der Neuerscheinung von ShasChess 28

https://github.com/amchess/ShashChess/releases/tag/28

    EPD  :
    Time : ms
                                                 Max   Total    Time   Hash         
    Engine           Score   Found  Pos   ELO  Score   Rate      ms     Mb  Cpu     
1  SF230114         183736   1619  2048  4198  196940  93.3%    200     8    8
2  ShashChess28     183019   1609  2048  4180  196940  92.9%    200     8    8
3  ShashChess27.22  181340   1597  2048  4144  196940  92.1%    200     8    8
4  Dragon3.2        181005   1588  2048  4135  196940  91.9%    200     8    8
5  lc0-221229-325M  179355   1551  2048  4099  196940  91.1%    500     2    2
6  lc0230117-325M   179312   1551  2048  4095  196940  91.0%    500     2    2
7  Koivisto9        166586   1399  2048  3807  196940  84.6%    200     8    8
8  Berserk10        163297   1363  2048  3730  196940  82.9%    200     8    8
9  Ethereal13.75    160646   1314  2048  3672  196940  81.6%    200     8    8
10  StingBlackHole4 140709   1087  2048  3213  196940  71.4%    200     8    8

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca
Parent - - By Frank Sanders Date 2023-01-31 13:15
Der Talkchess Link ist sehr interessant, weil er Einblick in die Gedanken die hinter den Bewertungen und Berechnungen stehen gibt. Danke dafür.

Zitat:
Du solltest dir neben den Ideen der automatischen Suite- Erstellung, die ich ja durchaus auch interessant finde als eine zusätzliche, (du wirst vielleicht im Thread in Schröders Forum, in dem wir gemeinsam geschrieben haben, auch gesehen haben, was ich Ed da so alles vorschlage) ein kleines Refugium menschlicher Einmischung und menschlichen schachlichen Erkenntnisgewinns wenigstens das für dich selbst doch auch überlegen:


Natürlich, erstens bei der Auswahl der Stellungen und dann nach den Ergebnissen, schaue ich mir bestimmte Stellungen, die ich interessant finde, genauer an, und versuche herauszufinden ob der Großmeisterzug widerlegt wurde, wie sich die verschiedenen gefundenen Züge unterscheiden,...  Bei sehr großen Testsets, mit z. B. mehr als 1000 Stellungen ist das natürlich nicht bei allen möglich.
Parent - - By Peter Martan Date 2023-01-31 13:37 Edited 2023-01-31 14:20
Frank Sanders schrieb:

Natürlich, erstens bei der Auswahl der Stellungen und dann nach den Ergebnissen, schaue ich mir bestimmte Stellungen, die ich interessant finde, genauer an, und versuche herauszufinden ob der Großmeisterzug widerlegt wurde, wie sich die verschiedenen gefundenen Züge unterscheiden,...  Bei sehr großen Testsets, mit z. B. mehr als 1000 Stellungen ist das natürlich nicht bei allen möglich.

Doch, doch, ist es

Und was machst du jetzt also, testest du mit STS- Mosca oder mit Original (1-10 Punkten pro Stellung)- STS neu nach Schröder und Mosca, und wenn letzteres, nimmst du da dann die Evals von SF oder die von LC0? Weil ich schrieb, dass da der Unterschied (zwischen den beiden letzten Sets) nicht soo groß sei, das kommt halt drauf an, was man unter groß versteht, (und ob LC0 mitspielt und mit welcher Leela- Ratio, die du hier ja leicht über das Zeitvorgabe- Verhältnis variieren kannst in msec- Schritten, als ich das eigene LC0- Set damals, als es raus kam, mit dem SF- Set verglich, hab' ich LC0 nicht in beiden laufen lassen, soweit ich mich noch erinnere, ist ja auch schon wieder eine Weile her und ich habe viel von damals noch gespeichert, anderes natürlich auch nicht) vergleich' mal die vom Screenshot oben mit denen hier, dieselben Engines, dieselben TCs, dieselben Stellungen, nur andere Engine als Bewertungs- Richtschnur und die Punkte numerisch um den Faktor 10 erhöht:

                                                Max   Total   Time   Hash         
    Engine           Score   Found  Pos   ELO  Score   Rate    ms     Mb  Cpu     
1  lc0221229-325M   14126   1236  1500  4239  15000  94.2%    300     2    2
2  Crystal5KWK      13958   1214  1500  4189  15000  93.1%    100     8    8
3  SF230114         13936   1220  1500  4180  15000  92.9%    100     8    8
4  ShashChess27.2   13921   1215  1500  4176  15000  92.8%    100     8    8
5  Dragon3.2        13906   1210  1500  4171  15000  92.7%    100     8    8
6  Berserk10        13471   1135  1500  4041  15000  89.8%    100     8    8
7  Ethereal13.75    13315   1110  1500  3996  15000  88.8%    100     8    8
8  Koivisto9.0      13313   1118  1500  3996  15000  88.8%    100     8    8


Also zumindest, was das Ranking (vom Rating mal zu schweigen, bei dem ja beim LAN_v5 von Mosca die Punkte durch 10 dividiert werden müssten)´von LC0 angeht, ist schon ein gewisser Unterscheid augenfällig, oder? Screenshot ist mit dem zitierten Mosca- Set vom Download- Link, zu dem der aus seinem Posting führt, die .txt- Tabelle mit der sts-LC0.epd von der MEA- site von Schröder erstellt

Und um zumindest das Eine kommst du bei aller Automatisierung der Bewertung der Stellungen nicht herum, Frank: um die Auswahl derselben (Stellungen).
Egal, wie groß oder wie klein du die die Anzahl machst, wie du die Skalierung der Punkte vornimmst, sie dir alle in Hinblick darauf anzuschauen, ob sie zu den anderen passen, wirst du nicht herum kommen, und woher willst du jetzt dann wissen, wie tauglich sie sind, wenn du nicht selbst die Engine deines Vertrauens persönlich befragst, wie die die Stellung evauliert?Und bei manchen Stellungen dann vielleicht doch noch eine zweite Engine fragst?
Und wenn's taktisch schwierigere Stellungen sind, die Engine ein bisschen länger laufen lässt und ein bisschen MultiPV- Modus dazu nimmst und oder ein bisschen Forward- Backward?

Glaub' mir, ich weiß, wovon ich rede, und ja, ich kenne alle Stellungen aus allen "meinen" Suiten und hab' sie alle mindestens einmal selbst am PC analysiert. Das Meiste hat sich halt im Lauf der Jahre angesammelt, den STS gibt's länger als alle anderen Sammlungen, die sonst noch bei den 2048 sind und ich habe noch lange vor MEA die Punkte dafür selbst Stellung für Stellung kontrolliert, damals halt nur in Hinblick auf den best move und die Zahl an Alternativen, die als vorangestelltes = in einer derartigen Suite für meinen persönlichen Bedarf drin geblieben sind. Und von den 1500 sind halt nur 694 wenigstens für 100msec und gute Engines auf guter Hardware "schwer" genug, auch single threaded, weil die Hardware- Zeit ja bei Stellungen, die ohnehin aus der "statischen Eval" heraus beurteilt werden sollen, keine so große Rolle spielt. Es hat rein ökonomisch keinen Sinn, Stellungen in einer Stellungstest- Suite zu haben, die von allen noch so "schwachen" Engines ohne Rechnen gelöst werden, Schlagzüge, Züge aus dem Schach , forcierte Verteidigungszüge an und für sich... (und natürlich können alle solchen Selbstläufer auch taktische Fallen sein und es kann immer wieder mal falsch sein, den anscheinend einzig sinnvollen Zug in einer Stellung zu wählen, aber von solchen taktisch tieferen single best move- Stellungen reden wir hier, wenn die TCs im Sekundenbereich uns drunter liegen soll, eben nicht.) Weil du willst in einer Suite ebenso wenige Stellungen, von denen du schon weißt, die laufen bei allen getesteten Engines mit derselben Punktzahl durch, die willst du ebensowenig in deiner Suite, von der du dir ein gutes Verhältnis von Diskrimination zu error bar zu Hardware- Zeitaufwand erhoffst, wie du Remis oder 1:1-Paare im Eng-Eng-Match haben willst.
Also allein auch schon an dieser Überlegung scheitert die "Idee", nehmen wir doch einfach große Partiesammlungen und verwenden sie als Stellungstest- Suiten, nachdem wir blitzschnell eine bestimmte einzelne Engine haben drüber laufen lassen, damit alle Stellungen Evals haben.
Viel Spaß weiter mit deinen Versuchen, Frank, aber das, was dir vorschwebt, gibt' auch schon lange bei Schröder, da heißt's dann NICE

https://rebel13.nl/misc/nice.html

und er lässt damit sehr wohl ganze große Datenbanken "evaluieren". Ich würde es mehr einen Similarity- Test nennen als einen Stellungstest, aber die Namen sind sowieso Schall und Rauch, die Frage ist immer, was willst du damit wie testen und merke:
je spezifischer ein Test ist, umso weniger ist er auf andere in Hinblick auf die Resultate übertragbar, also wenn das dein Thema immer noch ist, wie stark die Engines "wirklich" sind, das ist wie mit der buddhistischen Sicht von "Wirklichkeit" und "Wahrheit". Erstere (Wirklichkeiten) gibt's so viele wie Wahrnehmungen von ihnen, letztere nur eine, aber wir können sie nicht wahrnehmen, messen infolgedessen schon gar nicht.
Mach mal einen Stellungstest für Menschen, da wirst du erst so richtig staunen
Parent - - By Frank Sanders Date 2023-02-01 16:37
Was ich bisher gemacht habe ist folgendes:

1) Ich habe die 1500 STS Stellungen 10 Programme (Lc0, Stockfish, soweit als möglich keine Stockfish Clones und SF Clones) mit einer Sekunde rechnen lassen. Danach habe ich die Positionen die alle gefunden haben herausgenommen. Bei mir sind 621 Positionen übrig geblieben, nicht so weit entfernt von deinen 694.

2) Von den 621 Positionen habe ich mit je ein Lc0 und Stockfish MEA Test epd gemacht. Das ist jeweils ein Auszug aus den von Schröder bereitgestellten neuen STS Ergebnissen.

Was ich weiter machen will:

3) Ich will probieren, ob es möglich ist, diese beiden epds zu einer zusammen zu führen. Dafür gibt es sehr verschiedene Möglichkeiten. Welche die beste ist (falls es die gibt) versuche ich herauszufinden. Eventuell könnte man sogar überlegen auch noch die Dragon Ergebnisse mit einfließen zu lassen, aber das ist dann schon eine andere Geschichte.

4) Danach will ich mir ein eigenes Testset zusammenstellen und schauen ob die gefundene Methode auch dort funktioniert.

NICE habe ich bisher nicht gekannt, aber wenn es funktioniert so ist es doch eine Möglichkeit neue Programmversionen einmal grob einzuorden.
Parent - - By Peter Martan Date 2023-02-01 18:00 Edited 2023-02-01 18:18
Ich sehe, es hat dich gepackt, viel Spaß und Erfolg damit, Frank.
Was du allerdings damit meinst, dass du die LC0 und SF- Sets zusammenführen willst, verstehe ich nicht ganz, das sind ja dieselben Stellungen, nur mit anderen Punktebewertungen, weil einmal mit Sf und einmal mit LC0 evaluiert.

Zuletzt hatte ich mich bei denen, die ich aus dem STS als nicht allzu leichte aussortiert habe, übrigens verschrieben, es sind nur 594 bei mir übrig geblieben, nicht 694. Das Hauptproblem ist aber halt, dass das bei diesen Stellungen zu wenige sind, erst recht mit längerer Laufzeit, weil dann erst recht alle von allen Engines ähnlich gut gelöst werden, die Punkte helfen, aber nur bis zu einer gewissen Grenze.
Drum bin ich dann eben wieder daran gegangen, andere Stellungen mit ähnlicher Hardware- Lösungszeit wieder dazu zu nehmen.
Wenn man übrigens SF über die ersten 512 Stellungen der Harold von der Heijden-Studiensammlung mit 1"/ Stellung laufen lässt, löst er davon auch 495
Parent - - By Frank Sanders Date 2023-02-01 19:03
Schlecht ausgedrückt, nicht die Stellungen will ich zusammenführen, sondern die verschiedenen Züge und Punkte.
Parent - - By Peter Martan Date 2023-02-01 19:17
Versteh ich erst recht nicht, Frank, du musst ja doch entweder die einen oder die anderen Kandidaten besser bewerten?

Je mehr du weitere Kandidaten hinzufügst,weil eine Engine meint, die kämen zusätzlich zu denen der anderen Engines auch noch irgendwie in Frage, umso mehr erhöhst du nur die Punktezahl, die insgesamt vergeben werden kann, dafür bekommt dann jede Engine auch umso mehr für irgendwelche Lösungen. Ich hab' mich bei den 594 auf die beschränkt, die halbwegs klare Zugsortierung hatten, und eben nicht beliebig viele ähnlich gute Lösungen.

Wir sind da, wo wir mit der einen "Teststellung" waren, die du gebracht hast, ich glaube, wir sollten uns wieder mehr über einzelne Stellungen unterhalten, damit wir beide wissen, was der Andere meint.
Parent - - By Frank Sanders Date 2023-02-02 12:52
Ich verstehe den Ansatz von Mosca so:
Wenn es in einer nicht taktischen Position mehrere Züge gibt, die in der Bewertung der Engine sehr nahe liegen, dann bekommen diese Züge auch Punkte, da das Programm keinen außerordentlichen besten Zug findet. Spielt ein anderes Programm einen dieser anderen Züge bekommt es auch Punkte. Z.B.


"Ng3=10, Ra1=10, Qc2=9, Qb2=8"; (nach Analyse Stockfish)

Man kann auch sagen, dann ist das keine gute Teststellung. Aber gerade dass es für mehrere Züge Punkte gibt, ist das spezielle dieses Ansatzes.
Parent - By Peter Martan Date 2023-02-02 13:39 Edited 2023-02-02 14:34
Wir sind uns in allem einig, Frank, diese Nr. 806 im STS Set (neu nach Mosca variiert und bewertet) ist in seinem (Ferdy's) LAN_v5 so definiert:

bm Ra1; id "STS(v9.0) Advancement of a/b/c pawns.006"; c0 "Ra1=100, Ng3=82, Qa2=61, Qb2=52, Rf2=48, Qc2=39, Rf1=13, Qd1=9, c5=5, Rb1=1"; c7 "Ra1 Ng3 Qa2 Qb2 Rf2 Qc2 Rf1 Qd1 c5 Rb1"; c8 "100 82 61 52 48 39 13 9 5 1"; c9 "e1a1 e4g3 d2a2 d2b2 e2f2 d2c2 e1f1 d2d1 c4c5 e1b1"; Ae "Stockish 15";

Also ohnehin schon ein ganz schön großer Unterschied (nicht nur in der numerischen Höhe der Punkte, der Faktor 10 wirkt sich ja nur im Gesamtscore aber nicht in den Prozentzahlen der Lösungen aus) zu dem, was du als Stellung Nr. 1406 dort im Schröder- Set mit den entsprechenden Punkten zitierst, sondern vor allem an der Zahl der möglichen Kandidaten, die überhaupt Punkte bekommen und in deren Relationen

Wenn man SF mit leerem Hash im MulitPV=6 kurz (bis in Tiefe 42 rechnen lässt) bekommt man diesen Output:

1q2rb2/3b1r1k/p1p4p/B3p1p1/1PPpN3/3P1P1P/3QR1P1/4R1K1 w - - 0 1

Analysis by Stockfish dev-20230114-3d2381d7:

1. +/- (1.05): 1.c5 Lf5 2.Dc2 Lxe4 3.Txe4 Tfe7 4.Kf2 Lg7 5.Dc4 Db7 6.Lb6 Ta8 7.Ke2 Kg6 8.Kd1 Tf7 9.Kd2 Dc8 10.Kc2 h5 11.Ta1 Tf8 12.Kb3 Tf4 13.Tee1 Lf6 14.Te2 Lg7 15.Tea2 g4 16.hxg4 hxg4 17.Te2 Dd7 18.Th1 Lf6 19.Te4 Tf8 20.Ka4 Txe4 21.fxe4 Lg5 22.g3 Kg7 23.Da2 Tf6 24.Ka5

2. +/= (0.70): 1.Da2 Lf5 2.Tb1 Db7 3.Dd2 Lg6 4.Ta1 Tf4 5.Tf1 Db8 6.Da2 Lg7 7.Tfe1 Lf5 8.Sc5 h5 9.Se4 Lxe4 10.Txe4 Tf5 11.Dd2 Tef8 12.Df2 T8f7 13.Dg3 Tf8 14.T1e2 T8f6 15.Df2 Tg6 16.De1 Db7 17.Dg3 Db8 18.Df2 Tf8 19.De1 Db7 20.Ta2 Kg8 21.Tf2 Db8 22.Tfe2 Db7

3. +/= (0.70): 1.Dc1 Lg7 2.Sc5 Dd6 3.Tf1 Lf5 4.De1 Tef8 5.Se4 Db8 6.Tb2 Kg8 7.Tb1 Lg6 8.De2 Tf4 9.Sf2 Db7 10.Tbe1 Kh7 11.Ta1 Db8 12.Ta3 Te8 13.Tb1 Db7 14.Tb2 Tef8 15.De1 Db8 16.Te2 T4f7 17.Se4 Lxe4 18.Txe4 Lf6 19.Ta2 Tg7 20.Tee2 Tg6 21.Tf2 Lg7 22.Tae2 Tf5

4. +/= (0.70): 1.Ta1 Lf5 2.Da2 Db7 3.Tf2 Lg6 4.Tb1 Ta8 5.De2 Tf4 6.Tff1 Te8 7.Sf2 Lg7 8.Tfe1 Db8 9.Tb2 Db7 10.Ta1 Tef8 11.Tbb1 Te8 12.Ta2 Db8 13.Tab2 Da7 14.De1 Tef8 15.Te2 Db8 16.Se4 Lxe4 17.Txe4 T4f5 18.Ta1 h5 19.Ta2 T8f6 20.Tf2 Tf7 21.Tb2 T7f6 22.De2 Lh6

5. +/= (0.70): 1.Dc2 Le6 2.Dd2 Lf5 3.Tb1 Lg7 4.Tee1 Lxe4 5.Txe4 Tf6 6.De1 Tg6 7.Ta1 Tf8 8.Ta2 Db7 9.De2 Kg8 10.Ta1 Tf7 11.Tf1 Kh7 12.Tf2 Tf8 13.Kh1 Db8 14.De1 h5 15.De2 Db7 16.Kg1 Lf6 17.Kh2 Tg7 18.Kh1 Tg6 19.De1 Lg7 20.Kg1 Db8

6. +/= (0.70): 1.Dd1 Lf5 2.Da4 Db7 3.Db3 Dd7 4.Dd1 Db7 5.Tb2 Lg6 6.Ta2 Tf4 7.Sf2 Lg7 8.Tb2 Tf7 9.Tbe2 Db8 10.Se4 Lxe4 11.Txe4 Tef8 12.Kh1 Lf6 13.De2 Tg7 14.Kg1 h5 15.Ta1 Db7 16.Tf1 Db8 17.De1 Tff7 18.Te2 Tg6 19.Tff2 Lg7 20.Te4 Tf8 21.Tfe2 Tf5 22.Dg3

Damit sich das in absehbarer Zeit mehr klärt, sollte man in alles diese Lines kurz single primary rein und wieder aus ihnen raus gehen, danach schaut's (wieder in Tiefe 42 und wieder mit MulitPV=6) so aus:

1q2rb2/3b1r1k/p1p4p/B3p1p1/1PPpN3/3P1P1P/3QR1P1/4R1K1 w - - 0 1

Analysis by Stockfish dev-20230114-3d2381d7:

1. +/- (1.03): 1.c5 Lf5 2.Lb6 Db7 3.Da2 Lxe4 4.Txe4 Tfe7 5.Kf1 Lg7 6.Ke2 Ta8 7.Dc4 Kg6 8.Kd1 Tf7 9.Kc2 Dc8 10.Kb3 Tf5 11.Ta1 Lf6 12.Te2 h5 13.Tea2 g4 14.hxg4 hxg4 15.fxg4 Tf4 16.Txa6 Txa6 17.Dxa6 Dxg4 18.Lc7 Dxg2 19.Dc8 Tg4 20.Ka4 Tg3 21.Ka5

2. +/= (0.66): 1.Da2 Lf5 2.Tb2 Db7 3.Db1 Tb8 4.Tee2 Dd7 5.De1 De6 6.Tb1 Dg6 7.Dd2 Lg7 8.Tbe1 De6 9.Sc5 Dd6 10.Tf1 De7 11.Se4 Lg6 12.Tee1 Lf8 13.Sf2 Lg7 14.Da2 Tbf8 15.De2 Tf4 16.Ta1 Db7 17.Ta2 T8f7 18.Dd1

3. +/= (0.66): 1.Ta1 Lf5 2.Tee1 Db7 3.Da2 Dd7 4.De2 Lg6 5.Ta2 Tf4 6.Sf2 Db7 7.Tea1 Lg7 8.Tb1 Tb8 9.Tab2 De7 10.Ta1 Dd7 11.Te1 De7 12.Ta2 Db7 13.Taa1 Dd7 14.Tf1 Df7 15.Tae1 De7 16.Da2 Tbf8 17.Dd2 Db7 18.De2 T8f7 19.Ta1 Da7 20.Tfb1 Tf8 21.Ta2

4. +/= (0.66): 1.Dc2 Le6 2.Da4 Db7 3.Db3 Da7 4.Tf1 Lf5 5.Sf2 Db7 6.Dd1 Lg7 7.Ta2 Lg6 8.De2 Tf4 9.Taa1 Lf8 10.Tfe1 Lg7 11.Teb1 Lf8 12.Ta2 Lg7 13.Dd1 Tef8 14.De1 Tb8 15.Tba1 De7 16.De2 Db7 17.Dd1 De7 18.De1 Tf7 19.c5

5. +/= (0.66): 1.Tf2 Lf5 2.Ta1 Db7 3.Te2 Lg6 4.Tee1 Tf4 5.Da2 Tb8 6.Sf2 Te8 7.Teb1 Lg7 8.De2 Lf8 9.Tb2 Lg7 10.Te1 Db8 11.Tbb1 Tef8 12.Tf1 Db7 13.Tbc1 Db8 14.Ta1 Db7 15.Tfe1 Te8 16.Dd1 Tf7 17.Te2 Tb8 18.Se4 Lxe4 19.Txe4 Tbf8 20.De2

6. +/= (0.66): 1.Db2 Lf5 2.Da2 Db7 3.Tb2 Lg6 4.Da4 Tb8 5.Tbe2 Dd7 6.Ta2 Tf4 7.Tf2 Db7 8.Tfe2 Tf7 9.Da2 Dd7 10.Dd2 Db7 11.Tb1 Tf4 12.De1 Te8 13.Sf2 Lg7 14.Teb2 Tb8 15.Ta1 Te8 16.Tba2 Db8 17.De2 Db7 18.Tf1 Tef8 19.Te1 Tb8 20.Dd1 De7 21.Da4

Also die Kurz- Analyse ist hier auch wieder so, dass wir uns einig sind, das ist keine gute Teststellung, wenn du möglichst viele mit möglichst guter Diskrimination haben willst und möglichst wenige, die du entweder mit so vielen Kandidatenzügen als Durchläufer drin lässt (dass alle Engines sich irgendeinen Zug aussuchen können, und dafür auch nicht so unterschiedlich viele Punkte bekommen, ist relativ zu einfach eine Stellung weniger und für alle Engines dadurch ein paar Punkte weniger, was sich ja ausgleicht in Summe und im Verhältnis zum Gesamtscore, einfach irgendwie unökonomisch, nennen wir's so.)
Drum hab ich diese Stellung in den kleineren Suiten, die "nur" 594 aus der Ur- STS enthalten, auch nicht drin.

Pass auf, jetzt verlagern wir die weitere Diskussion vielleicht ins Programmierer- Forum, ich mach' dort einen neuen Thread auf...
Parent - - By Peter Martan Date 2023-02-03 10:57 Edited 2023-02-03 11:06
Und obwohl ich jetzt im Unterforum Schachprogrammierung auch im Thread über die Test Tools noch was dazu geschrieben hab', das hier

https://www.dropbox.com/s/x4qmr9ucykk0r76/594.epd?dl=0

wären noch mal die 594 Stellungen aus dem STS, die am ehesten als single best move- Stellungen durchgehen. Ich würde sie nicht als solche verwenden, aber bei denen tust du dir halt jedenfalls leichter als bei deinem Beispiel, überhaupt einen besten Zug festzumachen (machbar ist das schon immer bei allen Stellungen, aber beweisen kann man die meisten davon halt nur schwer oder gar nicht, dann gibt's eine auch noch sehr große Menge von Stellungen, bei denen man sich auf einige wenige ähnlich gute best moves festlegen kann, und dann gibt's die mit vielen Kandidatenzügen ähnlich guter Chancen in den Abspielen, die würde ich mir nicht primär als Teststellungen aussuchen, höchstens als solche, die man zum game playing ausspielen lässt).

Und ja, das Prinzip der Punkte- Bewertung für verschiedene Lösungen von MEA erweitert das Angebot an Teststellungen über die single best move ones hinaus stark, aber trotzdem würde ich halt, wenn's nicht egal ist (und das ist es natürlich auch bei den msec- TCs nicht) wieviele es insgesamt sein sollen, ausgerechnet solche wie die von dir zitierte als first choice nehmen.
Wenn STS komplett, gefällt mir von den Versionen, die ich probiert hab' als fertige von Schröder und Mosca angebotene Sets, das LAN_vs5 von Ferdy am besten,

https://github.com/fsmosca/STS-Rating/tree/master/epd

, was die Ergebnisse angeht. Passen auch am besten zu den game playing- Resultaten, die man bekommt, wenn man alle Engines, die man testet, gegen SF ausspielen lässt, (am nächsten kommt man diesem STS- Ergebnis dann so mit eng-eng-matches, dass man die Engines gar nicht direkt gegeneinander antreten lässt, sondern immer nur gegen SF, so ein ähnliches Match läuft z.B. auch gerade auf CCC unter dem Namen SF Thread Domination) was nicht weiter verwundert, weil dieses STS- Set halt mehr oder weniger automatisch von SF evaluiert ist, also vergleichst du die Ergebnissse jeder Engine immer gegen SF, es handelt sich damit praktisch um jeweils eine einzelnes Match Engine x gegen SF. Und dieses Prinzip hast du im Wesentlich dann auch mit NICE, wenn du ebenfalls SF- Evals als Maßstab nimmst. Was du bei allen diesen Similarity- Tests aber halt noch zusätzlich als einzurechnenden Hauptfaktor beachten musst, das ist die TC, mit der du die Evaluierung und die, mit der du die Vergleichs- Runs machst. Wie bei allen Stellungstests (bei den Matches ja auch, sind ja auch alles lauter ausgespielte Stellungstests) bekommst du mit wesentlich anderen TCs dann natürlich auch wieder wesentlich andere Ergebnisse, und sie variieren außer mit den Stellungen dann natürlich auch enorm mit dem Teilnehmerfeld, also damit, welche Engines du gegen welche anderen vergleichst.

Jetzt lass ich dich dann wieder in Ruhe, so lange du nicht nochmal darauf zurückkommst
Parent - - By Frank Sanders Date 2023-02-03 19:07 Upvotes 1
danke für die beiden Links, die LAN-Auswertungen von Mosca kannte ich bisher nicht.
Parent - - By Peter Martan Date 2023-02-04 15:05 Edited 2023-02-04 15:21
Lass es (das Mosca- Set vom STS) uns doch, um zur Kernfrage deines Threads zurückzukehren, mal anhand eines konkreten Beispiels mit dem vergleichen, was beim game playing unter ganz bestimmten, auch irgendwie vergleichbaren Bedingungen herauskommt. Nur so wird man ja der Frage nach den Wirklichkeiten und der Wahrheit überhaupt gerecht, wenn man ganz bestimmte Eng-Eng-Einzel-Matches mit ganz bestimmten Stellungstests vergleicht.

Sowohl Igel als auch Berserk haben für TCEC und CCC neue Updates bekommen.
Von dem für Igel verspricht sich der Autor einen großen Schritt vorwärts

https://talkchess.com/forum3/viewtopic.php?p=942376#p942376

,von Berserk 230130 hat Dariusz  hier Compiles veröffentlicht:

https://talkchess.com/forum3/viewtopic.php?p=942587#p942587

Die habe ich alle beide gemeinsam mit ihren Vorversionen durch den Stellungstest von Mosca mit dem besagten LAN_v5.epd laufen lassen:

    EPD  : LAN_v5.epd
    Time : 100 ms
                                                Max     Total   Time   Hash         
    Engine           Score   Found  Pos   ELO  Score    Rate    ms     Mb  Cpu     
1  SF230114         143712   1188  1500  4320  149703  96.0%    100     8    8
2  Berserk230130    137473   1052  1500  4131  149703  91.8%    100     8    8
3  Berserk10        137043   1065  1500  4117  149703  91.5%    100     8    8
4  Igel3.4.0        135505   1019  1500  4072  149703  90.5%    100     8    8
5  Igel3.2.0        130880    954  1500  3933  149703  87.4%    100     8    8

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca


Und alle gegeneinander je 100 Partien spielen lassen (hat bei allen direkten Begegnungen gereicht, um jeweils aus der error bar zu kommen) und noch jede je 100 gegen SF, weil das ja auch die Engine ist, mit der im Mosca- Stellungstest alle verglichen werden, stammen von ihm (SF15.1) ja die Evals, nach denen die Punkte vergeben werden.
Die Matchbedingungen waren:

Very short TC, für die jeweils ganzen Partien 15"+0.25 Inkrement pro Zug, klingt kürzer als es ist, wenn man bedenkt, das die Engines dabei im Schnitt ja immerhin doch noch eine halbe Sekunde pro Zug haben und es kaum auf die Partielänge ankommt, weil das Inkrement gleich groß ist wie die Grundzeit.
Je 8 Threads der 3.5GHz- CPU, Eröffnungen die ersten 50 des Sets von Stefan Pohl, die's auf seiner Site unter dem Namen
UHO_2022_6mvs_+110_+119.pgn
runterzuladen gibt.

    Program                            Score     %    Av.Op.  Elo    +   -    Draws

  1 SF230114                       : 315.0/400  78.8   3452   3680   26  25   41.5 %
  2 Berserk230130                  : 220.0/400  55.0   3491   3526   23  23   55.5 %
  3 Berserk10                      : 195.5/400  48.9   3499   3491   24  24   50.2 %
  4 Igel3.4.0                      : 161.0/400  40.2   3511   3443   25  25   46.0 %
  5 Igel3.2.0                      : 108.5/400  27.1   3532   3360   26  26   42.8 %


Gar so stark unterscheiden sich die Elo- Abstände eigentlich auch wieder nicht von denen des Stellungstests, oder?

Natürlich kann man die Ergebnisse (wie ja auch bei verschiedenen Matchbedingungen untereinander) nur sehr bedingt vergleichen, aber wenn, dann unter solchen oder sehr ähnlichen Bedingungen, VSTC im Match, VSTC im Stellungstest, gleiches Teilnehmerfeld, vergleichbare Teststellungen, die zum Ausspielen mit definiertem einseitigem Vorteil, die posititionellen Teststellungen für den Stellungstest ebenso, was sich bei beiden Arten der Teststellungen auch ähnlich dahingehend auswirkt, dass die einzelnen Abspiele nicht allzu viele gleichwertige pro Stellung sind, und kaum einzelne forcierte darunter. Das wäre der Hauptunterschied zu reinen single best move Stellungstests, mit denen man ja an und für sich andere Ziele verfolgt, was die Fragestellungen angeht.

Weil was auch immer wir an der letzten Stellung, die wir gemeinsam angeschaut haben, auszusetzen fanden oder nicht, im Vergleich zu der ersten, die du im anderen Thread gezeigt hast, ist sie tauglich, sie ist grenzwertig, was ihre Valenz im Vergleich zu anderen angeht, aber sie ist verwendbar, wenn man so viele Kandidatenzüge, wie's Ferdy in seinem LAN_v5 drin hat, mit so relevanten Verhältnissen zueinander in den Punkten belohnt.
Ich denke, wir können, wenn wir die Sache weiterführen wollen, einen neuen Thread dazu aufmachen, wo auch immer du willst. Das Unterforum Schachprogrammierung ist vermutlich auch nicht besser geeignet dazu.
Parent - By Peter Martan Date 2023-02-04 18:11 Edited 2023-02-04 18:14
Sehe übrigens gerade, Stefan Pohl hat den neuen Igel auch schon gelistet und er macht bei ihm auch einen großen Sprung von 79 Elo, allerdings zur Version 3.3.0, die ich gar nicht zum Vergleich genommen habe, bei mir war's noch der 3.2.0, und der Abstand zu Berserk10 ist bei ihm auch auf 55 geschrumpft

https://www.sp-cc.de/
Parent - - By Frank Sanders Date 2023-02-04 19:25
Das sind doch sehr gute und interessante Ergebnisse!

Zwei Fragen hätte ich dazu

1) Warum findest du LAN_5.epd besser als LAN_6.epd?
Bei LAN6 muss der Abstand zwischen MultiPV1 und MultiPV2 min 1/10 Bauer sein, sonst wird die Stellung nicht genommen.
Das reduziert die 1500 Positionen auf 1188. Geht also leicht in die Richtung dass der erste Zug besser sein soll.

2) Nach deinen Erfahrungen, würde NICE von Ed Schröder die Steigerung der neuen Versionen von Berserk und Igel ungefähr auch so voraussagen wie deine Ergebnisse gezeigt haben?
Parent - By Peter Martan Date 2023-02-04 20:19 Edited 2023-02-04 20:52
Frank, das musst du alles für dich selbst probieren, ich hab' nicht deshalb so viele Suiten für mich und meine persönliche Fragen an Stellungstests gebaut, damit ich die, die's schon die verschiedensten anderen gibt, auch in ihrer Wertigkeit für Andere und für andere Zwecke als meine bewerte, das muss jeder für sich selbst machen.
Ich bin ja auch in Computerschachrente, weißt du?

Nein, im Ernst würde ich das gerne an Jüngere weitergeben, die's dann weitermachen, eigentlich sind die Suiten gar nicht mein Hauptinteresse beim Computerschach, beim Schach schon gar nicht.
Gerne liste dich dir aber auf Anfrage noch einmal alle Links auf, die ich zu Sammlungen, wie ich sie gut finde, weil ich sie selbst gut kenne und um- und ausgebaut habe, im Lauf der letzten Monate immer wieder gesetzt habe, hast du dir jetzt schon mal eine dieser Alternativen angeschaut? Z.B. die, die ich fürs Endspiel im Subforum gerade veröffentlicht habe? Eigens habe ich dazu auch Kontakt zu Harold van der Hejiden aufgenommen, single best move- Stellungen gibt's schon auch genug, gerade fürs Endspiel, in dem man ja wenigstens als Mensch noch am ehesten schachlich verbindliche und beweisbare Urteile abgeben kann.

Ich versuche dir und den Anderen, die sich näher mit Stellungstests beschäftigen wollen, meine Sicht, "meine" Suiten und meinen Umgang damit näherzubringen, nicht, damit ich dann damit irgendeine "Testhoheit" habe, sondern dass Jeder, den's interessiert, selbst damit genau das machen kann, was er oder sie genau davon haben und erfahren wollen.

Prinzipiell stehst du (und stehen Alle, die's selbst machen wollen) immer vor der Entscheidung, mit welcher Hardware- TC du welche Engines wie genau (in Hinblick auf welche Eigenschaften) unterscheiden willst, und wie ich schon vor Kurzem schrieb: je spezifischer der Test (natürlich auch bei Matches), desto weniger übertragbar sind die Ergebnisse auf andere Tests und umso weniger vergleichbar ist er mit anderen. Und wenn ich Elo oder einen anderen Performance- Maßstab bekommen will aus einem bestimmten Eng-Eng-Match oder einer bestimmten Art davon, dann mach ich genau dieses Eng-Eng-Match, oder wenn's die Art, die mich interessiert, in einer der vielen großen guten  Ranglisten finde, dann schau' ich einfach dort nach, und dann versuch' ich nicht (wozu auch?), genau diese Ergebnisse mit einem bestimmten Stellungstest auch zu bekommen. Das Beispiel hat nur dazu gedient, zu zeigen, wie man die Matches spezifizieren könnte, wollte man mit ihnen Ergebnisse erreiche, wie sie der bestimmte STS- Test mit dem LAN_v5- liefert, weil wir über den zuletzt geredet haben.

NICE ist ein Similarity- Test noch viel mehr als das, was Ferdy aus dem STS gemacht hat, aber das ist auch schon einer, du vergleichst damit alle Engines, die du testest, mit der einen Engine, mit der du die Suite oder die Datenbank "eichst", da kannst du eigentlich schon auch gleich alle einen einzelnen Run gegen SF spielen lassen, wenn du die TC für die Partien kurz genug ansetzt, hast du genau das Ergebnis, das dich diesbezüglich interessiert, dann auch schon bald früher, als wenn du statt dessen noch und noch Hardware- Zeit in die Evaluierung ganzer Datenbanken mit einer einzelnen Engine investierst, und mit diesen Evals dann "Stellungstests" zu machen.

Drum hab' ich hier ein bestimmtes Eng-Eng-Match mit einem bestimmten Stellungstest verglichen. Eigentlich hätte ich mir die Partien, die die Engines direkt gegeneinander gespielt haben, auch sparen können und nur mit den 4 Matches gegen SF allein die Elo der Entwicklungsversionen vergleichen, ich wollte aber halt auch das game playing als solches nicht allzu sehr auf eine bestimmte Art reduzieren, weil wollte man das auch gelten lassen, als relevantes Elo- Rating, könnte man sich ja auch gleich auf die Selfplay- Elo der Entwickler verlassen.

Bring gern deine Ergebnisse mit anderen Tests deiner Wahl und wir schauen anhand einzelner Stellungen, die als Beispiele unverzichtbar sind, wo die Vor- und die Nachteile für welche Fragestellung genau liegen.
Ich arbeite momentan an einer Endspiel- Suite, wie im Unterforum geschildert, eine weitere fürs Mittelspiel und eine für die Eröffnung (die müsste eigentlich den Ergebnissen aus ähnliche Eröffnungen wie denen in der Suite am besten dem game playing mit diesen Eröffnungen vergleichbare Ergebnisse bringen) wären in Summe  überhaupt aussagekräftiger als die "overall playing strength"- Tests, die sowieso weder beim Stellungstest noch beim game playing jemals funktionieren können, weil's die Elosion der overall playing strength nie in der Realität gab, das ist wieder das mit den Wirklichkeiten und der Wahrheit.
Mit game playing allein geht's schon deshalb (und erst recht) nicht, weil in das die Eröffnungsstärke der Engines immer schon viel mehr eingegangen ist als die im Mittel- und im Endspiel, heutzutage gilt das noch viel mehr. Je besser die Engines darauf trainiert sind, aus Eröffnungen, die man ihnen halbwegs sinnvoller Weise vorgibt (also an noch nicht für eine Seite entschiedenen), nur diejenigen Mittel- und Endspiele aufs Brett kommen zu lassen, die ihnen liegen, die blinden Flecken im Mittel- und Endspiel, die sie haben, werden und wurden so nie entdeckt. Dazu dienen Mittel- und Endspiel- Stellungstests, um diese blind spots aufzuzeigen, was soll ich da mit einem weiteren Ergebnis, das dasselbe abbildet, wie das game playing aus frühen Eröffnungs- Vorgaben?

Sag' mal einem Menschen, er soll ohne auf sein Eröffnungswissen zuzugreifen, seine Spielstärke  in Spielen bestimmen, das ist sinnlos, es geht gar nicht, oder er hat halt dann ein eigenes FRC- Rating, aber auch in das wird er mehr oder weniger aus dem klassischen Schach einbringen und dem Eröffnungswissen und der -Technik, die er sich dort angeeignet hat. 
Im Zeitalter von NNUE und von LC0- Netzen, die alle längst mehr und mehr gezielt mit bestimmten Partien und Stellungen trainiert werden und einander selbsttätig weiter trainieren, kannst du auch keine Engine- Ergebnisse mehr vom "Wissen" der Engines trennen, umso mehr kommt's drauf an, welche Eröffnungs- und andere Stellungen du zum Testen nimmst.

Bring eigene Ergebnisse und Stellungen, nur darüber können wir konkret reden.
Parent - - By Peter Martan Date 2023-02-05 10:03 Edited 2023-02-05 10:41
Frank Sanders schrieb:

1) Warum findest du LAN_5.epd besser als LAN_6.epd?
Bei LAN6 muss der Abstand zwischen MultiPV1 und MultiPV2 min 1/10 Bauer sein, sonst wird die Stellung nicht genommen.
Das reduziert die 1500 Positionen auf 1188. Geht also leicht in die Richtung dass der erste Zug besser sein soll.

Dazu nach neurlichen kurzen () Grundsatzerläuterungen, hier die Unterschiede, was die Resultate angeht mit den Berserk- und Igel- Versionen. Zusätzlich LC0 reingenommen, weil diese Engines sowieso ein Problem für sich darstellt, man kann sie nicht mit 100msec laufen lassen und das dann mit SF vergleichen. In forcierten single best move- Suiten hat sie Nachteile, weil bei wirklich schwierigeren Stellungen, die Rechentiefe auch bei SF brauchen, kann sie an und für sich an Geschwindigkeit sowieso immer noch nicht wirklich ganz mithalten, erst recht nicht, wenn bei SF auch die taktischen Settings und Branches mitspielen lässt, bei den unforcierten Stellungen kann sie zwar (mithalten aber mal auch wieder von ausgesprochen Endspiel- lastigen Sammlungen zusätzlich lieber abgesehen), aber die Initialisierungszeit ist so viel länger als bei A-B, dass die "Leela- Ratio", was die TC angeht, bei VSTC wieder von Version zu Version, Netz zu Netz und eben von Suite zu Suite neu berechnet werden muss. Das alles hat man natürlich auch genau so beim game playing.

Noch einmal die LAN_v5 Resultate, um 2 lc0- runs bereichert, einmal mit 300 und einmal mit 500msec, unter "Hash" ist bei ihr der NN-Cache eingetragen und es ist die Nvidia 3070ti- GPU, die sie nutzt.

    EPD  : epd\FM5.epd
    Time : 100ms
                                                Max   Total   Time   Hash         
    Engine           Score   Found  Pos   ELO  Score   Rate    ms     Mb  Cpu     
1  SF230114         143712   1188  1500  4320  149703  96.0%    100     8    8
2  lc0221229-325M   142657   1156  1500  4288  149703  95.3%    500     2    2
3  lc0221229-325M   139786   1102  1500  4203  149703  93.4%    300     2    2
4  Berserk230130    137473   1052  1500  4131  149703  91.8%    100     8    8
5  Berserk10        137043   1065  1500  4117  149703  91.5%    100     8    8
6  Igel3.4.0        135505   1019  1500  4072  149703  90.5%    100     8    8
7  Igel3.2.0        130880    954  1500  3933  149703  87.4%    100     8    8

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca


Und dann LAN_v6, bei mir heißt's FM6, analog zum FM5, tippt sich einfach etwas schneller und ist etwas kürzer als Name.

    EPD  : epd\FM6.epd
    Time : 100ms
                                                Max   Total   Time   Hash         
    Engine           Score   Found  Pos   ELO  Score   Rate    ms     Mb  Cpu     
1  SF230114         114317   1019  1188  4329  118800  96.2%    100     8    8
2  lc0221229-325M   113553    998  1188  4302  118800  95.6%    500     2    2
3  lc0221229-325M   111518    960  1188  4225  118800  93.9%    300     2    2
4  Berserk10        109318    930  1188  4140  118800  92.0%    100     8    8
5  Berserk230130    109243    906  1188  4140  118800  92.0%    100     8    8
6  Igel3.4.0        107814    888  1188  4086  118800  90.8%    100     8    8
7  Igel3.2.0        105886    853  1188  4009  118800  89.1%    100     8    8

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca


Schau dir die Relationen an, vor allem beachte, dass Berserk10 seine jüngere Version überholt hat, Elo sind zwar genau gleich, aber das Score hat bei weniger "Found" dieselbe Prozent-Ausbeute und etwas weniger Punkte.

Summa summarum sehen wir hier ein weiteres grundsätzliches Problem, das du auch bei jeder Art des Tests hast, beim game playing sogar noch mehr als beim Stellungstest (nämlich bei dem kannst du's wenigstens leichter steuern und auswählen, was dir wichtiger ist):
Was mehr Diskrimination bringt, geht dann auf Kosten der Irrtumswahscheinlichkeit, wenn du's nicht durch bessere Stellungen, sondern nur durch kürzere TC bekommst. Wie man beim Vergleichsmatch gesehen hat, bei so kurzer TC im game playing bekommst du mehr Spreizung, aber die error bar steigt mit.
Du hast immer ganz allgemein die Wahl zwischen mehr Selektivität und mehr Sensitivität deines Tests.
Bis auf die weggelassenen hat LAN6 dieselben Stellungen, sie sind auf die gleiche Art mit derselben Punkteverteilung bewertet (ohne sie wirklich Stellung für Stellung überprüft zu haben, nur nach dem, was Mosca dazu auf github schreibt) es sind einfach nur weniger.
Dass das die Diskrimination, die Abstände zwischen den Engines (nicht bei allen und vor allem nicht gleichermaßen) eher verringert aber jedenfalls verändert und dann ab einem gewissen Punkt sich auch Rankings ändern, je nachdem welche und wieviele Engines es sind und wo sich die Abstände bei manchen runs mehr und bei manchen weniger ändern. ist kein Wunder.

Ich hab' halt bei allen Suiten, in denen ich STS nur teilweise drin hab', gleich auf die 594 reduziert, das mit den single best move- Stellungen, von denen Ferdy beim LAN_v6 schreibt (dass sich überhaupt ein bester Zug sicher festmachen lässt), das ist nämlich immer noch ein frommer Wunsch, die 10cp einer einzelnen Engine bei einer einzelnen Rechenzeit und einem bestimmten MultiPV- Modus sinde keine Richtschnur für single best move im historischen Sinn dieser Definition von single best move Teststellungen. Da gehen nicht einmal alle von den 594 durch, wenn man's ein bisschen genauer nehmen will, so wie bei echten single best move Stellungen, möglichst auch noch game changing, von den 1188, gehen so mindestens eine gute Hälfte auch noch nicht durch. Für mich wäre eine moderate Mindestdefinition, wenn man sich anders als schachlich und anders als immer nur an der einzelnen Stellung überhaupt für einen Richtwert entscheiden will: 50% vom kleineren, also ein Drittel vom größeren Eval- Wert.
Das muss sich erstens nach der Relation, nicht einem Differenzwert richten, weil es nicht egal ist, ob bei 3.00 10cp Unterschied sind oder bei 0.10, und zweitens muss es in Fällen, in denen Rechentiefe auch zählt (und irgendwie tut sie das natürlich auch immer, selbst wenn man sie dann beim Testen selbst gar nicht haben will, sondern Lösungen aus der "statischen Eval" heraus wie beim STS) mit etwas Forward- Backward und abwechselnd single primary und MultiPV abgesichert werden. Das auch noch zum Prinzip NICE, du hast nicht nur das Manko von der Fixierung auf eine bestimmte Eval einer bestimmten Engine, du hast noch dazu und vor allem, wenn's wirklich viele Stellungen sein sollen, also aus ganzen größeren Datenbanken zusammengesetzt ist, viel zu wenig Hardware- Zeit, um mehr als einen VSTC- Similarity- Test zu bekommen. Und auch bei dem sollten eigentlich diejenigen Züge, die mehr oder weniger von selbst von jeder Engine sofort gemacht werden, rauskommen, sonst ruiniert dir das die Statistik wieder allein von der error bar her. Das hat Mosca seinerzeit im CCC auch bei seinen Beiträgen zu Cheating- Detection per Similarity- Test schön geschrieben und anhand von Beispiel- Ergebnissen gezeigt.

Erst mal wieder Pause, ich kann aber über diese Dinge einfach nicht kurz und bündig schreiben, wie man sieht. Mag sein, weil das Thema einfach nicht mit wenigen Worten behandelt werden kann, wenn man überhaupt etwas Sinnvolles dazu sagen will.
Und ich höre im Hintergrund bei solchen Gelegenheiten schon immer wieder die Einwände der alten Drückeberger, die sich eigentlich nicht wirklich damit befassen wollen, sondern lieber schon vorbeugend zu dem Alibi greifen, dass das alles eh keinen Sinn hat. Ja, ok, das kann ich verstehen, dass man's lieber gleich lassen will, aber Herrschaften: dann lassen wir doch bitte endlich die ganze ohnehin nicht mehr wirklich sinnvolle Testerei der Engines und ihres "Fortschritts" (wohin denn noch?) überhaupt sein, der Großteil ist sowieso nur mehr ökonomischer und ökologischer Unfug, vor allem finde ich aber halt, dass es erst recht notwendiger und notwendiger ist, sich auch und gerade beim Testen mit game playing zu überlegen, mit welchen Eröffnungsteststellungen welche Engines mit welcher Hardware- TC spielen sollen, um von den so gewonnenen Ergebnissen auch noch irgendwelche "Erkenntnisse" zu haben und vor allem muss man sich da erst recht von der alten Elosion befreien, man könnte so etwas wie "overall playing strength" damit testen. Da wäre ein (und auch da und erst recht möglichst clevere Art eines Stellungstest unbedingte Voraussetzung um irgendeine Ahnung zu haben, bevor man Unmengen von Partien laufen lässt und sich dann wundert, dass lauter Remis abwechselnd mit lauter 1:1-Paaren herauskommen und man zwar die Remisrate beliebig senken kann, erst recht mit immer kürzeren TCS, dafür aber noch mehr statistisches Rauschen bekommt, weil die 1:1- Paare die error bar noch mehr heben, als die Remis. Das ist genau derselbe Punkt beim Stellungstest wie beim game playing: beim Stellungstest brauchst du genau so eine Mindestanzahl von Stellungen und je nach Engines und Hardware- TC darf der Anteil an gelösten und an nicht gelösten in keine Richtung zu sehr ausreiten, die Remis (von allen direkt miteinander verglichenen gelösten Stellungen) schaden, aber noch mehr schaden die von allen ungelösten. Und die beste Relation von Spreizung zu Irrtumswahrscheinlichkeit gibt's nur für bestimmte Stellungen, bestimmte Engines auf einer bestimmten Hardware- TC.
Spätestens seit LC0 ist das mit "overall playing strength" endgültig vorbei, oder sag du mir die "richtige" Leela- Ratio zwischen dem aktuellen SF dev., einem besimmten Leela- Compile einer von den vielen dev.- Versionen, die da durchs Netz geistern und einem bestimmten Netz. Und wenn du die dann für diese eine Engine- Paarung hast, diese "richtige" Leela- Ratio, dann leg das mal auch nur auf ein anderes Netz um, ein kleineres, ein größeres, eins, das mehr auf stärker selektierten Trainingsstellungen basiert vielleicht noch, für die Netze jeweils andere Engine- Parameter und für eine ganz kurze und eine etwas längere TC. Und dann das Ganze noch für ein paar andere Engines, ein paar jüngere, ein paar ältere...
Da musst du jedes mal für jeden neuen Test eine neue Ratio bestimmen, allein schon daran führt kein Weg vorbei zur Antwort (den vielen Antworten) auf die Frage "wie stark sind sie wirklich?".
No way.
Parent - - By Frank Sanders Date 2023-02-05 12:35
Ich habe diese Post in das Forum "Blogs" kopiert. Ich werde dort, sobald ich Zeit habe antwortren.
Parent - By Peter Martan Date 2023-02-05 12:56 Edited 2023-02-05 13:32
Uff, auch nicht schlecht, du hättest allerdings nichts reinkopieren müssen, find' ich. Die Ankündigung deiner Antwort dort hätte auch genügt, damit ich nachgeschaut hätte.
Dort hab' ich zwar noch nie was geschrieben, ist aber eigentlich eine gute Idee, gerade für dieses Thema
Up Topic Hauptforen / CSS-Forum / Wie stark sind Schachprogramme wirklich?

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill