Dr. Roland Stuckardt

IT-Beratung - Sprachtechnologie - Medienanalyse

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern
Schachengine Fischerle

Fischerle

E-Mail Drucken PDF

... ist ein Schachprogramm (neudeutsch Schachengine), das den Standard UCI (Universal Chess Interface) implementiert und folglich mit gängigen Turnierplattformen wie beispielsweise Arena kompatibel ist. Es wurde in der Sprache Java implementiert und basiert auf State-of-the-Art-Techniken der Spielbaumsuche (Minimax, Backward-Pruning, Ruhesuche (QS), Selektive Suche usw.) sowie zur Suchbeschleunigung (optimierte Zugsortierung, Transpositionstafel, Killerzugheuristik, Iterative Vertiefung, PVS/MVS usw.). Die wesentlichen Techniken werden nachfolgend ausführlich beschrieben.

Aktuell verfügbare Version: Fischerle_0_9_30b_x64 (10. August 2013):

  • Voraussetzung: Java Runtime Environment,
  • zugeschnitten auf und empfohlen für den Einsatz auf 64-Bit-Systemen,
  • empfohlen für den Einsatz unter Arena 3.0 via UCI-Protokoll,
  • unterstützt ferner rudimentär ChessGUI (getestete Version: 0.240k).
  • entwickelt und getestet auf Windows 7 Professional 64 Bit, sollte jedoch auch auf anderen Windows-Plattformen laufen,
  • optionale Fischerle-Benutzeroberfläche insbesondere für Testzwecke - zugeschnitten und getestet auf Windows-Plattformen.

Fischerle 0.9.30b spielt in der Amateur Series Division 7 von CCRL 40/40.

See as well the Fischerle pages at

 

Spielstärke

E-Mail Drucken PDF

Die Spielstärke gemäß CCRL 40/40 liegt bei Elo 2185 entsprechend Weltranglistenplatz 213 (Stand: 5. Oktobber 2013).

Da der genannte Elo-Wert in Turnieren und Einzelpartien ausschließlich gegen Schachmotoren gemäß dem spezifischen CCRL-40/40-Teststandard ermittelt wurde, lässt sich dieser nicht direkt mit den bekannten FIDE-Elo-Werten menschlicher Schachspieler vergleichen. Wie aus detaillierten Studien bekannt ist, weisen Schachmotoren dieses CCRL-Spielstärkenbereichs typischerweise eine taktische Spielstärke auf, die mindestens im Bereich menschlicher Großmeister liegt, was jedoch andererseits nicht für den positionellen Bereich sowie für die Behandlung bestimmter, strategisch anzugehender Endspiele gilt.

Da sich die meisten Schachmotoren derselben Basisalgorithmen bedienen, dürfte zwischen CCRL-40/40-Elo-Ranking und FIDE-Elo-Ranking zwar zumindest eine gute Korrelation bestehen. Signifikante Abweichungen sind jedoch beispielsweise in denjenigen Fällen möglich, in denen sich ein Motor geeigneter opponentenbezogener Strategien bedient ("Falls Gegner aus Fleisch und Blut: Bevorzuge offene / taktische Stellungen!") bzw. ein menschlicher Schachmeister Anti-Computer-Schach spielt ("Spiele irreguläre Eröffnungen!" / "Bevorzuge geschlossene / positionell zu behandelnde Systeme!" /"Vermeide taktische Scharmützel!"- pointiert formuliert: "Do nothing, but do it well!" (Zitat David Levy)).

Eine direkte "Umrechnung" von CCRL-40/40-Elo nach FIDE-Elo, wie sie andernorts vorgeschlagen wurde, erweist sich insofern als methodisch zumindest problematisch, wenn nicht gar unmöglich. Eine definitive Antwort auf die Frage, wie die Spielstärke Fischerles im Vergleich zu menschlichen Schachspielern, d. h. gemessen in FIDE-Elo, zu bewerten ist, ließe sich somit nur auf der Basis entsprechender Turniere auf Meisterebene geben.

 

Projektziele & Phasen

E-Mail Drucken PDF

Explorieren, was im Rahmen eines nichtkommerziellen Projektes mit begrenztem Aufwand unter Rückgriff auf wohldokumentierte klassische und neuere Algorithmen und Techniken sowie frei verfügbare Ressourcen (Partiensammlungen, Endspieldatenbanken etc.) heute möglich ist. Ein Gefühl dafür zu entwickeln, wie weit man im Rahmen eines "Teilzeit-Projekts" kommt, bzw. an welchem Punkt die großen Herausforderungen beginnen.

Angestrebt wird ausdrücklich nicht, den "großen" Schachmaschinen (Fritz, Shredder, Rybka & Co.) Konkurrenz zu machen,  in denen ja i. A. bereits einige zehn Personenjahre kontinuierliche Entwicklungsarbeit und ein entsprechend reichhaltiger Erfahrungsschatz stecken. Angestrebt wird jedoch sehr wohl, mittelfristig eine Engine zu schaffen, die mit Schachprogrammen konkurrieren kann, die das Ergebnis ähnlicher eher "privat" ausgerichteter Anstrengungen sind.

Entsprechend diesen Zielsetzungen wurden auf oberster Ebene folgende drei Projektphasen definiert:

In Projektphase 1 (→ Fischerle 0.1) soll ein lauffähiges Schachprogramm entstehen, das die grundlegenden Schachregeln korrekt implementiert, hierbei jedoch bereits über anschlussfähige - sprich: möglichst effiziente, wartbare und wohldokumentierte - Datenstrukturen zur Stellungsrepräsentation sowie zur Zugausführung verfügt.

In Projektphase 2 (→ Fischerle 0.5) soll qua Implementierung wohldokumentierter klassischer Strategien zur Suchbeschleunigung und flankierender Module wie Eröffnungsbuch etc. sowie einer schrittweisen Verfeinerung / Optimierung der Basisdatenstrukturen eine Schachengine geschaffen werden, die stärker spielt als ihr Entwickler. Angestrebt wird eine Spielstärke von FIDE-Elo 2000.

Gegenstand von Projektphase 3 (→ Fischerle 1.0) soll es dann sein, die Schachengine qua Implementierung verfeinerter State-of-the-Art-Algorithmen insbesondere des Forward Pruning auf eine Spielstärke von 2400 bis 2500 FIDE-Elo, also auf den Level eines Internationalen Meisters, zu bringen.

 

Meilensteine

E-Mail Drucken PDF

10. August 2013: performanzoptimierte Version Fischerle_0_9_30b_x64 veröffentlicht, Spielstärke im Bereich 2150-2250 Elo (CCRL 40/40) - vgl. die Fischerle-Seite @ CCRL 40/40.

6. Februar 2012: Projektphase 2 (Fischerle 0.5)  abgeschlossen.

30. September 2011: Projektphase 1 (Fischerle 0.1)  abgeschlossen.

 

 

Zum Namen

E-Mail Drucken PDF

"Ein Mensch, was ka Schach spielt, ist ka Mensch."

Radierung aus der Serie

 

 

 

 

 

 

 

 

 

Radierung aus der Serie "Die Blendung", © Doris Neidl, Wien.

Siegfried Fischer, genannt Fischerle ist eine Figur aus Elias Canettis Roman "Die Blendung", und zwar ein buckliger Zwerg und Zuhälter mit einem Faible für Schach. Fischerle hält sich für ein Schachgenie; er träumt davon, einmal genug Geld zu machen, um nach Amerika reisen und dort den damaligen Schachweltmeister Capablanca herausfordern zu können.

Interessanterweise schuf Canetti sein Erstwerk "Die Blendung" und damit die Figur Fischerle bereits in den Jahren 1931/32, also einige Jahrzehnte bevor der spätere Weltmeister Robert ("Bobby") Fischer die internationale Schachbühne betreten sollte.