Logo "blaue" Seiten

 
 
 
 
- Anzeige -
Für den Erwerb von Schachartikeln empfiehlt Ihnen der SC Leinzell den
 Schachversand Dreier 
 
 
Testen Sie Ihr Schach!
 
Diagramm 16-2006
 
Diagramm 16 – 2006
Schwarz am Zuge benötige hier nur noch zwei Züge, um den Anziehenden zur Aufgabe zu bewegen. Wie setzte er fort?
 zur Lösung 
 
 
 
 
zur Startseite
 News | Sitekalender | Sitemap | Team | Kontakt 
Rochade-EuropaPeter Schreiner
 
 
Superschnell! - Deep Fritz
besprochen von Peter Schreiner - Januar 2001
 
Der Firma ChessBase aus Hamburg geht nicht ohne Grund der Nimbus voraus, ein besonders innovatives Unternehmen in der Schachbranche zu sein. Seit vielen Jahren erfreut sich die Software aus Hamburg größter Beliebtheit bei den Anwendern. Dafür gibt es verschiedene Gründe, z.B. neben eine erstklassige Produktpalette, exzellenter Support und vor allem immer wieder bahnbrechende, innovative Neuerungen. Nachdem bereits vor gut neun Monaten mit Deep Junior von Amir Ban erstmals ein Schachprogramm für Parallelrechner verfügbar war, gibt es jetzt erstmals eine Multi-Prozessor-Version des wohl bekanntesten und bei Spielern aller Leistungsklassen beliebtesten Schachprogramms in der Szene: Fritz alias Deep Fritz von Frans Morsch.
 
Frans MorschSämtliche Programme von Frans Morsch (siehe Bild) zeichnen sich vor allem durch Rechenpower und Schnelligkeit aus, was von vielen Anwendern sehr geschätzt und gewürdigt wird. Mit kaum einem anderen Schachprogramm erhält man in relativ kurzem Zeitraum, z.B. bei der Analyse oder beim Nachspielen von Partien, ähnlich akkurate und aussagekräftige Resultate wie mit Fritz. Nachdem das Programm bei der diesjährigen holländischen Meisterschaft und den Chess Classics in Frankfurt seine Feuerprobe in beeindruckender Manier bestanden hatte, konzentrierte sich Frans Morsch zusammen mit dem zuständigen Entwicklerteam auf die Optimierung der für die Parallelisierung zuständigen Algorithmen. Das Ergebnis liegt jetzt in Form der CD Deep Fritz vor, die wir kurz vor Redaktionsschluss erhalten haben.
 
 
Die Königsklasse
Worum ging es prinzipiell bei der Parallelisierung eines Programms? In jeder von einem Schachprogramm zu untersuchenden Stellung gibt es eine ganze Reihe von legalen Zügen. Anstatt diese Züge nun wie ein herkömmlichen Schachprogramm nacheinander abzuarbeiten, verteilt der Parallelalgorithmus auf die vorhandenen Prozessoren und dadurch gewinnt das Programm deutlich an Performance und damit Spielstärke. In der Regel wird es natürlich vorkommen, das manchmal auch Züge geprüft werden, die ein Singlesystem nie angerechnet hätte, in der Summe wird ein effizienter Parallelalgorithmus diese "Ressourcenverschwendung" eingrenzen und in einer identischen Stellung deutlich tiefer in die Stellung eindringen.
 
Wie die letzten Turnierteilnahmen von Deep Fritz und Deep Junior (beim Dortmunder GM-Turnier) gezeigt haben, kann ein effizientes Parallel-Programm auf einer entsprechenden Maschine durchaus auf Top-Niveau mithalten. Im Unterschied zu dem in C++ entwickelten Deep Junior war die Parallelisierung des Fritz-Programms bedeutend aufwendiger. Dafür gibt es einen plausiblen Grund: Frans Morsch war schon immer ein Verfechter der Assembler-Programmierung. Handoptimierter Assembler-Code ist natürlich deutlich schneller als ein Programm, das in einer Hochsprache wie z.B. C++ geschrieben wurde, aber eben auch deutlich schwieriger in der Handhabung und Wartung.
 
Generell wird dieses Problem von den meisten Laien eindeutig unterschätzt. Viele Computerschachveteranen (auch Frans Morsch) haben ihre Programme seinerzeit in Assembler entwickelt, um möglichst viel Performance aus der seinerzeit schwachbrüstigen Hardware herauszukitzeln. Das hat sich heutzutage in Anbetracht der Fortschritte der Ingenieurszunft bei Intel und AMD grundlegend geändert, so dass auch Programme in den gängigen Hochsprachen ohne relevante Performanceverluste laufen, die aber aufgrund des modularen Aufbaus bedeutend einfacher als reiner Assemblercode zu warten und zu pflegen sind. Dies scheint auch einer der Hauptgründe dafür zu sein, dass einige "alte" Assemblerprofis wie z.B. Richard Lang den Anschluss an die moderne Programmgeneration verloren haben.
 
Bei dem Programm von Frans Morsch gab es für das Entwicklerteam zudem das Problem, dass z.B. Fritz 5 völlig anders als traditionelle Schachprogramme arbeitete, z.B. besaß das Programm seinerzeit keine Zuglisten, was eine Parallelisierung völlig unmöglich machte. Beim Wechsel auf Fritz 6 musste Frans Morsch sein Programm praktisch komplett umschreiben, eine außerordentliche Leistung, die man in Anbetracht der Performance von Fritz 6 gar nicht hoch genug einstufen kann! Sowohl programmiertechnisch als auch schachlich liegen eindeutig Welten zwischen Fritz 5 und Fritz 6!
 
Bei den ersten Parallelisierungsversuchen liefen mehrere Prozesse in Form mehrerer EXE-Dateien nebeneinander ab. Das war natürlich wenig elegant und effektiv, diente aber als Grundlage und Basis für die Entwicklung eines effizient arbeitenden Parallelalgorithmus. In der jetzt vorliegenden Form kann man die Engine nicht von einer Singleprozessor-Engine unterscheiden, weil die Parallelisierung über sogenannte Threads läuft. Ein Thread bedeutet konkret parallel ausgeführten Code innerhalb eines einzelnen Programms. Die jetzt vorliegende Fassung des Programms kann auf Systemen mit maximal acht Prozessoren eingesetzt werden, läuft aber auch anstandsfrei auf einem ganz normalen Single-Prozessor-System. Dazu später noch mehr. Werfen wir jetzt einmal einen Blick auf die erforderlichen Hard- und Softwarevoraussetzungen.
 
 
Optimale Hardware
Wie bereits erwähnt läuft das Programm auf einem Rechner ab Pentium MMX, Pentium II oder Pentium III mit Win 95 oder höher. Ich selbst habe das Programm mangels Verfügbarkeit vorab auf einem "uralten" (1 Jahr!) Pentium III/550 MHz mit 256 MB RAM getestet und konnte im Vergleich zu Fritz 6.a keine nennenswerten Unterschiede feststellen. Laut ChessBase wurde die Engine auch in schachlicher Hinsicht verbessert und soll auch auf einem Single-Prozessorsystem etwas besser als Fritz 6.a spielen. Dies konnte in der Kürze der Zeit nicht schlüssig überprüft werden, in Stellungstests zeigte die Parallelversion auf meinem langsamen Rechner im Grossen und Ganzen sowohl bei der Rechengeschwindigkeit als auch bei den Lösungszeiten ein weitgehend identisches Verhalten. Die sporadisch vorkommenden Unterschiede fielen aber in der Regel durchweg zu Gunsten von Deep Fritz aus.
 
Ein Beispiel:
Euwe - Awerbach,
Kandidatenturnier 1953

 
In dieser Stellung haben viele Computerprogramme große Probleme, den Schlüsselzug 1...Sxa3 zu finden. Schwarz eliminiert mit 1...Sxa3!! die Blockade der vorgeschobenen Bauern am Damenflügel und gewinnt. 2.Lxa3 Sb5 3.Lc1 Sxc3 4.Se2 Sb1 0:1
 
Fritz 6.a findet auf meinem Rechner den Lösungszug nicht nach 10 Minuten, während der große Bruder Deep Fritz die Lösung relativ flott nach 7:43 Minuten findet. Offensichtlich scheint die neue Engine auch auf einem Single-System durchaus ihre Existenzberechtigung zu haben, so richtig interessant dürfte das Programm für Anwender sein, die sich mittlerweile ein Multi-Prozessor-System angeschafft haben. Die Multi-Prozessor-Systeme werden nach unserer Einschätzung für den schachinteressierten Anwender immer interessanter, zumal die relativ geringen Mehrkosten sich gegenüber einem aktuellen Single-Prozessor-System durchaus in erträglichen Grenzen halten.
 
Laut ChessBase läuft das Programm auf einem Dualrechner mit zwei 800 MHz-Prozessoren bereits 1,7 mal so schnell wie auf einem vergleichbaren Singleprozessor, der Geschwindigkeitsgewinn ist aber stark von der aktuellen Stellung abhängig. Die Geschwindigkeit und somit die Rechentiefe lässt sich also bei einem effizienten Parallelalgorithmus durch mehr Prozessoren deutlich steigern, zwangsläufig bedeutet dies eben auch höhere Spielstärke. Im Grunde genommen erreicht man mit einem durchaus erschwinglichen Dualsystem eine Performance, die jedes noch so schnelle und teure Single-Prozessor-System ziemlich alt ausschauen lässt.
 
Nehmen wir beispielsweise ein Dual-Prozessor-System mit je zwei 800 MHz-Prozessoren, das von der Performance her mit einem optimierten Programm wie Deep Fritz in etwa die Performance eines Single-Prozessor-Systems mit 1,3 - 1,4 GHz bietet! Wie bereits erwähnt, halten sich die Kosten für solch ein System in Grenzen. Sie benötigen ein entsprechendes Mainboard, einen zweiten Prozessor und ein Betriebssystem wie Windows NT/2000, das mehrere Prozessoren unterstützt. In einer der nächsten Ausgaben werden wir einen ausführlichen Performancetest von Deep Fritz auf einem Dualprozessorsystem vorstellen.
 
Bisher können wir nur eine Einschätzung zu dem Programm auf einem Single-Prozessor-System vornehmen. Nach unserer Einschätzung lohnt sich die Anschaffung des 199,- DM teuren Programms nicht, wenn Sie noch über einen relativ langsamen Rechner bis zur 500 MHz-Klasse verfügen, dafür sind die Unterschiede zum "kleinen Bruder" Fritz 6.a einfach zu gering. Anders sieht die es aber aus, wenn Sie über einen Top-Rechner der aktuellen Hardwaregeneration verfügen, oder sich bei einem Neukauf dazu entschließen, direkt einen Dualrechner anzuschaffen.
 
Spannend ist das Thema allemal, zumal mit Deep Fritz und Deep Junior bereits zwei Top-Programme verfügbar sind. Für Februar ist eine Multi-Prozessor-Version von Shredder angekündigt und wir sind sicher, dass in dem kommenden Jahr noch einige weitere Programme dazukommen werden.
 
 
Ausstattungsmerkmale
Das Interface und die meisten Funktionen entsprechen weitgehend Fritz 6, es sind allerdings einige Detailverbesserungen in der Oberfläche und in speziellen Funktionen vorhanden. Sehr schön und nützlich finde ich z.B. die Anzeige des letzten Computerzuges mit einem Pfeil. In Pkto. Netzwerkfähigkeit hat das Programm ebenfalls einige Schmankerln zu bieten, z.B. funktioniert der Autoplayer über ein Netzwerk anstatt mit einer seriellen Verbindung und der Zugriff auf Datenbanken ist ebenfalls im Netzwerk möglich. Für Tester und Computerschachfreaks dürfte noch die Option interessant sein, dass man jetzt das Permanent Brain abschalten kann.
 
Falls Sie jetzt Lust auf eine Partie gegen Deep Fritz bekommen haben sollten, lässt sich dieser Wunsch relativ einfach realisieren. Im Internet läuft unter www.computerschach.de das Match Deep Fritz gegen Deutschland, das sich kurz vor Weihnachten noch in der Eröffnungsphase befand und bei Erscheinen dieses Artikels noch andauern dürfte. Deep Fritz läuft auf einem Dualrechner mit je zwei 800 MHz-Prozessoren. Sie können jederzeit in die laufende Partie einsteigen und mitmachen lohnt sich auf jeden Fall, denn attraktive Preise gibt es auch noch zu gewinnen.
 
Peter Schreiner
 
zum Seitenanfang zurück |