AW: Der "richtige" Weg in der Schachprogrammierung ?
Hallo,
das der Regency (Challenge) keine 3-Zug-Regel kann ist nicht ganz richtig. Laut Handbuch und auch meinen Spielerfahrungen kennt er sie - aber nur bedingt. Das tritt auch bei etlichen anderen Compis auf (z. B. 2Robot) und ist Programm-bedingt:
Um alle 3-fach-Wiederholungen zu erkennen müßte die aktuelle Brettposition nach jedem Zug gespeichert werden und bei einem weiteren Zug nach Dubletten durchsucht werden. Nach Bauernzug und Schlagzug kann die Liste gelöscht werden und startet erneut. Das kostet Speicherplatz und hier sparen einige Programmierer. Es wird alternativ nur eine Zugliste gespeichert und durchsucht, das funktioniert bei direkt aufeinander folgenden Wiederholungen und deckt eine Vielzahl von Remis ab. Alternativ wird die Liste mit kompletten Brettstellungen stark verkleinert, um RAM zu sparen. Daduch werden dann Wiederholungen mit Zwischenzügen, Umgruppierungen etc. nicht erkannt.
Aus Speicherplatzgründen wird auch oft die 50-Zug-Regel weggelassen, weil sie auf die ELO nur geringen Einfluß hat (kommt zu selten vor...), obwohl sie einfacher zu realisieren ist.
Gruß
Achim
|