Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / Blogs / Positionstests für Schachprogramme
- - By Frank Sanders Date 2023-02-05 12:32 Edited 2023-02-05 21:02
Zitat:
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 21:53 Edited 2023-02-05 22:10
Ich habe das Ausgangsposting wiederholt, damit, falls überhaupt, jemand der in drei oder vier Monaten hereinschaut den Ausgangspunkt kennt, weil das Originalposting im Hauptforum schon auf Seite 4 ist.

Ich werde jetzt versuchen zu den einzelnen Punkten die angesprochen wurden meine Gedanken zu formulieren.

Zeiteinteilung von lc0. Mir ist aufgefallen, dass wenn ich mit lc0 1000ms teste, die Stellungen viel zu schnell abgearbeitet werden. Ich schreibe mir daher immer am Ende der BAT Datei das Wort "Pause". Dann verschwindet die Eingebeaufforderung nicht, sondern zeigt die verbrauchte Gesamtzeit mit einem zusätzlichen Kommentar zum Zeitverbrauch an z.B. "bad" oder " "good". Wenn ich lco dann bei einem 1000ms Durchlauf mit ca 1800ms laufen lasse, hat sie am Ende ungefähr genauso viel Zeit wie die anderen Programme verbraucht.

Warum Mosca gerade Positionen mit 0,10 Unterschied zwischen MultPV1 und MultiPV2 weggelassen hat ist mir auch nicht ganz ersichtlich.

Dass es einen Unterschied macht ob z.B. MultiPV1 0,20 und MultiPV2 0,33 oder MultiPV1 1,80 und MultiPV2 1,93 sehe ich auch so. Der Abstand ist zwar immer 0,13, aber eben von einem anderen Grundwert ausgehend.

Wenn deine Testsets oder auch andere eh schon sehr genau bestimmen können, wie weit neue Versionen besser sind als die alten, wo sie ungefähr in den Listen liegen werden, wo die Stärken der einzelnen Programme sind,...dann braucht man eigentlich keine neuen entwickeln. (Außer vielleicht am Spaß an der Freude es zu tun).

Eines ist mir auch noch eingefallen, es gibt in Youtube ein Interview mit Meyer-Kahlen

https://www.youtube.com/watch?v=FDrfWTTyQZ8

Gleich das Eingangsstatement ist interessant. Vielleicht wird es mit den Testsets  auch einmal so? Das Eingangsstatement wird später noch genauer ausgeführt (ca. Min 27).

Die Stefan Pohl Liste hat schon keine Elo mehr sondern einen EAS Score.

Welche lc0 Kombination ist die derzeit beste? Diese Frage kann wohl niemand mehr beantworten, auch nicht die Entwickler.

P.S.: Bei mir zeigt der Link

https://sites.google.com/site/strategictestsuite/

nur eine leere Seite an. In allen Browsern und auch auf meinem iPad.

Und wenn man hier ein Bild zeigen will, muss man es dann woanders hosten und gibt es einen Platz wo man das kostenlos tun kann?
Parent - - By Peter Martan Date 2023-02-05 23:46 Edited 2023-02-05 23:59
Frank Sanders schrieb:

Ich habe das Ausgangsposting wiederholt, damit, falls überhaupt, jemand der in drei oder vier Monaten hereinschaut den Ausgangspunkt kennt, weil das Originalposting im Hauptforum schon auf Seite 4 ist.

Schon klar, passt schon.
Die Idee, zum Blog zu wechseln war überhaupt gut.
Frank Sanders schrieb:

Zeiteinteilung von lc0. Mir ist aufgefallen, dass wenn ich mit lc0 1000ms teste, die Stellungen viel zu schnell abgearbeitet werden. Ich schreibe mir daher immer am Ende der BAT Datei das Wort "Pause". Dann verschwindet die Eingebeaufforderung nicht, sondern zeigt die verbrauchte Gesamtzeit mit einem zusätzlichen Kommentar zum Zeitverbrauch an z.B. "bad" oder " "good". Wenn ich lco dann bei einem 1000ms Durchlauf mit ca 1800ms laufen lasse, hat sie am Ende ungefähr genauso viel Zeit wie die anderen Programme verbraucht.

Das mit der Zeiteinteilung verschiedener Engines ist mir auch schon aufgefallen, dass der Unterschied bei lc0 so groß ist, hätte ich nicht gedacht, wird vielleicht auch nicht bei jeder Vorgabe gleich sein, das mit dem Pause- Befehl muss ich auch mal probieren. Ansonsten könnte man sich natürlich auch immer ein log-file schreiben lassen.
Frank Sanders schrieb:

Wenn deine Testsets oder auch andere eh schon sehr genau bestimmen können, wie weit neue Versionen besser sind als die alten, wo sie ungefähr in den Listen liegen werden, wo die Stärken der einzelnen Programme sind,...dann braucht man eigentlich keine neuen entwickeln. (Außer vielleicht am Spaß an der Freude es zu tun).

Dazu haben wir einen wesentlichen Punkt noch nicht ganz so weit, dass wir uns über ihn einig wären, glaube ich. Während du mir immer noch davon auszugehen scheinst, dass "besser", "Listen", "Stärken," Begriffe sind, die sich als als etwas von Verbindlichkeit, Allgmeingültigkeit und Übertragbarkeit behandeln lassen, ist das nach wie vor mein Punkt, an dem ich mich seit Jahr und Tag quanitativ aufreibe: natürlich kann man die Dinge so weit vereinfachen, dass man sagt, ja, in dieser und jener Liste steht alles drin, was mich an Spielstärkenvergleich zwischen allen modernen Engines interessiert, aber wenn ich das so einfach sehen wollte, würde ich halt heutzutage gleich sagen: ja, weil die Unterschiede zwischen den Engines, die da die ersten (Hausnummer) 20 Plätze innehaben,  mittlerweile schachlich schon so klein sind, dass es eigentlich wirklich egal ist, ob jetzt die eine oder die andere die Nase vorn hat, und dann würde ich auch sagen, die Spielstärketests zeigen alle dieses selbe Bild, was die Engines angeht. Was da noch an weiterer Elospreizung (oder gleich einer Vervielfachung der Messwerte, man könnte auch Centielo einführen, macht denselben Faktor 100 an Spreizung, ohne, dass man an den Testumgebungen auch nur irgendwas sonst ändern muss)  noch weitere Entwicklung als Messerfolg zeigt, von dem spielt es schon deshalb keine Rolle mehr, wieviel er mit dem Fortschritt, der vielleicht wirklich noch dahintersteht und theoretisch auch viel größer sein könnte, als man ihn misst, wieviel dieser Messerfolg mit dem wirklichen Fortschritt noch zu tun hat, das ist ab dem längst erreichten Zeitpunkt irrelevant, ab dem es allein schon von der Zahl der ähnlich starken Engines mit der noch so kurzen Hardware- Zeit der Partien und Stellungstests nicht mehr schnell genug geht, Messergebnisse zu liefern, die durch Remis- und 1:1- Tod daran gehindert werden, noch in die statistische Relevanz kommen. Nicht genug Testergebnisse in der Zeit, die man bräuchte, um mit dem Messen mit der Entwicklung neuer Engines und neuer Netze Schritt zu halten. Spätestens ab diesem Zeitpunkt würde ich auch sagen, ok, die Tests liefern alle dieselben Ergebnisse, egal wie man sie macht und welche Engines man mit welchen auf welche Art vergleicht.
Und was der Mensch spielt, hat damit sowieso schon lange nichts mehr zu tun.

Das wäre ein Art der Vereinfachung der Sicht von "Spielstärke", der ich durchaus zustimmten könnte, aber alles, was die Sache weniger einfach sieht, bedarf der der Erkenntnis, dass man jedwede andere genauere Unterscheidung zwischen Engines heutzutage (schon länger) nicht mehr als etwas behandeln kann, wovon es egal ist, wie es gemessen wird. Und dass jedes genauere Ergebnis als das, es sind alle praktisch gleich stark und man kann von keiner der starken mehr sagen, wie groß der Fortschritt, den sie vielleicht noch macht, eigentlich ist, dass jedes solche andere (hoffentlich auch genauere) Ergebnis ganz für sich allein steht.
Sorry, ist aber halt so

Aber mal von solchen Sophismen wieder abgesehen, würde ich im Wesentlichen eh auch einfach sagen, ja Tests haben wir genug, wir müssen uns keine neuen mehr ausdenken. So gesehen ist die LAN-5-Version vom STS durchaus ausreichend, wenn man nichts Anderes will als ein ungefähres Abbild von einer bestimmten Art von game playing. Aber wie du schon bei der Ungenauigkeit dessen gesehen hast, was verschiedene Engines aus der Zeit- Vorgabe machen, wenn wir mehr als nur dieses und jenes ganz ungefähr wissen wollen, dann gäbe schon noch diese und jene kleine oder große Verbesserung, und dann muss man auch bedenken, dass die Evals, die jetzt für Moscas STS- Set herangezogen worden sind, von SF 15 sind, jetzt ist aber schon SF 15.1 aktuell.
Was wäre, wenn wir als Fortschritt überhaupt daran gingen, nur mehr Verbesserungen der Aussagekraft von Evals an und für sich gelten zu lassen? Wenn wir jetzt daran gehen, die Engines auch gleich an den Evals anderer Engines zu messen, sollten wir dann nicht zumindest die Änderungen dieser Evals über die Zeit und die Enwicklung der Engines und der Netze genauer zu beobachten? Und dann müsste man spätestens bei SF 16 den mit SF evaluierten STS auch neu bewerten.

Mir geht vor allem eine Art der Elo- Umrechnung ab, wie sie EloStatTS macht. Die Minimatches zwischen je 2 Engines bei jeder Stellung als win draw loss- Wertung, bei der's Remis praktisch nur bei Stellungen gibt, die von beiden miteinander Verglichenen nicht gelöst werden, das ist schon etwas anderes vom Prinzip her, als das alleinige Vergleichen mit einem (ja doch willkürlich geeichten) fixen Score der Stellungen.
Frank Sanders schrieb:

Die Stefan Pohl Liste hat schon keine Elo mehr sondern einen EAS Score.

Das sind verschiedene Listen, die mit dem EAS-Tool erstellte ist nur eine.
Von der ersten Site

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

kommt man mit dem Untermenü links zu

