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/mrlDie 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.pdfeine 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