Mangels eines IBM-Supercomputers im Rechenzentrum Niederrhein muss Charly mit einem Linux-Desktop, Stockfish und Chs vorliebnehmen, um in die Fußstapfen von Großmeister Garri Kasparow zu treten.
Der Schriftsteller Raymond Chandler nannte Schach “die komplizierteste Vergeudung menschlicher Intelligenz, die sich außerhalb einer Werbeagentur finden lässt”. Aber das schreckt uns nicht ab, oder?
Im Jahr 1996 war der Medienrummel groß, als der von IBM entwickelte Schachcomputer Deep Blue den amtierenden Weltmeister Garri Kasparow schlug [1]. Deep Blue war allerdings auch ein veritabler Wandschrank mit entsprechendem Stromverbrauch. Heute gibt es leistungsfähige und quelloffene Schach-Engines für den heimischen Linux-Desktop. Eine der spielstärksten Engines heißt Stockfish [2]. Sie wird seit mehr als 10 Jahren entwickelt und liegt inzwischen in der Version 12 vor.
Stockfish agiert aber nur als künstliche Schachintelligenz. Wir benötigen zusätzlich die Benutzeroberfläche, also ein Spielbrett. Als Schach-Consoleros entscheiden wir uns für das in Python geschriebene Chs, es erlaubt uns, auf der Konsole zu spielen. Zuerst installieren wir Stockfish und den Python-Installer Pip; dann benutzen wir Pip, um Chs zu installieren (Listing 1).
Listing 1
$ sudo apt install stockfish python3-pip $ pip install chs
Zuletzt müssen wir Chs noch beibringen, wo es die Stockfish-Engine findet. Dazu editieren wir die Datei ».local/lib/python3.6/site-packages/chs/engine/stockfish.py«. Es gilt, die mit »engine_path« beginnende Zeile wie in Listing 2 gezeigt abzuändern.
Listing 2
[...] elif 'Linux' in platform.system(): engine_path = '/usr/games/stockfish' [...]
Das war es auch schon. Mit der Eingabe von »chs« können wir ein Spiel beginnen. Die Züge geben wir auf einer Textzeile ein. Welche Schachfigur wir bewegen wollen, geben wir mit einem Buchstaben an:
- N = Knight (Springer)
- R = Rook (Turm)
- Q = Queen (Dame)
- K = King (König)
- B = Bishop (Läufer)
Das Wort Rook für den Turm kommt übrigens ursprünglich aus dem Persischen, wo “rukh” einen Streitwagen bezeichnet. Für den Bauern gibt es keinen Buchstaben, was aufgrund der begrenzten Bewegungspfade auch nicht erforderlich ist. Um den linken weißen Bauern zwei Felder nach vorn zu ziehen, genügt die Eingabe »a4«. Bei den anderen Schachfiguren gibt man den Namen und das Zielfeld an. “Turm nach c6” ist also »Rc6«.
Chs protokolliert die Züge in der Portable Game Notation (PGN [3]), wie man in Abbildung 1 rechts neben dem Schachbrett sehen kann. »Bxc6« bedeutet, dass der weiße Läufer nach c6 bewegt wurde; das “x” zeigt an, dass er dabei eine gegnerische Figur geschlagen hat.
Chs lässt eine Schachuhr vermissen, aber das macht nichts. Wir halten es mit dem Schriftsteller Otto Galo: “Politik ist wie Schach: In Zeitnot gelingen einem selten die besten Züge.” (jlu)
Der Autor
Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen Aufgaben gehören Sicherheit und Verfügbarkeit der Firewalls und der DMZ.
Infos






