Beim letzten Vereinsabend unseres Schachvereins (schachfreunde.topschach.de) gab unser Mitglied Ritschi mal wieder eine seiner Anekdoten zu Richard Lang zum Besten. Ritschi (IM Thomas Reich) arbeitete sehr eng mit dem Programmierer Richard Lang zusammen und war unter anderem auch für die Eröffnungsbücher zuständig, welche bei den einzelnen Schachcomputer-Weltmeisterschaften eingesetzt wurden. Auf die Frage, warum die Programme von Richard Land so verhalten spielen und den Weg nach vorne eher gemächlich angehen, zitierte Ritschi Richard Lang mit den Worten „Partien können auch noch später gewonnen werden!“ 🙂
Mit diesem Credo dominierte Richard Lang mit seinen Schachprogrammen über viele Jahre das Computerschach und wurde damit Weltmeister in Serie.
Mit Stockfish besitzt der DGT Pi die absolute Spitzenengine im Schachcomputerbereich. Mittlerweile gibt es Stockfish 9 und nicht wenige Kunden fragen sich, wie sie die neue Engine in ihren DGT Pi einbinden können. Dies geht einfacher, als gedacht.
Voraussetzung für das Einbinden ist eine aktive SSH-Verbindung zum DGT Pi. Dies lässt sich am Einfachsten mittels eines RJ45-Kabels vom Router zum DGT Pi lösen.
Hier wird dem DGT Pi Dank DHCP automatisch eine IP-Adresse zugewiesen, mit welcher man sich beispielsweise über das Programm Putty über den Port 22 mit dem DGT Pi verbinden kann. Die IP kann direkt am DGT Pi über das Menü System>Information>IP-Adresse angerufen werden. Mit dem Benutzernamen pi und dem Passwort picochess kann man sich nun anmelden.
Man befindet sich nun im home-Verzeichnis des Benutzers pi. Um Fehleingaben und ungewollten Veränderungen vorzubeugen, arbeiten wir zunächst in genau diesem Verzeichnis.
Um die neuste Stockfish-Version auf unseren DGT Pi zu holen, geben wir folgenden Befehl ein:
In unserem home-Verzeichnis wurde nun ein Verzeichnis namens Stockfish mit dem Unterverzeichnis src erstellt. Mit dem Befehl cd /Stockfish/src wechseln wir nun in dieses Verzeichnis und geben folgenden Befehl ein:
make build ARCH=armv7
Unser DGT Pi besitzt einen ARM7-Prozessor, weshalb wir Stockfish damit für genau diesen Prozessor kompilieren. Das kann durchaus mal ein paar Minuten dauern. Also geduldig sein. Ist die Kompilierung fertig gestellt, befindet sich nun in unserem Verzeichnis /Stockfish/src eine Datei namens stockfish. Es handelt sich hierbei um die ausführbare Engine.
Nun müssen wir diese Engine natürlich noch in das richtige Verzeichnis auf dem DGT Pi verschieben und die Konfigurationsdatei entsprechend anpassen. Dazu gehen wir folgendermaßen vor. Mit dem Befehl:
mv stockfish /opt/picochess/engines/armv7l/
verschieben wir die neue Engine in das DGT Pi Engine-Verzeichnis. Nun wechseln wir mit dem Befehl:
cd /opt/picochess/engines/armv7l/
in das Verzeichnis. Mit dem Befehl ls schauen wir kurz nach, ob die Datei stockfish in der Liste aufgeführt ist. Ist dies der Fall, können wir nun unseren alten Stockfish entfernen, welche den Namen a-stockf trägt. Dies machen wir mit dem Befehl:
rm a-stockf
Wer die Datei nicht löschen möchte, kann sie auch einfach umbenennen:
mv a-stockf old_a-stockf
Nun wollen wir die neue Stockfish-Engine stockfish einbinden. Dies machen wir, indem wir die von uns erstellte Datei stockfish in a-stockf umbenennen:
mv stockfish a-stockf
Nun könnten wir unseren DGT Pi einfach neu starten und mit der neuen Engine spielen. Allerdings erscheint im Engine-Menü noch der Name „Stockf8“ (im Fall der DGT Pi Version 0.9). In meinem Beispiel haben wir die neuste Version Stockfish 9 kompiliert. Dies wollen wir natürlich auch im Menü sehen. Dazu ändern mir die Datei engines.ini, welche im selben Verzeichnis liegt mit dem Befehl:
sudo nano engines.ini
Im ersten Block dieser Datei befindet sich die Konfiguration von Stockfish. Um die Anzeige im Display abzuändern reicht es aus, folgende Zeilen abzuändern:
name = Stockfish 090218 small = stockf medium = Stockf9 large = Stockfish9
Nun speichern wir das Ganze mit der Tastenkombination STRG+O und verlassen mit STRG+X den Editor.
Jetzt starten wir mit dem Befehl:
sudo reboot
den DGT Pi neu und ab sofort steht uns Stockfish 9 in der Engine-Auswahl im Menü zur Verfügung. 🙂
Ich möchte darauf hinweisen, dass diese Anleitung ein sog. Quick-Hack ist. Natürlich kann man an einigen Stellen noch mehr Veränderungen vornehmen und auch bei dem Kompiler wesentlich mehr Einstellungen vornehmen. Aber für den Hausgebrauch reicht diese Anleitung vollkommen aus. 🙂
Neue Engines lassen sich auf die gleiche Weise hinzufügen, hierzu sollte man sich allerdings die Datei README.md mit dem Befehl:
Mit dem Fidelity V11 Schachcomputer steht mir bekanntlich ein recht anspruchsvoller Sparringspartner zur Verfügung. Als eingefleischter 1.e4-Spieler hatte ich nun einfach mal Lust aufs London System und versuchte gestern mein Glück. Der Fidelity hat in der vorliegenden Ausführung mit 68060 Prozessor und 72Mhz immerhin eine ELO von knapp 2400. Gerade taktisch lässt die Kiste nix anbrennen.
So richtig in Fahrt bin ich gegen den ELO-Boliden nicht gekommen. Nachdem ich etwas Initiative hatte, traute ich mich nicht so richtig, die Partie zu verschärfen. So versuchte ich irgendwann nur noch, die Partie ohne Risiko im Remisrahmen zu halten. Am Ende versuchte ich noch den Fidelity über die Zeit zu heben, jedoch kam der Gong zur Stellungswiederholung schneller. 🙂
Und hier noch die Partie zum Nachspielen.
Trainingspartien gegen Schachcomputer sind auf jeden Fall sehr hilfreich, wenn es um das Kennenlernen von Eröffnungen geht. Hier sollte man als Sparringspartner aber zumindest einen Gegner über 2100 ELO haben. Wie dem auch sei, werde ich wohl doch bei 1.e4 bleiben. 🙂
täglich erreichen mich viele Anfragen zum Thema Schachcomputer. Mal wird eine Anleitung für ein bestimmtes Gerät benötigt, eine Einschätzung der Spielstärke angefragt, oder ob Reparaturen möglich sind, usw.
Diese Webseite wird zukünftig auf all diese Fragen antworten geben. Neben Tests von Schachcomputern, werde ich auch Reparaturanleitungen, Schaltpläne und Tipps und Tricks veröffentlichen.