Aus Linux-Magazin 11/2020

Aus dem Alltag eines Sysadmin: Stockfish

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.

Abbildung 1: Chs notiert alle Züge in der standardisierten Portable Game Notation.

Abbildung 1: Chs notiert alle Züge in der standardisierten Portable Game Notation.

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.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben