Dies ist das tolle neue Analysetool für lc0, namens Nibbler:
https://github.com/fohristiwhirl/nibbler
Features:
Display Leela's top choices graphically.
Choice of winrate, node %, or policy display.
PGN loading via menu, clipboard, or drag-and-drop.
Supports PGN variations of arbitrary depth.
FEN loading.
Clickable moves in the variation lists.
Versus Mode - where Leela only analyses one side.
Various aesthetic adjustments are possible in the config.json file.
Also mir gefällt das Tool richtig gut. Ich habe V0.5.8 heruntergeladen. Schön ist, daß keine Installation erforderlich ist. Man entpackt den zip-Ordner irgenwohin und gut ist. Dann muß man sich ein config.json File erstellen. Dazu kann man die beigefügte Beispiel-Datei als Grundlage nutzen. Das File sieht so aus:
{
"path": "C:\\Programs (self-installed)\\Lc0-cudnn\\lc0.exe",
"options": {
"Backend": "cudnn",
"WeightsFile": "C:\\Users\\Owner\\Documents\\Misc\\Lc0 Networks\\42482"
},
"args": [],
"width": 1280,
"height": 835,
"board_size": 640,
"movelist_height": 110,
"board_font": "18px Arial",
"light_square": "#dadada",
"dark_square": "#b4b4b4",
"active_square": "#66aaaa",
"best_colour": "#66aaaa",
"good_colour": "#66aa66",
"bad_colour": "#cccc66",
"terrible_colour": "#cc6666",
"bad_move_threshold": 0.02,
"terrible_move_threshold": 0.04,
"uncertainty_cutoff": 0.1,
"arrowhead_type": 0,
"show_n": true,
"show_p": true,
"show_u": false,
"max_info_lines": 10,
"update_delay": 170,
"search_nodes": "infinite",
"save_enabled": false,
"logfile": null,
"log_info_lines": false
}
Man muß nun (logischerweise) den Pfad zu seinem lc0-Ordner entsprechend ändern. Dabei ist zu beachten, daß es der vollständige Pfad sein muß, angefangen vom Laufwerksnamen (nomal: C), selbst, wenn der lc0-Ordner im Nibbler-Ordner liegt!
Wenn das weights-File, das man benutzen will, in dem lc0- Ordner liegt (was ja normalerweise so ist), kann die Zeile WeightsFile ersatzlos entfallen. RTX-Karten Besitzer müssen natürlich noch die Zeile mit backend ändern auf:
"Backend": "cudnn-fp16",
Und man kann natürlich auch den Cache noch erhöhen (sollte man auch tun, wenn man eine schnelle RTX Karte hat). Das File sieht dann in etwa so aus:
{
"path": "C:\\Mein Pfad\\Lc0\\lc0.exe",
"options": {
"Backend": "cudnn-fp16",
"NNCacheSize": "1000000"
},
"args": [],
"width": 1280,
"height": 835,
"board_size": 640,
"movelist_height": 110,
"board_font": "18px Arial",
"light_square": "#dadada",
"dark_square": "#b4b4b4",
"active_square": "#66aaaa",
"best_colour": "#66aaaa",
"good_colour": "#66aa66",
"bad_colour": "#cccc66",
"terrible_colour": "#cc6666",
"bad_move_threshold": 0.02,
"terrible_move_threshold": 0.04,
"uncertainty_cutoff": 0.1,
"arrowhead_type": 0,
"show_n": true,
"show_p": true,
"show_u": false,
"max_info_lines": 10,
"update_delay": 170,
"search_nodes": "infinite",
"save_enabled": false,
"logfile": null,
"log_info_lines": false
}
Dann startet man Nibbler einfach per Doppelklick. Man kann nun alles möglich einstellen, aber ich finde die default-Settings sehr gelungen: Man lädt sich eine Partie aus einem pgn-File ein und startet dann einfach die Analyse-Funktion ("Go" im Reiter Analysis). Dann rechnet lc0 an der aktuellen Stellung los. Und zeigt die besten Züge in Form von "Pfeilen" (oder sowas ähnliches) auf dem Brett an, wobei Blau der bestmögliche Zug ist. Grün ist gut, Gelb geht so, Rot eher schwach. Die zu jedem "Pfeil" angezeigte Zahl ist die Gewinnwahrscheinlichkeit dieses Zuges und zwar aus der Sicht der Farbe, die am Zug ist (nicht von Weiß!). Wobei 50 eben 50% meint, will sagen, komplett ausgeglichene Stellung. 0 wäre komplett verloren und 100 komplett gewonnen.
Rechts neben dem Brett sieht man die ganzen Varianten noch in Notationsform und auch mit Gewinnwahrscheinlichkeiten. Hier kann man einfach auf einen Zug aus irgendeiner angezeigten Variante klicken und sofort ist diese Stellung auf dem Brett - prima gelöst.
Das Ganze finde ich sehr übersichtlich und wirklich gelungen.
Weicht man von der pgn-Notation der geladenen Partie ab, wird automatisch eine Untervariante angelegt, die man auch jederzeit wieder löschen kann ("delete move" im Reiter Navigation). Auch das Aufwerten einer Untervariante zur Hauptvariante ist möglich ("Make this the main line"). Gut!
Auch sehr cool ist die Möglichkeit, Partien per Clipboard direkt von und nach z.B. Fritz/ChessBase zu importieren bzw. exportieren: In Fritz wählt man einfach "Partie kopieren" und dann in Nibbler "Load pgn from clipboard" (Reiter App) und die Notation der Partie, die man gerade in Fritz hatte, ist in Nibbler drin. Umgekehrt genauso einfach: In Nibbler einfach "Write pgn to clipboard" und dann in Fritz zunächst die alte Notation mit "Neue Partie" löschen und dann "Partie einfügen" und die Nibbler-Notation ist da. Top gelöst!
Bei diesen grundlegenden Funktionen sind mir jetzt auf die Schnelle keine Bugs aufgefallen. Allerdings ist das Tool noch in einer frühen Entwicklungsphase, insofern muß man sicher auch mit Bugs rechnen...
Wer mit lc0 wirklich analysieren will, kommt m.E. an diesem Tool nicht vorbei. Mir gefällt es ausgesprochen gut! Durch die schnelle und bequeme Übergabe der Daten zwischen Fritz und Nibbler eignet sich das Tool auch prima dafür, Analysen, die man eigentlich in Fritz/ChessBase macht, mit Nibbler "aufzupeppen", man kann beide Programme problemlos nebeneinander laufen lassen und schnell die Daten und Analyseergebnisse hin- und her-transferieren.
Es ist übrigens auch möglich, in Nibbler gegen lc0 zu spielen und zwar mit begrenzter Knotenzahl, was in fast allen anderen GUIs nicht geht, indem man Nibbler nur für eine Farbe analysieren läßt und N (Knotenzahl) eben begrenzt. Im talkchess Forum gewinnt lc0 mit nur 2 Knoten pro Zug (!), also praktisch ohne Suche, gegen den emulierten Mephisto 3 Glasgow.... selbst ganz ohne Suche ist lc0 also schon ganz erstaunlich stark. Man kann es ja mit Nibbler mal ausprobieren.
Mehr Beweis für wirkliche künstliche Intelligenz geht kaum!