Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Computerschach-Tests vs. SAT-solver-Tests
- - By Guenter Stertenbrink Date 2025-03-13 05:36
glaubst ihr man koennte eine SAT-solver Test-Prozedur in aehnlicher
Weise aufziehen, wie die Schach-Engines getestest werden ?
Mit Elo-Zahlen,Elo-Charts, Testruns bei neuen Versionen usw.

Natuerlich dann mit geeigneten Benchmarks und nicht mit Partien gegeneinander,
was ja auch bei Computer-Schachtests eine Moeglickeit waere (IMO) .

Das (wirtschaftlich) sinnlose Schachcomputer Testen
mit fishtest,Pohl,Ipman, usw
sieht viel besser aus
als das SAT-Testen wo viel mehr gesteuerte Energie hintersteckt
mit Universitaeten,Papers,Konferenzen,Doktorarbeiten,Karrieren,Foerdermitteln.

https://satcompetition.github.io/2024/reslts.html
vs.
https://github.com/official-stockfish/Stockfish/wild/Regression-Tests

da muesste man ja auch Foerdermittel fuer bekommen koennen
Parent - - By Kurt Utzinger Date 2025-03-13 09:16
Guenter Stertenbrink schrieb:


<a class='ura' href='https://satcompetition.github.io/2024/reslts.html'>https://satcompetition.github.io/2024/reslts.html</a>
vs.
<a class='ura' href='https://github.com/official-stockfish/Stockfish/wild/Regression-Tests'>https://github.com/official-stockfish/Stockfish/wild/Regression-Tests</a>


Der erste Link funktioniert nicht.
Kurt
Parent - By Andreas Kuntze Date 2025-03-13 09:49
Parent - By Guenter Stertenbrink Date 2025-03-13 16:27
https://satcompetition.github.io/2024/results.html

man kann fuer 2002-2024 die Ergebnisse und benchmarks und Beschreibungen anschauen
https://satcompetition.github.io/
und runterladen mit source-code seit ca, 2018

Es gibt auch andere Wettbewerbe , z.B. SMT  (SAT modulo theories)

Kurt Utzinger schrieb:

Guenter Stertenbrink schrieb:


<a class='ura' href='<a class='ura' href='https://satcompetition.github.io/2024/reslts.html'>https://satcompetition.github.io/2024/reslts.html</a>'>https://satcompetition.github.io/2024/reslts.html</a>
vs.
<a class='ura' href='<a class='ura' href='https://github.com/official-stockfish/Stockfish/wild/Regression-Tests'>https://github.com/official-stockfish/Stockfish/wild/Regression-Tests</a>'>https://github.com/official-stockfish/Stockfish/wild/Regression-Tests</a>


Der erste Link funktioniert nicht.
Kurt
Parent - - By Wolfram Bernhardt Date 2025-03-13 09:52
Hallo!

Ich denke, nein.

Der große Unterschied ist, dass es beim SAT-Solven ja keine Interaktion zwischen den Kandidaten gibt. Jede Programmversion bekommt Probleme vorgesetzt und löst diese in einer bestimmten Zeit. Im besten Fall sind die Ergebnisse exakt reproduzierbar und haben keine Varianz. Insofern gibt es immer nur ein Ergebnis pro Programmversion - und das ist a) völlig unabhängig von den Ergebnissen allen anderen Konkurrenten und b) ein absoluter Wert.

Daraus kann mam prima Tabellen erstellen und dann sieht man, wer besser ist.

Der Elo-System ist dagegen viel unschärfer und dafür gedacht, etwas zu messen, was man eigentlich nicht messen (im Wortsinne) kann - weil man eben kein klaren, absoluten Werte hat. Elo ist gleichzeitig ein Krücke und eine brillante Herangehensweise, nämlich die, relative Stärken im Vergleich zu anderen eben doch irgendwie "messen" oder eher "bestimmen" zu können.

Viele Grüße
     Wolfram
Parent - - By Guenter Stertenbrink Date 2025-03-13 11:52
das Problem seh ich nicht.
Vergleiche mit dem folgenden Posting von Peter Martan, da waere dann beim
Schachrating auch keine "Interaktion" mehr.

Wer will kann auch SAT-solver gegeneinander Antreten lassen, wer die Benchmarks schneller loest, gewinnt.
Parent - - By Wolfram Bernhardt Date 2025-03-13 13:59
Guenter Stertenbrink schrieb:

das Problem seh ich nicht.


Dann muss ich es besser erklären.

Nehmen wir an, wir haben 20 SAT-Solver, S1-S20. Nun kann man die alle gegeneinandern antreten lassen. Ergibt 190 Matches, in deren Verlauf das Aufgabenset 380 mal gelöst wird. Ziemliche Verschwendung, oder? Es reicht, jeden Solver das Set einmal lösen zu lassen. Danach hat man unmittelbar die Abschluß-Tabelle und kann den Ausgang aller 190 Matches mit endgültiger Sicherheit vorhersagen. Fertig.

Was Peter schreibt, ist alles richtig. Es geht nur nicht um Elo-Punkte. Es geht dabei rein um Stellungsstests, diese haben mit Elo-Punkten nur indirekt zu tun. Es handelt sich um grundsätzlich unterschiedliche Bewertungssysteme. Ich kenne keinen seriösen Schachstellungstest, der behauptet, Elo-Punkte zu bestimmen. Im Gegenteil, davon nehmen alle klar Abstand und so hat jeder Test praktisch seine eigene Punkteskala.

Jeder Schach-Engine-Entwickler oder -Tester wird Dir bestätigen, dass er es schon oft erlebt hat, dass eine Änderung zu besseren Ergebnissen in Stellungstests führt - "Hurra, das sind bestimmt +20 Elo im praktischen Spiel" - dann aber feststellen musste, dass es im praktischen Spiel -20 Elo waren. Das alleine zeigt, dass es sich wirklich um ganze unterschiedliche Mess-Systeme handelt, die sich kaum aufeinander übertragen lassen.

Was bei den SAT-Solver gemacht wird (einen sehr schönen Link hattest Du ja gepostet), ist sehr gut vergleichbar mit Stellungstest. Und es ist zu sehen, dass dort ebenso Punkt vergeben werden. Alles völlig korrekt.
Bei SAT-Solvern gibt es aber nichts, was sich mit dem praktischen Schach-Spielen zweier Engines gegeneinander vergleichen liesse. Und damit keine Möglichkeit, auf so etwas zu kommen, das mit Elo-Punkten vergleichbar wäre.

Und wenn Du es mir nicht so recht glaubst - Peter wird Dir das bestätigen.

Viele Grüße
     Wolfram
Parent - - By Ingo Althöfer Date 2025-03-13 14:06 Upvotes 1
Gute SAT-Solver sind in der Regel probabilistisch, haben also
auch so etwas wie durchschnittliche Lösezeiten für ein und
dieselbe Instanz.

An der Uni Jena gab es in der Informatik einen Lehrstuhl,
an dem intensiv SAT-Solver entwickelt wurden. Der zugehörige
Professor (Martin Mundhenk) ist leider vor kurzem verstorben.

VG, Ingo.
Parent - By Guenter Stertenbrink Date 2025-03-13 19:14
oder man permutiert einfach die Variablen zufaellig
und kriegt neue (isomorphe) Benchmarks. (deutsch ?)
Und viele Benchmarks werden von Programmen erzeugt,
die zufaellige Benchmarks einer Richtung erzeugen
mit steigender Schwierigkeit.
------------
Mehrere Unis haben Gruppen, die an sowas arbeiten.
Siehe z.B. einfach die Vielzahl der Papers auf gogle-scholar
zu satisfiability problem
In DE : Freiburg,Karlsruhe,Potsdam,Leipzig..
Mit emails und Foren ist man nicht ortsgebunden
Parent - - By Peter Martan Date 2025-03-13 15:32 Edited 2025-03-13 15:57 Upvotes 1
Wolfram Bernhardt schrieb:

Nehmen wir an, wir haben 20 SAT-Solver, S1-S20. Nun kann man die alle gegeneinandern antreten lassen. Ergibt 190 Matches, in deren Verlauf das Aufgabenset 380 mal gelöst wird. Ziemliche Verschwendung, oder? Es reicht, jeden Solver das Set einmal lösen zu lassen. Danach hat man unmittelbar die Abschluß-Tabelle und kann den Ausgang aller 190 Matches mit endgültiger Sicherheit vorhersagen. Fertig.

Abgesehen davon, dass du mehrere Runs für mehr Absicherung von error bars machen könntest, vor allem, wenn du nicht nur single thread testest, hast du recht, vor allem aber, wenn du nicht nur die Lösungszahlen miteinander vergleichst, sondern die Einzelleistungen der Engines, der Runs, pro Stellung und nicht nur pro Suite auswertest.
Zitat:

Ich kenne keinen seriösen Schachstellungstest, der behauptet, Elo-Punkte zu bestimmen. Im Gegenteil, davon nehmen alle klar Abstand und so hat jeder Test praktisch seine eigene Punkteskala.

Dass die Ergebnisse von einzelnen Runs einzelner Suiten für sich allein stehen, ist das Eine, die Maßzahlen sind das Andere, und auch bei der heiligen Kuh Elo weiß man ja schon lange, mittlerweile wird es immer augenfällliger, dass Elo aus einem bestimmten Match zwischen bestimmten Engines mit einer bestimmten Hardware- TC und von bestimmten (Eröffnungs-) Teststellungen ausgespielt, nur bedingt bis hin zu auch eigentlich gar nicht direkt miteinander vergleichbar sind. Die Elo, die du mit UHO single thread STC bekommst, sind nicht dieselben, wie mit längerer TC und ausgeglicheneren Ausgangsstellungen und vor allem auch mit unterschiedlichen Teilnehmerfeldern ausgetragen. Drum nennt Stefan Pohl seine Messergebnisse auch nicht Elo sondern Celo.

Und also kannst du die Performances von Engines aus statistisch entsprechend signikanten Stellungstests, in Elo auch ebenso gut ausdrücken wie in Zahlen an Stellungen pro Suite, mit oder ohne Berücksichtigung genauer time to solution- Werte innerhalb der TC, und wenn du schreibst, du kennst keinen seriösen Schachstellungstest, der  behauptet, Elo- Punkte zu bestimmen, hast du halt spätestens seit Walter Eigenmanns Eret- Listen, die er mithilfe von EloStatTS sehr wohl in Elo geführt hat, einiges verpasst. Auch MEA hat das Prinzip Elo wieder oder nach wie vor in Verwendung, siehe die jüngste NICE- Liste von Ed Schröder, die ich in meinem ersten Posting in diesem Thread verlinkt habe, hier ist sie noch einmal:

https://rebel7775.wixsite.com/rebel/mrl

Die Herangehensweise an die Umrechnung, wie sie Frank Schubert umgesetzt hat, ist mehr als nur ein Umrechnen von Punkten, die in der Suite gesammelt werden, wenn's dich näher interessiert, ist das hier

https://glarean-magazin.ch/wp-content/uploads/2017/03/L%C3%B6sung-eines-alten-Problems-Frank-Schubert-1.pdf

eine Basisliteratur von ihm dazu.

Es handelt sich nicht so wie bei MEA "einfach" um eine Verhältnis- Rechnung, die zwischen maximal möglichem Gesamtscore und dem, das der einzelne Engine- Run erzielt, sondern um eine bei jedem neuen Run neuerlich mit allen vorher absolvierten und gespeicherten time to solution- Werten jeder einzelnen Stellung und jedem einzelnen (neuen und alten) Engine- Run wiederholte (Rechnung), die Elo, die herauskommen, ändern sich für alle Runs mit jedem neuen neuerlich, es sind echte WDL- Elo, die aus lauter Minimatches anhand jeder einzelnen Stellung und aller gemessenen Engine- Stellungs- Werte aus ganzen und halben Punkten, die die Engines head to head gegeneinander erzielen, berechnet werden, für alle diese  Minimatches, die nicht einfach bei jedem Run um einmal die Zahl der Stellungen mehr werden, sondern um den Faktor x an Runs, die schon gespeichert und dann noch neu gemacht worden sind, mal der Zahl der Stellungen, und um die Diskrimination erhöht, dass jeder Zeitunterschied in der exakten time to solution die Zahl an "Remis" vermindert. Das ist der eine wesentliche statistische Unterschied, drum ist die error bar, die in der EloStatTS- Auswertung auch bei jeder Performance jeder Engine dabei steht, auch eine wirklich relevante für die schachliche Performance der einzelnen Engine im Vergleichsfeld (und nicht nur für die Zufallsstreung der Lösungszahl einer bestimmten Engine mit einer bestimmten Hardware- TC und einer bestimmten Suite) und sie wird so wie beim game playing bestimmt (aus WDL) und wird immer kleiner, je mehr Runs du miteinander vergleichst.

Das nur so am Rande, weil ich persönlich hänge überhaupt nicht an dieser Maßzahl, mit der sowieso viel zu viel Schindluder getrieben wird (Schach zwischen Menschen, im Blitz, mit Turnierzeit, FRC, online oder over the board gemeinsam mit Engine- Schach aus mittlerweile wirklich stark unterschiedlichen Eröffnungsstellungen, VSTC, STC, LTC und jedes davon noch in weiten Grenzen unterschiedlich, nur CPU oder auch GPU- basierter Engines, single thread und auf Clustern, Fernschach....alles schimpft sich Elo und keiner regt sich auf, weil ohnehin jeder weiß, Übertragbarkeit=0, Transitiviät=0, reine Elosion das Ganze sowieso und immer schon ).

Oft genug habe ich mir sagen lassen, obwohl ich's wahrscheinlich besser aus eigener Erfahrung weiß als die Meisten, die immer wieder gerne darauf hinweisen, dass man Elo nicht für Stellungstests verwenden kann soll darf, nie hat mir jemand dazu gesagt, warum nicht, der Grund, dass man's sonst verwechseln könnte, ist ja wohl wirklich ein ziemlich binsenweiser und fadenscheiniger.
Aber das Kernproblem, von der Maßzahl der Ergebnisse völlig unabhängig, und das vermutlich auch das ist, was du meinst, so wie ich dich in diesem Thread verstehe, ist ja ein anderes: egal, in welcher Metrik man's auch immer angibt, das Ergebnis, inwieweit es mit einem bestimmen anderen, einem bestimmten anderen Stellungstest, einer anderen Suite, anderer TC, anderen Engines vergleichen kann und will oder eben nicht, dieses Einzelergebnis steht immer zunächst mal für sich selbst allein (sinn féin), bestimmte Ergebnisse bestimmter Suiten kann man mal mehr und mal weniger mit solchen bestimmter anderer Suiten vergleichen oder auch mit einem bestimmten eng-eng-match ähnlicher Engines unter bestimmten Hardware- TC- Eröffnungs- Bedingungen. Sinnvoll ist also ausschließlich die Überlegung, welche Stellungen, welche Suiten unter welchen Bedinungen mit welchen Tools ausgewertet, ergänzen einander sinnvoll und welche haben einfach nichts miteinander zu tun, mit game playing schon gar nicht.

Z.B. gerade die "klassischen" single best move positions, so wenig sie vielleicht mit dem gemeinsam haben, was Engines gegeneinander aufs Brett bringen, gerade die sind es ja nach wie vor, die die klassischen blind spots der Engines aufzeigen, drum gibt's von denen ja nach wie vor noch und noch solche, mit denen auch die spielstärksten heutigen Engines nach wie vor ihre Hardware- Zeit- Schwierigkeiten haben, je mehr einander die Spielstärke- Riesen ähneln, umso mehr versagen sie auch nach wie vor gern gemeinsam an bestimmten Stellungen, die wandeln sich im Lauf der Zeit, manche sind aber nach wie vor Dauerbrenner. Dass das dann naheliegender Weise nicht gerade die Stellungen sind, die im praktischen Spiel dauernd häufig vorkommen, liegt in ihrer Natur und natürlich muss man, um modernen Engines taktisch noch was abzuverlangen, was sie nicht sofort aus den Netzen heraus sofort lösen, mehr und mehr auf konstruierte und komponierte Ausnahmsstellungen zurückgreifen, das ist schon so, heißt aber halt genau und gerade deshalb nicht, dass sie uninteressant wären, diese Stellungen.
Wenn ich nur wissen will, was eine bestimmte Engine gegen eine besimmte andere unter bestimmten Bedingungen für eine Match- Performance hat, lasse ich das natürlich eng-eng genau diese 2 Engines gegeneinander ausspielen, wenn ich wissen will, wie eine Engine mit einer bestimmten außergewöhnlichen Stellung zurechtkommt, und vielleicht noch im Vergleich zu einer bestimmten anderen Engine, muss ich genau die eine Stellung hernehmen. Suiten aus solchen Stellungen zusammengesammelt, haben auch nach wie vor (und für mich eigentlich heute erst recht) ihre Daseinsberechtigung, wen's nicht interessiert, was bei sowas rauskommt, muss es nicht testen und sich die Ergebnisse nicht anschauen, so what, da spielt's aber dann auch erst recht keine Rolle, wie man die Ergebnisse misst, sie stehen sowieso für sich allein.

Will man sich hauptsächlich Partiezahlen an eng-eng-matches ersparen, um zu Rankings und Ratings zu kommen, die das Ausspielenlassen teilweise vorwegnehmen, sind die MEA- Ansätze und jedenfalls die Suiten größerer Stellungszahlen aus Stellungen, die praktisch ohne Rechenzeit gelöst werden können, und ist also STC und VSTC the way to go, für game playing- Ranglisten ist ja LTC auch mehr ein Stiefkind als etwas anderes, jedenfalls für größere Engine- Pools.
Ob in Elo oder in Lösungszahlen oder in Zentimetern Listenlänge gemessen, (die Prozent vom möglichen Maximalscore von MEA sind ganz gut miteinander vergleichbar, da hat man auch bald mal ein Gefühl dafür, wie es mit den error bars ist, auch wenn's nicht direkt dabei steht wie bei EloStatTS, über 1000 Stellungen und STC liegt's bei meinen MEA- Suiten so bei 1% dessen, was unter "Score" eingetragen wird) ist dabei völlig irrelevant, ich wüsste also auch keinen Grund, mich ausgerechnet vor Elo gerade hier zu fürchten, wenn sie überall sonst ja auch völlig inflationär verwendet werden.

Was mich jetzt gerade wieder etwas umtreibt, wäre eine andere Art, verschiedene Ergebnisse verschiedener Suiten zusammenfassen zu können, drum wäre mein momentaner Ansatz halt, Verhältniszahlen von dem, was die Engine an tatsächlicher time to solution leistet, relativ zur vorgeschriebenen Maximal- TC, die sich nach dem "Schweregrad" richtet, als Vergleichsbasis herzunehmen.

Damit's nicht nur single best move positions sein müssen, bekommen innerhalb der Maximal- TC die schwächeren aber auch zu bewertenden Lösungszüge kürzere Sub- TCs definiert, und können Engines auf die Art mit zweit- und drittbesten Lösungen auch kleinere Performance- Werte als an den best moves der einzelnen Stellungen verdienen, prinzipiell so wie bei den MEA- Punkten, aber auch bei den Nebenlösungen inform von tatsächlichen tts (time to soluition)- Werten relativ zur TC, die für die schwächeren Lösungen einfach kürzer ist als die der best moves, kleinster (auch von dem meisten GUIs zumindest gemessener) Wert z.B. 100msec Unterschied.
Theoretisch müsste so eine an die unterschiedlichen Maximal- TCs angepasste Summen- time to solution (als Einzel- Performance in Relation zur jeweiligen Einzel- TC ermittelt) eine Maßzahl hergeben, die es ermöglichte, mehrere Suiten zu einem Gesamtergebnis in der Auswertung zusammenzufassen. Natürlich stünde die auch wieder irgendwie für sich allein, aber sie sagte vielleicht doch mehr als es die Summe der Einzelergebnisse tut.
Bei denen (den Einzelergebnissen) habe ich allerdings auch schon lange kein Problem mehr damit, einfach das, was die eine Suite mit der einen TC ergibt, in einer Zusammenschau mit bestimmten anderen Suiten zu sehen, die ich je nachdem, ob's verschiedene Versionen oder Settings einzelner Engines sind oder ein bunterer Engine- Mix aus stärker unterschiedlichen Engines und Spielstärken, mal mehr aus dem einen Bereich an STC- Suiten oder mehr aus dem anderen für LTC nehme, dementsprechend bekomme ich mehr Diskrimination zwischen nahe beisammen liegenden Engines relativ zur error bar oder ich kann größere Unterschiede zwischen stärker verschiedenen Engines eher unter einen Vergleichs- Hut anderer Art bringen. Alles in Allem erspare ich mir für meine persönlichen Interessen durch Stellungstests schon viel eng-eng-game playing, das ich aber natürlich trotzdem auch mache, vor allem hat man für diese Vergleiche ja aber auch nach wie vor die vielen großen Ranglisten.
Dass es für die auch immer schwerer wird, genug Partiematerial mit den vielen saustarken Engines zusammenzubringen, das muss man allerdings wohl auch schön langsam mal zur Kenntnis nehmen, Hardware- Zeit und Manpower wird da schon auch viel für die immer kleiner werdende  Fortschritts- Erkenntnis ver(sch)wendet, aber in Stellungstests kann man sehr wohl auch viel unnötige solche (Hardware- Zeit und Manpower) investieren, und nein, die ist dann sicher auch nicht immer sinnvoll, sinnvoller, am sinnvollsten angelegt
Parent - - By Wolfram Bernhardt Date 2025-03-13 15:52 Edited 2025-03-13 16:00
Hi Peter!