https://www.sp-cc.de/eas-ratinglist.htm

Frank Sanders schrieb:

Welche lc0 Kombination ist die derzeit beste? Diese Frage kann wohl niemand mehr beantworten, auch nicht die Entwickler.

Da sind wir wieder beim springenden Punkt: diese Frage kann man auf so viele Arten beantworten, wie man Tests hat. So viele Antworten wie Tests, was ihre Stellungen angeht (ausgespielt oder nicht ausgespielt),  was die Vergleichsengines und die Hardware- TC angeht.
Frank Sanders schrieb:

P.S.: Bei mir zeigt der Link

<a class='urs' href='https://sites.google.com/site/strategictestsuite/'>https://sites.google.com/site/strategictestsuite/</a>

nur eine leere Seite an. In allen Browsern und auch auf meinem iPad.

Bei mir ist da die erste Seite, die nur als Überschrift Downloads ankündigt mit dem kleinen Text
Zitat:

Please navigate through the links below to find the downloads for each one of the test suites.

darunter und links hat man die Auflistung der Unterseiten.
Frank Sanders schrieb:

Und wenn man hier ein Bild zeigen will, muss man es dann woanders hosten und gibt es einen Platz wo man das kostenlos tun kann?


Ich finde die hier

https://postimages.org/

ganz praktisch.
Parent - - By Frank Sanders Date 2023-02-06 14:41
Wenn ich es richtig verstanden habe geht es um die Fragen "Warum und Was testen?"

Die Ergebnisse von Listen, Schachtests, Computerturnieren,... sind denke ich nur mehr für Leute interessant, die ein Schachprogramm entwickeln, oder die sich fürs Computerschach interessieren.

Mich interessiert dabei folgendes, wenn eine neue Version eines Programms erscheint zu erfahren wie groß der Fortschritt allgemein ist, und wenn es noch möglich wäre zu definieren worin genau der Fortschritt besteht (besseres Endspiel, Aggressivität,...) dann noch besser.
Dann interessiert mich, wenn ein neues Programm angekündigt wird, wo es ungefähr einzuordnen ist, und wenn möglich, worin seine Stäken oder auch Schwächen liegen.

Du sagst jetzt, diese allgemeinen Aussagen, kann man zwar machen, aber sie gehen an der Wirklichkeit vorbei, weil viele Programme so dicht beieinander liegen, dass sie nicht viel aussagen. Vielmehr müsste man ganz genau, ganz bestimmte Test ausführen und kann dann über den genau bestimmten Bereich etwas aussagen.

Für mich hat aber ein Test dann Sinn wenn er von Besonderen (dem Test) auf das Allgemeine schließen lässt (z.B. Endspielstärke). Wenn ich das zu sehr einenge, fällt das Allgemeine weg. Ich übertreibe es jetzt einmal, aber wenn ich Programm X mit diesem EvalFile auf so und soviel Threads und diesem Hash und jener Bedenkzeit diese Stellung gebe und am Ende nur aussagen kann, dass Programm x mit diesem EvalFile auf so und soviel Threads und diesem Hash und jener Bedenkzeit diese Stellung so löst, dann habe ich nichts gewonnen. Dann habe ich das Besondere genau untersucht, aber was ist der Allgemeine Schluss daraus?

Danke für den Postimage Link, bei mir schaut die seite so aus

Parent - - By Peter Martan Date 2023-02-06 15:52 Edited 2023-02-06 16:06
Frank Sanders schrieb:

Die Ergebnisse von Listen, Schachtests, Computerturnieren,... sind denke ich nur mehr für Leute interessant, die ein Schachprogramm entwickeln, oder die sich fürs Computerschach interessieren.

Mich interessiert dabei folgendes, wenn eine neue Version eines Programms erscheint zu erfahren wie groß der Fortschritt allgemein ist, und wenn es noch möglich wäre zu definieren worin genau der Fortschritt besteht (besseres Endspiel, Aggressivität,...) dann noch besser.
Dann interessiert mich, wenn ein neues Programm angekündigt wird, wo es ungefähr einzuordnen ist, und wenn möglich, worin seine Stäken oder auch Schwächen liegen.

Du sagst jetzt, diese allgemeinen Aussagen, kann man zwar machen, aber sie gehen an der Wirklichkeit vorbei, weil viele Programme so dicht beieinander liegen, dass sie nicht viel aussagen. Vielmehr müsste man ganz genau, ganz bestimmte Test ausführen und kann dann über den genau bestimmten Bereich etwas aussagen.

Für mich hat aber ein Test dann Sinn wenn er von Besonderen (dem Test) auf das Allgemeine schließen lässt (z.B. Endspielstärke). Wenn ich das zu sehr einenge, fällt das Allgemeine weg. Ich übertreibe es jetzt einmal, aber wenn ich Programm X mit diesem EvalFile auf so und soviel Threads und diesem Hash und jener Bedenkzeit diese Stellung gebe und am Ende nur aussagen kann, dass Programm x mit diesem EvalFile auf so und soviel Threads und diesem Hash und jener Bedenkzeit diese Stellung so löst, dann habe ich nichts gewonnen. Dann habe ich das Besondere genau untersucht, aber was ist der Allgemeine Schluss daraus?

Danke für den Postimage Link, bei mir schaut die seite so aus

Ich mache meine Tests auch hauptsächlich zum Vergleich von sehr nahe beisammen liegenden Engines, Versionen, Branches, Settings und Netzen, die anders (mit game playing) praktisch nicht vergleichbar sind unter 2000, 3000 Partien, es sei denn mit sehr sehr kurzen TCs, die dann ihrerseits auch wieder kaum auf Matches mit längeren TCs übertragbar sind.

An den Wirklichkeiten, wie sie der Buddhist zum Unterschied von der Wahrheit sieht, geht nichts vorbei, was wahr wirkt, im Sinne von einer bestimmten Wahrnehmung, die sich überprüfen und vermitteln lässt, sagen wir, an der statistischen Relevanz eines Ergebnisses als Beispiel verwendet, geht kein Ergebnis, das auf methodisch richtige Art erreicht wird und genug Datenmaterial richtig ausgewertet bekommen hat, "an der Wirklichkeit vorbei". Was man gern hinter den vielen Wirklichkeiten (Ergebnissen) sähe, wäre die eine absolute Wahrheit der overall playing strength, des "wahren Elo- Wertes", von dem sich Diejenigen, die an ihn glauben, eine Übertragbarkeit auf andere Ergebnisse erwarten würden.
Diese overall playing strength gibt es nur als Vorstellung, nicht als überprüfbare und schon gar nicht als messbare Realität, sie ist beim Schach ein Elosion, beim Buddhisten das, was man hinter den Wirklichkeiten der erdgebundenen Existenzen zwar vermuten und sich vorstellen, es aber auch nicht direkt wahrnehmen kann, sei man noch so erleuchtet

Das jetzt noch ein letztes Mal als Ausflug in die Esoterik des (Computer)Schachs und jetzt zurück zu dem, was wir messen können und was es uns sagt oder zumindest sagen kann, wenn wir's richtig interpretieren. Wenn ich einen Test mit lauter Endspiel- Stellungen mache, egal, ob ich die alle ausspielen lasse (warum nicht, Thementurnier) oder als Suite laufen lasse, dann sagt mir der, wenn ich die richtigen verwendet habe und die richtige TC und ihn richtig auswerte, wie die Engines, die ich teste (ob in der Suite oder durch Partien) im Vergleich zueinander damit umgehen.
Mehr wird's nicht, Frank, da kannst du dann an weiteren Schlüssen daran anknüpfen, was du willst, du kannst durchaus vermuten, dass die "Endspielstärke", die du mit deinem Test (ja auch nur als Ausschnitt der größeren Wirklichkeit Endspielstärke, die man ihrerseits schon wieder als Wahrheit sehen müsste, die man nicht mehr insgesamt messen kann) gemessen hast, irgendwas mit der "taktischen", "positionellen", "allgemeinen" Spielstärke der Engines zu tun hat, aber wissen kannst du das nach dem einen Test allein nicht. Du wolltest ja auch was Spezielleres wissen, oder? Sonst hättest du anderes Stellungen nehmen sollen.

Bei deinem Screenshot fehlt mir das auf der linken Seite (vielleicht am Ausschnitt vom Bildschirm abgeschnittene?) zum Text, den ich gestern auch schon zitiert habe, passende Auswahlmenü an Unterseiten, auf denen die einzelnen Motive und runterladbaren Blöcke der Suite anzuwählen sind.



Ich hab's jetzt mit dem "Vorschaulink für Foren" reinkopiert, der "Direktlink" braucht unnötig viel Platz hier, durch Draufklicken kann ihn dann der Leser vergrößern, damit möglichst viel vom Wichtigen vom Screenshot aufs kopierte Bild kommt, bearbeite ich es im Ausschnitt vor dem Hochladen auch noch immer mit Paint.
Und weil ich gerade dabei war:



Der Enspieltest ist auf 178 angewachsen, weil der eh noch sehr schnell durchläuft, hab' ich deinen Vorschlag mit dem Pause- Befehl mal bei allen Runs von heute ausprobiert, alle bekommen ein "Good" bei der time allocation, tatsächlich hakt's hingegen bei LC0 ganz ordentlich, wie du auch schon geschrieben hast.
Ich hab' (siehe Screenshot) sowohl das 325er als auch das 784968er Netz (siehe auch Stefan Pohls jüngste LC0- Liste) sowohl mit 500 als auch mit 1000msec laufen lassen, welches Netz es ist, macht keinen (kaum einen) Unterschied, aber MEA schreibt bei den beiden Zeiten tatsächlich so ziemlich die Hälfte von dem, was erwartet würde an tatsächlich verbrauchter Zeit an, bei 500msec:

Zitat:
Time allocation  : BAD!! spending less time
at < et - mt
ExpectedTime     : 89.0s
ActualTime       : 42.1s
MarginTime/pos   : 0.1s
MarginTime       : 22.2s


und bei 1000:

Zitat:
Time allocation  : BAD!! spending less time
at < et - mt
ExpectedTime     : 178.0s
ActualTime       : 81.6s
MarginTime/pos   : 0.2s
MarginTime       : 35.6s


