Vergleich
-
Hallo zusammen, ich entwickle zur Zeit ein Schachprogramm, das ich noch optimieren muss. Gibt es im Internet eine Möglichkeit, das eigene Programm gegen das anderer antreten zu lassen ? Muss man das eigene Programm, auf einem anderen PC laufen lassen, oder geht es mit Multitasking ? Ausserdem sollten die Antwortzüge höchstens eine Minute Bedenkzeit in Anspruch nehmen. Bei Google habe ich noch nichts gefunden. Weiss jemand Rat ?
-
Du solltest in dein Programm eins der beiden gebräuchlichen Chessengine-Protokolle einbauen:
- UCI http://www.shredderchess.de/schach-info/features/uci-universal-chess-interface.html
oder
- XBoard http://www.gnu.org/software/xboard/engine-intf.htmlIch favorisiere UCI.
Diese Protokolle werden von mehreren Chess-GUIs unterstützt, die jeweils auch Engine-Engine Duelle ermöglichen, wo du dann deine Tests machen kannst.GUIs wären:
- Arena http://www.playwitharena.com/
- XBoard http://www.gnu.org/software/xboard
- ShredderClassic 30Tage http://www.shredderchess.de/download.html
- Fritz von Chessbase (einige ältere kostenlose Demoversionen gibt es)siehe auch:
http://www.dokchess.de/dokchess/arc42/9_entscheidungen/52.htmlDie Protokollimplementierung würde ich von freier Software übernehmen, u.a.
http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:chess_engine_list
-
Kann man mit dem UCI das eigene Programm mit anderen Programmen in einen Wettbewerb bringen ? Eine Engine und ein GUI habe ich schon in meinem Programm. Es fehlt nur noch die Optimierung. Dann wäre eine Brute-Force Methode, mit vielen Halbzügen möglich. Es geht mir nur um den Kontakt mit anderen Programmen.
Kann man mit dem UCI-Protokoll mit anderen Programmen kommunizieren ?
-
Ok, die Antwort auf meine letzte Frage hast Du schon gegeben, bei den Links habe ich nicht verstanden, wie man dieses Protokoll in mein Programm einfügen kann. Danke für die Mühe !