Da habe ich wenig Widerspruch. Jeder mag die Masszahl seines Tests nennen wie er will, meinetwegen auch "Elo", aber es ist dann etwas anderes als das, was wir als Vergleichs-Elo bei der Spielstärke in direkten Vergleich zweier Parteien kennen.

Zitat:
und wenn du schreibst, du kennst keinen seriösen Schachstellungstest, der  behauptet, Elo- Punkte zu bestimmen, hast du halt spätestens seit Walter Eigenmanns Eret- Listen, die er mithilfe von EloStatTS sehr wohl in Elo geführt hat, einiges verpasst


Dass Walter Eigenmann behauptet, mit seinen Methoden die Spielstärke-Elo von Engines bestimmten zu können, wäre mir in der Tat neu und recht sensationell. Hast Du da einen Link, in dem er das tut?

Ich behaupte, er nennt das, was er misst, auch Elo, aber postuliert nirgends, dass diese der Spielstärke-Elo entspreche, die eine Engine in Ratinglisten erreicht, die durch Engine-Matches ermittelt werden.

Wir können es uns einfach machen: Günter hatte ja einen Link gepostet ( https://satcompetition.github.io/2024/results.html ). Dort sehen wir viele Scores ohne Einheit. Wenn wir davon eine oder mehrere Elo nennen, haben wir Elo-Zahlen bei SAT-Solvern.

Aber Spaß beiseite. Ich bleibe dabei, dass es sich um ein grundsätzlich anderes Verfahren handelt als die direkten Vergleiche durch Engine-Matches und damit auch nicht um dieselbe Masszahl.

Und jetzt sehe ich, dass das auch im Ausgangspost von Günter schon steht:

Zitat:
Natuerlich dann mit geeigneten Benchmarks und nicht mit Partien gegeneinander


Viele Grüße
     Wolfram
Parent - - By Peter Martan Date 2025-03-13 16:36 Edited 2025-03-13 16:46 Upvotes 1
Wolfram Bernhardt schrieb:

Dass Walter Eigenmann behauptet, mit seinen Methoden die Spielstärke-Elo von Engines bestimmten zu können, wäre mir in der Tat neu und recht sensationell. Hast Du da einen Link, in dem er das tut?


https://glarean-magazin.ch/2017/03/05/computerschach-testaufgaben-engines-eigenmann-rapid-engine-test-eret/

Daraus, gleich unter dem ersten Partie- Diagramm und der Überschrift "Die Axiomatik des ERET- Stellungstests" als 6. von 6 Punkten:
Zitat:
Unter Wahrung der Punkte 2 & 5 garantiert der ERET keine 100%ige, aber eine weitgehende Übereinstimmung seiner Testergebnisse mit den durchschnittlichen Resultaten des praktischen Engine-Turnierbetriebes.


Nun ist das natürlich eine Weile her (ziemlich genau 8 Jahre), und was ich so von Walter dazu in jüngerer Vergangenheit gehört und gelesen habe, sieht er das mit der Vergleichbarkeit von heutigen Engines und ihrer Match- Performance und dem Eret als Grundlage ebenfalls statistischer Performance- Vergleiche wohl nicht mehr so wie damals, aber im Wesentlichen ist es wohl, wie wir (hier und jetzt und auch schon früher und anderswo) mittlerweile schon ein bisschen gemeinsam beschlossen haben, eine Frage der Zahl und Art der Stellungen und der Hardware- TC und der Auswertung

Wenn ich mir die Eret- Stellungen so heutzutage anschaue (und wie gesagt, einige bis viele hab' ich immer noch für für viel kürzere TCs in Verwendung in manchen größeren Suiten), damals, als die Sammlung rauskam, war die Schere zwischen einerseits game playing performance und andererseits dem Lösen solcher Stellungen noch nicht so weit offen, wie sie es heute ist. Die meisten Eret- Stellungen werden mittlerweile aus der "statischen Eval" (heißt mittlerweile NNUE oder NN) gelöst, ein paar aber immer noch nicht in so "kurzer" TC, wie sie für soche Suiten damals üblich war, die 111 sind an Zahl aber einfach mittlerweile zu wenige für die Zahl an Lösungen, die sie auch mit heutiger STC bekommen. Nämlich vor allem dann, wenn man nicht "nur" einen breit gefächerten Engine- Mix an Oldies, Newcomers und einzelnen wenigen Spitzenengines testen will, sondern ein Feld, in dem die vielen (im game playing) nahe beisammen  liegenden Spitzen- Engines mit einer einzelnen Suite verglichen werden sollen.
Zitat:

Aber Spaß beiseite. Ich bleibe dabei, dass es sich um ein grundsätzlich anderes Verfahren handelt als die direkten Vergleiche durch Engine-Matches und damit auch nicht um dieselbe Masszahl.

Du kannst sie durchaus auf genau die gleiche Art wie im game playing im direkten WDL- Vergleich auch im Stellungstest ermitteln, lies dir das .pdf von Frank Schubert durch, es werden in lauter Minimatches Stellung pro Stellung und Engine pro Engine ganze und halbe Punkte wie beim game playing ermittelt, noch einfacher (ohne die aber natürlich auch wesentlichen Umrechnungsformeln unter "Ein neuer Ansatz" "Formel1" und "Formel2") kannst du so vorgehen: du liest aus der Shredder- Auswertungstabelle (weil sie so schön grafisch darstellt, welche Stellung in welcher Zeit gelöst wurde) der einen und der anderen Engine (oder 2er verschiedener Runs) Stellung für Stellung aus, wo Engine A schneller war bei den gemeinsam gelösten und wo langsamer. Die schnelleren werden als wins gezählt, die langsameren als losses, die gemeinsam nicht gelösten und die gleich schnell (in Sekunden im Shredder- Tabellen- Fall, gemessen werden aber auch von Shredder sehr wohl zumindest deci- seconds für die Summenzeiten TotTime und SolTime) oder gemeinsam nicht gelösten als draws. Diese Werte für wins, draws, losses gibst du z.B. in das von Frank Schubert besser als ElostatTS bekannte Programm EloStat ein (unter dem Menüpunkt Single competition werden diese Eingaben erwartet) dazu noch eine Zahl für  Av.Op. Elo (Average Opponent Elo) als Ausgangswert, und schwupps, hast du "echte" Elo fast direkt aus der Shredder- Auswertungstabelle gewonnen.
Ich hab' das hier

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=166185#pid166185

und etwas weiter oben in diesem Thread von damals etwas ausführlicher erklärt.

"Maßzahl": doch, die ist immer dieselbe, wenn sie denn Elo heißt, egal, ob du damit Schach- oder Fußball- Ranglisten erstellst (durchaus auch nicht ganz unüblich in anderen Sportarten als Schach, Elo zu berechnen), und wenn du sie dadurch ermittelst, wie viele Siege, Niederlagen und Remis es waren, die gezählt wurden, was alles als win, draw, loss gerechnet wird, darüber kann man unterschiedlicher Meinungen sein.
Dazu fällt mir mal wieder der alte Witz vom Schachspiel gegen die Taube ein:
Egal wie überlegen du spielst, am Ende wird sie immer auf und ab stolzieren, als hätte sie gewonnen, die Figuren umschmeißen und aufs Brett scheißen
Parent - - By Wolfram Bernhardt Date 2025-03-13 17:02
Hi Peter!

Finde ich alles super interessant.

Vergleiche können natürlich auch spannend sein, wenn es eigentlich keine .. tja.. "ineinander verhakende Interaktion" gibt. Bei Fussball interagieren die Spieler direkt, es gibt halt nur einen Ball für 22 Leute. Wie auch in einer Schachpartie.

Beim 100m-Lauf nicht - jeder hat sein Bahn und darf die der anderen auch nicht betreten. Nach links und recht zu gucken, ist natürlich trotzdem irgendwie auch Interaktion. Bei 5000m-Lauf dagegen nutzt man schnell dieselbe Bahn und es gibt Rempeleien etc.

Darts ist auch so ein Beispiel: Jeder spielt sein Spiel alleine, die Interaktion ist rein psychisch. Ich weiss gar nicht, wie das Wort dafür ist. "Einmischungsfrei"?

Man könnte das mit den Sat-Solvern auch noch schön gamifizieren und tatsächlich Matches machen: Sagen wir, das Testset hat 100 Aufgaben. Jeder Solver löst diese erstmal für sich. Ein Match besteht daraus, dass ein Solver seinem Gegner 50 beliebige der Aufgaben vorlegen kann - wohl die, die er selber am schwierigsten fand. So kann es zum klassischen "A schlägt B, B schlägt C, C schlägt A kommen". Das kommt mir spontan interessant und spannend vor.

Viele Grüße
     Wolfram
Parent - By Peter Martan Date 2025-03-13 17:46
Wolfram Bernhardt schrieb:

Beim 100m-Lauf nicht - jeder hat sein Bahn und darf die der anderen auch nicht betreten. Nach links und recht zu gucken, ist natürlich trotzdem irgendwie auch Interaktion.

Es handelt sich um einen sogenannten Wettlauf. Wenn du bei dem ein Ergebnis hast zum Schluss, das nur darin besteht, wer zuerst angekommen ist, warum willst du dann bei Schachaufgaben die Frage, wer sie schneller löst, nicht auch als Ergebnis zwischen den Teilnehmern gelten lassen?
Tatsächlich kommt's beim Spiel Mann gegen Mann oder Frau gegen Frau oder Maschine gegen Maschine im Schach ja auch immer darauf an, wer mit der Bedenkzeit, die zur Verfügung steht, besser auskommt, nein? Es hilft zum Beispiel nicht, wenn dein Fähnchen fällt, dass du da in eindeutiger Gewinnstellung bist, du hast trotzdem verloren.
Lassen wir's gut sein, darüber, dass es keine Rolle spielt, in welchen Einheiten die Performances gemessen werden, sind wir uns ja einig.
Parent - - By Guenter Stertenbrink Date 2025-03-13 16:36
Peter, jetzt uebertreibst Du.
Ja , es gibt Schwachstellen, es gibt bessere und schlechtere Tests.
Aber nicht  Übertragbarkeit=0, Transitiviät=0

Insgesamt ist es doch viel besser, als das was wir bei den SAT-Wettbewerben sehen , oder ?

das ganze posting ist mir im Moment zu lang, vielleicht spaeter ...
Parent - By Peter Martan Date 2025-03-13 16:49
Guenter Stertenbrink schrieb:

Peter, jetzt uebertreibst Du.
Ja , es gibt Schwachstellen, es gibt bessere und schlechtere Tests.
Aber nicht  Übertragbarkeit=0, Transitiviät=0

Richtik, hier hap' ich in pöser Apsicht üpertrippen, und quantitativ an Posting- Längen sowieso, man soll mir halt nicht immer wieder mit solchen Trigger- Themen kommen
- - By Peter Martan Date 2025-03-13 10:46 Edited 2025-03-13 11:03
Die jüngsten Versuche in derartige Richtungen sehen bei Ed Schröder so aus:

https://talkchess.com/viewtopic.php?p=975034#p975034

(MEA und NICE gibt's schon länger, die ursprünglich 80000 Stellungen, die er dann wieder auf 40000 reduziert hat, sind neu gesammelt und bewertet:

https://talkchess.com/viewtopic.php?p=975626#p975626

Mein Haupteinwand, den ich ihm im ersten Thread auch gleich dazu geschrieben habe, ist die zu geringe Hardware- Zeit zur Evaluierung der Stellungen, (10" single thread und MultiPV=4), ich hab' 10200 davon mit je 1 Minute Rechenzeit neu bewerten lassen von SF, aber um mehr als einen Stockfish- Simex- Test handelt es sich für mich halt dennoch nicht, was wohl auch der Grund ist, warum Ed in der Liste Stockfish selbst nicht führt, eine solche Liste gibt es hier:

https://rebel7775.wixsite.com/rebel/mrl

Man muss halt überhaupt auch immer wieder unterscheiden zwischen Tests, mit denen man den game playing results möglichst nahe kommen will (bei denen's ja allerdings auch mehr und mehr drauf ankommt, welche Teststellungen man ausspielen lässt mit welcher Hardware- TC und welche Engines mitspielen, e.g. ob mit oder ohne Lc0- Beteiligung gemessen wird,  so viele Starke wie es schon gibt, die einander so ähneln in ihren Zügen und in ihrer statistischen Performance) oder ob man blind spots aufdecken will, anhand von Stellungen, die die Engines (irgendwie ja sogar auch weniger und weniger, je mehr sie einander ähneln) im eng-eng-match nicht selbst aufs Brett bringen.
Parent - - By Guenter Stertenbrink Date 2025-03-13 11:47
auch der Test selber muss getestet und verbessert werden ...

Welche Teststellungen geeignet sind wird anhand der Korrelation der Loesungs-evals zu den Elozahlen der Loeser
abgeschaetzt.

Ich wuerde leichte und schwere Stellungen mit langer Rechenzeit mit reinnehmen, aber deutlich mehr leichte.
Das genaue Verhaeltnis wird auch nach obigem Prinzip abgeschaetzt.

Es gab doch mal vor >5 Jahren auch so ein Projekt hier von einem
Schweizer , das sah sehr gut aus.

Ich wuerde abschaetzen, dass so einem System mit Stellungstypen-Rating die Zukunft gehoert.
Parent - - By Peter Martan Date 2025-03-13 12:12 Edited 2025-03-13 12:53
Guenter Stertenbrink schrieb:

auch der Test selber muss getestet und verbessert werden ...

Naja, mein erster Schritt (mit seinen NICE- Stellungen, MEA- Suiten als solche baue ich schon ewig lang die verschiedensten von klein für längere TC bis sehr groß und VSTC) war eben, mal die Hardware- Zeit zu verlängern, mit der SF die Stellungen im MultiPV- Modus neu bewertet hat, an 1 Minute/pos. für 10200 Stellungen war die Hardware ohnehin ziemlich lang beschäftigt, und das war nicht single thread sondern jeweils mit 30 Threads der 16x3.5GHz CPU, die Ergebnisse gefallen mir schon etwas besser als die mit NICE selbst, vor allem kann man dann, wenn da der Unterschied zwischen Hardware- TC der Evaulierung und dem Testrun doch ein ziemlich großer ist, die Engine, mit der evauliert wurde, dann im direkten Vergleich auch wieder mitspielen lassen, das Prinzip von Simex bleibt aber dennoch dasselbe.
Zitat:

Welche Teststellungen geeignet sind wird anhand der Korrelation der Loesungs-evals zu den Elozahlen der Loeser
abgeschaetzt.

Ich wuerde leichte und schwere Stellungen mit langer Rechenzeit mit reinnehmen, aber deutlich mehr leichte.
Das genaue Verhaeltnis wird auch nach obigem Prinzip abgeschaetzt.

Das ist der Knackpunkt jeder Sammlung, für welche Engines mit welcher Fragestellung man sie zusammenstellt, ob's Stellungen sein sollen, die die Engines auch selbst aufs Brett bringen, das ist jetzt bei NICE wieder der typische Fall, soweit ich weiß, stammen die (Stellungen) so ziemlich alle aus Eng-Eng-Partien, oder ob man bei den klassischen single best move positions Züge suchen lassen will, die nicht ohne eine gewisse Hardware- Zeit (noch dazu möglichst aus den "richtigen Gründen" und mit passender Eval) zu lösen sind. Swaminathan und Corbit haben seinerzeit mit der Strategic Test Suite die Methode, Stellungen, die keinen einzelnen eindeutigen single game changer haben, sondern mehrere ähnlich gute Züge mit verschieden vielen Punkten belohnt bekommen und "strategisch" zu bewerten sind, damals schon typischer Weise sozusagen aus der statischen Eval heraus, mit so kurzer TC, dass die Engines gar nicht recht zum Rechnen kamen, dieses Prinzip hat Schröder dann mit seiner ersten Neufassung des STS für MEA wieder aufgegriffen, von Simex hat er auch eine neuere Version des Tools von Larry Kaufman gebaut und NICE war auch damals schon ein weiteres solches (Tool).
Zitat:

Es gab doch mal vor >5 Jahren auch so ein Projekt hier von einem
Schweizer , das sah sehr gut aus.

Du meinst vermutlich Walter Eigenmanns Eret (Eigenmann Rapid Engine Test), ein echter Meilenstein des Stellungstests mit Suiten, ich habe diese Sammlung (teilweise auch mit MEA- Punkten in der ep.- Syntax) auch immer noch in paar größeren drin, oder jedenfalls Teile davon zur jeweilgen TC passend, die (TC) ist halt heutzutage sinnvoller Weise viel kleiner als damals, als Walter die Suite zusammentrug. Das Tüpfelchen auf dem I, aber eigentlich mehr als das, weil ein wesentlicher Teil der statistischen Aussagekraft daher kommt, dass dann nicht nur die Zahl der Lösungen, sondern die genaue time to solution von Stellung zu Stellung Engine- run zu Engine- run verglichen wird und in echte WDL- Elo aus lauter einzelnen Minimatches der runs umgerechnet, war und ist das Programm EloStatTS vom selben Autor wie EloStat selbst (TS für Test Suite), von Frank Schubert. Siehe z.B. hier und im restlichen Thread dieses Subforums

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=147704#pid147704

, sowie später die Blog- Einträge von Frank Sanders wie z.B. hier:

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=161456#pid161456

und in anderen Threads dieses Blogs.
Übrigens versuche ich Frank, der schon mehrere weitere interessante Tools zur Auswertung von Testsuiten gebaut hat, gerade wieder aufzustacheln, eines, das die genaue time to solution von Stellung zu Stellung und Engine zu Engine als Basis der Gesamtperformance heranzieht, also nicht nur als Summenwerte, sondern im direkten Stellungs- Engine- Engine- Vergleich, ähnlich der EloStatTS- Methode. Mal sehen, ob und wann daraus vielleicht auch was wird.

Ansonsten ist für mich auch eine ganz guter Behelf, die Diskrimination von Engines, die nahe beisammen liegen, dadurch zu erhöhen, dass Werte wie die, die das Shredder- GUI zu Auswertungen abgibt, zusätzlich herangezogen werden, diese heißen dort (bei Shredder) "TotTime" (die die ganze Suite mit der Engine gedauert hat) und SolTime (die die gelösten Stellungen in Summe gebraucht haben). Zahl der Lösungen durch SolTime ist ein Index, der bei mir dann z.B. sol/sec heißt, solutions per second, wenn's viel mehr Lösungen als Sekunden sind, bei den LTC- Suiten rechne ich statt dessen sec/sol aus, Sekunden pro Lösung
Parent - - By Guenter Stertenbrink Date 2025-03-13 16:43
klingt schon anders als oben.

poll: (geht das hier ?)

wer glaubt, dass in 50 Jahren die am meisten zitierten "Elo" oder anders genannten
Ratinglisten auf Stellungstests basieren und nicht aus Partien ?
Parent - By Andreas Mader Date 2025-03-13 18:14
Ist das nicht schon jetzt der Fall?
Up Topic Hauptforen / CSS-Forum / Computerschach-Tests vs. SAT-solver-Tests

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill