Hi Michael,
Du hast sehr frei übersetzt. Das kann ich so nicht lassen. Kleine Änderungen haben große Wirkungen. Nun habe ich Deine Übersetzung genommen und versucht meine Fragen so zu rekonstruieren wie ich diese auch gemeint habe. Dabei habe ich teilweise etwas anders formuliert, denn mein englisch ist auch nicht gut und da musste ich mir oft behelfen wenn mir Formulierungen zu kompliziert wurden. Dann habe ich die Antworten von Tord auch frei übersetzt, Deine Übersetzung genommen und dann ganz leicht, natürlich ohne seinen Sinn zu verändern so formuliert, wie ich es schreiben würde. Denn eine 1 zu 1 Übersetzung ist schier unmöglich, nicht für mich und wie gesagt bei Deiner freien Übersetzung kommen auch teilweise leicht andere Zusammenhänge raus.
In den letzten fast 4 Stunden habe ich 8 der 24 Fragen geschafft.
Ohne jetzt zu prüfen wie viele Fehler da noch drin sind (Formulierungen etc..).
Das wird mir zu viel Arbeit.
Sagte auch immer zu einem Freund, der kaum Englisch spricht, dass eine Rückübersetzung mich total außer Gefecht setzen würde. Er fragte mich ob ich nicht alle Interviews auch in deutsch auf die Seite legen könnte.
Die Rückübersetzung meiner Fragen und die Übersetzung der Antworten von Tord ... trotz Deiner guten Vorarbeit ... dauern sicherlich "für mich" mindestens 12 Stunden.
Denn wenn ich das auf die SCHACHWELT Seite bringe muss es so gut wie möglich sein.
Vergleiche das mal mit Deiner Übersetzung:
Interview mit
Tord Romstad (Norwegen)
Joona Kiiski (Finnland)
Marco Costalba (Italien)
Programmierer von Stockfish
29.03.2010
von Tord Romstad, Joona Kiiski, Marco Costalba & Frank Quisinsky
Übersetzung von Michael Wäsch / Frank QuisinskyGegenwärtig ist Stockfish die Nummer 2 der verfügbaren Schachprogramme. Das ist eine besonders interessante Tatsache, denn Stockfish ist kostenlos erhältlich. Lediglich das kommerzielle Schachprogramm Rybka 3 ist bei 64-Bit etwa 60 - 70 ELO und bei 32-Bit ca. 30 ELO spielstärker. Eine schwierige Situation für die anderen kommerziellen Programmierer. Stockfish steht in ständiger Entwicklung und hatte in der Vergangenheit, bei jeder neu verfügbaren Version, größere ELO Zuwachsraten. Viele Computerschächler gehen davon aus, dass Stockfish bald die Nummer 1 sein könnte. Eine sehr große Erwartungshaltung an eine Gruppe von Programmierern, die lediglich in ihrer Freizeit an diesem Freeware Programm arbeiten. Tord, Joona und Marco bildeten ein Team und genau das könnte auch einer der Gründe des Erfolges sein. Tord arbeitete eine lange Zeit an den Vorgängern Gothmog und Glaurung. Der norwegische Programmierer, der offenbar über tonnenweise Schachwissen verfügt, ist einer der talentiertesten Schachprogrammierer den wir haben. Es ist Zeit für ein Interview!
01.
Frank QuisinskyDer Erfolg von Stockfish hat sich mittlerweile herumgesprochen. Ich bin mir sicher, dass das Stockfish Team schon viele E-Mails mit kommerziellen Anfragen erhalten hat. Sind Kommerzielle in Sichtweite? Ich wittere Gefahr! Das Thema wurde sicherlich schon intern diskutiert. Bitte gebe uns doch hierzu zunächst ein klares Statement!
Tord RomstadEs gibt keine Pläne für einen kommerziellen Stockfisch. Warum sollte Stockfish nicht frei sein? Alle drei von uns haben reguläre Arbeitsplätze und wir können hieraus unsere Rechnungen zahlen. Computerschach ist nur ein Hobby. Die meisten Menschen verdienen kein Geld bei der Ausübung von Ihrem Hobby. Ich sehe keinen Grund, warum es mit Schachprogrammierung anders sein sollte. Kommerzielle Interessen würden uns zwingen, uns stärker mit Aufgaben wie Marketing, Support und der Programmierung einer Benutzeroberfläche zu befassen. Wir haben dafür wenig Geschick und Interesse. Für den Ausgleich dieser zusätzlichen Arbeit würden wir nur einen kleinen Betrag erhalten, den wir nicht wirklich benötigen.
02.
Frank QuisinskyMeiner Meinung nach haben wir mit Stockfish eine Traumsituation. Das war schon immer mein größter Wunsch seit Winboard Zeiten. Ein kostenloses Schachprogramm, welches das Beste oder in der Nähe der Besten der Welt ist. Motivation genug für andere Amateure und natürlich auch für Profis. Apropos Spielstärke: Stockfish ist das Maß aller Dinge für kommerzielle Programme und animiert die komplette Computerschach Szene. Bist Du dir dessen bewusst?
Tord RomstadNatürlich sind wir alle glücklich und stolz darauf, dass die Leute unser Programm gut finden. Wir hoffen, dass es möglich ist, Amateure und Profis zu inspirieren bzw. die Benutzer regelmäßig zu erfreuen.
03.
Frank QuisinskyLasse uns das Interview starten mit dem Spielstil. Das ist meine favorisierte Frage für Schachprogrammierer. Jede Engine benötigt ihr eigenes Gesicht. Bei der Spielstilbeschreibungen auf den
SCHACHWELT Webseiten schrieb ich:
Spielstilbeschreibungen der TOP-20 Schachprogramme (in deutscher Sprache):
http://www.nk-qy.info/bericht-swcr-engines.htmDer Spielstil ist recht einfach zu beschreiben. Die Züge sehen logisch und einfach aus. Stockfish spielt wie von Zauberhand geführt. Herausragend sind die Stärken im Endspiel und im Königsangriff. Aha, GM José Raúl Capablanca muss dahinter stecken? Der Spielstil ist absolut, gar zu mehr als 90% (sinnbildlich), vergleichbar mit dem kubanischen Nationalhelden und Schach-Weltmeister. Ich bin mir derzeit gar nicht mehr so sicher, ob Shredder oder Rybka das Endspiel zusammen allein dominieren. In der Eröffnung spielt Stockfish eher unauffällig aber ausgewogen. Positionell sehe ich noch Verbesserungsmöglichkeiten. Oftmals werden, gerade im Mittelspiel, Stellungen zu negativ eingeschätzt. Das könnte bei den Bewertungsfunktionen zu passiven Alternativzügen führen. Bei späteren Analysen stellt sich dann allerdings heraus, das vermeidlich bessere Züge dennoch errechnet wurden. Insofern eine optimale Engine für Langzeitanalysen. Trotz der enormen Spielstärke steckt enormes Potential in der Engine. Die drei Programmierer arbeiten sehr fleißig an Stockfish und es ist abzusehen, dass Stockfish, in sehr naher Zukunft, die Spielstärke von Rybka erreichen wird. Dafür muss sich niemand für viel Geld als Prophet ausbilden lassen.Tord, bitte habe Verständnis für die Welle meines Enthusiasmus. Ich denke, dass wir alle dazu lernen müssen, auch das Stockfish Team, wenn wir von 3.000 ELO sprechen. Was denkst du über meine Spielstil-Beschreibung. Vielleicht kannst du etwas zum Spielstil von Stockfish aus deiner Perspektive schreiben?
Tord RomstadDanke für die Blumen und den Enthusiasmus. Ich denke, dass es irreführend ist, den Spielstil von Schachprogrammen mit dem von menschlichen Spielern zu vergleichen. Menschen und Computer sind einfach zu verschieden. Der Versuch zu entscheiden, ob Stockfish mehr wie Lasker oder mehr wie Casablanca spielt, ist, als ob man versucht herauszufinden, ob Deutsch mehr Persisch oder Hindi gleicht.
Aber Meinungen über die Ansichten der Anwender über den Spielstil eines Programms zu lesen, ist immer interessant. Auch dann wenn ich nicht zustimme. Grundsätzlich denke ich, dass man Spielstil-Beschreibungen neutralen Anwendern überlassen sollte. Beim Versuch sein eigenes Programm zu beschreiben, ist es schwierig objektiv zu bleiben. Herauskommen würde nur, dass ich Stockfish so beschreiben wie ich das eigene Programm gerne sehen würde anstatt wie es tatsächlich spielt.
04.
Frank QuisinskyDas Endspiel und die Königsangriffe sind herausragend. Es ist schön zu sehen, dass Stockfish im Endspiel einen klaren Vorteil gegenüber anderen Programmen hat. Meist sieht Stockfish Abwicklungen lange Zeit bevor andere Programme diese errechnen können. Woher kommt dieses ganze Wissen über Endspiele? In harter Arbeit selbst entwickelt oder wurden wichtigen Informationsquellen herangezogen? Kannst du uns ein paar Hinweise bezüglich des implementierten Endspielwissens geben?
Tord RomstadEigentlich gibt es kein großes Endspielwissen in Stockfisch, abgesehen von ein paar spezielle Bewertungsfunktionen für grundlegende Endspiele. Diese Bewertungsfunktionen dienen als Ersatz für die Bitbases. Die Spielstärke im Endspiel ist etwas mysteriös, auch für mich. Als Erklärung könnten ich aufführen, dass unsere Suchalgorithmen im Endspiel besonders effektiv sind. Da wir gerade dabei sind; Es ist erwähnenswert, dass das Endspiel in Stockfish die schwächste Phase des Spiels auf dem IPhone ist. Hier ist die Suchgeschwindigkeit ja sehr gering.
Die speziellen Endspielfunktionen sind nicht aus einer speziellen Quelle. Das implementiere Wissen stammt im Grunde aus Büchern für Anfänger. Das ist alles Standardwissen, wie die Notwendigkeit, den gegnerischen König bei KLS-K in die Ecke der Farbe des Läufers zu bewegen, oder wie die Philidor-Verteidigung bei KTb-KT Endspielen.
05.
Frank QuisinskyIch kann mich des Eindrucks nicht erwehren, dass der Vorgänger Glaurung, der ca. 200 ELO schwächer spielt, ein wenig aggressiver im Königsangriff ist. Aber das ist vermutlich nur dann zu erkennen, wenn Glaurung gegen gleichstarke Gegner spielt. Ich vermute, dass Programme mit einer höheren ELO taktisch weniger aggressiv spielen. Gerade in heutigen Zeiten ist es nicht ganz einfach diese Thesen zu isolieren, weil die Spielstärke der Programme zu hoch ist. Glaubst du, dass Stockfish an Aggressivität im Vergleich zu Glaurung verloren hat?
Tord RomstadDas habe ich nicht bemerkt und ich kann auch nicht erkennen, dass eine Veränderung seit Glaurung 2.2 einen größeren Effekt auf die Aggressivität gehabt haben soll. Die Funktion für die Königssicherheit ist fast unverändert und auch die Gewichtungen für die einzelnen Bewertungen, die die Königssicherheit betreffen wurden ebenfalls kaum verändert. Allerdings ist es möglich, dass das was Du beobachtet hast, lediglich schnellerer Hardware zuzuordnen ist. Mir scheint es, dass schnellere Hardware aggressive Programme dazu bringt konservativer zu spielen. Vielleicht auch für die Unterschiede im Spielstil der Programme verantwortlich ist. Stockfish spielt wesentlich aggressiver auf meinem iPhone als im Vergleich auf meinem Mac. Auf dem iPhone geht Stockfish auch viel größere Risiken ein.
06.
Frank QuisinskyUnd wie schaut es mit den Schwächen aus? Mein Vater sagte gerne zu mir: "Mach deine Stärken stärker und keiner sieht deine Schwächen". Das könnte doch auch eine Strategie für Stockfish sein. Wenn das Team noch einmal am Endspiel arbeitet, wird das keiner verstehen. Möglicherweise würde es mein Vater verstehen, aber der hat in seinem Leben noch nie eine Partie Schach gespielt. Ich muss herausfinden, an welchen Punkten das Stockfish Team derzeit arbeitet. Bitte packe doch die Geheimnisse aus!
Tord RomstadFür diese Frage übergebe ich das Mikrofon an unseren stärksten Schachspieler:
Joona Kiiski* Beim klassischen Königsinder mit geschlossenen Positionen, Schwarz baut langsam einen sehr gefährlichen Angriff auf, hat Stockfish mit Weiß keinen Plan von dem, was passiert - bis es zu spät ist.
* Stockfish ist im späten Mittelspiel bei Materialvorteil, einem ungeschützten König, und Damen auf dem Brett zu optimistisch. Die Risiken, dass der Gegner Remis durch Dauerschach erzwingen kann sind groß. Stockfish versteht das nicht.
* Stockfish bewertet zusammenhängende Bauern über, wenn der Gegner mit seinen Figuren ein Blockade errichten kann. Glücklicherweise passiert das in der Realität nicht so oft.
* Stockfish ist im späten Endspiel bei wenigen Bauern zu optimistisch, z. B. bei KSb-KS oder KLbb-KLb. Solche Partien enden meist mit Remis.
* Stockfish hat noch zu wenig Endspielwissen bei einigen trivialen Endspielen wie z. B. KQ-Kp. Zu sehen wenn der Bauer auf c2 oder a2 steht.
07.
Frank QuisinskyEine andere Betrachtungsweise ist der Support zu Standardfunktionen, die von Benutzern gerne erwartet werden. Stockfish hat eine perfekte UCI Anbindung, 64-Bit Unterstützung, sowie diverse andere Standards. Ebenso beinhaltet Stockfish weitere sehr interessante UCI-Optionen. Das Problem dabei ist nur, dass diese Optionen nicht dokumentiert sind. Ich weiß, dass eine Dokumentation für einen Programmierer eine eher langweiligere Arbeit ist. Können wir mit einer gute Beschreibung der kompletten UCI Optionen rechnen?
Tord RomstadDie Meisten dieser Optionen sind entweder offensichtlich, weitere Erklärung sind nicht notwendig, oder zu komplex. Daher ist es unmöglich, die Komplexen näher zu beschreiben. Dabei würde zu sehr ins technische Detail gegangen; Wie arbeitet ein Programm. Z. B. die zahlreichen Parameter zur Konfiguration der Königssicherheit und der parallelen Suchalgorithmen. Irgendwann in naher Zukunft sollten wir einige der Parameter, die am Meisten für Verwirrung sorgen, entfernen, und eine kurze Beschreibung der restlichen Parameter auf unsere Webseite setzen.
08.
Frank QuisinskyWir haben die Situation, dass ein Programm wie Stockfish zu spielstark für diese Welt ist. 3.000 ELO kann einfach niemand dauerhaft schlagen. Stefan Meyer-Kahlen hat einige interessante Optionen zur Spielstärkereduzierung in seine Benutzeroberfläche "Shredder Classic" eingebaut. In Zeiten, als ich Ruffian vermarktet hatte, gab ich Per-Ola den Auftrag, Spielstufen als UCI-Optionen einzubauen. Vor ein paar Jahren arbeitete Franck ZIBI (Pharaon Programmierer) mit einem Studenten zusammen, der gerade seine eigene Projektarbeit schrieb. Er programmierte im Rahmen dieser Projektarbeit einen Schachlehrer als UCI-Option für Pharaon 2.62. Ich denke, dass dieses Computerschach Thema zukünftig mehr und mehr im Blickpunkt stehen wird. Im Umkehrschluss könnte das auch zu einer Zukunftsvision führen. Ich meine herauszufinden, welche die spielschwächste Engine ist. Ganz sicher werden viele Schachfreunde sehr bald die ersten Ratinglisten zu diesem Themenkomplex erstellen. Was könntest Du tun, um Stockfish für einen Clubspieler mit 1.600 ELO interessanter zu gestalten?
Tord RomstadEine einstellbare Spielstärke ist in der iPhone Version bereits implementiert, benötigt aber noch weitere Verbesserungen. Es ist zwar möglich, dass dies in der UCI-Engine irgendwann in der Zukunft hinzugefügt wird, aber ich bin mir nicht sicher ob das eine gute Idee wäre. Stockfisch ist ein Open Source Programm, und deshalb ist es wichtiger, als für eine durchschnittlich andere Schach-Engine, dass der Quellcode sauber, leicht zu lesen, und einfach zu verändern ist. Eine einstellbare Spielstärke würde den Quellcode unübersichtlich und komplizierter gestalten.
Lern Funktionen wären interessant. Daran zu arbeiten erfordert andere Fähigkeiten als die Engine Programmierung. Wahrscheinlich sind wir nicht die richtigen Personen für diese Aufgabe.