Peter Martan schrieb:
Stefan Pohl schrieb:
Problematisch sind also nur lange Analysen einer Brettstellung (z.B. fürs Fernschach).
Oder große Hardware- Zeiten im Match, nein?
Hatte ich ja geschrieben: "Je länger lc0 an einem Zug rechnet (
und je schneller die Hardware ist), desto größer wird logischerweise der Speicherbedarf"
Peter Martan schrieb:
Auch spielt es dabei wohl eine Rolle, ob mit Ponder on gespielt wird, wenn der Gegner lange rechnet. Wird dann, wenn der Gegner zieht, der Hash von LC0 mit Ponder on auch gelöscht?
Nein, das spielt keine Rolle: Auch, wenn mit Pondern gespielt wird, startet eine komplett neue Berechnung und ein komplett neuer MCTS-Baumaufbau, wenn lc0 gezogen hat. Ist pondern aktiviert wird dann einfach der erwartete Zug des Gegners zusätzlich auf dem internen Brett von lc0 ausgeführt und dann startet die MCTS-Baumsuche ab dort neu. Der gespeicherte MCTS-Baum wird
immer gelöscht, sobald lc0 einen Zug macht. Was anderes ist der NNCache (dieser entspricht eher dem Hash-Begriff), hier bleiben die Einträge erhalten, so wie bei persistenten Hashtables auch. Es ist wichtig, zu verstehen, daß der gespeicherte MCTS-Suchbaum etwas ganz anderes ist, als der NNCache.
Der MCTS-Suchbaum wächst ja ganz anders und viel unsystematischer, als der Suchbaum einer AB-Engine. Daher muß seine komplette Struktur gespeichert werden. Der NNCache speichert (wie klassische Hahstables) nur eine bestimmte Brettstellung und die Bewertung durch das NeuralNetz. Wenn innerhalb der MCTS-Suche diese Stellung erneut vorkommt, wird viel Zeit gespart. Daher ist eine ausreichende NNCacheSize eminent wichtig. Zudem ist zu beachten, daß in der MCTS-Suche bereits bewertete Stellungen weit häufiger erneut auftauchen, als in der normalen AB-Minimax-Suche und zudem jede Stellung, die im Baum auftaucht komplett bewertet werden muß, was im AB-Suchbaum nicht der Fall ist (da reicht oftmals auch die reine Materialbilanz). Daher ist der NNcache auch sehr viel wirksamer als Hashtables bei AB-Engines.
Nochmal der Link zu der sehr informativen Grafik-Slideshow von crem:
https://slides.com/crem/lc0#/1Da sieht man im Verlauf sehr schön, wie der MCTS-Suchbaum sich vom AB-Suchbaum grundlegend unterscheidet.