Die
Vorzüge menschlicher künstlicher Intelligenz
Im Laufe des letzten Jahres haben
einige ganz neue Programme beachtliche Erfolge im Spiel gegen etablierte
Spitzen
programme wie Shredder oder
Junior. erzielt. So konnte z.B. der Newcomer Zap!Chess den Titel des
Computerschachweltmeisters 2005 erringen. War das für Sie eine große Überraschung?
Ja, das war eine Überraschung, obwohl sich schon etwas ankündigt hatte. Durch
die Veröffentlichung des Source-Codes der starken Engine Fruit war natürlich
klar, dass die Karten neu gemischt werden. Trotzdem ging es plötzlich sehr
schnell. Zap!Chess war zur richtigen Zeit da um den Titel zu holen.
Was macht diese neuen Programme so stark?
Sie haben eine sehr gute Suche, sehen also sehr tief. Jemand hat es mal so
beschrieben: kleine Bewertung, alles andere macht die Suche. Kleine Bewertung
heißt nicht, dass sie schlecht ist, es fehlen nur viele Sachen.
Interessanterweise können die positionell umfangreichen Engines diese Lücken
bisher nicht so gut ausnutzen.

Mathias Feist im Match "Brains in Bahrain" gegen Vladimir Kramnik im
Jahr 2002
Ist dadurch für die professionellen
Engine-Programmierer eine neue Situation entstanden?
Ja, wenn man einen Gegner hat der einen oft schlägt,
wird man viel deutlicher auf die Probleme hingewiesen. Dieses Jahr wird
spannend, da alle Profis heftig an ihren Engines arbeiten. Im Moment scheint es
so zu sein, wie es früher bei Partien von Schachprogrammen gegen Großmeister
war. Eine Seite (früher die GMs, heute die Profi-Engines) erreichen gute
Stellungen und schaffen es nicht diese zu gewinnen, weil sie ausgerechnet
werden. Die GMs haben es geschafft, ihr Spiel so anzupassen, dass sie diese
Probleme zum großen Teil vermeiden können. Auch die Profi-Engines werden sich
verändern und lernen, damit umzugehen.
Großmeister arbeiten bei der Analyse
trotzdem nach wie vor in der Regel mit Fritz oder Shredder. Wie passt das
zusammen? Haben die Schachprofis den neuesten Trend in Sachen Computerschach
verschlafen?
Nein, das glaube ich nicht. Wenn man Fruit als
Mustervorlage nimmt, sind diese neuen Engines positionell eher einfach
gestrickt, sie leben von der guten Suche. Das macht sich besonders in Partien
gegen andere Engines bemerkbar, die einfach ausgerechnet werden. Bei der
Analyse, die vom positionellen Verständnis der Engines lebt, haben gerade Fritz
und Shredder Vorteile, da ihre Vorschläge fundierter sind.
Auf der Grundlage welcher Kriterien muss die
Frage „Welches ist das beste Schachprogramm“ überhaupt beantworten? Ist die
beste Engine einfach diejenige, die in Engine-Matches die meisten Punkte holt?
Nein, es kommt wirklich auf das Einsatzgebiet der
Engine an. Man muss klar zwischen Engine-Matches und der Analyse z.B. der
eigenen Turnierpartien unterscheiden. Fritz ist in allen Bereichen sehr
ausgewogen, es liefert in praktisch allen Stellungen gute Resultate.
Gerade bei der Analyse der
eigenen Partien ist Fritz den Newcomern überlegen. Fritz enthält über die
Jahre gewachsenes umfangreiches positionelles Verständnis und viel
Endspielwissen. Dazu gehören z.B. richtige strategische Einschätzungen, etwa
bei Königsangriff
oder –verteidigung, bei der Frage,
welche Bauernstruktur vorzuziehen ist, ob und wann die Stellung geschlossen
werden soll,
wie das Zusammenspiel von Bauern und Figuren verbessert werden kann usw.
Dieses Schachwissen führt meist zu guten Vorschlägen
in der Analyse. Das ist ein Weg, den die Newcomer erst noch zurücklegen müssen,
wenn sie es denn wollen. Für die „Arbeit“ an den eigenen Partien halte ich
Fritz daher für besser geeignet.

Als Studiogast bei "Sag' die Wahrheit"
In welche Richtung muss die
Weiterentwicklung von Fritz gehen, um sowohl gegen die vorrangig auf Rechentiefe
ausgerichteten Programme als auch im Wettkampf gegen die weltbesten
Schachspieler erfolgreich zu sein?
Das positionelle Verständnis darf natürlich
nicht verloren gehen, sondern muss weiter ausgebaut werden. Es ist ein wichtiger
Punkt, der zum ausgewogenen starken Spiel von Fritz beiträgt. Wenn eine Engine
etwas weiß, dass die anderen nicht wissen, verbessert das gleichzeitig die
Ergebnisse gegen andere Engines. Wir sind diesen Weg in den letzten Jahren mit
Fritz gegangen und werden ihn weiter verfolgen.

Matthias Feist in Bilbao: Zahlreiche Autogrammwünsche
In welchen Bereichen sehen Sie am meisten
Potential für eine weitere Steigerung der Spielstärke von Fritz, und wie
schaffen Sie es überhaupt, die Leistung der Engine immer noch weiter zu
verbessern?
Verbesserungen sind in allen Bereichen möglich.
Also sowohl im schachlichen „Verständnis“, d.h. der positionellen
Bewertung, als auch im taktischen Bereich, also der Suche. Nicht zu vergessen
ist natürlich der gesamte Bereich „Planung“, also langfristige Folgen, der
das schwierigste überhaupt in einer Engine ist. Ausgangspunkt einer
Verbesserung ist in der Regel etwas, das Fritz falsch bewertet oder aus welchem
Grund auch immer nicht versteht. Dann erfolgt eine Analyse der Ursachen und
darauf Überlegungen wie es zu beheben ist. Schach ist so komplex, dass es in nächster
Zukunft immer etwas geben wird, das verbessert werden kann.
Anwender fragen immer wieder nach Dual Core
oder 64bit. Was ist das überhaupt? Wie können Anwender davon profitieren (z.B.
bei Zap!Chess), und welche Voraussetzungen müssen von Anwenderseite erfüllt
sein?
Dual Core bedeutet nichts anderes als „Zwei
Prozessoren“. Gemeint sind hier zwei Prozessoren auf einem Prozessor-Chip.
Diese Rechner sind deswegen so interessant, weil sie billiger zu realisieren
sind als frühere Dual Prozessor Systeme. Das Ergebnis ist aber praktisch das
gleiche. Manchmal kann man sogar in einem älteren Rechner den Prozessor durch
einen Dual-Core Prozessor ersetzen und erhält so die doppelte Rechenleistung.
Das ist nützlich entweder für Deep-Engines oder man kann zwei verschiedene
Engines mit voller Rechnerkraft parallel laufen lassen.
64 Bit bezieht sich auf die
Prozessor-Architektur. Dann können 64 Bit gleichzeitig verarbeitet werden. Bis
vor kurzem waren 32 Bit die Regel (z.B. beim Pentium 4). 64 Bit sind deswegen für
Schach so interessant, weil das Brett 64 Felder hat. Dann kann man sehr gut so
genannte „Bitboards“ benutzen. Dabei wird für jedes Feld ein Bit benutzt.
Verarbeitet der Rechner nur 32 Bit parallel, muss jedes Bitboard mit zwei
Befehlen bearbeitet werden, bei 64 Bit reicht ein Befehl.
Ein Bit kann den Wert 0 oder 1 annehmen. Man
benutzt dann mehrere Bitboards, um eine Stellung komplett abzubilden. Eine 0 heißt
immer, das Feld ist leer. Es gibt dann Bitboards, die haben eine 1 für jeden
weißen Bauern, oder für jeden schwarzen Springer, oder für alle von Weiß
angegriffenen Felder usw. Damit kann man viele Fragen durch einfache logische
Operationen beantworten.
Benutzt eine Engine Programm diese Technik,
wird sie auf einem 64-Bit Prozessor schneller. Allerdings ist dieser Vorteil
sehr unterschiedlich von Engine zu Engine, da natürlich auch viele andere
Sachen gemacht werden. Jedenfalls wird sich die Geschwindigkeit nicht
verdoppeln.