You are here: Home > Interviews > Volker Böhm and Ralf Schäfer (Spike)

Volker Böhm and Ralf Schäfer (Spike)

March 20th, 2005
Spike 0.9 released
German interview with
Volker Böhm and Ralf Schäfer

FQ

v. 0.9
UCI / WB compatible
Home of Spike (Arena Partner)
Interview with Volker Böhm in cooperation with Ralf Schäfer
Hint: Spike 0.9 X2 is number 25 in ATL-1 Rating-List!

Frank Quisinsky:
Zunächst möchte ich Euch zu den Erfolgen beim CCT-7 und dem IPCCC 2005 gratulieren. Sind wir ehrlich, mit den Ergebnissen konnten wir gar rechnen! In der ATL-1 war schon ersichtlich, dass Spike 0.9x um mehr als 100 ELO zugelegt hat. Dies gibt mir natürlich reichlich Material um nachzufragen. Wie kam es zu diesem deutlichen Sprung? Wurden Teile von Spike komplett umgeschrieben? Welche Änderungen waren für diese enormen Spielstärkezuwachs verantwortlich?

Spike Team:
Für Spike 0.9 haben wir uns etwas mehr Zeit gelassen. Wir denken, dass weniger häufige Releases mit größeren Spielstärken Verbesserungen auch bei den Anwendern und Testern bzw. Turnierveranstaltern besser ankommen. Durch die zusätzliche Zeit konnten wir auch mehr Ideen implementieren. Im Wesentlichen haben wir Verbesserungen in der Stellungsbewertung gefunden, insbesondere Mobilität und verbesserte Freibauern. Außerdem haben wir mit History-Pruning experimentiert und eine Lösung implementiert, die gut zu Spike passt. Ein paar weitere Verbesserungen hier und da haben dann das Ergebnis gebracht.

Frank Quisinsky:
Eine so deutliche Programmverbesserung steigert natürlich auch die Erwartungshaltung der Fans. Natürlich wird es nicht möglich sein, Spike beständig in 100 ELO Schritten zu verbessern. Unzweifelhaft ein riesiges Potential zu erkennen. Ich gehe davon aus, dass Ihr derzeit die Prio auf Spielstärkeverbesserung legt und auch in den nächsten Monaten sich nichts daran ändern wird. Dennoch wäre es interessant zu wissen, ob Ihr auch hinsichtlich Kompatibilitäten Spike in absehbarer Zeit verbessern möchtet. UCI II ist ein riesiges Thema und auch der Support zu Chess960 ist in aller Munde. Wird Spike bei der ersten Chess960 in Mainz an den Start gehen?

Spike Team:
Mit der 0.9 haben wir schon ein bisschen in Kompatibilität investiert. Z.B. sind einige Teile von UCI II integriert. Die "Refutation"-Implementierung gefällt uns aber noch nicht, da sie zumeist nur die PV ausgibt. Außerdem haben wir unser Interface zur Fritz GUI angepasst. Neu ist auch die Möglichkeit einige Einstellungen für Search konfigurieren zu können. Chess960 werden wir in der 1.0 haben. Wir freuen uns schon auf das Turnier in Mainz, bei dem wir gerne teilnehmen!

Frank Quisinsky:
Es ist heute gar nicht mehr so ungewöhnlich, dass sich zwei Personen bei einer Programmentwicklung vereinen. Natürlich wird eine solche Kooperation gerade  hinsichtlich der Programmierung kompliziert, denn eine Engine bezeichne ich mal als individuellen Ausdruck eigener Ideen. Dennoch spricht alles dafür, sich in einem "kleinen" Team auszutauschen, mit dem Ziel, die freundschaftliche Verbindung mit einem gemeinsamen Interesse zu vereinen. Der bisherige Erfolg spricht eindeutig dafür, dass der Zusammenschluss Früchte trägt. Wie kam es zu Euren Zusammenschluss und seit wann arbeitet Ihr in einem Team an Spike?

Spike Team:
Wir haben beide zu ähnlichen Zeiten angefangen ein Schachprogramm zu erstellen. Das ist dann schnell eingeschlafen, da die Vergleichsprogramme (Kommerzielle) einfach viel zu gut waren. Vor etwa zwei Jahren hat Ralf dann Arena entdeckt und damit die Möglichkeit auch gegen einfache Programme zu spielen. Das gab uns die Möglichkeit schnell Gegner zu finden, gegen die wir auch gewinnen können.

Ralf Schäfer (links) und Volker Böhm (Spike),
hier mit Achilles / Shredder Programmierer
Stefan Meyer-Kahlen (im Vordergrund rechts)
Aufnahme beim IPCCC 2005 in Paderborn!

Am Anfang haben wir beide unterschiedliche Engines entwickelt, Cheetah und IceSpell. Von Anfang an haben wir aber über die Ideen darin diskutiert. Zumeist hat Volker über die komplizierten Algorithmen gegrübelt und Performance optimiert, Ralf hat mehr an Bewertungen gebastelt. Da kam dann die Idee auf uns einfach zusammenzuschließen. Jetzt macht Ralf die Bewertungen und Volker die Datenstrukturen und die Suche. Dadurch kommen wir uns nicht ins Gehege. Nach wie vor werden aber die meisten Ideen gemeinsam diskutiert und getestet. Spike ist inzwischen ein Jahr Alt - seit der ersten Programmzeile gerechnet.

Frank Quisinsky:
Trotz der vielen Programmentwicklungen bzw. der Vielfalt an zur Verfügung stehenden Webseiten der Engine Programmierer, fällt Eure Webseite besonders auf. Da steckt sehr viel Liebe im Detail und lässt vermuten, dass ein weiblicher Part im Hintergrund Fäden zieht. Ist das nur eine Vermutung oder möchtet Ihr auspacken? Ach ja, die eigene Erfahrung lässt grüßen ...

Spike Team:
Na ja, wir haben hier professionelle Unterstützung. Die Lebensgefährtin von Ralf erstellt beruflich Web-Seiten und hat uns auch bei den Seiten von Spike ein schönes Layout erstellt.

*** Achtung: Spike 0.9 startete heute in die ATL-2 ***
ATL League

Frank Quisinsky:
Es ist erstaunlich das Programme wie Spike mit Verspätung unsere Festplatten beglücken. Habt Ihr später das Internet als Plattform entdeckt bzw. seit erst später in den Genuss der Informationen aus dem WWW gekommen? Waren andere Entwicklungen aus dem WWW verantwortlich, für die offenbar nunmehr verstärkte Entwicklung von Spike?

Spike Team:
Nein, Spike ist einfach sehr jung, d.h. inzwischen genau ein Jahr alt. Wir wollten es erst freigeben, wenn wir eine Engine haben, die zumindest einigermaßen spielt. Das war dann die Version 0.7, die immer noch ab und zu runtergeladen wird.

Frank Quisinsky:
Turniere wie das IPCCC in Paderborn sind leider nur bei einer kleinen Gruppe von Engine Programmierer beliebt. Das hat mehrere Gründe wie z. B. Zeit, berufliche Verpflichtungen oder die Anreise aus fernen Ländern. Viele der teilnehmenden Programmierer vom IPCCC sind Dauergäste und kennen die Lokalitäten im Umfeld von Paderborn. Wie seit Ihr als "Newcomer" außerhalb des Turniersaals aufgenommen worden? Es waren sicherlich viele aus den Foren bekannte Personen beim IPCCC und haben Euch Löcher in den Bauch gefragt :-) Oder wart Ihr über den Zuspruch aus der Usergemeide eher enttäuscht?

Spike Team:
Als wir angekommen sind waren wir erst etwas zurückhaltend empfangen worden. Einige wenige Teams saßen hinter ihren Rechnern und haben irgendwas an ihren Systemen geschafft. Dann aber, insbesondere während der Turniere gab es dort eine tolle Atmosphäre und viele schöne Gespräche mit anderen Entwicklern. Aber Löcher im Bauch hatten wir nach IPCCC eigentlich nicht.

Frank Quisinsky:
Irgendwann muss ich ja etwas dazu schreiben?! Das Spike Team ist uns sehr sympathisch und wir fragten Euch nach einer Partnerschaft mit uns. Diese Partnerschaften sind für uns sehr wichtig. Einigkeit im Amateurschachbereich und gegenseitige Achtung von erbrachten Leistungen ist das Resultat von dem was wir heute vorfinden. Zu animieren wird aufgrund vieler selbsternannter Experten und Selbstdarsteller immer schwieriger aber auch das zeugt davon, dass die Gruppe an interessierten Anwendern zumindest größer wird. Wir freuen uns sehr über Eure Zustimmung und sehen einer langfristig ausgelegten Partnerschaft entgegen. Spike wird viele Fans finden und wir hoffen natürlich auch, dass die Gruppe der Anwender der Arena Chess GUI größer wird. Was sind Eure größten Wünsche im Hinblick auf die laufende Arena Entwicklung?

Spike Team:
Arena ist ein tolles Programm und super umfangreich. An Funktionalität fehlt uns eigentlich nicht viel. Im Turnier bei IPCCC haben wir mit Arena gearbeitet und für die Präsenztermine fehlten uns ein paar Kleinigkeiten - eventuell wussten wir auch nicht wie das geht: Es fehlte uns eine Möglichkeit die Arena-Uhr an die reale Uhr anzupassen; es gibt keine Schnelleingabe von Zügen (z.B. bei Eindeutigkeit einfach ein Klick auf das Zielfeld) und wir hatten keine Möglichkeit gefunden vor Beginn des Spieles das Spiel so zu beschreiben, dass während des Spieles alle Einträge in der laufend geschriebenen PGN richtig waren. Am meisten würden wir uns aber über das Korrigieren der kleinen Fehler in Arena freuen, z. B im ICS-Modus. Eine Sache für Schachprogrammierer: eine Möglichkeit über verschiedene Rechner laufende Turniere auf einem Rechner zentral zu verwalten. Und vielleicht noch ein kleiner Wunsch, der uns Programmierern das Analysieren von Problemstellungen erleichtern würde: Die Möglichkeit, aus dem Variantenbrett heraus eine Fen in die Zwischenablage kopieren zu können, so wie es auf dem normalen Brett ja auch schon geht.

Frank Quisinsky (im Auftrag von Arena unterwegs):

1. Arena Uhr:
Roland Pfister (Patzer) experimentiert derzeit mit Chess960 Support. Im Rahmen seiner Experimente hat er uns auch schon auf diesem Tatbestand hingewiesen. Die Wünsche wurden an Martin Blume weitergeleitet.

2. Schnelleingabe von Zügen:
In News-Ticker Message 27 gibt es einen Hinweis zu Arena 1.2. Das ist eine Super Alpha Version über die ich hier berichtet habe. In dieser Version ist es möglich die Schnelleingabe von Zügen auch mittels Tastatur durchzuführen. Die Idee mit dem Klick auf das Zielfeld wäre natürlich eine weitere sinnvolle Ergänzung.

3. ICS-Modus
Wir haben fleißig über ein Jahr Vorschläge und Fehler zum ICS Mode gesammelt. Martin wird keine wesentlichen Neuerungen beim ICS Support bringen aber die Korrektur der Fehler hat eine sehr hohe Priorität. Es ist mühsam bei der Kontrolle der erfolgten Bugs neu zu kompilieren um sich dann auf dem Server anzumelden und zu prüfen ob die Korrekturen auch erfolgreich waren. Das kostet Energie und ganz sicher ... dafür muss Martin ein paar gute Tage mit sehr viel Motivation finden.

4. Laufende Turniere von mehreren Rechnern auf einem Rechner zentral verwalten:
Also ich nutze mein Netzwerk für solche Operationen und greife direkt in die *.at Datei ein. Ich wüsste jetzt ehrlich gesagt auch nicht wie eine andere / bessere Idee aussehen könnte. Martin wird das Interview auch lesen und vielleicht können wir Ideen per E-Mail austauschen.

Zusatz (German):
Volker Böhm berichtete am 21.03.2005 per E-Mail über eine Idee, die ich an Martin weitergeleitet habe.
Steuerung von Turnieren von einem Rechner bei Verwendung von mehreren Systemen!

5. Variantenbrett
Sehr schöner Vorschlag, wird Martin sicherlich schnell umsetzen können!

Frank Quisinsky:
Ich möchte in dem Interview mit Euch ein paar Meinungen zu User-Standard-Fragen einholen. Wir werden ganz sicher noch öfters über die Spike Entwicklung berichten und von daher habe ich breites Spektrum für dieses Interview, denn ich habe die Möglichkeit öfters ein kleines Interview mit Euch zu veröffentlichen. Ein Thema welches mich persönlich und derzeit stark beschäftigt sind Eröffnungsbücher. Wenn ich mir das Buch von Harry Schnapp anschaue bin ich schlichtweg begeistert, denn z. B. erzielt Shredder 9.0 bessere Resultate mit dem Buch von Harry als mit dem Buch von *Sandro Necchi*. Ich möchte nicht behaupten das das Buch von Sandro nicht gut ist (ganz im Gegenteil) aber ich vermute, es liegt auch an der enormen Spielstärke von Shredder. Übrigens, ein sehenswerte Partie die Spike gegen Shredder in Paderborn gespielt hat. Viele Engine Programmierer sind der Meinung, das ein gutes Buch von 200-700 ELO ausmachen könnte. Ich halte die Zahlen für stark übertrieben. Seit Ihr mit Eurem Buch zufrieden und wie hoch ist die Prio, dass eigene Spike Buch zu verbessern? Würdet Ihr den Part des Eröffnungsbuches lieber auslagern oder einer dritten Person übergeben?

Spike Team:
Man kann mit einem schlechten Buch eine Engine sicherlich 700 ELO schlechter machen. :-) Eine gute Engine kann auch die Eröffnung ohne Buch sehr gut spielen. Ein Buch muss daher schon einige Qualitäten haben, damit es besser spielt als eine gute Engine. Hydra z.B. begrenzt das Buch auf wenige Züge obwohl sie sehr kompetente Schachspieler im Team haben. Wir haben selber nicht das Schachwissen, um ein Buch selber zu schreiben. Derzeit ist das Spike Buch komplett generiert. Spike ändert sich noch zu schnell, als dass ein angepasstes Buch Sinn macht. In IPCCC hat uns das generierte Buch nie in eine schlechte Stellung gebracht. Wir waren sehr zufrieden. Wir haben schon ein Buch von einer dritten Person für Spike bekommen, dass passte dann aber nicht mehr so gut zur aktuellen Spike Version. Wenn wir weniger schnell neue Ideen für Spike umsetzen, dann freuen wir uns sicherlich über Hilfe durch kompetente Buchschreiber. Spike hat übrigens ein eigenes Programm (mit Oberfläche) mit dem man Bücher erstellen und manuell nachkorrigieren kann. An dem Programm wollen wir noch irgendwann weiterentwickeln, so dass wir die Einträge im Buch auch mit Spike überprüfen können.

Frank Quisinsky:
Tuning ist ein heißes Thema. Ob nun Engines mittels Overclocking vom Prozessor / RAM getunt werden oder versucht wird zu beeinflussen Engines mittels 5-Steiner, 6-Steiner Nalimov Table-Bases, hohe Hashtaballen oder Beeinflussung der Parameter zu Höchstleistungen zu animieren. Der User nutzt jede Chance um im stillen Kämmerlein aus einem Spike ein Spike / Müller oder Spike / Meyer zu fertigen. Ich erinnere an TheKing und die vielen Einstellungen die möglich sind bzw. den vielen Fans solcher Parametereinstellungen. Wie dem auch ist, eine Engine ist zunächst mal Chefsache und der Programmierer fährt die Fahrwerke aus bzw. steuert den Flieger auf ein Ziel zu. Bevorzugt Ihr ein Navigationssystem in Kombination mit dem User oder ohne den User? Damit meine ich mögliche Parameter für Spike. Es ist meines Erachtens erst dann sinnvoll viele Parameter zu schaffen, wenn eine gewisse Spielstärke erreicht ist bzw. die wichtigsten eigenen Ideen umgesetzt sind. Erst dann sollten Parameter Veränderungen wirklich für eine deutliche Beeinflussung der Engine sorgen. Strebt Ihr zusammen mit den Usern an die Engine zu verbessern bzw. möchtest Ihr langfristig ein zuverlässiges Test-Team bilden um gezielt und mit Unterstützung des Users auf Fehlersuche zu gehen bzw. Spike weiter deutlich zu verbessern?

Spike Team:
Spike hat mit der 0.9-er einige Parameter für Search. Wir beobachten mal, was dabei rauskommt. Insgesamt haben wir aber den Eindruck, dass viele Tester so wenig Spiele machen, dass wir es statistisch nicht für relevant halten. Aktuell machen wir für den Test einer neuen Einstellung ca. tausend Spiele. Wenn jemand Interesse hat verschiedene Konfigurationen in dieser Größenordnung unter sauberen Konditionen zu testen dann können wir uns auch hier Unterstützung vorstellen.

Frank Quisinsky:
Unter den Lesern von diesem Interview sind sicherlich auch viele Programmierer. Die Programmierer interessieren sich wenn überhaupt eher für die programmiertechnischen Ideen. Welche Standards habt Ihr in Spike implementiert? Was ist das Geheimnis der hohen Spielstärke von Spike und welche langfristigen Ideen könnten dieses Spielstärke von Spike zu weiteren größeren Sprüngen treiben? Wo seht Ihr das Geheimnis von Engines wie Shredder oder Gandalf? Shredder dreht derzeit einsam seine Runden, liegt fast 100 ELO vor der gesamten Konkurrenz und das ist mehr als nur ein Klassenunterschied. Vermutlich sind viele Profis zutiefst deprimiert wenn beobachtet wird, wie Shredder die gesamte Konkurrenz an die Wand spielt. Es muss doch möglich sein Stefan Meyer-Kahlen den Fehdehandschuh erfolgreich vor seinem Source Code zu werfen? Denkt Ihr das auf absehbarer Zeit ein Amateur das Spielstärken Niveau von Engines wie Hiarcs, Gandalf oder TheKing erreichen wird oder das gar ein Amateur an dem Thron von Stefen sägen könnte?

Spike Team:
Wenn wir mal 100 ELO stärker spielen als die dann aktuelle Version von Shredder sind wir sicherlich auch kommerziell. Im Ernst, das Shredder Niveau erreicht man nicht nur mit guten Ideen, man muss auch sehr viel Zeit aufwenden. Die vielen umfangreich getesteten Details sind aus unserer Sicht eines der "Geheimnisse" von Shredder. Als Amateur werden wir schon aus Zeitgründen nicht auf Shredder Niveau kommen. Spike ist aus unserer Sicht auch nur so gut geworden, weil wir unsere Ideen gut testen. Zum Einen haben wir Debuggingcode in Spike integriert, der uns eine sehr gute Analyse des Suchbaums ermöglicht und zum Anderen testen wir neue Ideen mit vielen Spielen. Natürlich spielen auch Begeisterung und gute Zusammenarbeit eine Rolle. Wir beiden ergänzen uns hervorragend.

Frank Quisinsky:
Der Naum Programmierer *Aleksandar Naumov* gab einem interessanten Kommentar in einem Interview mit mir ab: "Engine info you ask about is interesting, but I would also like to know more about the person (age, birth place, profession, education,...)." Ich bin mir sicher, dass Ihr Euch nicht lumpen lasst und die gewünschten Informationen weitergebt :-)

Spike Team:
Wir sind beide 1967 geboren, Informatiker seit dem Studium an der Uni in Kaiserslautern und wohnen im Raum Wiesbaden - wo wir auch gemeinsam zur Schule gegangen sind. Ralf ist Entwickler, Volker ist Projektleiter in einem IT- Unternehmen. Noch eine Gemeinsamkeit: wir haben beide sehr tolerante Lebensgefährtinnen, die uns neben der Arbeitszeit auch noch für die Schachprogrammierung entbehren.

Frank Quisinsky:
Ich möchte Euch nicht zu viele Fragen in die Interviews mit den Engine Programmierer bringen oder mir gehen auf Dauer die Fragen aus :-) Aber diese letzte Frage sei mir gestattet ... Wird Spike in absehbarer Zeit ein bedeutendes Turnier gewinnen? Erlaubt ist nur ein Ja oder Nein :-)

Spike Team:
Nein

Frank Quisinsky:
Vielen Dank für die Bereitschaft zum Interview! Wir alle wünschen auch Euch weiterhin viel Glück und Erfolg mit Spike! Wann wird Spike 0.9 (warum nicht 1.0?) verfügbar sein. Die Usergemeinschaft wartet schon sehnsüchtig auf die deutlich verbesserte Version. Ganz ehrlich, ich bin auch ein kleiner Raffzahn :-)

Spike Team:
In ganz kurz. Die Version ist fertig, wir müssen sie nur noch herausbringen. Spike hat mit 0.1 angefangen, dann gab es 0.2, ... Jetzt sind wir halt bei 0.9, danach kommt die 1.0. Wir wollen für die 1.0 eine vollständige Chess-Engine, spielstark und mit allem was man so braucht. Die 0.9 ist fast so weit - aber nur fast. Es fehlt zum Beispiel EGTB Support.

 

Powered by CMSimple_XH | Template by CMSimple_XH | (X)html | css | Login