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.

 

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.

Entspechend 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 mplementiert, 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 1.0) 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 ELO 2000.

Gegenstand von Projektphase 3 (→ Fischerle 2.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 ELO, also zumindest auf den Level eines Internationalen Meisters, gebracht werden.

 

Meilensteine

E-Mail Drucken PDF

6. Februar 2012: Projektphase 2 (Fischerle 1.0)  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."

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.