Information Technology Reference
In-Depth Information
dem Anwender die aktuelle Stellung in gewünschter grafischer Form (2- oder 3-dimensio-
nal), nimmt seine Kommandos entgegen, prüft die eingegebenen Züge auf Legalität be-
ziehungsweise auf Konformität mit den geltenden Schachregeln, sendet die erforderlichen
Informationen an die Engine, nimmt dann deren Antworten entgegen und setzt die aktu-
alisierte Stellung wieder in eine ansprechende Form auf dem Ausgabemedium um. Die
Komponenten der „Schach-Engine“ sind somit auf die Kernaufgabe reduziert, zu einer
gegebenen Schachsituation den besten Antwortzug zu ermitteln. Eine solche funktionale
Trennung reduziert den Aufwand beim Entwickeln neuer Systeme enorm, braucht man zur
Realisierung einer neuen Idee „nur“ noch eine andere Engine zu entwickeln, wohingegen
die bewährte GUI weiterverwendet werden kann. Letzteres setzt allerdings voraus, dass
die Kommunikation zwischen der GUI und der Engine weiterhin in derselben „Sprache“
(Protokoll) stattfindet. In der Praxis haben sich hierzu im Wesentlichen zwei freie Proto-
kolle bewährt:
Winboard-Protokoll : Entworfen von Tim Mann, so benannt nach dem WinBoard-Pro-
gramm (im Unix-Breich „xboard“), mit dem es seiner Zeit (1991) als erste Schach-GUI
eingeführt wurde. Als Engine wurde das mittlerweile legendäre GnuChess verwendet.
Dieser Standard ist öffentlich, und es gibt bisher mehr als 300 Schach-Engines, die ihn
benutzen.
UCI-Protokoll (Universal Chess Interface): Vom mehrfachen Computerschach-Welt-
meister Stefan Meyer-Kahlen ist jüngeren Datums. Es ist ebenfalls öffentlich, und ca.
90 UCI-Engines arbeiten auf Basis dieser Schnittstelle.
Die Gesamtanzahl der Engines betrug im Jahre 2006 um die 338, wobei viele der neueren
Engines für beide Protokolle ausgelegt waren. Daneben gibt es allerdings auch einige
proprietäre Protokolle.
Beispielweise verwendet Deutschlands führende Schachsoftwarefirma „ChessBase“ für ihre En-
gines CB-native Protokolle, kann in ihrer GUI allerdings mittels eines Anpassungsprogramms auch
mit Engines in den beiden oben erwähnten Protokollen kommunizieren.
6.1.3
Anforderungen als Herausforderungen
Beim Entwickeln einer neuen Schach-Engine im Allgemeinen und einer kognitiven En-
gine im Besonderen, müssen eine ganze Reihe von Fragestellungen beantwortet bezie-
hungsweise Festlegungen getroffen werden, bei denen sowohl jede einzelne, aber auch das
Zusammenwirken der Festlegungen die Effektivität des Systems wesentlich beeinflussen
können.
Datenstrukturen : Auf welche Weise sollen die schachrelevanten Daten rechnerintern
implementiert werden? Genügt ein 8 × 8-Array zur Repräsentation einer Schachstellung
Search WWH ::




Custom Search