Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / LittleBlitzerGUI
- By Stefan Pohl Date 2012-02-29 12:19
Hallo zusammen,

Nachdem Ingo hier im Forum verbreitet hat, daß die LittleBlitzerGUI aus einem Vorgabestellungs-PGN Datensatz zufällig Stellungen herauspickt, anstatt die Vorgabestellungen von Stellung 1 an sequentiell abzuspielen (mit Wiederholung mit vertauschten Farben je Engine-Begegnung), was die GUI für ernsthafte Tests unbrauchbar machen würde, möchte ich das hier nochmals klarstellen:
Das ist nur der Fall, wenn man ein Round-Robin-Turnier spielen läßt, d.h. wenn man im Fenster, das sich nach Anklicken des Load-Tournament-Buttons öffnet, oben links Round-Robin anklickt. Klickt man dagegen Gauntlet an und deaktiviert die Randomize-Funktion (unten rechts im selben Fenster) und nutzt ein PGN-File als Vorgabestellungs-Datei, dann werden die dort gespeicherten Stellungen korrekt sequentiell von Stellung 1 an abgespielt und auch mit vertauschten Farben wiederholt - ganz so wie es sein soll, um ein Eröffnungsvorgabe-Set komplett einmal "durchzuspielen". Das alles gilt natürlich nur für die aktuellste Version der GUI (2.72), ältere Versionen habe ich nicht ausprobiert, ebenso habe ich nur PGN-Vorgabestellungsdatein ausprobiert - wie es beim FEN und EPD-Format aussieht, kann ich daher nicht sagen.
Da man die LittleBlitzerGUI üblicherweise so nutzt, daß pro CPU-Kern eine Partie läuft, laufen üblicherweise mehrere Partien parallel, was ja im allgemeinen auch Sinn der Sache ist. Da nun natürlich einige Partien früher enden als andere und dann auf dem jeweiligen CPU-Kern die nächste Partie sofort gestartet wird, laufen die Ergebnisse natürlich nicht sequentiell korrekt ein. Dadurch sieht das Result.pgn-File immer wieder anders und unsortiert aus. Dennoch werden im Gauntlet-Betrieb alle PGN-Stellungen von Stellung eins an sequentiell und mit vertauschten Farben korrekt abgespielt (Randomize-Funktion muß natürlich aus sein!). Startet man GUI so, daß nur ein Thread läuft, also auch nur immer eine Partie nach der anderen gespielt wird, sieht man im Result.pgn-File sofort, daß die PGN-Vorgabestellungen fein säuberlich von Anfang bis Ende abgespielt werden (im Gauntlet Betrieb) - auch mit jeweils vertauschten Farben. Mit mehreren Threads/Partien parallel funktioniert das auch, nur ist das eben etwas schwerer zu erkennen, weil das Resul.pgn-File die Partien so protokolliert, wie die Ergebnisse einlaufen.

Daß das im Round-Robin-Modus leider nicht der Fall ist, ist natürlich sehr ärgerlich, da man ein echtes Round-Robin-Turnier (oder wenn man eine neue Rangliste von Null an erstellen will), in einzelne Gauntlet-Turniere aufsplitten und manuell nacheinander absolvieren und alle gespielten Partien dann in einer Datenbank einsammeln muß. Hat man das aber hinter sich gebracht, so braucht man ja nur noch den Gauntlet-Modus, wenn man neue Engines/Versionen in die Liste einspielen will, ergo stört dieser Mangel der GUI dann nicht mehr.

Niemand muß mir das glauben, jeder kann sich diese GUI ja runterladen und es selber ausprobieren. Das würde ich sowieso jedermann wärmstens empfehlen, denn die GUI ist bis auf das Problem des unbrauchbaren Round-Robin-Modus wirklich exzellent zum Testen geeignet, nicht nur für kurze Bedenkzeiten. Und sie ist extrem stabil - ich hatte in über 15000 Partien noch nicht einen Absturz(!!!).

Wichtig ist prinzipiell im Engines-File jeder Engine explizit immer einen Thread zuzuweisen. Das UCI-Kommando Threads=1 ist hier aber leider nicht immer korrekt, weil einige Engines ein anderes Kommando benutzen (Rybka z.B: Max CPUs=1). Macht man das nicht, oder benutzt das falsche Kommando, so nimmt sich die Engine ggf. zu viel vom CPU-Kuchen (besonders Rybka!), was dann verzerrte Ergebnisse nach sich zieht.
Und man muß wissen, daß Pondern mit dieser GUI nicht geht. Man kann also pro vorhandenem CPU-Kern je eine Partie parallel laufen lassen, ohne daß sich Engines in die Quere kommen.
Wichtig ist auch, daß man den Speicher im Auge behält. Wer einen Quadcore-PC hat und damit 4 Partien parallel laufen läßt, hat logischerweise immer 8 Engines parallel im Speicher liegen (inklusiver ihrer jeweiligen Hashtables und ggf. Tablebase-Cache). Sehr große Hashtables oder die Benutzung von 5-Steiner-TBs sind also nicht machbar, es sei denn man hat 16GB Speicher oder mehr...

Grüße an alle - Stefan

P.S: Hier der Link zu dieser wirklich tollen GUI für alle Testfreaks:

http://www.kimiensoftware.com/software/chess/littleblitzer
Up Topic Hauptforen / CSS-Forum / LittleBlitzerGUI

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill