Dieter Brandhorst schrieb:
Die Gleichsetzung einer Halbierung der Lösungszeit mit einem bestimmten Elo-Gewinn spiegelt einen empirischen Zusammenhang wider, der aus damaligen Beobachtungen abgeleitet wurde.
Die Methodik, die Lösungszeiten zweier Schachengines in Relation zu setzen und das Ergebnis unabhängig von der absoluten Zeit zu machen, ist tatsächlich ein innovativer Ansatz zur Bewertung der relativen Engine-Leistung gewesen. Diese Vorgehensweise ermöglicht es, die Engine-Leistung in einem hardwareunabhängigen Kontext zu vergleichen, solange die Hardware konsistente Ergebnisse liefert. Der Ansatz, jede Halbierung der Lösungszeit als einen festen Elo-Gewinn zu betrachten, bietet eine elegante Lösung für den Vergleich der Effizienz verschiedener Engines unter der Annahme einer linearen Skalierung. Mit den heutigen stark parallel rechnenden Systemen ist diese lineare Skalierung leider nicht (mehr) gegeben.
Er hat nicht jede Halbierung der Lösungszeit als einen festen Elo- Gewinn betrachtet, das wäre ein sehr viel einfachere Formel als die von dir zitierte, sie sähe so aus: t/2=xElo
Zitat:
Die Herausforderungen, die sich bei der Anwendung dieser Methodik in Multi-Core-Systemen ergeben, sind daher groß:
1.Inkonsistente Ergebnisse: Die Ergebnisse in Multi-Core-Systemen können stark variieren. Diese Variation kann durch viele Faktoren verursacht werden, einschließlich der unterschiedlichen Effizienz, mit der verschiedene Engines Parallelverarbeitung nutzen, sowie durch die Komplexität der Interaktionen zwischen den Cores.
2.Notwendigkeit zahlreicher Durchläufe: Um statistisch signifikante und belastbare Ergebnisse zu erzielen, sind in einem Multi-Core-Umfeld erheblich mehr Durchläufe erforderlich. Dies erhöht den zeitlichen und rechnerischen Aufwand für Tests erheblich.
Für eine umfassende Leistungsbewertung von Schachengines in heutigen Computerumgebungen wäre es daher sinnvoll, eine hybride Bewertungsstrategie zu verfolgen, die sowohl Single-Core- als auch Multi-Core-Tests umfasst. Dies würde die Vorteile des ursprünglichen Ansatzes beibehalten, während gleichzeitig die zusätzliche Komplexität und Leistungsfähigkeit moderner Mehrkernsysteme berücksichtigt wird.
Wenn dir die Formel der Umrechnung in Elo nicht gefällt, erstelle eine bessere, Frank Sanders ist dabei, eine zu erstellen, wie gut sich die praktisch bewähren wird, wird man sehen, direkt von WDL in Elo umzurechnen ist sicher ein einfacher und praktikabler Weg, aber die Zeit dabei mehr als es die TC sowieso tut, zusätzlich für die einzelnen gemeinsamen Lösungen in Wins umzurechnen, das hat den Vorteil der größeren Diskrimination aber den Nachteil, die Ergebnisse wieder weniger mit anderen vergleichen zu können. Man müsste die zeitlichen Unterschiede pro Stellung, Lösungszeit und Enginepaar TC- abhängig betrachten, wenn man's überhaupt auch machen will, muss man ja nicht, dann sind halt alle von je 2 Engines in der TC gelösten Stellungen als Remis zu zählen. Und die Zeit geht sowieso über die TC ein als nach wie vor wesentlichstes Performance- Kriterium, wie gesagt, time to solution bleibt das Prinzip auf jeden Fall, egal, ob man zusätzliche Formeln für mehr Diskrimination und oder die Umrechnung in Elo in die Auswertung einbaut oder nicht.
In Elo umrechnen muss man Stellungstest- Ergebnisse auch an und für sich überhaupt nicht, und wenn ich sehe, wie die Leute, die regelmäßig Stellungstests machen, darauf reagieren, wenn man ihnen Möglichkeiten dazu anbietet (sei's mit EloStatTS), verliere ich ohnehin mehr und mehr die Lust daran. Mir kommt's auf eine Bewertung der statistischen Relevanz des einzelnen Ergebnisses an, nicht auf die Maßzahl.
Was aber mit deiner Beobachtung der Unterschiede zwischen single thread und SMP (
bei A-B, was ja nur die Hälfte der momentan relevanten Fragen beantwortet, nicht die des Vergleichs mit Lc0- artigen Engines) auch an sich überhaupt nichts zu tun hat, ist nach wie vor die Frage der Übertragbarkeit von einzelnen Stellungstest- Resultaten verschiedener Stellungen, Engines und Hardware- TCs. Du magst dich der Hoffnung hingeben, (oder ich täusche mich da in dem, was du erreichen willst und du willst es vielleicht eh gar nicht) dass du, wenn du dich auf single thread und A-B beschränkst, dadurch die Ergebnisse zwischen verschiedenen Stellungen, verschiedener TC und verschiedenen Engines eher wirst aufeinander übertragen können. Ich finde halt, wenn du dafür eine Formel wie die von EloStatTS für brauchbar hältst, warum die dann für SMP nicht genau so funktioneren sollte und SMP halt einfach mehr runs bräuchte?
Und so ist's ja mit EloStatTS auch, wenn dir nur die quantitative Umrechnung von Lösungszeiten bestimmter Stellungen und Engines nicht gefällt, ändere halt die Formeln einfach in Hinblick auf die quantitative Umrechnung, von mir aus bestimmte quantitative Parameter numerisch anders für single thread und anders für SMP, anders für die einen Stellungen und die eine Hardware- TC als für die anderen und gut.
Ich fände immer noch am vielseitigsten, WDL (mit oder ohne Elo als Ergebnis) als wesentliches Bewertungskriterium zu nehmen, einen zusätzlichen Punktegewinn durch bestimmte Unterschiede in der einzelnen Lösungszeit im Engine- Vergleichspaar anhand der einzelnen Stellung zu definieren, erhöht die Diskrimination, muss auch die error bar nicht heben oder jedenfalls nicht gleicht stark oder gar stärker, muss aber jedenfalls in Relation zur TC stehen und die muss wieder an die Stellungen und die Engines angepasst werden.
Diese Punkte scheinen mir nach wie vor die wichtigsten (und eigentlich die einzig wirklich wichtigen) beim statistischen Stellungstest zu sein und viel mehr Rolle zu spielen als die Frage, ob man, wenn diese wesentlichen Zeit- und Stellungsfragen an Hardware single thread (bei A-B) oder SMP entsprechend angepasst werden, dann dadurch auch schon wirklich mehr oder weniger Übertragbarkeit auf andere Tests gewinnt.
Dass man auch mit Elo als Ergebnis solche Übertragbarkeit nicht automatisch bekommt und auch nicht dadurch, dass man Lc0 völlig weglässt und A-B nur mehr single thread testet (ist ja auch einfach eine Frage des Gesamt- Hardware- Zeitaufwandes mit wievielen runs bekommst du ausreichende Signifikanz
und ein möglichst großes Verhältnis von Diskrimination zur error bar), das ist ja wohl ohnehin auch evident.