Frank Brenner schrieb:
Zitat:
Unglaubliche 3.92 Elo ... ich krieg einen Lachkrampf, dass dieser [meines Erachtens nicht spürbare] RIESENFORTSCHRITT überhaupt einer Erwähnung bedarf.
Ein Stockfish Programmierer (es gibt ja sehr viele) arbeitet mehrere Wochen an einem Patch der 0.1 oder 0.5 ..... 2.0 ELO bringt.
Die meisten Programmierer erzielen selbst nach einem Jahr keine Verbesserung.
Es erfordert sehr viel Arbeit und Können für Stockfish eine einzelne Verbesserung zu erzielen in der Größenordnung von 0.5 oder 1.7 ELO.
Die Verbesserungen kommen nicht zufällig.
Wenn du zufällig an den Parametern in Stockfish drehst, zb die Figurenwerte änderst, oder beliebige anderen Bewertungskonstanten änderst, so erzielst du fast zu 100% eine Verschlechterung.
3.92 ELO wäre für einen Patch wäre SEHR großer Schritt.
Der Programmierer dem dieses Kunststück gelingt, kann sich Feiern lassen. Sowas passiert nur sehr selten
Die 3.92 ELO wurden mit 30.000 Partien bei einer Bedenkzeit von 10s/Partie + 0.1s pro Zug ermittelt.
Unglücklicherweise ergibt es sich sehr oft, daß Patches die bei 10s/Partie eine Verbesserung darstellen bei längeren Bedenkzeiten deutlich weniger gut abschneiden - meistens sogar die SPielstärke verschlechtern.
Der Patch auf dem Reinhold sich bezieht erzielt auch bei einer größeren Bedenkzeit von 1 Min/Partie + x s/Zug eine Verbesserug von 2.15 ELO.
Dies wurde mit rund 100.000 Partien gemessen.
Erst wenn eine Verbesserung bei beiden Bedenkzeiten eine Verbesserung darstellt, wird der Patch in den offiziellen Stockish übernommen.
Seit rund 10 Jahren besteht Stockfish aus einer Aneinanderreihung von Verbesserungen in der Größenordnung von 0.0 bis 4.0 ELO für die der einzelne Programmierer oft Wochenlang für gearbeitet hat.
Einen Lachkrampf aufgrund von Geringschätzung kriegt hierbei keiner: Stockfish ist Spielstärker als jeder Mensch
Das stimmt so nicht.
Die einzigen Patches, die mir spontan einfallen, die wohl einige Wochen an Arbeit erfordert haben dürften,
sind der Rewrite des Tablebase-Codes durch M. Costalba, der NNUE-Code (inkl. Trainer), in der Hauptsache wohl T. Sobczyk und G. Linscott,
und evtl Lazy SMP (wohl eher nur Tage ...).
Dann gibt es durchaus Patches, wo der jeweilige Dev Daten für sammelt,
also wie oft passiert das, welchen durchschnittlichen Wert nimmt diese Variable an, usw.
Aber auch das erfordert nur wenige Stunden, wenn überhaupt.
Der Großteil der Patches dürften aber tatsächlich kleinere Änderungen sein,
wo man einfach denkt, das probiere ich jetzt mal aus, und wenn es nichts bringt,
probiere ich einfach mal das Gegenteil davon. Dahinter kann eine fundierte Idee stecken,
muss es aber nicht!
Der jetzige Zustand der Hauptsuchfunktion spricht Bände ...
Was dabei allerdings wohl von vielen unterschätzt wird, ist der profane technische/bürokratische Aufwand,
der betrieben werden muss. Sprich den Code auf Github bringen, die Tests erstellen, und bei Erfolg,
einen Pull Request erstellen.
Was auch heute noch viel Arbeit ist bzw. viel Zeit erfordert, ist das Generieren von Daten
und das Trainieren des Neuronalen Netzes. Keine Frage!
Vergleichbar mit dem Tunen von Bewertungsparametern aus früheren Tagen.
Leider hat man aber auch mit dem Einführen von NNUE einen Großteil der Entwickler
nicht mitnehmen können. Aus verschiedenen Gründen.
So sind es (leider) nur ein paar wenige Leute, die sich zur Zeit da einbringen können.
Edit und P.S. Nicht zu vergessen natürlich die ursprüngliche Erstellung des Fishtest Frameworks, und die Arbeit der Leute quasi hinter den Kulissen,
die das ganze am Leben erhalten und kontinuierlich weiter verbessern!!! Da steckt tatsächlich sehr viel Arbeit dahinter!!!