Thomas Plaschke schrieb:
Danke für die Info!
Es funktioniert recht unkompliziert dank der Konfigurationsdatei, die in der Syntax den CB-.uci Dateien gleicht (kann man direkt hineinkopieren).
Ein "master" wählt aus den bestmoves der "slaves" den Zug Aiquiris aus. Nach erstem Experimentieren empfehle ich, zu überprüfen, ob die ausgewählten Engines auch arbeiten. Ich hatte Critter und Fizbo als "slaves" und Gull als "master" bestimmt (Critter als Taktiker, Fizbo für "ungewöhnliche" Züge und Gull als Allrounder - man sollte Engines wählen, die sich im Stil aber möglichst nicht viel in der Spielstärke unterscheiden, denke ich). Bei einem Blick in den Taskmanager stellte ich fest, dass Fizbo für seinen Vorschlag kaum gerechnet haben dürfte (und der Zeitverbrauch Aiquiris unlogisch war). Fizbo2 funktionierte nicht richtig mit Aiquiri. Gegen Laser ausgetauscht war die Funktionsweise nachzuvollziehen. Alles nicht besonders aufwändig und sehr interessant (wenn man nicht gerade einen Haufen Stockfish-Kopien dafür nutzt).
Vele Grüße
Th. Plaschke
Nucleus kannte ich, aiquiri bisher nicht (Asche auf mein Haupt)
aiquiri läuft mit cutechess-cli mit Blitz plus Inkrement Zeitkontrollen, was ja heutzutage die übliche Methode ist (alles, was in cutechess-cli nicht läuft, kann man sowieso vergessen). Zu Beginn hatte ich mit vielen timelosses zu kämpfen. Nach einigen Tests klappt es nun aber gut: Ich habe in cutechess-cli die timemargin auf 2000 erhöht und die Bedenkzeit-Aufteilung in aiquiri folgendermassen eingestellt:
slave1 und slave 2 jeweils auf 35, master auf 15 (also 85% insgesamt) (default ist 40/40/20). Stand jetzt habe ich in knapp 4000 Partien einen timeloss gehabt - vernachlässigbar.
Jetzt mache ich für meine Website zum ersten Mal ein großes 3Hirn Experiment:
Ich nutze 2 sehr aggressive (gemäß meiner EAS-Rangliste, die es ja erstmals möglich macht Aggressivität wirklich zu messen!) aber schwächere (relativ gesehen!) Engines gleicher Stärke:
Velvet 3.3.0 (3305 SPCC-Elo) und Pedone 3 (3341 SPCC-Elo)
und 2 sehr solide (gemäß meiner EAS-Rangliste) spielende und deutlich stärkere Engines:
Berserk 9 (3644 SPCC-Elo) und Koivisto 8.13 (ebenfalls 3644 SPCC-Elo)
Damit habe ich nun 2 verschiedene 3Hirne erstellt:
Dreihirn 1: master: Berserk 9, slave 1: Pedone 3, slave 2: Velvet 3.3.0
Dreihirn 2: master: Velvet 3.3.0, slave 1: Berserk 9, slave 2: Koivisto 8.13
Ideen dabei: Kann Dreihirn 1 an Eloleistung (dank des starken Masters, verglichen mit den schwächeren Slaves) zulegen, ohne dabei an Aggressivität (zu viel) einzubüssen (wegen des solide spielenden Masters)?
Und kann Dreihirn 2 an Aggressivität zulegen (dank des aggressiv spielenden Masters), ohne zuviel Elo zu verlieren (weil der (schwächere) Master deutlich weniger Elo als die (stärkeren) Slaves hat).
Dies werde ich nun statitisch zweiflesfrei feststellen, indem jedes der beiden Dreihirne einen vollen Testrun unter SPCC-Ranglisten Bedingungen machen wird. Jeweils 9000 Partien, singlethread, 3min+1sec Bedenkzeit.
aiquiri ist ja übrigens ein klassisches Dreihirn: Der Master wählt nur den vermeintlich besseren der beiden Slave-Züge (falls sich die beiden Slave-Züge unterscheiden), spielt aber keine eigenen Züge aus.
Ich zweifle nachwievor daran, daß auch nur eine der Ideen wirklich funktionieren wird, da ich diesen klassischen Dreihirnansatz nachwievor für nicht sinnvoll halte. Aber wirklich ernsthaft geprüft, mit statistisch relevant vielen Partien, wurde das bisher meines Wissens nach noch nie. Vielleicht liege ich ja auch falsch und das Dreihirn funktioniert? Mal sehen.
Die beiden Testruns laufen auf meinen beiden 12core Notebooks momentan. Ergebnis vorausichtlich am Wochenende in der "Experiments"-Sektion meiner Website. Ich bin gespannt!