|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
OK, jetzt hab ich es verstanden. Aber das kann Dir halt auch passieren, wenn Du die Geräte im Original gegeneinander spielen lässt. Verhindern lässt sich sowas nur, wenn Du - wie z.B. im TCEC Superfinale - die Eröffnungen vorgibst. Und das gibt die Emu nun beim Besten Willen nicht her. Eine Verzögerung um ein paar Sekunden, die z.B. die menschliche Eingabe simuliert, würde in der Regel hier nichts ändern. Ich habe schon oft Partien - auch mit Geräten ohne Permanent Brain - automatisch spielen lassen. Natürlich gab es da ab und an Wiederholungen. Die wurden dann aber in den meisten Fällen durch den Zufallsgenerator abgefangen (und wenns irgendwo im 20. Zug war). Damit muss man halt leben. Innerhalb eines Datenbankprogramms kann man wirklich komplette Dubletten ja dann löschen und eventuell ein paar Partien nachspielen, wenn man z.B. wirklich 50 verschiedene Partien haben will.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
Folgender Benutzer sagt Danke zu Hartmut für den nützlichen Beitrag: | ||
Mark 1 (05.08.2019) |
|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
Bevor ich zum Teil 3 komme, noch ein kleiner Nachtrag.
Bei Enginevergleichen hat sich so einiges verbessert, einiges ist - zumindest für meine Tests - schlechter geworden. Die meisten Probleme, dass Partien wegen einer Mattansage angehalten werden - scheinen zwischenzeitlich behoben zu sein. Scheinbar gibt es für solche Fälle nun entsprechende Abfragen in den lua-Dateien, zumindest bei den meisten Geräten In einigen Fällen hingegen ist scheinbar leider keine Lösung möglich gewesen. Mattansagen des Savent (oder entsprechende Aufgabebekundungen, wenn ein unausweichliches Matt gesehen wird) enden immer noch mit einem Dauerton und Abbruch der Partie, d.h. der Savant spielt nicht weiter und wartet darauf, dass man sich mit Trace Forward das Matt zeigen lässt oder zumindest den nächsten Zug auf dem Brett anzeigen lässt. Danach läuft das Spiel weiter. Für automatische Enginevergleiche ist das etwas störend. Wer jedoch "über Nacht" einen Enginewettkampf startet, der wird sich wenig daran stören. Der Mattsetzende gewinnt im dümmsten Fall dadurch, dass (z.B. in Arena) der Gegner durch Zeitüberschreitung verliert. So gehts natürlich auch. Ist man dabei und sieht das Matt, kann man natürlich die Partie dann auch in Arena einfach durch klicken auf "1-0" oder entsprechend "0-1" beenden und die nächste Partie des Wettkampfes wird gestartet. Ein ähnliches Problem ergibt sich auch bei anderen Geräten, die vor dem Matt aufgeben. Hier wird dann einfach nichts mehr an die GUI übermittelt und das automatische Spiel steht bis die Zeit abgelaufen ist. Trotzdem ist durch verbesserte lua-Dateien die Fehleranfälligkeit bei automatischen Matches stark gesunken, was als positiv zu bewerten ist. Allerdings sind die neuen lua-Dateien nun auch auf das eingebaute Sensorbrett von Mess abgestimmt. Das kann man als positiv werten, jedoch ist es in automatischen Matches teilweise störend. Lässt man Engines nicht mit normaler Geschwindigkeit sondern beschleunigt laufen kommt es zum Problem, dass die Engines immer mit diesem sichtbaren Brett starten. Dieses hat - ganz egal ob es nun benutzt wird oder nicht - schon mal eine weit umfangreichere Grafik als wenn man nun nur die Bedienelemente sichtbar hätte. Daraus ergibt sich, dass der Beschleunigungsfaktor bei "unlimited" nun deutlich geringer ist. Daran ändert leider auch das Ausblenden dieses Sensorboards (im Enginefenster von Mess unter Options-Video-Internal Layout) nur wenig. Zwar ist die Engine dann etwas schneller, erreicht aber nicht mehr die Geschwindigkeiten der Version von Anfang Juli mit der ich den Test begonnen hatte. Und weil manche Verbesserung natürlich auch ihre Nachteile mit sich bringt, ist auch in dem nun weit umfangreicheren lua-Code eventuell ein Grund gegeben, dass die Engines in der Einstellung "unlimited" nun etwas träger reagieren wie früher. Immerhin wird ja im Hintergrund ständig Code abgearbeitet, der sich auf die Performance auswirkt. Bei normaler Geschwindigkeit merkt man das in der Regel nicht, bei maximal beschleunigten Engines hat es allerdings seine Auswirkungen. Man sollte also, wenn man gerade ein Match durchführt, nicht während des Matches auf eine neue Version umsteigen, da jede neue Version aufgrund geänderter Optionen und geänderter lua-Dateien eventuell Änderungen in der Performance mit sich bringt. Vor Benutzung einer neuen Programmversion sollte man daher stets neue Messungen durchführen, inwieweit sich eine Engine beschleunigen lässt. Damit komme ich nun zum letzten Punkt unserer Enginematches. In Arena und Winboard sollte man die Bedenkzeiteinstellung innerhalb der GUI etwas großzügig gestalten, damit die GUI nicht von sich aus eine Matchpartie wegen Zeitüberschreitung abbricht. Dies hat folgenden Hintergrund: Sobald ein Zug ausgeführt wird, wird er an die GUI übertragen und die Bedenkzeit des Gegners beginnt zu laufen. Bei Sensorbrettern normalerweise kein Problem, da ein Zug normalerweise dadurch ausgeführt wird, dass man die Figur vom Ausgangsfelt anhebt und auf dem Zielfeld abstellt. Es gibt also nur 2 "Tastenaktionen", Ausgangsfeld und Zielfeld. Anders ist es jedoch bei Tastengeräten. Hier werden in der Regel mindestens 5 Tasten gedrückt. Buchstabe Ausgangsfeld, Zahl Ausgangsfeld, Buchstabe Zielfeld, Zahl Zielfeld, Enter. Während dieser ganzen Eingaben läuft in der GUI aber bereits die Bedenkzeit. Bei normaler Enginegeschwindigkeit gehen so wichtige Sekunden verloren, was sich über die Partie natürlich summiert. Noch länger dauert es, bei der Emulation des Mattel, der nur mit Cursortasten bedient wird. Bis der Cursor durch andauerndes Drücken der Richtungstasten das Anfangsfeld ausgewählt hat und die Figur dann zum Zielfeld bringt, können schon mal locker 10 Sekunden vergehen. 10 Sekunden in denen innerhalb der GUI aber bereits die Zeit des Mattel läuft. Es macht also durchaus Sinn, innerhalb der GUI eine höhere Bedenkzeit einzugeben, als für die gewählte Spielstufe eigentlich erforderlich ist. Die Engines steuern ihre Bedenkzeit sowieso aufgrund ihrer eingestellten Spielstufen und richten sich nicht nach der GUI. Insofern kann man hier ruhig großzügig sein. Man könnte natürlich auch die Option abwählen, dass bei Zeitüberschreitung die Partie beendet wird oder eine Stufe wählen in der Zeitüberschreitungen von der GUI nicht angemahnt werden (z.B. Durchschnittlich x Sekunden/Zug oder Unendlich). Allerdings kommt einem da dann das oben bereits geschilderte "Aufgabeproblem" in die Quere, weswegen ich eher dazu neige eine höhere Turnierbedenkzeit einzustellen oder - was bei entsprechender Rechenleistung natürlich auch geht - beide Kontrahenten mit 110 % rechnen zu lassen (was dann diese zusätzliche Zeit auffängt und bei gleicher Einstellung beider Engines für keine einen Nachteil bedeutet) Nun noch ein Tipp zum Schluss. Bevor man unter Arena ein Match startet, sollte man jede Engine einmal reingeladen und die entsprechende Spielstufe eingestellt haben. Erst danach sollte man das Match anlegen. Zudem sollte bei Arena in den Turnieroptionen eingestellt sein, dass nach Ende der Partien die Engines neu geladen werden. Ansonsten kann es vorkommen, dass sich eine Engine - warum auch immer - auf die Grundeinstellungen zurücksetzt, noch die alte Partie im Speicher hat, oder sonst irgendeinen Unsinn anstellt. Wird sie neu geladen, werden jedoch die in den Engineoptionen definierten Spielstufen neu eingestellt und die Engine ist auch definitiv im "New Game" Modus. Nun noch kurz der 3. Punkt 3. automatische Turniere mit mehreren Teilnehmern Das ist im Endeffekt schnell abgehakt. Grundsätzlich gilt unter Arena dasselbe wie bei einem Match zwischen 2 Engines. Es sind halt von vornherein alle nötigen Messungen vorzunehmen, von vornherein jede einzelne Engine einmal reinzuladen und die entsprechenden Leveleinstellungen durchzuführen und dann erst das Turnier entsprechend anzulegen. Bezüglich möglicher Probleme gilt das bereits vorher für Matchpartien gesagte. Was ich allerdings nun noch nicht probiert habe sind Matches zwischen Engines, bei denen eine bestimmte Zeitstufe (also z.B. 40/120) definiert werden muss (z.B. neuere Mephistos), die also nicht über normale Levels oder feste Zeiteinstellungen wie die älteren Geräte verfügen. Daher an dieser Stelle nochmal... ... - to be continued -
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 Geändert von Hartmut (06.08.2019 um 19:04 Uhr) |
Folgende 3 Benutzer sagen Danke zu Hartmut für den nützlichen Beitrag: | ||
|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
In den Lua-Scripts ist eine Standardspielstufe hinterlegt. In der Regel die, die auch beim EInschalten des Originalrechners verwendet wird. Das kann man natürlich für ein Turnier editieren. Das ist aber umständlicher als die Engine über Arena oder Winboard einmal reinzuladen und die Einstellung dort vorzunehmen, zumal man in Arena und WInboard auch die Emulationsgeschwindigkeit festlegen kann. Im Lua-Script muss man erstmal die Stelle finden, in der die Spielstufe definiert und eingestellt wird.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
Hallo Hartmut..
Schöne Beschreibung. Aber wie handhabst du dass mit MM2,MM4,Rebel und ich glaube auch MM5. Bei Engine Vergleichen mit der aktuellen Messchess Version geht keine Partie zu ende weil immer wieder die interne Zeitkontrolle zu schlägt in den Engines. Bei den vor Versionen hatte Franz die entsprechende Lua Dateien umgeschrieben und es funktionierte ohne Probleme . Offensichtlich hat Sandro die entsprechende Routine den Lua Datei entfernt . Viele Grüße Mark 1 |
|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
Gerade bei denen hab ich es noch nicht probiert. So schnell wie im Moment neue Versionen kommen, kommt man ja auch nicht nach... lach.
Bei den genannten Geräten mal Franz anhauen. Vielleicht lässt er sich ja erweichen. Er weiss ja am besten, was er in den lua-Dateien hier verändert hat. Oder im Github von Snadro darauf hinweisen, dass der sich das mal ansieht. Aber gerade bei MM4 und MM5 benutz ich unter Arena und Co immer noch die alten ursprünglichen Dateien, die man auch auf der Rebel-Homepage noch findet und die speziell für Arena gemacht wurden. Einfach weil sie am unkompliziertesten laufen. Und da hat man die Probleme nicht. Aber klar... befriedigend ist das natürlich nicht. Wie gesagt. Mal Franz fragen, der weiss ja wo er die Änderungen vorgenommen hat und kann die eventuell wieder einfügen.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
Hallo Hartmut..
Schöne Beschreibung. Aber wie handhabst du dass mit MM2,MM4,Rebel und ich glaube auch MM5. Bei Engine Vergleichen mit der aktuellen Messchess Version geht keine Partie zu ende weil immer wieder die interne Zeitkontrolle zu schlägt in den Engines. Bei den vor Versionen hatte Franz die entsprechende Lua Dateien umgeschrieben und es funktionierte ohne Probleme . Offensichtlich hat Sandro die entsprechende Routine den Lua Datei entfernt . Viele Grüße Mark 1 Beim MM2 kann man ja weiterspielen. Wird die Bedenkzeit überschritten erscheint zwar das "Time"-Symbol aber durch drücken von CL kann man das wegdrücken und dann weiterspielen. Das ist zwar in automatischen Turnieren störend, weil man quasi dabeibleiben muss um an der entsprechenden Stelle einzugreifen, aber ohne Änderung der .lua-Datei nicht zu ändern. Hier musst Du mal Franz oder Sandro anhauen. Beim MM4 und MM5 kann man das ebenfalls mit der CL-Taste machen, muss es aber nicht. Normalerweise kann (zumindest laut Anleitung) hier auch weitergespielt werden, indem man einfach seinen Zug ausführt. Wie reagiert Arena mit der Mess-Engine an dieser Stelle? Normalerweise sollte doch eigentlich nichts passieren. Während der Gegner des MM4 am Zug ist, macht die .lua des MM4 nichts. Führt der Gegner den Zug aus (und steht zwischenzeitlich Time auf dem Display) müsste der Zug eigentlich ganz normal ausgeführt werden. Zumindest, wenn die Anleitung an dieser Stelle korrekt ist. Beim Rebel5 sollte es eigentlich keine Probleme geben. Laut Anleitung ist hier eine Zeitkontrolle in der Form wie bei MM2 - MM5 gar nicht vorgesehen. Daher sollte es hier auch keine Spielabbrüche geben.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
Folgender Benutzer sagt Danke zu Hartmut für den nützlichen Beitrag: | ||
Mark 1 (21.08.2019) |
|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
Nun noch eine kleine Ergänzung zu meinen Ausführungen mit automatischen Spiel. Es gibt hier leider (auch bei den Geräten mit "normaler" Spielstufe) noch so einige Gags...
Wir haben ja mehrere Geräte die sich mit verschiedenen Taktfrequenzen betreiben lassen (z.B. der Mephisto II im Batteriemodus oder mit 6.1 MHz Vollleistung). Rein theoretisch kann man die beiden in Arena gegeneinander spielen lassen. Man erstellt dann in der Engineverwaltung - um beim Beispiel Mephisto II zu bleiben - einfach eine Kopie der Engine. Das schöne ist: Hat man in den Engineeinstellungen für die erste Version jetzt eine Spielstufe definiert (z.B. a6) so kann man für die 2. Version auch eine andere definieren. Da dies in den Engineeinstellungen von Arena gespeichert wird, ist das kein Problem. Das weniger schöne ist: Man hat nun zwar offiziell in der Engineliste 2 verschiedene Mephisto II-Engines, aber leider greifen beide auf dieselbe Enginedatei zu. Die Einstellungen der Taktfrequenz geschehen aber nicht in Arena sondern in Mess unter Configuration. Daher ist es nicht möglich dass nach Ende der Partie die Einstellungen gespeichert werden. Man kann lediglich für die aktuell laufende Partie bei beiden Instanzen (wenn man Mephisto II Version 1 gegen Mephisto II Version II spielen lässt) die Taktfrequent der einen Engine ändern, während die der anderen Engine beibehalten wird. Nach der Partie aber, ist die Einstellung wieder auf der, der zuletzt geschlossenen Engine. Das ist etwas störend. Naja, ich wäre nicht ich, wenn ich nicht ein paar dreckige Tricks drauf hätte. Und so kann man sich auch hier mit einem Trick behelfen, indem man ganz einfach mit 2 Versionen von Franz Emulation arbeitet (z.B. CB-Emu und CB-Emu Kopie) und in Arena eine 2. mess.cmd anlegt (z.B. messkopie.cmd). Die erste muss dann auf CB-Emu verweisen, die 2. auf CB-Emu Kopie. Ensprechend muss auch in der Engineverwaltung von Arena dann natürlich dafür gesorgt werden, dass die jeweils richtige cmd-Datei aufgerufen wird. Hat man das alles richtig gemacht, dann werden jeweils die Versionen aus den verschiedenen CB-Emus verwendet und man kann auch die gleiche Engine mit verschiedenen Taktfrequenzen innerhalb eines Turniers verwenden. Ist zwar ein wenig aufwändig, aber es funktioniert. Aber vorsicht: Bei der Geschwindigkeit, mit der neue Versionen von Franz kommen, muss man in diesem Fall natürlich darauf achten, dass man gerade ein Turnier mit 2 CB-Emu-Ordnern laufen hat und muss natürlich entsprechend immer beide ersetzen, wenn man eine neue CB-Emu Version benutzen will. Aber da muss man halt durch.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 Geändert von Hartmut (21.08.2019 um 13:35 Uhr) |
|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
Hallo Hartmut
Die Sache werde ich mir noch mal genauer anschauen. Ich habe noch eine frühere Version von Franz wo er das Problem gelöst hat. Somit konnte man einigermaßen auch Turniere durchführen. Ein Zeit Problem gibt es immer dann wenn das Display „ A1A1 “ (MM II) „ ΓINE “ (Rebel) kurzzeitig im Display , aber Rebel spielte weiter. Und ja , manchmal muss man die Figur auch selber ziehen . Das hatte ich nicht getan. Wie gesagt, werde ich mir das nochmal genauer anschauen. Keine Probleme gibt es wenn man Stufe 1 einstellt .Die Zeitkontrolle beginnt ab Stufe 2 (ohne Gewähr) Ok , jetzt alles nicht schlimm und bin früh über weitere Modelle. Freue mich auf Mark 3 und V. Viele Grüße Mark 1 |
|
|||||||||||
AW: Tips für Enginevergleiche/-tests unter MessEmu/Winboard
Ich persönlich interessiere mich für automatische Turniere von Brettcomputeremulationen zwar nicht, aber finde die Möglichkeit an sich prima. Da das Ganze (wie nicht anders zu erwarten war) recht kompliziert ist, würde ich folgenden Rat geben:
Hartmut sollte seine gesammelten Ratschläge in eine Textdatei zusammenfassen und diese dann bei Ergänzungen oder Neuerungen jeweils aktualisieren. Am besten auch ein konkretes Beispiel-Turnier ganz genau step-by-step erläutern. Dieses Textfile dann irgendwo zum Download anbieten oder (noch besser) gleich dem Emu-Download von Franz hinzufügen. Denn so ein Foren-Thread wird schnell groß und unübersichtilich.... |
|
|
Ähnliche Themen | ||||
Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
MessEmu: Artworks für die MessEmu | Luis | Mess Emu & andere Emulationen / Mess Emu and other Emulations | 130 | 22.07.2022 19:20 |
MessEmu: MessChess und Winboard | fhub | Mess Emu & andere Emulationen / Mess Emu and other Emulations | 33 | 13.10.2019 14:16 |
Info: UCI und XBoard/Winboard | Solwac | Die ganze Welt der Schachcomputer / World of chess computers | 9 | 17.08.2017 19:52 |
News: MephBoard - Winboard Engine für Mephisto PC-Modul | krval | Technische Fragen und Probleme / Tuning | 8 | 11.01.2012 21:30 |
Leonardo SciSys/Saitek Bedienung - Hat jemand Tips? | schachleonardo | Die ganze Welt der Schachcomputer / World of chess computers | 8 | 15.06.2009 21:38 |