Das waren jeweils die 784968er- runs, wie gesagt, die mit BT2 waren praktisch gleich.
Muss also am (selben) Compile und seinem Zeitmanagement liegen, man wird sich bei LC0 jedes neue Compile (sicherheitshalber auch jedes neue Netz) einmal in Hinblick auf den tatsächlichen Zeitverbrauch anschauen müssen, und bei diesem einen Test, auf den's einem ankommt, die Zeit jeweils relativieren, bei den nur 178 Stellungen hier mal wirklich ziemlich verdoppeln, damit's dem entspricht, was man eigentlich messen will.
Wieder genug für jetzt.
Parent - By Frank Sanders Date 2023-02-06 21:35
Wie machens denn die Menschen?

Nach deiner Definition kennen wir die overall playing strength von Carlson nicht. Vielleicht hat Liren Ding eine höhere overall playing strength, wer will das schon messen?

Aber was macht das, die Menschen spielen gegeneinander und der der die meisten Partien und gegen die stärksten Kontrahenten gewinnt, ist der stärkste Schachspieler. So machen es auch die Engine-Engine Tester, wer am meisten gewinnt ist ganz oben, wer dauernd verliert ist unten. Carlson hat vielleicht ganz andere Stärken und Schwächen als sie Kramnik hat. Für die FIDE Weltrangliste spielt das keine Rolle, da zählen nur die Ergebnisse der Partien der Teilnehmer untereinander.
So ist es auch bei den Computerlisten. Ob diese Listen etwas über die Spielstärke der einzelnen Teilnehmer etwas aussagen oder nur eine reine Ergebnistabellen sind, darüber kann man nachdenken.

Wenn ich mehr über die Stärken der einzelnen Spieler wissen möchte, könnte ich Carlson 100 Positionen mit schweren Endspielen vorlegen und dann Liren Ding, und nach der Auswertung feststellen, Carlson ist im Endspiel so und soviel besser als Ding. Das gilt aber nach deiner Definition wiederum genaugenommen nur für diese 100 Positionen.

Ich sehe das Testen der Programme eher als Abkürzung, dass ich eben nicht 5000 Partien spielen muss um festzustellen, die neue Igel Version ist deutlich besser, wahrscheinlich wird sie sich in der Liste um 5 Plätze verbessern.
Anderen geht es vielleicht gar nicht mehr um diese Ranglistenstärke, die sagen mich interessieren Programme die aggressiv spielen, darum mache ich mir einen Test der mir hilft diese Programme zu finden.

Bei der STS Homepage kann ich das Seitenmenü öffnen, aber wenn ich einen Punkt anklicke z.B. "10. Simplification" komme ich nur eine Seite weiter, kann aber nicht herunterladen, da ich kein Google Konto habe. Und dafür werde ich mir auch keines zulegen.

P.S.: Ich habe ab morgen Vormittag für drei Tage kein Internet. Eine etwaige Antwort kann daher dauern.
Parent - - By Frank Sanders Date 2023-02-12 17:18
Ein letztes Statement zu den Listen. Wenn ich vier verschiedene Ranglisten habe, und die mit verschiedenen Eröffnungsbüchern spielen, und mit verschiedenen Zeiten, und mit verschiedenem Hash, und mit verschiedenen MultiPV, und mit verschiedener Hardware, und am End ist ist immer das gleiche Programm die Nummer eins, dann kann ich schließen, das dieses Programm auch die beste allgemeine Spielstärke hat. Das gilt selbstverständlich nur so lange, bis jemand kommt und das Gegenteil beweist.
Mein nächster Eintrag wird nur von Testpositionen handeln.
Parent - - By Peter Martan Date 2023-02-12 17:30 Edited 2023-02-12 17:34
Du hast einersseits recht, dass du nicht viel falsch machen wirst. so lange du mit deinen Matches immer dieselbe Nr. 1 kriegst (was aber natürlich auch schon mal voraussetzt, du lässt diese Engine immer mitspielen ), was aber die Reihung weiter unten angeht, wird's schon nach dem 3. Platz immer weniger klar, es wird immer mehr drauf ankommen, wer mitspielt (z.B auch an Branches und Settings und Netzen) und so weit kommst du ja mit den halbwegs ans game playing angepassten Stellungstests auch locker.
Wenn du jetzt hingegen noch wissen willst, um wieviel welche Engine in welchem Match besser abschneidet, dann wird's knifflig, und ob du Selfplay- Elo so werten sollst, wie Ranglisten- Elo, davon wollen wir gar nicht anfangen.
Ist dir schon aufgefallen, dass es mehr und mehr Ranglisten gibt, die ohne LC0 geführt werden und dafür andere eigene, bei denen's mitspielt?
Und jetzt wieder zu deinen Teststellungen
Parent - - By Frank Sanders Date 2023-02-26 17:17
Jetzt noch ein Beitrag zum Stellungstesten. Wie oft sollte man denn den Testdurchlauf wiederholen, damit man ein relevantes Ergebnis bekommt?

Dazu habe ich vier Programme (Stockfish, Dragon, Rebel und Shash) jeweils ein Testset mit 324 Testpositionen mit 100ms durchlaufen lassen. Aber nicht einmal, sondern einhundert mal.

Zunächst die extremen Ergebnisse:

Stockfish bester Durchlauf: 184 gefunden     schlechtester Durchlauf: 165 gefunden
Dragon    bester Durchlauf: 180 gefunden     schlechtester Durchlauf: 156 gefunden
Shash      bester Durchlauf: 190 gefunden     schlechtester Durchlauf: 163 gefunden
Rebel       bester Durchlauf: 171 gefunden     schlechtester Durchlauf: 151 gefunden

Wenn es ganz blöd läuft findet Z.B. in einem Durchlauf  Rebel 171 Lösungen, Dragon aber nur 156.  Shash 190 und Stockfish nur 165. Usw.

Wie schaut es jetzt mit den 98 Werten dazwischen aus?

Hier verteilen sich die jeweils gefunden Lösungen relativ linear zwischen den beiden Extremwerten, wie man auf folgende Graphik sehen kann:



Da die Spitzenprogramme aber sehr nahe beieinander liegen ist es nicht irrelevant ob bei, sagen wir 300 Positionen, 170 oder 180 gefunden werden.
Damit zurück zu meiner Eingangsfrage, oft sollte man den Testdurchlauf wiederholen, damit man ein relevantes Ergebnis bekommt?
Parent - - By Frank Sanders Date 2023-03-01 10:11
Hier noch ein Nachtrag. Ich hatte gedacht, dass die großen Unterschiede wahrscheinlich der kurzen Bedenkzeit geschuldet sind. Ich habe darum noch einen Durchlauf mit Rebel 16.2 und Dragon 3.2, einer Sekunde Bedenkzeit und 20 Partien gemacht. Die Ergebnisse sind:

Rebel 16.2 bester Durchlauf 181 gefunden    schlechtester Durchlauf 164 gefunden
Dragon 3.2 bester Durchlauf 184 gefunden   schlechtester Durchlauf 168 gefunden.

Auch durch die Verlängerung auf eine Sekunde Bedenkzeit sehe ich keine Veränderung der Ergebnisse.
Parent - By Chess Player Date 2023-03-01 11:27 Edited 2023-03-01 11:30
Vergiß eines nicht: du hast wahrscheinlich die Firma "klein und weich" mit an Bord!

Horch und Guck ist nicht noch nicht vorbei.
Parent - By Frank Sanders Date 2023-03-02 18:41
Und noch ein Nachtrag, da ich mir dachte vielleicht wird die große Anzahl unterschiedlicher Züge durch das Multiprozessoring ausgelöst. Ich habe daher 50 Durchläufe mit 100ms mit nur einer CPU gemacht. Interessanterweise ist das Ergebnis fast noch extremer:

Rebel 16.2 bester Durchlauf 172 gefunden    schlechtester Durchlauf 153 gefunden
Dragon 3.2 bester Durchlauf 177 gefunden   schlechtester Durchlauf 153 gefunden

Vielleicht ist es wie beim Partientesten, man braucht einfach eine gewisse Anzahl von Durchläufen um etwas aussagen zu können.
Parent - - By Stefan Pohl Date 2023-02-07 08:14 Edited 2023-02-07 08:23
Frank Sanders schrieb:


Mich interessiert dabei folgendes, wenn eine neue Version eines Programms erscheint zu erfahren wie groß der Fortschritt allgemein ist, und wenn es noch möglich wäre zu definieren worin genau der Fortschritt besteht (besseres Endspiel, Aggressivität,...) dann noch besser.
Dann interessiert mich, wenn ein neues Programm angekündigt wird, wo es ungefähr einzuordnen ist, und wenn möglich, worin seine Stäken oder auch Schwächen liegen.


Dazu empfehle ich den Blick auf meine EAS-Rangliste...
https://www.sp-cc.de/eas-ratinglist.htm

Hier werden die Engines nach Spielstil "gerankt", also nach Aggressivität. Und das wird auch in mehrere Kategorien prozentual aufgeschlüsselt (Opfer, Kurzsiege, schlechte Remisen und durchschnittliche Länge der Gewinnpartien insgesamt) und so mit Punkten versehen.
Im komplette Textfilfe gibt es unter der EAS-Liste noch die zweite EAS-Liste mit noch genauerer Aufschlüsselung (Prozentwerte der höher- und niedrigerwertigen Opfer etc.)
https://www.sp-cc.de/files/statistics_eas_ratinglist.txt

Hier läßt sich der Spielstil eine Engine sehr genau beurteilen... Das wird man mit Stellungstests nicht so hinbekommen. Denn die EAS-Auswertung erfolgt ja mit den gespielten Partien meiner SPCC-Rangliste und das heißt ja, daß jede Engine mindestens 7000 Partien gespielt hat(!)

Meine Full-ratinglist hat natürlich auch eine EAS-Rangliste im Angebot (direkt unter der full ratinglist (alle Engines/Versionen ab 2020)):
https://www.sp-cc.de/files/spcc_full_list.txt

Das EAS-Tool ist, wie alle meine Tools und Daten, natürlich gratis zur Eigennutzung:
https://www.sp-cc.de/files/engines_aggressiveness_statistics_tool.7z

(In der ReadMe des Downloads wird auch das (recht komplexe) EAS-Scoring-System genau erklärt...). Ganz nebenbei gibt das EAS-tool auch noch in einzelnen pgn-files die Opferpartien und Kurzsiege aus, die man sich dann anschauen kann...
Parent - By Peter Martan Date 2023-02-07 09:51 Edited 2023-02-07 10:51
Stefan Pohl schrieb:

Frank Sanders schrieb:


Mich interessiert dabei folgendes, wenn eine neue Version eines Programms erscheint zu erfahren wie groß der Fortschritt allgemein ist, und wenn es noch möglich wäre zu definieren worin genau der Fortschritt besteht (besseres Endspiel, Aggressivität,...) dann noch besser.
Dann interessiert mich, wenn ein neues Programm angekündigt wird, wo es ungefähr einzuordnen ist, und wenn möglich, worin seine Stäken oder auch Schwächen liegen.


Dazu empfehle ich den Blick auf meine EAS-Rangliste...
<a class='ura' href='https://www.sp-cc.de/eas-ratinglist.htm'>https://www.sp-cc.de/eas-ratinglist.htm</a>

Hier werden die Engines nach Spielstil "gerankt", also nach Aggressivität. Und das wird auch in mehrere Kategorien prozentual aufgeschlüsselt (Opfer, Kurzsiege, schlechte Remisen und durchschnittliche Länge der Gewinnpartien insgesamt) und so mit Punkten versehen.
Im komplette Textfilfe gibt es unter der EAS-Liste noch die zweite EAS-Liste mit noch genauerer Aufschlüsselung (Prozentwerte der höher- und niedrigerwertigen Opfer etc.)
<a class='ura' href='https://www.sp-cc.de/files/statistics_eas_ratinglist.txt'>https://www.sp-cc.de/files/statistics_eas_ratinglist.txt</a>

Hier läßt sich der Spielstil eine Engine sehr genau beurteilen... Das wird man mit Stellungstests nicht so hinbekommen.

Nein, Stefan, so nicht, aber dafür halt anders

Sehr gutes Tool von dir und sehr wertvolle Zusatzinfos, und wenn ich genau die haben will, schau ich mir immer gern genau diese deine Liste(n) an. Danke mal wieder herzlich für das alles und vor allem auch für deine frei runterladbaren Sammlungen an schön evaluierten und dokumentierten Eröffnungsteststellungen bei der Gelegenheit mal wieder.

Worauf ich nur auch wieder die ganze Zeit herumreite: alle solchen Teilaspekte (auch eine noch so komplette und ausgewogenene Ranking- und Rating- Liste kann nur über das Aufschluss geben, was die Vorgaben bestimmen, die Engines, die mitspielen, die Hardware- TC und die Eröffnungsstellungen, die ja, um es auch immer wieder zu erwähnen, auch "nur" Teststellungen sind, halt nicht für "Stellungstests", wie man sie allgemein versteht, und wie auch immer das im Einzelnen sehr verschieden gemacht werden kann, die Eröffnungsstellungen sind Teststellungen für ausgespielte Stellungstests.

Das mit den Spielstilen ist überhaupt auch so eine Sache, ich finde am relevantesten als irgendwie umschreibbaren und definierbaren Teilaspekt der Performance von Engines (übrigens auch von Menschen) ist der in der Eröffnung (die wird vom game playing aus frühen Eröffnungsstellungen sowieso immer mehr abgebildet als die beiden anderen, weil nur Mittel- und Endspiele aufs Brett kommen, die die Engines aus der jeweiligen Eröffnung heraus zulassen), im  Mittelspiel und im Endspiel.
Im Endspiel wird meiner Meinung nach auch eine besondere Art von "taktischer" Qualität gefordert, die vor allem für den Menschen noch am ehesten beurteilbar ist, drum hab' ich den Stellungstest, der mich am ehesten in Hinblick auf diese taktisch vom Menschen beurteilbare Teilleistung interessiert, hier mal wieder gänzlich aus Endspielstellungen rekrutiert, es sind lauter Studien, die in die Harold van der Heijden- Datenbank auch Einzug gehalten haben, allerdings lauter solche, die von SF innerhalb einer oder weniger Sekunden auf guter Hardware gelöst werden (was, nur so am Rande bei z.B. den ersten 512 in der Datenbank bei 495 innert einer Sekunde der Fall ist).
Um von denen eine gewisse Mindestanzahl für die statistische Aussagekraft in kurzer Gesamthardwarezeit beurteilen zu lassen, gebe ich mit dem MEA- Tool von Ferdinand Mosca 200 msec für die A-B-Engines pro Stellung vor, bei LC0 muss man mehr für die längere Initialisierungszeit nehmen, außerdem verwendet diese Engine (in den Compiles, die ich bisher probiert habe) ziemlich genau nur die Hälfte der Zeit pro Zug, die ihr das Tool zuordnet, ich hab im vorigen Posting den MEA- Output dazu gezeigt. Daher bekommt LC0 von mir nicht nur einen 500 für 200- Bonus, um in vergleichbare Performance zu kommen, sondern ich verdopple das noch einmal, LC0 bekommt also 1000 statt 200 msec, verbraucht werden von den 1000 ziemlich genau 500.
Das ist die Endspiel- Studien- Suite:

https://www.dropbox.com/s/pap9dmewiw3fh3z/HH256.epd?dl=0

Gestern habe ich sie noch an Harold van der Heijden per Mail geschickt, der über die Sache schon länger informiert ist, und an Emil Vlasák, der im Arves- Magazin mit der bekannten zugehörigen Datenbank  das VisualCQL5- Programm betreut, das von ihm stammt, zur Motiv- Suche nach Einträgen. Er kannte die erste Probeversion der Suite auch schon.

https://www.arves.org/arves/index.php/en/halloffame/594-vlasak-emil-1956

Hier hab' ich ein paar erste Ergebnisse mit der Suite und dem MEA- Tool gesammelt auf der 16x3.5GHz Ryzen- CPU mit der 3070ti Nvidia GUP für LC0:



Zur Vergabe der Punkte noch: ich habe zuerst 3 Runs zur Einteilung hergenommen, mit SF single thread bei 100, 300 und 500msec, diejenigen Stellungen, die bei 100 gelöst waren, haben 25 Punkte pro Lösung, die zwischen 100 und 300=50, die zwischen 300 und 500=75 und die über 500 immer noch nicht gelösten 100 Punkte.
Auch noch am Rande dazu: auf folgende Art könnte man mit den Kommentarsymbolen, die ein GUI interpretieren kann (Fritz kennt wie die meisten GUIs das ? als Kennzeichnung eines avoid moves, besonders bei diesem GUI ist dann noch das mit "RR-äquivalent ist" dem Zug vorangestellte =, damit kann man Untervarianten als gleichwertige Lösungen kennzeichen in einer Suite) in 5 Schritten Abstufungen von multiplen Lösungen bewerten:

?!=1/4, !?=1/2, kommentarloser Hauptzug=1, !=2, !!=4, damit hätte man ausreichend unterschiedliche Punktezahlen für beliebig viele Lösungen einer Stellung, so wäre das dem MEA- Tool ähnliche über ein GUI machbar und man könnte sich die Syntax pro Fen sparen.
Das einzige, was mir dann immer noch fehlte, wäre eine win- draw- loss- Bewertung jedes einzelnen Minimatches, das je 2 Engines im direkten Vergleich bei jeder einzelnen Stellung pro TC adjudiziert bekämen, wie es EloStatTS macht.
Ohne die genaue Lösungszeit pro Stellung und Engine (wie bei EloStatTS) auch noch heranzuziehen, könnte ein Tool oder GUI auf die Art jede Stellung zwischen je 2 Engines in eine wdl- Statistik eintragen, wie sie die Grundlage jeder Elo- Berechnung auch beim game playing ist.
Einfachster Weise so: Von 2 Engines gleichermaßen gelöste Stellungen ebenso wie beidseits ungelöste als Remis (wenn man die gelösten nicht noch zusätzlich mit den Lösungszeiten in msec adjuzieren will) nur von der ersten Engine gelöste als 1-0- Resultate und nur der von andere gelöste als 0-1.

An Herrn Wüllenweber hab' ich diese meine Wünsche ans Fritz- Stellungstestfeature auch schon gemailt
Parent - By Frank Sanders Date 2023-02-12 17:10
Danke für den Link, werde ich mir anschauen.
- By Peter Martan Date 2023-02-05 20:53 Edited 2023-02-05 21:27 Upvotes 1
Irgendeinen Hinweis darauf, dass der Text von mir ist, z.B. einen Link zum Original-Posting

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

sollte man sich aber vielleicht doch auch noch gönnen.
Hast du keine Angst, Frank, dass dich das sonst in Verruf bringt, wenn die Leute glauben, dass du sowas schreibst? Naja, würde eh keiner, der sowas überhaupt hin und wieder liest, annehmen, dass das nicht von mir oder einem von mir eigens dazu trainierten Bot stammt

Die MEA-Formatierung ist auch beim Kopieren verlorengegangen, die Tabellen sollte man sich also im ursprünglichen Posting anschauen.
Und jetzt noch Kurt's Fassung davon:

Statt der 10cp, die Ferdinand Mosca für die Reduktion des STS auf LAN_v6 herangezogen hat, würde ich in einer Relation statt einer Differenz viel mehr Anwendungsbreite und Verlässlichkeit sehen.
50% von der niedrigeren Eval bzw. ein Drittel von der höheren gehen als großzügige und ungefähre Richtschnur eher durch, wenn man sich schon nach Engine- Evals (allein) richtet in der Bewertung von Kandidatenzügen zueinander. 10cp Differenz bei 3.00 insgesamt ist wohl nicht vergleichbar mit 10 cp bei 0.10.
Im einen Fall wären's 0.33%, also sicher nicht genug Diskrimination, im anderen 100% und das passt schon eher. Ein prinzipielles Problem zeigt sich dabei auch in schachlicher Hinsicht: eine Stellung, die im Gleichgewicht ist, aber duch ein Minus an 10cp vom Plus ins Minus kommen kann, hat einen praktisch eventuell echt relevanten Unterscheidungswert von 2 Zügen, von denen der eine einen minimalen Vorteil erhält, der andere die Partie zum Kippen zum Vorteil der Gegenseite bringt. Ob sie bei +3.00 mit +- 10cp mehr oder weniger sicher gewonnen ist, wird meistens ziemlich egal sein. Aber bei allen diesen Zahlenspielen sollte vor allem eines klar sein: die Höhe der Eval selbst, wenn die einfach falsch ist, steht die Frage, wie die Kandidaten zueinander bewertet werden, erst wieder an nach der, wie sie richtiger wäre, die Eval der Hauptvariante.
Soviel zu der Frage, um die's im Originalposting primär ging, wo die wesentlichen Unterschiede zwischen dem LAN_v5 und dem LAN_v6 von Mosca sind, 1188 zu 1500 macht natürlich an Gesamt- Anzahl auch einen gewissen Unterschied, der wahrscheinlich größer ist als die Unterschiede im Charakter der Stellungen, die haben von Swami und Dann (Corbit) anno dazumal eigentlich einen für die damalige Engine- Unterstützung wirklich bemerkenswert einheitlichen Schwierigkeits- und Lösbarkeits- Grad. Auch die Einteilung nach den menschlich- strategischen (der Begriff hat für Engines ja keinerlei relevante Bedeutung) Motiven, nach denen die 15x10 Blöcke sortiert waren, sollte man sich vielleicht, wenn man die Suite jetzt neu bewertet, mal dazu anschauen, wenn sich Swaminathan schon jetzt wieder die Arbeit gemacht hat, die ursprüngliche Site, die nicht mehr funktioniert hat, neu aufzusetzen:

https://sites.google.com/site/strategictestsuite/

Edit: Ah, ich sehe, man hat ein Zitat aus dem Obigen gemacht, danke dafür.
- By Peter Martan Date 2023-02-07 13:54
Übrigens, weil ich ihn für die Probe- Liste der neuen Endspiel- Suite auch habe laufen lassen und mir dort auch gleich verdächtig war, dass er eher eine Spur schlechter abschneidet als die (auch erst vor Kurzem erschienene) 9.0- Version, Jouni Uski hat im CCC über ein Update von Koivisto auf 9.2 berichtet und Ipman's site als Quelle von Compiles angegeben:

https://talkchess.com/forum3/viewtopic.php?p=942745#p942745

Hat mich interessiert, wie er sich im game playing gegen die Vorversion schlägt:

https://talkchess.com/forum3/viewtopic.php?p=942778#p942778

Die error message während des Matches von cutechess cli ist mir aufgefallen, eine weitere solche habe ich (ohne dann weiter viel zuzuschauen beim Output- Verlauf) keine mehr gesehen, aber der Output der Engine an der Stelle der Partie nach dem Match in der infinite analysis ist schon auch irgendwie verdächtig:

https://talkchess.com/forum3/viewtopic.php?p=942779#p942779

Nur, ums auch zu melden, bevor die Engine in breiteren Einsatz kommt, es war bei mir das avx2-pgo-pext- compile von Ipman.
- By Frank Sanders Date 2023-02-18 21:38 Edited 2023-02-18 21:46
Ich habe in den letzten Tagen folgendes Experiment durchgeführt:

1)  Teilnehmende Programme:
Stockfish_2302, Lc0 (vom Forum empfohlene exe und Netz), Dragon_3.2, Ethereal_14, Revenge_3

2)  Testset :
STS_LAN5 (1500 Positionen)

3)  Testzeit:
1 Sekunde pro Position

Nach einem Druchlauf aller Programme gab das MEA Tool folgende Liste aus:



Die gefundenen Züge der einzelnen Programme extrahierte ich mir in eine Textdatei. Danach paarte ich die Programme(jeder gegen jeden) und verglich jeweils die gefundenen Züge mit dem best move des Testsets. Die Punkte wurden wie folgt vergeben:

beide finden den best move – remis
beide finden den bestmove nicht – remis
nur ein Programm findet den best move – 1-0 oder 0-1

Die Ergebnisse dieser Paarungen schrieb ich dann in eine PGN Datei, die ich von Elosat auswerten ließ. Hier die Auswertung dieser fiktiven Spiele:



Wenn man die Ergebnisse genauer anschaut, sieht man, dass sie mehr oder weniger identisch sind. Zwar haben lc0 und Dragon die Plätze getauscht, aber in beiden Auswertungen sind sie gleich stark.

Mein Schluss daraus ist, dass man sich den zusätzlichen Aufwand mit den fiktiven Spielen gegeneinander sparen kann, da er nur die MEA Ergebnisse bestätigt.

Als nächstes habe ich mir das auf 594 Positionen reduzierte Testset angeschaut und wieder mit 1 Sekund pro Position durchlaufen lassen. Hier das Ergebnis:



Hier bekommt man ein deutlich anderes Ergebnis. Dragon wird zur Nummer 1. Die Frage war dann, spiegelt sich das dann auch so wieder, wenn man mit den Ergebnissen der 594 Stellungen fiktive Spielen lässt? Hier die dazugehörige Auswertung.



Interessanterweise entspricht endspricht dieses Ergebnis wieder fast der Auswertung der gesamten Liste.
Was mir noch aufgefallen ist, dass durch das Weglassen vieler leichter Positionen keine Spreizung des Ergebnisses erreicht wurde, sondern im Gegenteil, die Programme näher zusammengerückt sind.
Beim Gesamten Testset beträgt der Abstand zwischen besten und letzten Programm 29 Punkte, beim reduzierten Testset nur 18 Punkte.
- - By Frank Sanders Date 2023-04-09 14:22 Edited 2023-04-11 18:28
Die STS-Punkteliste

Was wurde getestet?
Es wurden 1121 Stellungen, ein Subset der 1500 Stellungen des original STS-Testsets ausgewählt.

Wie wurde getestet?
Jede Engine rechnete das Testset zehnmal durch. Die Ergebnisse wurden zusammengezählt und gemittelt.

Mit welcher Zugzeit wurde getestet?
Es wurden 100ms pro Zug vorgegeben. Bei Engines die entweder deutlich zu schnell oder deutlich zu langsam bei dieser Zeiteinstellung ziehen, wurde die Zeit pro Zug so verändert, dass die verbrauchte Gesamtzeit jener der anderen Engines gleicht.

Wie wurden die Punkte vergeben?
Der beste Zug hat jeweils 100 Punkte, es kann auch mehrere beste Züge geben. Alternativzüge weniger, zwischen 99 und einem Punkt.

Die Ergebnisse:

Code:
Stockfish_230202     102 367
lc0 30dev            102 033
Dragon_3.2           101 311
Berserk_11.1         100 135
Koivisto_9            99 028
Ethereal_14           98 660
RubiChess_221203      98 584
Igel_3.4              98 103
Seer_2.6              97 872
Rebel_16.2            97 652
Revenge_3             97 222

Wasp6.5               94 489
Arasan                88 150


Wasp und Arasan habe ich dazugenommen um zu überprüfen ob auch weniger starke Programmen sinnvoll bewertet werden.
Parent - - By Frank Sanders Date 2023-06-30 10:35 Edited 2023-07-01 13:10
Nach Erscheinen von CSTAL2NNUE habe ich die Ergebnisse in die Liste eingefügt:

Code:
Stockfish_16         102 380
lc0 30dev            102 033
Dragon_3.2           101 311
Berserk_11.1         100 135
CSTal2NNUE_Elo        99 307
Koivisto_9            99 028
Ethereal_14           98 660
RubiChess_221203      98 584
Igel_3.4              98 103
Seer_2.6              97 872
Rebel_16.2            97 652
Revenge_3             97 222

Wasp6.5               94 489
Arasan                88 150
Parent - - By Frank Sanders Date 2023-07-01 19:45
Neu erweitert mit lc031 mit dem 3905000 Netzwerk

Code:
lc0 31/3905000       102 921
Stockfish_16         102 380
Dragon_3.2           101 311
Berserk_11.1         100 135
CSTal2NNUE_Elo        99 307
Koivisto_9            99 028
Ethereal_14           98 660
RubiChess_221203      98 584
Igel_3.4              98 103
Seer_2.6              97 872
Rebel_16.2            97 652
Revenge_3             97 222

Wasp6.5               94 489
Arasan                88 150
Parent - - By Frank Sanders Date 2023-07-07 11:54 Edited 2023-07-07 16:29
Koivist0_9 auf Koivisto_9.2 geändert

Code:

lc0 31/3905000       102 921
Stockfish_16         102 380
Dragon_3.2           101 311
Berserk_11.1         100 135
Koivisto_9.2          99 490
CSTal2NNUE_Elo        99 307
Ethereal_14           98 660
RubiChess_221203      98 584
Igel_3.4              98 103
Seer_2.6              97 872
Rebel_16.2            97 652
Revenge_3             97 222

Wasp6.5               94 489
Arasan                88 150
Parent - - By Klaus S. Date 2023-07-07 15:50
Wie ist die Liste zu lesen?
Hier Koivisto_9  99  490
Im Posting darüber Koivisto_9  99  028

Was bedeutet 99 und was  490?
Parent - - By Frank Sanders Date 2023-07-07 16:30 Edited 2023-07-07 19:20
Ich habs ausgebessert, danke für den Hinweis.

Zitat:
Wie wurden die Punkte vergeben?
Der beste Zug hat jeweils 100 Punkte, es kann auch mehrere beste Züge geben. Alternativzüge weniger, zwischen 99 und einem Punkt.


99 490  bedeutet, 99 Tausend 490
Parent - By Klaus S. Date 2023-07-07 17:25
Ach so,  Danke Frank
Parent - - By Frank Sanders Date 2023-07-24 11:02
Hier eine Liste mit 10facher Bedenkzeit ( 1 sec statt 100ms) pro Zug.
Es wurden 5 Durchläufe pro Programm gemacht und dann das Ergebnis gemittelt:

Code:
Stockfish_16   106 932
Dragon_3.2     106 134
lc0_400000     106 122
Berserk_11.1   104 863
Koivisto_9.11  104 604
CSTal2_elo     104 370
RubiChess_0410 104 128
Ethereal_14    103 769
Rebel_16.2     103 187
Igel_3.5       102 880
Seer_2.6       102 238
Revenge_3.0    101 769
Parent - - By Frank Sanders Date 2023-08-12 16:57 Edited 2023-08-12 16:59
100ms mit dem neuesten Stockfish vom 11.08.23

Code:
Stockfish_230811     103.062
lc0 31/3905000       102.921
Dragon_3.2           101.311
Berserk_11.1         100.135
Koivisto_9.2          99.490
CSTal2NNUE_Elo        99.307
Ethereal_14           98.660
RubiChess_221203      98.584
Igel_3.4              98.103
Seer_2.6              97.872
Rebel_16.2            97.652
Revenge_3             97.222

Wasp6.5               94.489
Arasan                88.150
Parent - - By Frank Sanders Date 2023-09-19 10:51
100ms RubiChess durch die neueste Version ersetzt:

Code:
Stockfish_230811     103.062
lc0 31/3905000       102.921
Dragon_3.2           101.311
Berserk_11.1         100.135
Koivisto_9.2          99.490
CSTal2NNUE_Elo        99.307
RubiChess_230918      99.008
Ethereal_14           98.660
Igel_3.4              98.103
Seer_2.6              97.872
Rebel_16.2            97.652
Revenge_3             97.222

Wasp6.5               94.489
Arasan                88.150
Parent - - By Frank Sanders Date 2023-09-21 12:52
Berserk 11.1 mit Berserk_230907 ersetzt:

Code:
Stockfish_230811     103.062
lc0 31/3905000       102.921
Dragon_3.2           101.311
Berserk_230907       101.270
Koivisto_9.2          99.490
CSTal2NNUE_Elo        99.307
RubiChess_230918      99.008
Ethereal_14           98.660
Igel_3.4              98.103
Seer_2.6              97.872
Rebel_16.2            97.652
Revenge_3             97.222

Wasp6.5               94.489
Arasan                88.150
Parent - - By Peter Martan Date 2023-09-23 09:36 Edited 2023-09-23 10:17
Danke für den Tipp, bei Ipman gleich fündig geworden, was das neue Compile betrifft.

https://ipmanchess.yolasite.com/compiles.php

Mit MEA mache ich wieder weniger, weil das mit der Nutzung der vorgegebenen Zeit einfach zu unterschiedlich ist von Engine zu Engine und sich von run zu run zu unterschiedlich auswirkt, und dass ich für jeden neuen Versuch mehrere runs mache und mittle wie du, das tu' ich mir nicht an, ist aber natürlich auch eine ganz gute Methode.

Ich hatte zuletzt das 230818- Compile von Ipman in Verwendung, das braucht z.B., um auf die gleichen 200msec/Stellung (kommt auch auf die Stellungen und auf die Hardware an, natürlich) wie das neue 230907 zu kommen, 370msec. Ich vergleiche, um zu sehen, inwieweit neue Versionen bei bestimmten Stellungen besser abschneiden, 2 einzelne runs, die ich gleichzeitig im Banksia laufen lasse, da sieht man dann zum Schluss schön in grün und rot nebeneinander die Stellungen, die von der einen und von der anderen Version gelöst wurden, und wenn man wissen will, ob das aus einer error bar, die dem game playing vergleichbar ist, rauskommt, zählt man die 1-0 und die 0-1 ab und gibt sie in EloStat ein. Natürlich hat Banksia auch ein sehr eigenwilliges Time Management, was die Suiten angeht, aber wenn man 2 Engines auf 2 Instanzen verteilt, laufen sie nebeneinander und bekommen auf die Art hoffentlich doch auch ziemlich gleiche Rechenzeiten zugeteilt.
So z.B. mit diesen 999, die sowohl als single best move durchgehen, als auch in MEA- Syntax sind:

https://www.dropbox.com/scl/fi/owez3kxq2up3huqcdfqme/999.epd?rlkey=wam5zig6pn7a4l14zndd2zbt7&dl=0

File name          : 999.epd
Total test items   : 999
Test for           : best moves
Total engines      : 2
Timer              : movetime: 0.5
Expand ply         : 1000
Elapsed            : 25:02
Laps               : 1
Total tests        : 1998
Total corrects     : 1676 (83%)
Ave correct elapse : 320 ms
Status             : completed

Correct/Total:
Berserk 20230907: 845/999
Berserk 20230818: 831/999

Wins   = 46
Draws  = 922
Losses = 31
Av.Op. Elo = 3500

Result     : 507.0/999 (+46,=922,-31)
Perf.      : 50.8 %
Margins    :
68 %       : (+  0.4,-  0.4 %) -> [ 50.3, 51.2 %]
95 %       : (+  0.9,-  0.8 %) -> [ 49.9, 51.6 %]
99.7 %     : (+  1.3,-  1.3 %) -> [ 49.5, 52.1 %]

Elo        : 3505
Margins    :
68 %       : (+  3,-  3) -> [3502,3508]
95 %       : (+  6,-  6) -> [3499,3511]
99.7 %     : (+  9,-  9) -> [3496,3514]


Single thread (3.5GHz), 0.5 sec./Stellung, das gesamte Lösungsfile mit allen einzelnen Stellungen pro Engine speichere ich zwar auch hin und wieder, fürs Forum wär's als Text zu groß für ein Posting. Schön wär' halt ein scrollbares Textfeld, wie's in den meisten anderen Foren vorhanden ist.
Parent - - By Frank Sanders Date 2023-09-23 11:22
Das ist eine gute Methode um 2 Programmversionen miteinander zu vergleichen. Sind die Ergebnisse bisher immer stimmig, z.B. Rebel 16.2 zu Rebel_EAS, oder RubiChess_230918, ...?
Parent - - By Peter Martan Date 2023-09-23 11:58 Edited 2023-09-23 12:06
Das kommt drauf an, was du unter stimmig verstehst

Wenn du damit meinst, dass du sie mit anderen Ergebnissen besser oder schlechter vergleichen kannst, kommt's drauf an, welche Ergebnisse mit welchen Stellungen und welcher Hardware- TC du mit welchen anderen vergleichst, aber ich glaube, das hatten wir schon mal, das Thema.

Hier hätte ich aber z.B. mal einen Gegenversuch mit 3'+1" single thread derselben beiden Compiles mit UHO 6mvs. 110-119cp:

Score of berserk-20230907-x64-avx2-pext vs berserk-20230818-x64-avx2: 90 - 77 - 333 [0.513]
Elo difference: 9.0 +/- 17.6, LOS: 84.3 %, DrawRatio: 66.6 %
500 of 500 games finished.

Unter 2000 Partien wird man selbst bei dieser kleinen Hardware- TC nicht aus der error bar rauskommen.
Und natürlich kannst du die Elo des einen und des anderen Tests nicht miteinander vergleichen, aber das kannst du auch nicht mit einer anderen Hardware- TC im game playing mit anderen Eröffnungen.
Ceterum censeo...
Parent - - By Frank Sanders Date 2023-09-23 12:25
Unter stimmig habe ich eher gemeint, dass z.B. Rebel EAS besser abschneidet als Rebel_16.2, oder allgemein, dass die neuen Versionen (so es sich um Verbesserungen handelt) besser abschneiden als die alten.
Parent - By Peter Martan Date 2023-09-23 12:52 Edited 2023-09-23 13:01
Das ist aber trotzdem dieselbe Frage, Frank. Wenn du klar aus der error bar kommst, sollte jeder Stellungstest die LOS (die du dann aber eben auch erst mal haben musst) richtig abbilden, aber wenn nicht, und das ist mit Nachfolgeversionen und -Netzen halt oft nicht der Fall, dann musst du bei einem knappen Ergebnis auch damit rechnen, dass die Reihenfolge eine andere ist als in einem anderen Test. Deshalb spricht man ja auch von error im Zusammenhang mit der gleichnamigen bar

Im Ernst, wenn mich ein bestimmtes einzelnes Ergebnis interessiert, muss ich genau den einen Test machen, der's erbringt.
Am besten sieht man's immer wieder (und eigentlich nur da wirklich reproduzierbar und vergleichbar) mit der einzelnen Stellung, da ist auch immer wieder mal die eine Engine, die ein besseres Ergebnis gegen die andere in einem bestimmten game playing match erreicht, schlechter in allen oder einigen messbaren Parametern, die man bei der einen Stellung vergleichen kann. Damit muss man leben, kann man das nicht, soll man keine Stellungstests machen, aber meiner Meinung nach dann halt auch keine Eng-Eng-Matches, weil die sind ja auch nur ausgespielte Stellungstests, heute mehr denn je.
Parent - - By Frank Sanders Date 2023-09-23 11:30
Rebel_16.2 durch Rebel_EAS ersetzt und Clover_6.0 eingefügt.

Code:
Stockfish_230811     103.062
lc0 31/3905000       102.921
Dragon_3.2           101.311
Berserk_230907       101.270
Koivisto_9.2          99.490
CSTal2NNUE_Elo        99.307
Clover_6.0            99.010
RubiChess_230918      99.008
Rebel_EAS             98.798
Ethereal_14           98.660
Igel_3.4              98.103
Seer_2.6              97.872

Revenge_3             97.222

Wasp6.5               94.489
Arasan                88.150
Parent - - By Peter Martan Date 2023-09-25 14:51 Edited 2023-09-25 15:13
AST steht für 193 aus der Arasan (2021)- Suite + 586 single best move- Stellungen der STS- Suite, das Ganze auch in MEA- Syntax,

https://www.dropbox.com/scl/fi/atqmwy4st1dhoy0vadz4k/ast.epd?rlkey=cr6wpkxr8vlm29s2zvvrt6oxr&dl=0

aber hier im Fritz- GUI mit 1"/Stellung, 2 Extra- Halbzügen, single thread und EloStatTS von Frank Schubert ausgewertet:



    Program                                    Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 Stockfishdev-20230903                    : 3511    1   7959    51.7 %   3499   722/779    1.0s    1.0s   0.98
  2 Lc0v0.31.0-dag+git.f4d40b-5230M          : 3507    1   7877    51.1 %   3499   699/779    1.0s    1.0s   0.99
  3 Dragon3.2byKomodoChess64                 : 3505    1   7788    50.8 %   3500   698/779    1.0s    1.0s   0.97
  4 Berserk20230907                          : 3503    1   7714    50.4 %   3500   683/779    1.0s    1.0s   0.97
  5 Clover6.0                                : 3500    1   7675    50.1 %   3500   674/779    1.0s    1.0s   0.98
  6 Chess-System-Tal-2.00-v21-E1162-EAS.opt  : 3499    1   7661    49.9 %   3500   673/779    1.0s    1.0s   0.96
  7 RubiChess20230410                        : 3499    1   7649    49.8 %   3500   666/779    1.0s    1.0s   0.97
  8 Revenge3.0                               : 3498    1   7650    49.7 %   3500   662/779    1.0s    1.0s   0.97
  9 Ethereal14.00(NNUE)                      : 3498    1   7619    49.6 %   3500   660/779    1.0s    1.0s   0.97
10 Chess-System-Tal-2.00(RebelEAS)           : 3497    1   7613    49.5 %   3500   658/779    1.0s    1.0s   0.96
11 Arasan24.0                                : 3496    1   7639    49.3 %   3500   652/779    1.0s    1.0s   0.97
12 Wasp6.50                                  : 3487    2   7528    47.9 %   3501   613/779    1.0s    1.0s   0.96

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position


Wie man an den geringen Elo- Abständen sieht, reicht die Diskrimination gerade halbwegs für einen so weit gestreuten Pool an Engines, für interne Versions- Vergleiche nahe beisammen liegender Updates oder Netze aber nicht, z.B. ist RubiChess in der jüngeren Version mit ein paar Stellungen weniger hier in der Liste der best versions nicht drin geblieben. Bei MEA hingegen muss man schon wieder sowohl dem vorletzten als auch auch dem letzten Compile von RubiChess, das ich habe, 300 für 200msec und diesen Stellungen geben, bei Berserk unterscheiden sich sogar die beiden jüngsten Compiles, die ich habe, das von 230818 und das von 230907 um das doppelte, das jüngere ist im GOOD Zeitverbrauch, das ältere braucht 370 für 200 um gleich viel zu verwenden, ist also ebenso krass wie LC0. Und wie gesagt, wären das fixe Umrechnungsfaktoren, wär's kein Problem, aber das muss man durch Versuch und Irrtum für jede Hardware- TC und jede neue Suite neu herausfinden, und dann sind die Schwankungen von run zu run immer noch groß, auch single thread.
Bei Fritz und Shredder kann man sich wenigstens darauf verlassen, dass der Gesamtverbrauch innerhalb der eingestellten Zeit pro Stellung bleibt, wenn eine Engine (wie LC0) weniger verbraucht, hält es sich auch eher in Grenzen, bei Banksia sieht man am Beispiel oben, dass auch der Gesamtzeitverbrauch ziemlich wenig mit dem zu tun hat, was man pro Stellung einstellt (999 Stellungen, 0.5sec., 2 "Instanzen", die ohnehin nicht gleichzeitig sondern nur nacheinander Stellung pro Stellung abgearbeitet werden, und 25 Minuten in Summe, Shredder ist das einzige GUI, mit dem wirklich 2 Engines gleichzeitig laufen, wenn man das GUI wiederholt startet, man muss halt verschiedene Protokoll- Dateien verwenden).
Parent - - By Frank Sanders Date 2023-09-25 16:24
Für single best move Positionen ist wahrscheinlich das Fritz GUI die beste Wahl. Bei Positionen mit zwei oder drei geleichwertigen oder fast gleichwertigen Zügen bleibt nur das MEA Tool.
Die ast.epd Sammlung habe ich mir heruntergeladen. Danke
Parent - - By Peter Martan Date 2023-09-25 19:17 Edited 2023-09-25 19:19
Naja, EloStatTS geht halt nur mit Fritz.
Es gibt übrigens einen neuen Texel

https://talkchess.com/forum3/viewtopic.php?p=952860#p952860

Der direkte Link

https://github.com/peterosterlund2/texel/releases/tag/1.10

Zur Abwechslung 777 Stellungen, die aus den auch im ast verwendeten STS sowie aus dem Rest zu ungefähr gleichen Teilen aus UHO single best moves und leichten Endspiel- Studien bestehen, auch für 1'/Stellung und drunter, auch in MEA- Syntax.

https://www.dropbox.com/scl/fi/2ppqjv1h7psk9zygp0a7a/777.epd?rlkey=smmfm8c8wtvhkgcee4ih43lt4&dl=0

Und hier mal, weil's mit einer Sekunde pro Stellung im Shredder wie gesagt am schnellsten geht, wenn man mehrmals startet, die beiden zu vergleichenden Texel- Versionen wieder single thread:

Texel 1.09
Bisher gelöst: 648 von 777  ;  3:09m


          1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20
  -------------------------------------------------------------------------------------
    0 |   -   0   -   0   0   0   -   0   0   -   -   0   0   0   0   0   0   0   0   0
   20 |   0   -   0   0   0   -   -   0   0   0   0   0   0   0   0   0   0   0   0   0
   40 |   0   -   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   -
   60 |   0   0   0   0   0   0   0   0   -   0   0   0   0   0   -   0   -   0   0   0
   80 |   0   0   0   0   0   -   0   0   0   -   -   -   0   0   0   0   0   -   0   0
  100 |   0   0   0   0   0   0   0   -   0   0   0   -   0   -   0   0   0   0   -   0
  120 |   0   0   -   0   -   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0
  140 |   0   -   0   0   -   0   0   0   0   -   0   0   0   0   -   0   0   0   0   0
  160 |   0   0   0   0   -   0   0   0   0   -   0   0   -   0   0   0   0   0   0   0
  180 |   0   0   0   0   0   0   0   -   0   0   0   0   0   -   -   0   -   -   0   -
  200 |   -   0   0   0   0   0   0   0   0   0   -   0   0   -   0   0   -   0   0   0
  220 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   -   0
  240 |   0   0   0   0   0   0   0   -   0   0   0   0   0   -   0   0   0   0   0   -
  260 |   0   0   -   0   0   0   0   0   0   0   -   0   0   0   -   0   0   0   0   -
  280 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0
  300 |   -   0   0   0   -   -   0   -   0   0   0   0   0   0   0   0   0   -   0   0
  320 |   0   -   0   0   0   0   -   -   0   0   0   0   0   0   0   0   0   0   0   0
  340 |   0   0   0   -   0   0   0   0   0   0   0   -   0   0   0   0   0   -   0   -
  360 |   0   0   -   0   -   0   -   0   -   0   0   0   0   0   0   0   0   0   0   0
  380 |   0   -   0   -   0   0   0   -   0   0   0   0   -   0   0   0   0   -   0   0
  400 |   0   -   -   0   0   -   0   0   0   -   0   0   0   -   0   0   0   -   0   0
  420 |   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -
  440 |   -   0   0   0   0   -   0   0   0   0   0   0   -   0   -   0   0   -   0   0
  460 |   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0
  480 |   -   -   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0
  500 |   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   -
  520 |   -   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0
  540 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0
  560 |   -   -   -   0   0   -   0   0   0   0   0   0   0   0   0   0   0   -   0   -
  580 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  600 |   -   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0
  620 |   0   0   0   -   -   0   0   0   0   -   0   0   -   0   0   0   0   0   0   0
  640 |   0   0   -   0   0   0   -   0   0   0   0   -   0   -   0   0   0   0   0   0
  660 |   0   0   0   0   -   0   0   0   -   0   0   0   -   0   -   0   0   0   0   0
  680 |   0   0   0   0   0   0   0   0   0   0   0   0   0   -   -   -   0   0   0   0
  700 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  720 |   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0
  740 |   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   -   -   0   0   -
  760 |   -   0   -   -   0   0   0   0   0   0   0   0   -   0   0   0   0

  1 sec -> 648/777
  K/s: 1.484.746 
  TotTime: 12:57m    SolTime: 3:09m

Texel 1.10
Bisher gelöst: 679 von 777  ;  2:37m

  
         1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20
-------------------------------------------------------------------------------------
    0 |   0   0   0   0   0   0   -   0   0   -   0   0   0   0   0   0   -   -   0   0
   20 |   0   -   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0
   40 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   -
   60 |   0   -   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0
   80 |   0   0   0   0   0   0   0   0   0   -   -   -   0   0   0   0   0   -   -   0
  100 |   0   0   0   0   0   0   0   -   0   0   0   -   0   0   0   0   0   0   -   0
  120 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  140 |   0   -   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0
  160 |   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  180 |   0   0   0   -   0   0   0   -   0   0   0   0   0   0   -   -   -   0   0   0
  200 |   0   0   -   -   0   0   0   0   0   0   -   0   0   0   0   0   0   -   -   0
  220 |   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0
  240 |   0   0   0   0   0   0   0   -   0   0   0   0   0   -   0   0   0   0   0   -
  260 |   0   0   -   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0   0   -
  280 |   0   0   0   0   0   0   0   0   0   0   0   0   0   -   -   0   0   0   0   0
  300 |   -   0   0   0   0   -   0   -   0   0   -   0   0   0   0   0   0   -   0   0
  320 |   0   -   0   0   0   -   -   -   0   0   0   0   0   0   0   0   0   0   0   0
  340 |   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   -
  360 |   -   0   -   0   -   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0
  380 |   0   0   0   -   0   0   0   -   -   0   0   -   -   0   0   -   0   0   0   0
  400 |   0   0   0   0   0   -   0   0   0   0   0   0   -   -   0   0   0   0   0   0
  420 |   0   0   0   -   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   -
  440 |   -   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0
  460 |   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0
  480 |   -   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  500 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  520 |   0   -   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   -   0   0
  540 |   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0
  560 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -
  580 |   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0
  600 |   0   -   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0
  620 |   0   0   0   -   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  640 |   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0
  660 |   0   0   0   0   -   0   0   0   -   0   0   0   0   0   -   0   -   0   0   0
  680 |   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0   -   0   0   0   -
  700 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  720 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0
  740 |   0   -   0   0   0   0   0   0   0   0   0   0   0   0   0   -   -   0   0   -
  760 |   0   0   -   -   0   0   0   0   0   0   0   0   -   0   0   0   0

 
1 sec -> 679/777
  K/s: 2.377.348 
  TotTime: 12:57m    SolTime: 2:37m

Die Elo- Auswertung kann man händisch (EloStat) auch mit den Shredder- Tabellen machen, wenn man sie schön untereinander platziert zeilenweise, das war mir hier aber zu mühsam. Wenn man ein Script hätte, das einem das abnähme, wäre man vom GUI auch schon weitgehend unabhängig. Mit den 256 taktisch etwas schwierigeren Stellungen und 5"/Stellung hat sich Texel 1.10 relativ zu 1.09 schon auch außerhalb der error bar verbessert, obwohl nur 3 Stellungen mehr gelöst werden, weil die Zeit- Indices besser sind, dieses feature, das Remis zwischen den Engine- Runs und den einzelnen Stellungen praktisch überhaupt auf die gemeinsam nicht gelösten reduziert, weil die gemeinsam gelösten noch anhand der genauen Zeiten gematcht werden, das ist halt bei EloStatTS einmalig, wirklich schade, dass Frank Schubert sein Programm nicht mehr weiter entwickelt. Das fürs MEA- Script oder ein ähnliches, das auch Extra- Plies einstellen ließe, für mehrere Instanzen gleichzeitig und Zeiten unter 1" funktionierte, das wär's, was man bräuchte. Ich hab' schon vor längerer Zeit mal Matthias Wüllenweber deshalb per Mail angeschrieben, aber nie Antwort bekommen.
Parent - - By Frank Sanders Date 2023-09-26 09:06
Zitat:
Die Elo- Auswertung kann man händisch (EloStat) auch mit den Shredder- Tabellen machen, wenn man sie schön untereinander platziert zeilenweise, das war mir hier aber zu mühsam.


Verstehe ich nicht ganz, kannst du das näher erklären?
Parent - - By Peter Martan Date 2023-09-26 09:46 Edited 2023-09-26 09:52
Die gleichen Zeilen der beiden Lösungstabelle in zwei Fenstern direkt untereinander überlagern und oder markieren, damit man leichter sieht, welche Stellungen von welcher Engine gelöst oder nicht nicht gelöst wurden im direkten Vergleich. So wie man's beim Banksia- GUI von 2 Engines, die gemeinsam gelaufen sind, in einem Fenster nebeneinander farblich rot- grün markiert für gelöst oder nicht gelöst sieht.
Der Zweck wie geschildert: Stellungen, die von beiden gelöst oder von beiden nicht gelöst werden, sind als Remis, die nur von einer gelösten als 1-0 und die nur von der anderen als 0-1 zu zählen, dann hat man Werte, mit denen EloStat rechnen kann.
Eine Spielerei, aber man bekommt eine error bar, die dem game playing vergleichbar ist.
Die 777 haben übrigens mit Banksia und 500msec nur einen Unterschied von

Correct/Total:
Texel 1.09: 641/777
Texel 1.10: 654/777

erbracht, der Gesamtzeitverbrauch war 19'33", also wieder mehr, als Shredder für 1'/Stellung hatte.

Die Elo aus Banksia wären mit dem Abzählen der gewonnenen und der verlorenen Stellungen nicht aus der 95%- error bar gekommen:

Wins   = 63
Draws  = 665
Losses = 49
Av.Op. Elo = 3300

Result     : 395.5/777 (+63,=665,-49)
Perf.      : 50.9 %
Margins    :
68 %      : (+  0.7,-  0.7 %) -> [ 50.2, 51.6 %]
95 %      : (+  1.3,-  1.3 %) -> [ 49.6, 52.2 %]
99.7 %    : (+  2.0,-  2.0 %) -> [ 48.9, 52.9 %]

Elo        : 3306
Margins    :
68 %      : (+  5,-  5) -> [3302,3311]
95 %      : (+  9,-  9) -> [3297,3316]
99.7 %    : (+ 14,- 14) -> [3292,3320]


Mit den Shredder- Werten vermutlich knapp schon, interessiert mich jetzt nicht genug, um es es auch noch abzuzählen.
Parent - - By Frank Sanders Date 2023-09-26 10:09
Danke für die Erklärung. Wo ich hänge ist:

Zitat:
dann hat man Werte, mit denen EloStat rechnen kann.


Ich habe gedacht EloStat braucht ein PGN das es dann analysiert. Wie werden die 1-0 und 0-1 Werte in EloStat eingegeben?
Parent - - By Peter Martan Date 2023-09-26 10:33 Edited 2023-09-26 10:48
Du meinst EloStatTS, (TS für Test Stellungen) das funktioniert nur mit Fritz- Lösungsfiles und ist das Pendant zu EloStat vom selben Autor Frank Schubert. Auch eine Konsolen- Anwendung, in die man entweder Match- .pgns oder bei nur 2 Gegnern die Zahl der Gewinne, Verluste und Remis eingibt, dann bekommt man den Output, den ich eingefügt habe, wenn man noch Ausgangs- Elo vorgibt.
Im Arena- Download ist es z.B. als zusätzliches Programm dabei. Ich hab' jetzt auf die Schnelle keinen eigenen Download- Link gefunden, gibt's aber sicher irgendwo gratis, wenn du auch nichts findest und kein Arena hast, geh' ich weiter auf die Suche.
Parent - By Frank Sanders Date 2023-09-26 11:31
Ich hab mir EloStat auch zusammen mit Arena heruntergeladen. Das es einen Modus für die Eingabe von Partieergebnissen gibt wusste ich nicht. Jetzt ist alles klar, danke für den Tip.
Parent - By Peter Martan Date 2023-09-26 09:31 Edited 2023-09-26 09:55
Ob die tollen Werte, die der Autor von Texel im CCC angibt, bei einem einzelnen head to head- Match bei mir am Heimrechner reproduzierbar sind, hat mich interessiert, mit UHO 6mvs. 110-119 und 3'+1" single thread:

Score of texel1.10 vs texel1.09: 263 - 39 - 198 [0.724]
Elo difference: 167.5 +/- 24.2, LOS: 100.0 %, DrawRatio: 39.6 %
500 of 500 games finished.

Tatsächlich ein so großer Sprung wie angekündigt.
Nachdem Texel damit in die Gegend von Wasp kommen würde in den Ranglisten, hab' ich den noch als weiteren Gegner unter denselben Bedingungen spielen lassen:

Score of texel1.10 vs Wasp650-windows-avx: 118 - 165 - 217 [0.453]
Elo difference: -32.8 +/- 22.9, LOS: 0.3 %, DrawRatio: 43.4 %
500 of 500 games finished.

Small sample size, kommt nicht aus der error bar, aber davon mal abgesehen, dürfte Wasp die Nase schon noch vorn haben, was dieses eine head to head Match angeht, mit diesen Eröffnungen und dieser Hardware- TC.

Und so schaut's aus, wenn ich die Stellungen, die ich gestern im Shredder mit 1"/Stellung genommen habe, mit MEA auch single thread und 500msec laufen lasse.
LC0 hatte 1050msec, RubiChess und Wasp 650, um bei allen tatsächlich einen Gesamtverbrauch von halbwegs genau 500 zu haben. Leider muss man das mit anderen Stellungen und oder anderer Hardware- TC wieder neu anpassen, umrechnen geht nur bedingt, man muss jede Suite und jede Hardware- TC zuerst wieder mindestens einmal probieren, um die neuen Faktoren zu bekommen. Aber dafür ist ja die Zahl der Stellungen moderat, eine weitere Art des schnellen Screenings sozusagen.

    EPD  : 777
    Time : ms
                                                Max   Total   Time   Hash         
    Engine           Score   Found  Pos   ELO  Score   Rate    ms     Mb  Cpu     
1  SF230903         10457    730   777  4225  11138  93.9%    500     4    1
2  lc0v31.0-5230M   10096    718   777  4077  11138  90.6%    500     2    2
3  Berserk230907    10016    706   777  4045  11138  89.9%    500     4    1
4  CSTal2Elo         9861    700   777  3982  11138  88.5%    500     4    1
5  Ethereal14        9724    693   777  3928  11138  87.3%    500     4    1
6  RubiChess2230918  9722    691   777  3928  11138  87.3%    500     4    1
7  Wasp6.50          9374    663   777  3789  11138  84.2%    500     4    1
8  Texel1.10         9010    645   777  3640  11138  80.9%    500     4    1
9  Texel1.09         8627    622   777  3487  11138  77.5%    500     4    1

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca
Parent - By Peter Martan Date 2023-09-26 18:50
Zitat:

Zur Abwechslung 777 Stellungen, die aus den auch im ast verwendeten STS sowie aus dem Rest zu ungefähr gleichen Teilen aus UHO single best moves und leichten Endspiel- Studien bestehen, auch für 1'/Stellung und drunter, auch in MEA- Syntax.

<a class='ura' href='https://www.dropbox.com/scl/fi/2ppqjv1h7psk9zygp0a7a/777.epd?rlkey=smmfm8c8wtvhkgcee4ih43lt4&dl=0'>https://www.dropbox.com/scl/fi/2ppqjv1h7psk9zygp0a7a/777.epd?rlkey=smmfm8c8wtvhkgcee4ih43lt4&dl=0</a>

Da war eine Dublette drin, 65 und 78, Rosenlund-Schandorf, eine davon ist zu ersetzen, z.B. durch

r1bqkb1r/pp1npppp/3p1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - bm g4; c0 "g4=20, Be3=10, Be2=10, h3=10, f3=10, a4=10"; id "Shabalov, Alexander_Tate, Emory_Philadelphia National op 29th, 367";

was einfach die nächste halbwegs single best move- taugliche UHO- Stellung wäre.
Den Upload lasse ich trotzdem gleich, man kann das ja leicht selbst ändern.
- - By Peter Martan Date 2023-08-16 09:53
Dank an Frank, dass er die Stellungstest- Fahne weiter hochhält.
Anlässlich der Neuerscheinung von Arasan 24.0 und einer damit verbundenen Erneuerung der guten alten Arasan- Testsuite, hab' ich mich auch wieder ein bisschen mehr mit meinen vielen alten Sammlungen befasst und um eine weitere erneuert, wobei nur die Arasan- Suite von alt nach neu ersetzt wurde, das sind jetzt dann die 1111 single best move Stellungen, die ich wie hier

https://talkchess.com/forum3/viewtopic.php?p=951339&sid=4fbe12ad5846be2b91da5e309fdd30d8#p951339

beschrieben, mit 1"/Stellung für halbwegs homogen halte, was die "Schwierigkeit" für moderne Engines auf moderner Hardware angeht.

Sehr ähnlich, aber noch mit der alten Arasan- Suite (2021), dafür in MEA- Syntax, ist das hier:

https://www.dropbox.com/s/ty11e3dm1f6tsqq/1234.epd?dl=0
Parent - By Frank Sanders Date 2023-08-20 20:00
Danke, hab mir die 1234.epd heruntergeladen.
Up Topic Hauptforen / Blogs / Positionstests für Schachprogramme

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill