Le coin des invités

Le Fou numérique

 

Site search Web search

powered by FreeFind

Ruffian – ein neues Schachprogramm der Spitzenklasse

 

Kapitel 1: Ein Komet schlägt ein

 Es war etwa mitte September 2002. Ich staunte nicht schlecht als ich den Namen eines   Schachprogramms in einem Forum zum ersten Mal las „Ruffian“. Nun, das ist an sich nichts besonderes, denn inzwischen haben wir weit mehr als 100 solcher Programme. Mein Staunen richtete sich auf die Ergebnisse, die das bis dahin unbekannte Programm erspielt hatte. Das Programm war noch nicht für alle zugänglich, aber einige Tester brachten in einigen Computerschachforen geradezu sensationelle Ergebnisse. So ging es einige Tage lang, bis bei mir die Geduld platzte (ich wusste nämlich dass das Programm bald frei angeboten werden würde). „Her damit das wollen wir sehen“, so schrieb ich in einigen Foren und brachte so meinen Unmut  und meine Ungeduld, weil das Programm zu der Zeit nur wenigen Testern zur Verfügung stand. Bevor kommerzielle Programme zum Kauf angeboten werden, ist es üblich dass sie zuvor von sogenannten Betatestern getestet werden, ebenso üblich ist es dass Ergebnisse dieser Programme veröffentlicht werden (natürlich gewinnt immer das neue Betaprogramm). Bei Ruffian handelte es sich jedoch nicht um ein kommerzielles Projekt (zumindest bis jetzt nicht) und so war meine Geduld einfach am Ende.

 In dieser Zeit gab es viele Spekulationen, einige meinten im Vorfeld dass es sich bei Ruffian um einen Crafty-Clone handelt (Crafty ist ein Programm von Prof. Hyatt). Andere meinten sogar dass das Programm nur nicht erhältlich sei, weil es ein Computervirus ist. Diese Diskussionen habe ich nicht näher verfolgt weil sie im englischen CCC-Forum stattgefunden haben, und mein Englisch sehr dürftig ist.

 Am 23.09.2002 war es dann soweit: Man konnte im Internet das Programm Ruffian 1.0.0 runterladen, hier die Adresse: http://ruffian.hkust.se/

 Klar, dass ich mir schon am ersten Tag Ruffian geholt habe, und natürlich habe ich sofort einige Test durchgeführt.

Im englischen CCC-Forum brachte sofort jemand einen Beitrag (an Prof. Hyatt gerichtet) mit der anspielenden Frage: „Ist das nun ein Crafty-Clone“?

Ich habe darauf geantwortet: „Nein, ich glaube nicht dass es ein Crafty-Clone ist, aber vielleicht ein Fritz-Clone?“.

 Die Definition „Clone“ aus einem Lexikon (Auszug):

„Klonen“

Klonieren, englisch cloning, die Herstellung genetisch identischer Nachkommen (Klone). Sie können durch mitotische Zellteilung ( Mitose) oder durch Übertragung des Zellkerns des zu vermehrenden Individuums in eine zuvor entkernte Eizelle (Kerntransplantation) erzeugt werden.

 Der folgende Satz ist von großer Bedeutung: die Herstellung genetisch identischer Nachkommen.

 Es geht also beim Klonen  um die Herstellung identischer Nachkommen. Dass Ruffian aber weder mit Crafty noch Fritz (egal welche Version man nimmt), identisch ist, das konnte ich ganz leicht selbst schon nach den ersten Tests feststellen. Z.B. kann Ruffian bis jetzt (Version 1.0.1) noch immer nicht mattsetzen mit Springer und Läufer ohne die Endspieldatenbanken, ebenso bewertet Ruffian einiges anders als Fritz, und auch anders als Crafty! Von einem richtigen „Klonen“ kann daher absolut  keine Rede sein,  auch wenn ich beweisen kann dass Ruffian einige Techniken fast - oder sogar identisch so nutzt wie Fritz, ja diese Techniken machen das neue Programm daher besonders stark, und allen anderen Amateurprogrammen deutlich überlegen! Wie diese Techniken in der Praxis funktionieren und wo sie bei Ruffian denen von Fritz sehr ähnlich sind, das wollen wir uns bald ansehen. Hier jedoch zuvor einige Anmerkungen zum Thema Klonen wie ich das für mich verstanden haben möchte.

 Folgendes Statement dazu habe ich in einem Forum am 24.Sept. geschrieben (also der damalige Erkenntnisstand von mir, nicht der heutige):

 Als ich Ruffian testete, erinnerte er mich von Anfang an, an Fritz (gegen den ich tausende von Partien gespielt habe) und den kenne ich wirklich gut! Ich kenne die Stärken und Schwächen von Fritz, ich kenne seine Art zu spielen , seine Art zu analysieren usw.

 Ich habe nie behauptet dass Ruffian ein Fritz ist das kann er nicht sein, denn Fritz kann z.B. mit Springer und Läufer schon lange mattsetzen (auch ohne Endspieldatenbanken) - ich habe diese Mattführung früher oft trainiert - Ruffian kann das nicht!  Ruffian kann also kein Fritz sein. Dennoch erinnern mich fast alle Analysen "an den Stil" von Fritz, ob das die Art der Suche ist, die Bewertung, Suchtiefe und, und..., alles erinnert mich an Fritz.

Ich sehe nichts, wo ich sagen kann, dass in dem Programm Ruffian etwas "Originelles" steckt! Sorry ich kann nichts dafür dass ich zu diesem Fazit komme, aber für mich persönlich ist das nun einmal so. Ob daher in Ruffian ein Code von Fritz steckt , oder ob der Programmierer lediglich viele Eigenarten von Fritz übernommen hat (also nicht gestohlen), das hat für mich als Anwender keine Bedeutung (höchstens für Programmierer).

 Ich kenne viele Programme, und alle haben etwas eigenartiges, also etwas das ein anderes Programm nicht hat! Bei Ruffian sehe ich nichts derartiges. Ein Shredder hat einen eigenen Stil, auch die Art der Bewertung ist einzigartig. Ein ChessMaster (zumindest mit den Standardsettings) spielt einzigartig. Dasselbe trifft ebenso zu auf ChessTiger und Junior!  Ja, und der Fritz war bis jetzt für mich ebenfalls einzigartig, bis nun Ruffian kam.

 Schön, nun haben wir 2 Programme die einen ähnlichen Stil bevorzugen, ähnlich analysieren usw.

 Fakt ist nur, dass es Fritz schon lange gibt und bisher hat keiner versucht, sein Programm so zu gestalten dass es ähnlich spielt wie der Fritzi.

Mit Ruffian haben wir nun ein Programm, das etwa die Spielstärke von Fritz 6 aufbieten kann (also einen Fritz 7 durchaus auch besiegen kann) und dazu noch mit ähnlichem Stil spielt!

 Im Gegensatz zu Fritz, lässt sich Ruffian (als Wb - und UCI Engine) unter viele andere GUIs einbinden, und mit dem Stil ähnlich dem von Fritz samt der Spielstärke von Fritz 6, wird es viele Herzen erobern da es ja ein Freewareprogramm ist.

 In den gängigen Ranglisten wird Ruffian 1.0.0 jedenfalls alle bisherigen Amateure überflügeln. Zuletzt gab es so etwas zu bestaunen im Jahre 1996, als der Amateur Shredder in Jakarta den WM Titel holte, und viele Herzen erobern konnte. Nach nun 6 Jahren, ist nun wieder einem Programmierer ein ähnlicher Wurf (quasi 0 auf 100) gelungen, der Spielstärke nach sogar stärker anzusiedeln als damals bei Shredder 1.

 Auf dieses Statement bekam ich u.a. auch die folgende Antwort:

 „eigentlich erstaunlich, dass bisher noch niemand versucht hat Fritz zu kopieren. Ruffian kommt ähnlich schnell auf Tiefe wie Fritz dank seines exzessiven Prunings. Damit überflügelt er auf Anhieb sämtliche Amateure. Ich weiss natürlich nicht, was Per-Ola noch so alles in sein Programm gezaubert hat, aber das aggressives Pruning und aggressive Nullmove-Einstellungen die Spielstärke positiv beeinflussen zeigt jetzt nicht nur Fritz, sondern eben auch Ruffian.“

 Ich antwortete darauf so:

 „Nachdem Ruffian nun da ist , muss man sich diese Frage ernsthaft stellen. Aber ich vermute, wie es schon Ulrich angedeutet hat, dass jeder Programmierer seine eigene Kreatur schaffen will. Ich würde nie auf die Idee kommen etwas zu kopieren, ich suche immer meinen originellen Weg. Dass Ruffian nicht Fritz ist, möchte ich nochmals betonen. Es handelt sich tatsächlich um ein eigenständiges Programm. Aber der Programmierer hat viel von Fritz-Ideen übernommen, sonst wäre Ruffian so wie er nun ist , nicht möglich!“

Einige kurze Infos noch zu Ruffian, bevor ich mich der praktischen Seite des Programms zuwende:

 Der Programmierer kommt aus Schweden, ist 36 Jahre alt (so las man es) und ist Techniker der Telekommunikation. Sein Name: Per Ola  Valfridsson.

 Warum heißt Ruffian so? Man weiss es nicht, aber Ruffian ist ein schwarzes Pferd.

 Wann begann das Projekt Ruffian? 1998.

 Welche Protokolle unterstützt Ruffian? WB I, WB II und UCI.

 Unter welchen Betriebssystemen läuft das Programm? Linux, Bd, OSX und Windows.

 Wieviel kostet es? Derzeit ist die Version 1.0.0 und 1.0.1 Freeware. Folgende Versionen kann man unter der genannten Adresse runterladen (derzeit):

ruffian engine Windows version. Release 1.0.1. (Sep 29, 2002) latest

ruffian engine Windows version. Release 1.0.0. (Sep 23, 2002)

 

Kapitel 2: Anbindung als UCI und Winboard Engine

 Ruffian ist eine Winboard – und UCI Engine. Sie unterstützt diese beiden Protokolle, besitzt jedoch selbst keine eigenständige Oberfläche (GUI).

 a) Ruffian als UCI-Engine unter Fritz 7 (nur mit Fritz 7-Update möglich):

 Im Engines Ordner Chessbase\Engines\ wird ein weiterer Unterordner erstellt, am besten mit dem Namen „Ruffian“. In diesen Ordner werden folgende Dateien kopiert  - und auch dort benötigt: Ruffian.exe; Ruffian.cfg; Ruffian.bok; Ruffian.BMP (Bitmap).

 Normalerweise benötigt man die Datei Ruffian.cfg nur für die Wb-Anbindung, aber damit auch unter Fritz 7 mit „Permanent Brain“ und „Ruffian-Buch“ gespielt  werden kann, ist auch diese Datei  notwendig - gegen mich wollte ansonsten Ruffian  nach dem letzten Buchzug nicht ziehen! Die Version 1.0.0  (siehe oben) konnte noch kein Permanent Brain nutzen, das wurde aber mit der Version 1.0.1  verbessert, und seit dem nun nutzt Ruffian diese Möglichkeit ! Die Hashtabellen werden jedoch wie bei Fritz 7 eingestellt, ebenso die Tablebases  die in der Chessbase.ini (im Windows-Hauptordner) editiert werden ! Die Befehlszeile in der ChessBase.ini lautet:

[Tablebase] 
Path=C:\Tablebases -> hier natürlich individuell einstellen! 
CacheSizeKB=8192 -> Größe des Cache in KB!

 Nachdem man alle diese Dateien installiert hat, klickt man unter Fritz 7 auf die Option „Engines“ dann auf  „UCI Engine erstellen“. Dort sucht man den exakten Pfad bis zur Ruffian.EXE. Man markiert und installiert diese dann! Ruffian wird daraufhin als UCI Engine unter Fritz 7 eingebunden, und im Ordner „ChessBase\Engines“ taucht danach eine Ruffian101.uci Datei auf.  Ruffian kann auch das Buch von Fritz nutzen. Erstellt man jedoch ein leeres *.ctg Buch, (bei mir „empty.ctg“), dann nutzt Ruffian automatisch „nur“ Züge aus seinem eigenen Buch, die Buchzüge selbst kann man im Buchfenster dann allerdings nicht sehen da ja dort das leere *.ctg-Buch geladen ist! Schachfreund Heinz Walz aus Bad Kissingen bestätigte mir dass man überhaupt kein leeres *.ctg benötigt um Ruffian mit seinem Buch spielen lassen zu können. Es genügt dass man in den „Buchoptionen“ unter Fritz 7 einfach „Buch benützen“ deaktiviert!

 Ähnlich wie unter Fritz 7, lässt sich Ruffian auch unter Shredder (Classic) als UCI Engine einbinden – eine Einleitung dazu findet man unter „Hilfe“.

 b) Ruffian als Wb-Engine einbinden:

 Ich nutze hierzu das MCS-System (Genius 65), das identisch ist mit dem nun neuen ChessGenius 7 Classic! Den neuen Genius 7 kann man nun direkt bei Lang Software in UK kaufen.  Die Adresse lautet: http://www.chessgenius.com/pc/index.html

 MCS steht für das Millennium Chess System, einem ehemals von Ossi Weiner angebotenem  Windows Programm Genius 6, das später mit Shredder 4 als WM-Paket mit etwas  verbessertem Genius 6.5 herauskam. Seit der Version 6 konnte das Programm Genius also auch Winboard-Engines nutzen, dank eines Wb-Converters von Stefan Meyer-Kahlen. Eine Adapter.eng (eine vorgefertigte leere ENG-Datei die man für die Winboad-Engines nur zu editieren braucht) lag mit anbei, man kann aber auch jede andere *.ENG von Genius nehmen, z.B. die von Genius 7, indem man sie zunächst umbenennt und leert, dann den Inhalt für „Ruffian“ (hier weiter unten) hineinkopiert, und danach abspeichert - fertig! Für Ruffian habe ich den Inhalt der „Ruffian.eng“ hier bereits editiert, und wer das MCS oder den Genius 7 besitzt , kann den Inhalt der Ruffian.eng so nutzen:

 INIT { 
// First the EXE/DLL path.. 
"engines\\Ruffian\\wbconv.dll", 
// Name Text for screen display.. 
"Ruffian 1.0.1 Engine", 
// Size of "ENG_FLAGS" structure for this engine 
284, 
  
[#l:1024,1,0,0, 1,0,1, #b:'e,'n,'g,'i,'n,'e,'s,'\,'r,'u,'f,'f,'i,'a,'n,'\,'r,'u,'f,'f,'i,'a,'n,'.,'e,'x,'e,0], 
// engines\ruffian\ruffian.exe 
"", 
0, 
"Ruffian", 
"", 
"", 
"", 
"" 

DIALOG { 
"Set Options for Ruffian..", // Title for dialog 
250,150, // X/Y size of dialog 
// Now the individual data items.. 
"TICK", "Permanent brain", [#l:16,4, 20,30, 90], 
"TICK", "White's score in analyse mode", [#l:20,4, 20,45, 120], 
"TICK", "Can show current move", [#l:24,4, 20,60, 120], 
"END", // Must be last 
END }

 Diese Ruffian.eng muss in den Hauptordner „genius65“ (oder „ChessGenius 7 Classic“) kopiert werden.  Als nächstes muss unter Genius65\Engines\  ein Ordner mit dem Namen "Ruffian" angelegt werden.

 Hinein gehören folgende Dateien: 

 WbConv.dll

 Dieser Converter ist frei, und kann von der Millennium 2000 Homepage runtergeladen werden: http://www.computerchess.com/bilder/downloads/wbkonverter.zip

Ruffian.exe

Ruffian.cfg

Ruffian.bok

 (Ruffian kann jedoch auch das Buch von Genius nutzen). Das Bitmap ist unter Genius  nicht möglich zu sehen,  also auch nicht notwendig.

 In der Ruffian.cfg lassen sich u.a. die Hashtabellen, sowie der Pfad zu den TBs einstellen. Nun sollte unter dem MCS-GUI, Ruffian zu laden sein.  Kleiner Tip: bevor Ruffian (oder auch andere Engines ausser Genius) die Analyse wirklich starten, auch wenn unter "Gegner", der Analyse-Modus aktiviert ist, so muss man dennoch nach Start der Engine nochmals auf "Analyse" klicken um sie zu starten.

 

Kapitel 3: Meine ersten Tests

Ich habe Ruffian 1.0.0 zuerst unter Fritz 7 als UCI-Engine eingebunden. Voller Spannung klickte ich ins Engine Fenster um sie zu laden. Dann der erste Klick auf „Analyse“ in der Grundstellung. Ruffian zeigte seine ersten Varianten und als ich auf die Knotenzahl sah, stellte ich fest dass sie sogar über der von Fritz 7 (ebenfalls Grundstellung) lag. Das hatte mich ein wenig erstaunt, da die Ruffian.exe satte 452 KB groß ist.

 „Ein schnelles Ding“, das waren meine ersten Gedanken. So wie meist jeder Computerschachtester, besitze auch ich ein eigenes Testset. Ich ließ Ruffian die wichtigsten Stellungen meines Tests analysieren. Die Trefferquote lag sehr hoch, und viele der Lösungsvarianten ähnelten denen von Fritz (auch die Bewertungen mitunter)! Einerseits fand ich das faszinierend, andererseits (weil ich mir Ruffian anders vorgestellt hatte) kam kurz eine Welle der Enttäuschung über mich, erst recht als ich manche Zugzwangstellungen mit denen von Fritz verglichen hatte. Ruffian analysiert tatsächlich sehr ähnlich wie der Fritz, hier einige Kostproben:


Komposition von Eduard Nemeth:

 1k4Bq/6pP/3p2Pb/3P1Pp1/1K4P1/8/8/8 b - - 0 1

Nun spiele man folgende Züge im Analysemodus nach:

1...Kc7 2.Ka5 Kb7 3.Kb5 Kc7 4.Ka6 Kc8 5.Kb6 Kd8 6.Kc6 Kc8 Line

Analysis by Ruffian 1.0.0:

7.Kb6 Ke7 8.Kc6 Kf8 9.Kxd6 Ke8 10.Lf7+ Kd8 11.f6
= (0.00) Tiefe: 30/39 00:00:09 2432kN
7.Kb6 Ke7 8.Kc6 Kf8 9.Kxd6 Ke8 10.Lf7+ Kd8 11.f6
= (0.00) Tiefe: 31/40 00:00:18 4512kN
7.Kb6 Ke7 8.Kc6 Kf8 9.Kxd6 Ke8 10.Lf7+ Kd8 11.f6
= (0.00) Tiefe: 32/43 00:00:35 9111kN
7.Kb6 Ke7 8.Kc6 Kf8 9.Kxd6 Ke8 10.Lf7+ Kd8 11.f6
= (0.00) Tiefe: 33/47 00:00:58 17729kN
7.Kb6 Ke7 8.Kc6 Kf8 9.Kxd6 Ke8 10.Lf7+ Kd8 11.f6
= (0.00) Tiefe: 34/50 00:02:00 40290kN


Nun killt man den Bauer:

 3k2Bq/6pP/3K2Pb/3P1Pp1/6P1/8/8/8 b - - 0 1

7...Ke8 8.Kc7 Ke7 9.d6+ Kf6 10.d7 Ke5 11.d8D Kf4 12.Le6 Dxd8+ 13.Kxd8 Ke5 14.Ke7 Kf4 15.f6 gxf6 16.h8D f5 17.gxf5
+- (12.96) Tiefe: 17/36 00:00:05 1761kN
7...Kc8
+- (10.98) Tiefe: 17/36 00:00:06 1825kN

Solche Analysen kann man beim Fritz 7 oft sehen! Beispiel, Fritz 7 hat aber den Bauern schon geschlagen:

1...Kc7 2.Ka5 Kb7 3.Kb5 Kc7 4.Ka6 Kc8 5.Kb6 Kd8 6.Kc6 Kc8 7.Kxd6 Kd8....usw.

3k2Bq/6pP/3K2Pb/3P1Pp1/6P1/8/8/8 w - - 0 1


Analysis by Fritz 7.008
8.Ke6 Ke8 9.Lf7+ Kd8 10.Lg8 Ke8 11.Lf7+ Kd8 12.Lg8 Ke8 13.Lf7+ Kd8 14.Lg8 Ke8 15.Lf7+
= (0.00) Tiefe: 23/40 00:00:05 1824kN
8.Ke6 Ke8 9.Lf7+ Kd8 10.Lg8 Ke8 11.Lf7+ Kd8 12.Lg8 Ke8 13.Lf7+ Kd8 14.Lg8 Ke8 15.Lf7+
= (0.00) Tiefe: 24/42 00:00:11 3394kN
8.Ke6!
= (0.13) Tiefe: 25/43 00:00:32 10221kN
8.Ke6--
= (0.00) Tiefe: 26/36 00:00:39 12623kN

Diese Art, zuerst 0.00 anzuzeigen (auch noch falsch, wegen Nullzugproblemen), um danach nur einen Halbzug später +10 anzuzeigen ist besonders typisch für das Programm Fritz!

In der folgenden Nullzugteststellung (Matt in 11) sehen die Analysen sehr ähnlich aus, man könnte meinen es sei in beiden Fällen dasselbe Programm nur etwas anders justiert:


Komposition von Eduard Nemeth:

8/8/p1p1R3/1p5p/1P5p/6r1/PPP2K1p/7k w - - 0 1

Analysis by Deep Fritz 7:

1.c3 Tg2+ 2.Kf1 Txb2 3.Txc6 Txa2 4.Te6 Tc2 5.Tc6 h3 6.Txa6 Txc3 7.Kf2 Tc2+ 8.Ke3 Kg1 9.Ta1+
-+ (-3.59) Tiefe: 14/32 00:00:26 8843kN
1.c3 Tg2+ 2.Kf1 Txb2 3.Txc6 Txa2 4.Te6 Tc2 5.Txa6 Txc3 6.Kf2 Tc2+ 7.Kf3 Tc1 8.Kf2 Tf1+ 9.Kxf1
-+ (-3.72) Tiefe: 15/36 00:00:51 17439kN
1.c3 Tg2+ 2.Kf1 Txb2 3.Txc6 Txa2 4.Te6 Tc2 5.Tc6 h3 6.Txa6 Txc3 7.Kf2 Tc2+ 8.Kg3 Tc1 9.Kxh3 Tb1 10.Th6 Txb4
-+ (-3.69) Tiefe: 16/36 00:01:49 38045kN

 Analysis by Ruffian 1.0.0:

1.c3 Tg2+ 2.Kf1 Txb2 3.Txc6 Txa2 4.Td6 Tc2 5.Td1 Tg2 6.Td6 Tg7 7.Tf6 h3 8.Tf3 Tg2 9.Txh3
-+ (-3.60) Tiefe: 16/29 00:00:28 9819kN
1.c3 Tg2+ 2.Kf1 Txb2 3.Txc6 Txa2 4.Td6 Tc2 5.Td1 Tg2 6.Td6 Tg7 7.Tf6 Tg3 8.Kf2 Tg2+
-+ (-3.59) Tiefe: 17/33 00:01:05 23240kN
1.c3 Tg2+ 2.Kf1 Txb2 3.Txc6 Txa2 4.Td6 Tc2 5.Tc6 a5 6.bxa5 b4 7.a6 bxc3 8.a7 Ta2 9.Txc3 Txa7 10.Kf2 Te7
-+ (-3.90) Tiefe: 18/34 00:01:50 40160kN

(Ruffian erreicht übrigens eine max. Suchtiefe von 64 Halbzügen, während DF7 auf 67 kommt; Fritz 7 kommt 47 Halbzüge tief)

In der folgenden Stellung (und das ist auch wieder nur ein Beispiel von vielen), zeigt Ruffian 1.0 ebenfalls einen ähnlichen Suchalgorithmus wie Fritz. Bevor der stärkste Zug gefunden wird, wird Th3 untersucht dann Sxh6 und dann, erstaunlich schnell für einen Amateur, kommt genau  in dieser Reihenfolge bald 1. Te1!


Komposition von Eduard Nemeth:

 2qr3r/1p1n1ppk/p3p2p/5b2/2PP2NQ/6R1/P1B2PPP/R5K1 w - - 0 1

Analysis by Ruffian 1.0.0:

1.Th3 Kg8 2.Lxf5 exf5 3.Se3 g6 4.Tg3 Kh7 5.De7 Thf8 6.Te1
+- (1.47) Tiefe: 10/26 00:00:14 4547kN
1.Sxh6
+- (1.80) Tiefe: 10/28 00:00:17 5925kN
1.Sxh6 gxh6 2.Dh5 Thg8 3.Dxf7+ Kh8 4.Th3 Txg2+ 5.Kh1 Tg6 6.Lxf5 Dc6+ 7.d5 Tg7
+- (3.05) Tiefe: 10/28 00:00:19 6560kN
1.Sxh6 gxh6 2.Dh5 Se5 3.dxe5 Dd7 4.Td1 Lxc2 5.Txd7 Txd7 6.f4 Thd8
+- (3.04) Tiefe: 11/30 00:00:28 10276kN
1.Te1
+- (3.40) Tiefe: 11/34 00:01:02 23766kN
1.Te1 Lxc2 2.Sxh6 g6 3.Sxf7+ Kg7 4.Sxh8 Txh8 5.De7+ Kg8 6.Dxe6+ Kg7 7.Te2 Lb1 8.d5
+- (3.86) Tiefe: 11/34 00:01:17 28951kN

Analysis by Fritz 5.32:

1.Th3 Kg8 2.Lxf5 exf5 3.Se3 g5 4.Tg3 Sb6 5.Tc1 Dd7
² (0.59) Tiefe: 9/24 00:00:04 1362kN
1.Sxh6
² (0.63) Tiefe: 9/28 00:00:06 2325kN
1.Sxh6 gxh6 2.Dh5 Thg8 3.Dxf7+ Kh8 4.Th3 Txg2+ 5.Kh1 Tg6
± (1.00) Tiefe: 9/28 00:00:06 2496kN
1.Te1
± (1.03) Tiefe: 9/28 00:00:08 3712kN

Viele andere Programme, finden den besten Zug hier (1.Te1!) erst viel später oder garnicht, weil 1. Sxh6 ebenfalls gewinnt, jedoch nicht so deutlich wie 1. Te1.

Irgendwann kurz nach diesen ersten Tests, spielte ich eine Partie zwischen WbNimzo2000b und Ruffian 1.0, und zu meinem Erstauen konnte ich von den 37 gespielten Zügen von Ruffian, 36 davon mit Fritz 6 Old reproduzieren. Mit irgend einer Fritz-Engine schien sich vieles was  Ruffian analysierte – oder spielte beinahe komplett reproduzieren.

Hier noch ein letztes Beispiel als Beweis für die vielen Ähnlichkeiten zwischen Fritz und Ruffian:

Spielt man die folgende Partie nach, und kommt zur Diagrammstellung (nicht mit dem FEN-String), so hat weiss zwei Felder für seinen König, f1 oder h1. Da zuvor Zugwiederholungen stattgefunden haben bzw. drohen, so droht auch für die Programme, falls sie einer Zugwiederholung ausweichen wollen und Kh1 ziehen, dass sie danach verlieren.
Vorweg: Ruffian würde sich seinen König nicht so durch die Gegend jagen lassen wie Fritz 7, da er einer Zugwiederholung gleich am Anfang IMMER zusagen würde, Fritz 7 hingegen sucht IMMER einen Alternativzug, wenn dieser in seinem Suchhorizont als Bewertung noch 0.00 zeigt.

[Event "Blitz30'"]
[Site "?"]
[Date "2002.06.25"]
[Round "?"]
[White "Fritz 7.008, P600"]
[Black "Nemeth,Eduard"]
[ECO "C57"]
[Result "0-1"]

1. Nf3 Nc6 2. e4 e5 3. Bc4 Nf6 4. Ng5 d5 5. exd5 Bg4 6. Nxf7 Qc8 7. f3 Nd4 8. Nxh8 Bxf3 9. gxf3 Qh3 10. Rf1 Qh4+ 11. Rf2 e4 12. Kf1 Bc5 13. c3 Qh3+ 14. Ke1 Nc2+ 15. Qxc2 Bxf2+ 16. Kxf2 Qxh2+ 17. Ke3 Qg1+ 18. Kf4 Qh2+ 19. Ke3 Qg1+ 20. Ke2 Qg2+ 21. Ke1 Qg3+ 22. Kf1 Qh3+ 23. Kg1 Qg3+ 24. Kh1 Qh3+ 25. Kg1 Qg3+ 26. Kh1 exf3 27. d4 f2 28. Qxf2 Qxf2 29. Nd2 O-O-O 30. Nf7 Ng4 31. Nf1 Qxf7 32. Be2 Qxd5+ 33. Kg1 Qf5 34. Be3 Qe4 35. Re1 Nxe3 36. Bf3 Qxf3 37. Rxe3 0-1


r3k2N/ppp3pp/5n2/3P4/2B1p3/2P2Pq1/PPQP4/RNB3K1 w q - 0 1

Das Feld h1 ist ein Todesloch!
           

Analysis by Fritz 7.008:

24.Kh1 Dh3+ 25.Kg1
= (0.00) Tiefe: 12/41 00:00:26 9138kN
24.Kh1--
³ (-0.44) Tiefe: 13/39 00:01:29 28560kN
24.Kh1 exf3 25.d4 f2 26.Dxf2 Dxf2 27.Sd2 Sg4 28.Sf1 Kd7 29.d6 Txh8 30.dxc7
-+ (-3.16) Tiefe: 13/43 00:03:11 60820kN
24.Kf1!
= (0.00) Tiefe: 13/43 00:03:11 60820kN
24.Kf1
= (0.00) Tiefe: 14/14 00:03:11 60820kN

Bei Fritz 7.008 dämmert es langsam in Tiefe 13, dann kommt eine Negativbewertung  –0.44 mit „nur“ einem Zug in der Analyse,  danach sogar -+3.16,  bis endlich Kf1 mit der Bewertung 0.00 folgt.

Analysis by Ruffian 1.0.0:

24.Kh1 Dh3+ 25.Kg1
= (0.00) Tiefe: 12/31 00:00:46 19515kN
24.Kh1
³ (-0.35) Tiefe: 13/32 00:01:10 28249kN
24.Kh1 exf3 25.d4 f2 26.Dxf2 Dxf2 27.Sd2 Sg4 28.Sf1 0-0-0 29.Sf7 Txd5 30.Sg5 Dh4+ 31.Kg1 Txg5 32.Lxg5 Dxg5
-+ (-3.59) Tiefe: 13/35 00:02:37 65292kN
24.Kf1
= (0.00) Tiefe: 13/35 00:02:37 65292kN
24.Kf1
= (0.00) Tiefe: 14/35 00:02:38 65292kN

Ein fast ähnliches Verhalten zeigt Ruffian 1.0.0: Ebenfalls in Tiefe 13 dämmert es ihm langsam, dann kommt eine ähnliche Bewertung wie bei Fritz 7 mit  -+0.35  dann sogar -+3.59, um schliesslich, zu Kf1 mit 0.00 zu wechseln, zunächst ebenfalls in Tiefe 13 dann in Tiefe 14 exakt wie Fritz 7!


Analysis by Chess Tiger 14.0:

24.Kh1 Dh3+ 25.Kg1
= (-0.12) Tiefe: 10 00:00:14 2778kN
24.Kh1 Dh3+ 25.Kg1
= (-0.12) Tiefe: 11 00:00:22 4415kN

Für den Chess Tiger 14.0 ist die Lage hoffnungslos. Er bleibt auch nach 5 Min. bei der obigen Analyse.

            Analysis by Shredder 6.02:


24.Kh1 exf3 25.d4 f2 26.De2+ Kf8 27.Df1 Df3+ 28.Dg2 Dh5+ 29.Dh2 Dxd5+ 30.Lxd5 f1D+ 31.Dg1 Dh3+ 32.Dh2 Df1+ 33.Dg1 Dh3+ 34.Dh2 Df1+ 35.Dg1
= (-0.09) Tiefe: 9/18 00:01:28 13329kN
24.Kf1 exf3 25.d4 De1+ 26.Kxe1 Sxd5
= (-0.08) Tiefe: 9/18 00:01:29 13355kN
24.Kf1 Dxf3+
= (-0.04) Tiefe: 9/18 00:01:29 13440kN
24.Kf1 Dxf3+
= (-0.04) Tiefe: 10/20 00:01:30 13560kN

Shredder ist der schnellste der aus dem LOCH kommt, und benötigt auch keine besondere Suchtiefe.

Analysis by Crafty 18.15:

24.Kf1 Dh3+ 25.Kf2 Dh2+
= (0.00) Tiefe: 9/23 00:00:02 482kN
24.Kf1 Dh3+ 25.Kf2 Dh2+
= (0.00) Tiefe: 10/25 00:00:04 1401kN

Crafty 18.15 kommt erst gar nicht auf die Idee Kh1 zu spielen.

Fazit, ich zitiere noch einmal meinen Satz aus dem ersten Kapitel:

„...Dennoch erinnern mich fast alle Analysen "an den Stil" von Fritz, ob das die Art der Suche ist, die Bewertung, Suchtiefe und, und..., alles erinnert mich an Fritz“.

Kapitel 4: Aus einem Schüler wird ein Meister

 

Soeben schrieb ich, dass mich an Ruffian alles irgendwie an Fritz erinnert, nicht nur die Spielweise, sondern sogar die Spielstärke. Was ist daher so faszinierend und originell an Ruffian?  Vor wenigen Tagen (Sept. 02) gab Weltmeister Vladimir Kramnik ein Interview in dem er sagte: “Es ist nicht wichtig, einen guten Lehrer zu haben – es ist wichtig ein guter Schüler zu sein“. Wer es noch nicht weiß, dem sei gesagt dass kein geringerer als Gary Kasparov, Kramniks größter Schachlehrer war. Und wer ist heute der Weltmeister? Kramnik! Am Anfang des Artikels schrieb ich den Satz: „Ein Komet schlägt ein“. Dabei erinnerte ich mich an Tennis-Spieler Boris Becker, der 1985 als 17-jähriger und jüngster aller Zeiten, das grösste Turnier der Welt gewinnen konnte: Wimbledon! Er besiegte im Finale K. Curren, u.a. mit fantastischen Aufschlägen und dem berühmten Becker-Hecht! Man nannte ihn daher auch Bum-Bum Boris. Er startete in das Turnier als Nr. 100, und wenig später nach dem Turnier, gehörte er schon zu den Top - Ten der Welt! Boris Becker hatte einen guten Lehrer aber er war auch ein guter Schüler.

 

Was die Computerschachszene angeht, so hat der Programmierer von Ruffian es ebenfalls sehr gut verstanden, viele Techniken die Spitzenprogramme und Profis effizient nutzen, sein eigen zu machen! Diese Techniken sind keineswegs geheim (keiner hat das Rad neu erfunden), aber es geht darum, sie effektiv wie nur möglich anzuwenden! Vor einiger Zeit gab es eine Sprechstunde im Internet mit dem Spitzenprogrammierer Stefan Meyer-Kahlen. Auf die Frage, was der wichtigste Unterschied   zwischen Profis und Amateuren ist, antwortete er u.a. sinngemäss so: „Die Profis können allen etwas besser“. Einen ähnlichen Spruch sagte Ex-Weltmeister Karpov auf die Frage, was den Unterschied eines Weltmeisters zu einem guten Grossmeister ausmacht. Er antwortete: „ Der Weltmeister kann alles ein wenig besser“. Es geht also nicht um eine neue Sache, sondern darum, dass man sie besser kann  als andere! Bisher war es so, dass es nur ganz wenigen Programmierern gelungen ist, in kurzer Zeit größere Fortschritte mit ihren Programmen zu erzielen. Eine kleine Eliteklasse hatte sich gebildet, die bisher die Computerschachszene dominierte. Keinem Amateur-Programmierer ist es seit 1996 (wie erwähnt) wieder gelungen, einen solch schnellen Sprung zu machen, dass er mit den Elite-Programmierern mitmischen konnte.

Ruffian jedoch mischt nun kräftig auf, er ist jetzt schon in der ersten verfügbaren Version in der Lage, jeden Profi  zu besiegen! Ist das nicht faszinierend? Meine Antwort lauter Ja!

 

Ruffian beherrscht die wichtigsten Techniken genauso gut wie ein Fritz, und ist somit etwa genauso schnell. Für die Implementierung weiteres Schachwissen, ohne Geschwindigkeit einzubüßen, ist also genug Freiraum da. Die Stärken von Ruffian liegen eindeutig im positionellen Bereich sowie im Endspiel, ohne dass die taktische Schlagkraft  verloren geht - hier ist Ruffian dem Profi Shredder überlegen! Bei der Königssicherheit hakt es bei Ruffian noch hier und da, dafür aber kann Ruffian wie kaum ein anderes Programm, sich wie ein Panther an den gegnerischen König krallen, ebenso ist er im Endspiel, wenn er einmal losrennt, nicht mehr zu bremsen. Diese Dynamik ist sein Markenzeichen!

 

Folgende zwei Endspielbeispiele veranschaulichen uns diese Dynamik, die Ruffian an den Tag legen kann:

 

             Gandalf 5.1 – Ruffian 1.0

          6k1/p5p1/4r3/1p3Q2/1Pb5/3p2PP/3K4/8 b - - 0 95

 

Ohne lange überlegen zu müssen, drosch Ruffian hier seinen a-Bauer nach vorne mit a7-a5!, um sich zwei Freibauern zu schaffen, die weiße Dame war danach machtlos. Glänzend gespielt, und dazu noch schnell. Nach meinen bisherigen Erfahrungen, besitzt Ruffian besonders in Turmendspielen besondere Stärken. Die folgende Stellung z.B. spult er ohne zu überlegen, auch ohne Endspieldatenbanken perfekt runter, dazu sogar mit der Bewertung von 0.00 !

 

             Ruffian 1.0 – Genius 3

             8/8/8/8/2R2pk1/8/1r6/5K2 w - - 0 70

 Analysis by Ruffian 1.0.1:

70.Tc3 Th2 71.Ta3 Th3 72.Ta2 Th1+ 73.Kg2 Te1 74.Kf2 Te3 75.Kg2 Tf3 76.Tc2 Tg3+ 77.Kf1 Tf3+ 78.Kg2 Th3 
= (0.00) Tiefe: 15/25 00:00:04 1392kN 
70.Tc3 Th2 71.Ta3 Th3 72.Ta2 Th1+ 73.Kg2 Te1 74.Kf2 Te3 75.Kg2 Tf3 76.Ta4 Tb3 77.Ta2 Tf3 
= (0.00) Tiefe: 16/27 00:00:05 1623kN

 

Folgende Stellung erreichte Ruffian 1.0 gegen Fritz 7.008

 


 Fritz 7.008 - Ruffian 1.0

8/1p2p1k1/6p1/3P2Pp/4nP2/1pr1N2P/4K3/1R6 b - - 0 1

 

Analysis by Ruffian 1.0.1:

45...b5 46.h4 Sd6 47.Kd2 b4 48.Ke2 Kf7 49.Ta1 Se4 50.Ta7 b2 
-+ (-1.71) Tiefe: 8/18 00:00:01 81kN 
45...b5 46.h4 Sd6 47.Kd2 b4 48.Ke2 Kf7 49.Ta1 Se4 50.Ta7 b2 
-+ (-1.71) Tiefe: 9/20 00:00:01 176kN 
45...b5 46.h4 Sd6 47.Sd1 Th3 48.Sf2 Txh4 49.Kf3 Sc4 50.Txb3 
-+ (-1.77) Tiefe: 10/20 00:00:01 529kN 
45...b5 46.h4 Sd6 47.Sd1 Th3 48.Sf2 Txh4 49.Kf3 Sf5 50.Txb3 Sd4+ 51.Kg3 
-+ (-1.86) Tiefe: 11/21   00:00:04 1116kN
45...b5
-+ (-2.21) Tiefe: 12/26 00:00:13 3708kN
45...b5 46.h4 b4 47.Tb2 Sd6 48.Tb1 Sb5 49.d6 exd6 50.Tb2 Sd4+ 51.Kf2 Kf7
-+ (-2.67) Tiefe: 12/28 00:00:24 7242kN
45...b5 46.h4 b4 47.Tb2 Sd6 48.Tb1 Sb5 49.d6 Sd4+ 50.Kf2 exd6 51.Sd5 Th3 52.Td1
-+ (-2.98) Tiefe: 13/29 00:00:40 12380kN

 

Bereits nach einer sek. zeigt Ruffian ein deutliches Plus für sich, und ist nicht mehr zu stoppen! Vermutlich würden viele andere Programme diese Stellung auch gewinnen, ich möchte jedoch die Dynamik mit der Ruffian hier zu Werke geht, veranschaulichen!

 Dieselbe Stellung analysiert mit Fritz 7.008:

 

Fritz 7 - Ruffian 1.0.0

8/1p2p1k1/6p1/3P2Pp/4nP2/1pr1N2P/4K3/1R6 b - - 0 1

Analysis by Fritz 7.008:

45...Kf7
µ (-0.94) Tiefe: 15/34 00:00:58 18478kN
45...h4!
µ (-0.97) Tiefe: 15/34 00:01:15 24389kN
45...h4!
µ (-1.13) Tiefe: 15/34 00:01:26 27928kN
45...h4--
µ (-0.84) Tiefe: 16/32 00:01:42 33478kN
45...h4
µ (-0.84) Tiefe: 16/32 00:01:56 38516kN

 

Bis es bei Meister Fritz dämmert (wenn überhaupt?) ist Ruffian schon über allen Wolken. Ruffian ist jetzt selbst ein Meister, und erteilt  hier Fritz, aber anderen Profis auch, so manche Lektion! Hier die komplette Partie zum Nachspielen, sie zeigt mit welcher Dynamik Ruffian ans Werk gehen kann. Für mich ist es jedenfalls faszinierend gewesen Ruffian beim Spielen zuzuschauen!

[Event "P600, Blitz:10'"]
[Site "?"]
[Date "2002.??.??"] 
[Round "?"] 
[White "Fritz 7.008"] 
[Black "Ruffian 1.0.0"] 
[Result "0-1"] 
[ECO "E60"]

1. d4 Nf6 2. Nf3 g6 3. c4 Bg7 4. g3 c6 5. Bg2 O-O 6. b3 d5 7. Bb2 dxc4 8. bxc4 c5 9. O-O Qb6 10. Qb3 cxd4 11. Qxb6 axb6 12. Nxd4 Rd8 13. e3 Nbd7 14. Nc3 Ne5 15. Nd5 Nxd5 16. cxd5 Nd3 17. Rfb1 Nb4 18. e4 Bd7 19. Rd1 Nxa2 20. f4 Nb4 21. Rxa8 Rxa8 22. e5 b5 23. Rd2 Ra6 24. Kf2 Kf8 25. Be4 Ra4 26. Ke2 Na6 27. Bc2 Ra5 28. e6 Bc8 29. exf7 Kxf7 30. Nb3 Ra4 31. Bxg7 Kxg7 32. Nd4 Bg4+ 33. Ke3 Ra3+ 34. Bd3 Nc7 35. Nc2 Ra4 36. Be4 Ne8 37. Bf3 Bxf3 38. Kxf3 Nf6 39. Ne3 b4 40. Rb2 h5 41. h3 Ra3 42. Ke2 Rc3 43. g4 b3 44. g5 Ne4 45. Rb1 b5 46. h4 Nd6 47. Kd2 b4 48. Ke2 Nb5 49. Rb2 Nd4+ 50. Kd2 Nf3+ 51. Ke2 Nxh4 52. Rd2 Nf5 53. Nxf5+ gxf5 54. Rd4 h4 55. d6 exd6 56. Rxb4 h3 57. Rb7+ Kg6 58. Rb6 h2 59. Rxd6+ Kh5 60. Rh6+ Kg4 61. g6 b2  0-1

 Eduard Nemeth, 03.10.2002

 

Mise en page par Patrick Buchmann