Hydra (Schach)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Hydra ist ein Schachcomputer, der von dem Österreicher Christian „Chrilly“ Donninger, den Deutschen Ulf Lorenz und Christopher Lutz sowie der Firma PAL Computer Systems aus Abu Dhabi entwickelt wird.

Geschichte[Bearbeiten]

Ein Vorläufer des Programms hieß Brutus und wurde von der Firma ChessBase in Auftrag gegeben. Nach dem enttäuschenden Abschneiden einer frühen Version bei der Computerschach-Weltmeisterschaft 2003 in Graz verfolgte ChessBase das Projekt nicht weiter, weil keine kommerzielle Verwertbarkeit gesehen wurde. Dem Hydra-Team gelang es daraufhin, mit der Firma PAL Computer Systems aus den Vereinigten Arabischen Emiraten einen neuen Geldgeber zu finden.

Erfolge[Bearbeiten]

Das teilweise neue, teilweise weiterentwickelte Programm Hydra schlug 2004 den mehrfachen Computerschachweltmeister Shredder in einem Wettkampf in Abu Dhabi mit 5,5:2,5. Im selben Jahr erzielte das Programm bei einem Vergleichskampf gegen Spieler der Weltspitze in Bilbao 3,5 Punkte aus vier Partien. Im Juni 2005 gelang Hydra in London mit 5,5-0,5 ein überraschend hoher Wettkampfsieg über den englischen Weltklassespieler Michael Adams. Hydra wurde bislang noch nie von einem menschlichen Schachspieler in einer Turnierpartie geschlagen (Stand August 2006). Lediglich im Fernschach verlor das Programm 2005 ein Match gegen den Berliner Fernschach-Großmeister Arno Nickel mit 0,5:2,5. Ebenfalls zum Einsatz kam Hydra im Freistil-Schach, einer Online-Schachart, bei der Analyseunterstützung durch Computer erlaubt ist. Sein Besitzer aus Abu Dhabi, der unter dem Pseudonym Zorchamp auftritt, spielte mit Hydra bei drei Turnieren in den Jahren 2005 und 2006 und erzielte dabei unterschiedliche Erfolge. Zuletzt verfehlte er im Juni 2006 die Endrundenqualifikation, nachdem er im April 2006 das 2. PAL/CSS Freestyle Tournament gewonnen hatte. Die Entwickler gaben bereits 2005 eine Spielstärke von über 3000 Elo-Punkten an.

Hardware[Bearbeiten]

Hydra besteht aus einem unter Linux laufenden Computercluster von derzeit 32 Intel Xeon-Prozessoren, die den Suchbaum generieren, und 32 FPGA-Karten, welche die Bewertung der Stellungen vornehmen und an das Programm zurückmelden. Der empfindlichste Teil von Hydras Suchalgorithmus läuft verteilt auf den erwähnten Xeon-Prozessoren, welche über ein Myrinet Hochgeschwindigkeitsnetzwerk miteinander verbunden sind. Jeder Prozessor bedient seine eigene FPGA-Karte, und der Ablauf des verteilten Algorithmus ist im Grunde wie folgt: Einer der Prozessoren bekommt die aktuelle Schachstellung und beginnt eine sequentielle Alpha-Beta-Suche. Die anderen Prozessoren senden Arbeitsanfragen zufällig im Netz herum, und wenn ein Prozessor, der bereits sinnvoll am aktuellen Schachproblem mitarbeitet, solch eine Anfrage einfängt, gibt er ein Teilproblem seines eigenen (Teil-)Problems ab. Mit Hilfe eines trickreichen Nachrichtensystems zwischen den Prozessoren wird die zu verrichtende Arbeit dynamisch ausgeglichen und es entsteht nur geringer Suchoverhead. Nach einer Weile haben dann alle Prozessoren etwas Sinnvolles zu tun, und jeder einzelne Prozessor bewertet Schachstellungen in seinem Suchbaum mit Hilfe seines FPGA-„Koprozessors“. Ein Hydra Prozessor erzeugt ca. 100.000 kleine Suchen auf einer FPGA-Karte pro Sekunde.

Der Vorteil der FPGA-Karte selbst ist, dass eine aufwendige wissensbasierte Bewertungsfunktion implementiert werden kann, ohne die Suchgeschwindigkeit nennenswert zu beeinträchtigen. Derzeit kann das Programm etwa 200 Millionen Stellungen pro Sekunde durchsuchen und bewerten. Damit ist es etwa 100 mal schneller als Schachsoftware auf einem Standard-PC. Das folgende Bild zeigt eine schematische Darstellung der Hydrahardware.

Schematische Darstellung der Hydra-Hardware

Eröffnungsbibliothek[Bearbeiten]

Für das Eröffnungsbuch von Hydra ist der deutsche Großmeister Christopher Lutz zuständig. Im Gegensatz zu anderen Programmen, deren Eröffnungsrepertoire auf von Schachmeistern gespielten Partien beruht, ist es nicht sehr umfangreich, da das Programm oft bessere Züge selbstständig errechnen kann.

Weblinks[Bearbeiten]