Projektziele & Phasen

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.

Schreibe einen Kommentar