Login
Newsletter
Werbung

So, 20. April 2003, 00:00

Schachprogramme unter Linux

Faile

Faile verspricht je nach Rechenleistung Experten- bis Meister-Spielstärke (ca. 2000 ELO-Punkte oder etwas mehr). Ich verwendete Version 1.4.4 von Mitte 2000, eine neuere Version wurde bisher nicht veröffentlicht.

Faile kann ein Eröffnungsbuch verwenden, das man sich auch selbst zusammenstellen kann. Will man das vorgegebene Buch verwenden, muß man es aus dem Windows-Archiv faile.zip extrahieren, da es im UNIX-Quellcode nicht enthalten ist.

Mit "make -f makefile.gcc" kann man das Programm aus dem Quellcode compilieren. Dann kopierte ich die Dateien faile.obk und gameend.txt ins Verzeichnis /var/games/faile.

In zwei Testpartien ließ ich Faile mit den weißen Figuren gegen Phalanx antreten. In der ersten Partie begann Faile mit einem frühen Bauernopfer, konnte aber kein Kapital daraus schlagen und blieb materiell immer im Nachteil. Im Endspiel blieben nach allgemeinem Figurentausch vier Bauern für Phalanx übrig. Hier brach ich das Match ab, da am Sieg von Phalanx kein Zweifel mehr bestand.

In einem zweiten Match spulten beide Kontrahenten bis zum 10. Zug ihre jeweilige Eröffnungsbibliothek ab. Danach kam es zu der seltsamen Situation, daß Faile einen Springerzug wiederholte, so daß im 14. Zug ein Remis zustande kam.

In einer anderen Testpartie gegen Sjeng 10 ließ sich Sjeng bei der Eröffnung viel Zeit, während Faile sehr schnell zog. Es entwickelte sich ein packender Kampf, in dem Sjeng die besseren Kombinationen zeigte. Die letzte dieser Kombinationen endete für Weiß mit dem Verlust der Dame (Schwarz hatte seine bereits geopfert). Dadurch war Sjeng im Endspiel mit einem Bauern weniger, aber dafür mit einem Läufer im Vorteil. Sjeng konnte diesen Vorteil mühelos zum Matt im 55. Zug nutzen. Somit kann Faile nicht als besonders stark bezeichnet werden, wenn man in Betracht zieht, daß Sjeng mit den schwarzen Figuren normalerweise auch nicht besonders glücklich agiert.

GNU Chess 4

GNU Chess existierte bereits 1988 und konnte mich schon damals auf einem Apple Mac II schlagen. Nun übertragen wir das Ganze auf einen hundertmal schnelleren Rechner, zählen die verbesserten Algorithmen und Bibliotheken dazu, und dann haben wir ein sehr spielstarkes Programm, wenn auch keinen Deep Blue.

Version 4 des Klassikers des freien Schachs ist enorm ausgereift, recht spielstark und wird häufig im Online-Schach eingesetzt.

Die von mir getestete Version 4.0.80 entpuppte sich jedoch als relativ schwach. Ob Tuningmaßnahmen sowie ein Update auf eine fehlerkorrigierte Version etwas helfen, muß ein zukünftiger Artikel zeigen.

GNU Chess 5.03

GNU Chess Version 5 ist ein kompletter Rewrite von Version 4. Es wurde keinerlei Code von Version 4 übernommen. In Version 5.03, das in einem Archiv von rund 150 KByte kommt, wurden die Probleme mit früheren Fünfer-Versionen beseitigt, ein neues Binärformat für die Eröffnungsbibliothek eingeführt und die Geschwindigkeit verbessert.

Für Chess gibt es ein Buch mit 180.000 Meister-Partien. Es ist 100 MB groß (Download komprimiert: 26 MB). Es ist im selben FTP-Verzeichnis wie Chess zu finden. Dieses muß man erst einmal in in die Datei book.dat konvertieren. Die Dokumentation, wie das geht, war in Version 5.02 falsch. Der richtige Weg ist:

gnuchess
book add book.pgn

book.pgn muß natürlich im aktuellen Verzeichnis liegen oder ein Link auf die eigentliche Datei sein.

Von der Spielstärke her ist GNU Chess 5 eine Enttäuschung. Es liegt etwa gleichauf mit GNU Chess 4, kann aber nicht die Bedenkzeit des Gegners nutzen. Das schlug sich in den Resultaten gegen andere Engines deutlich nieder.

Gullydeckel

Diese Engine mit dem originellen (seltsamen) Namen fand ich in Version 2.13.pl6, aktuell ist 2.13.pl7. Sie gehört zu den schwächeren Programmen und scheint seit zwei Jahren keinen Update erfahren zu haben.

Auf den Webseiten des Autors kann man ein Eröffnungsbuch herunterladen, das automatisch verwendet wird, wenn es als book.bin im Arbeitsverzeichnis abgelegt wird.

KnightCap

KnightCap wurde von Samba-Mitautor Andrew Tridgell geschrieben und soll eine Stärke von 2000 bis 2100 ELO-Punkten haben. Die letzte Version war 3.6. Diese ist jedoch für den Einsatz unter Xboard nicht brauchbar, da sie nicht in der Lage ist, ein Interrupt-Signal abzufangen. Das Programm verfügt über ein eingebautes 3D-Interface mit OpenGL, das ich jedoch nicht compilieren und daher auch nicht testen konnte.

Interessanterweise hat KnightCap kein Eröffnungbuch, sondern speichert Züge, die zu Nachteilen führen, in einer Datei namens brain.dat. Es lernt ferner die Parameter seiner Evaluierungsfunktion. Die Lernfunktion scheint recht effektiv zu sein, d.h. daß KnightCap im Spiel gegen starke Gegner immer stärker wird. Sicherlich hat dieser Ansatz aber auch seine Grenzen.

Zum Test verwendete ich die Bugfix-Version 3.6_ab. Um diese zu compilieren (ohne OpenGL-Support), muß man im Makefile an die Variable LIBS ein "-lm" anhängen, ferner die 7 Zeilen mit OpenGL auskommentieren. Zunächst war es mir nicht möglich, dieses interessante Programm unter Xboard zu starten, obwohl es laut Dokumentation problemlos gehen müßte. Xboard behauptete immer, es habe einen Fehler beim Starten der Engine gegeben, obwohl KnightCap gestartet war. Es war mir zunächst ein Rätsel, doch dann kam ich darauf, daß KnightCap beim Start eine (ignorierbare) Fehlermeldung ausgibt, die von Xboard als Signal mißverstanden wird, daß etwas schiefging. Abhilfe schaffte dann folgendes triviale Shellskript, das ich von Xboard anstelle von KnightCap aufrufen ließ:

#!/bin/sh
engine=KnightCap
cd /var/games/$engine
exec $engine $* 2>/dev/null

Pepito

Pepito hört sich so harmlos an. Dennoch soll diese Engine eine Stärke von über 2400 ELO-Punkten haben. Daher untersuchte ich die aktuelle Version 1.42 näher. Und in der Tat, selbst ohne Eröffnungsbuch konnte Pepito eine Partie gegen Amy gewinnen. Anschließend gewann es mit den schwarzen Figuren gegen Phalanx. Fast schon unglaublich.

Die Compilierung der Quellen scheiterte an einer fehlenden Datei. Also installierte ich das vorgefertigte Linux-Binary.

Pepito kann zwei Eröffnungsbücher verwenden. Das erste wird mitgeliefert und hat den Namen libro. Es ist relativ klein und soll auch nur dazu dienen, Pepito bevorzugte Spielweisen mitzugeben. Das zweite kann man sich aus PGN-Dateien zusammenstellen. Dabei muß man allerdings beachten, daß das momentane Buchformat verlangt, daß die Hash-Größe größer ist als die Größe des Buches. Das Kommando zum Erstellen des Buches ist:

bbook book.dat book.pgn 30

Dieses gibt man am Kommandoprompt von Pepito ein. Die 30 steht für die Anzahl der Halbzüge, die gespeichert werden sollen. Bei großen Büchern kann das natürlich auch mehr sein.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung