Bei Engine-Matches unter Arena bin ich auf einen interessanten Programmfehler des Mephisto Polgar v1.10 gestoßen - eine Partie wurde von Arena wegen eines illegalen Zugs für den Polgar als verloren gewertet:
Zuerst dachte ich an einen Fehler in der Emulation bzw. dem für den Polgar verwendeten LUA-Script im Zusammenhang mit der zuvor stattgefunden Unterverwandlung, konnte mich dann aber bei einer Dublette, der ich live beiwohnen konnte, davon überzeugen, daß der Bauer in der Emulation korrekt in einen Springer umgewandelt wird. Der Fehler trat übrigens in einem Match auf, in dem Polgar mittels Reset-State auf SEL5 eingestellt war.
Bei Versuchen mit meinem realen Polgar v1.10 konnte ich dann folgendes Verhalten reproduzieren:
- In Grundeinstellung (SEL3) habe ich die Züge bis 18...Kb8 eingegeben und dann "normal" wie in der Partie weitergespielt: Kein Fehler, der Polgar fragt brav nach der Umwandlungsfigur, akzeptiert den Springer und zieht korrekt aus dem Schach.
- Dann habe ich die Züge bis 18...Kb8 wieder zurückgenommen und SEL5 eingestellt: Bei der Umwandlung kommt nun keine Abfrage auf die Umwandlungsfigur mehr, der Polgar nimmt automatisch eine Dame an und spielt deshalb (illegal) 20...Txd1. Die Ursache für den illegalen Zug ist also die fehlende Abfrage der Umwandlungsfigur und darauf basierend die "Annahme" des Polgar, eine Dame statt eines Springers auf dem Umwandlungsfeld stehen zu haben.
- Jetzt kommt's: Im nächsten Test habe ich die Selektivität wieder auf SEL3 zurückgestellt, und nun wollte er auch mit dieser Einstellung keine Umwandlungsfigur mehr abfragen und spielte den illegalen Zug!
Ich habe dann herausgefunden, daß es reicht, durch mehrfachen Druck auf die FCT-Taste die Einstellung zur Selektivität nur zu betrachten, um diesen Fehler hervorzurufen. Es muß keine spezielle Selektivität eingestellt werden. Ein einfacher Druck auf FCT (Einstellungsdialog Sprache) reicht übrigens nicht aus, um den Fehler zu aktivieren. Ich finde, das ist ein originelles Fehlerbild.
In CB-Emu habe ich versucht, mit der Polgar-Version v1.50 diesen Fehler zu reproduzieren, und damit ging es nicht mehr. Damit hätten wir also schon mal eine Änderung der v1.50 identifiziert.
Auch Rebel Portoroz, dessen "Engine" ja ziemlich identisch mit dem Polgar v1.10 ist, zeigt diesen Fehler nicht.
Fun-Fact am Rande: Ich bin langjähriger Besitzer eines Polgar v1.10 (seit Schülertagen, um genau zu sein), und habe diesen Fehler bis jetzt niemals bemerkt. OK, ich habe auch selten mit der Selektivität experimentiert. Aber schon lustig, was für Sachen man noch nach so langer Zeit entdecken kann...
Es spricht irgendwie auch für die Test-Sorgfalt, die man damals hatte, daß ein solch selten auftretender Fehler, wenngleich nicht vor Serienstart, doch zumindest zeitnah in v1.50 korrigiert wurde.