Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / Schachprogrammierung / Lc0
- By Lothar Jung Date 2021-09-22 10:28 Edited 2021-09-22 10:32
Hier die Build Datei:

https://github.com/LeelaChessZero/lc0/blob/master/build.cmd

Hier die GitHub Seite von Lc0 mit allen Informationen und Verweisen:

https://github.com/LeelaChessZero/lc0
- By Lothar Jung Date 2021-09-23 14:56
Ceres eine unabhängige Weiterentwicklung von Lc0 „Ceres - an MCTS chess engine for research and recreation“:

https://github.com/dje-dev/Ceres
- - By Lothar Jung Date 2021-09-23 17:32 Edited 2021-09-23 17:37
Hier sind zwei Derivate von Lc0:

https://github.com/Zeta36/leela-fish

Suche von SF, Eval von Lc0

https://github.com/QueensGambit/CrazyAra

Suche von Lc0, Eval Netz von menschlichen Partien
Parent - By Lothar Jung Date 2021-09-26 13:12
Hier die Webseite von CrazyAra:

https://crazyara.org/
- By Lothar Jung Date 2021-09-23 18:43
Nibbler, eine AnalyseGPU vor allem für Lc0:

https://github.com/rooklift/nibbler
- By Lothar Jung Date 2021-09-25 09:43 Edited 2021-09-25 09:48
Hier ein Diagramm über die Struktur von Lc0:

https://discord.com/channels/425419482568196106/425419999096733706/891096507661561857
- By Lothar Jung Date 2021-10-07 20:42
Hier eine Veröffentlichung über Verbesserungen von AlphaZero:

Improvements to Increase the Efficiency of the AlphaZero Algorithm

https://www.scitepress.org/Papers/2021/102459/102459.pdf
- By Lothar Jung Date 2021-10-11 18:30 Edited 2021-10-11 18:48
Wie Lc0 die Züge im Suchbaum evaluiert (übersetzt aus https://lczero.org/dev/wiki/technical-explanation-of-leela-chess-zero/ ):

Leela durchsucht einen Baum von Zügen und Spielzuständen.  Jeder Spielzustand ist ein Knoten im Baum mit einem geschätzten Wert für diese Position und einer priorisierten Liste von zu berücksichtigenden Zügen (die so genannte Richtlinie für diese Position).  Traditionelle Schach-Engines haben ein sehr fein ausgearbeitetes Wert- und Richtliniengenerierungssystem;  Im Gegensatz zu herkömmlichen Engines verwendet Leela sein neuronales Netzwerk, das ohne menschliches Wissen trainiert wurde, sowohl für den Wert als auch für die Generierung von Richtlinien.  Dann erweitert Leela den Baum, um ein besseres Verständnis des Wurzelknotens, der aktuellen Position, zu erhalten.

Leela verwendet PUCT (Predictor + Upper Confidence Bound Tree Search). Es werden neue Knoten evaluiert, indem wir ein Playout durchführen: Beginnend mit dem Wurzelknoten (der aktuellen Position), wird ein zu erkundenden Zug gewählt und wiederholen Sie den Baum, bis eine Spielposition erreichet wird, die noch nicht untersucht wurde (oder eine Position, die die  Spiel, das als Endknoten bezeichnet wird). Der  den Baum mit dieser neuen Position erweitert  (unter der Annahme eines Nicht-Endknotens) und verwenden das neuronale Netz, um eine erste Schätzung des Wertes für die Position sowie die Richtlinie für weitere Bewegungen zu erstellen.  In Leela ist eine Richtlinie für einen Knoten eine Liste von Bewegungen und eine Wahrscheinlichkeit für jede Bewegung.  Die Wahrscheinlichkeit gibt die Wahrscheinlichkeit an, dass ein automatischer Spieler, der die Richtlinie ausführt, diesen Zug macht.  Nachdem dieser Knoten zum Baum hinzugefügt wurde, wird diesen neuen Wert auf allen Knoten gesichert, die während dieses Playouts besucht wurden.  Dies verbessert langsam den Wert verschiedener Pfade durch den Spielbaum.

Wenn tatsächlich ein Zug auf dem Brett gespielt wird, wird der gewählte Zug zur neuen Wurzel des Baumes.  Die alte Wurzel und die anderen Kinder dieses Wurzelknotens werden gelöscht.

Dies ist die gleiche Suche, die vom AGZ-Papier PUCT (Predictor + Upper Confidence Bound Tree Search) spezifiziert wird.  Viele Leute nennen dies MCTS (Monte-Carlo Tree Search), weil es dem Suchalgorithmus sehr ähnlich ist, den die Go-Programme im Jahr 2006 verwendet haben. Aber das in AGZ und Lc0 verwendete PUCT ersetzt Rollouts (Sampling von Playouts zu einem Terminal-Spielzustand) mit  ein neuronales Netz, das abschätzt, was ein Rollout bewirken würde.  Andere Suchalgorithmen werden auf Github von Leela Go in Erwägung gezogen, aber es besteht noch kein wirklicher Konsens darüber, dass etwas anderes nachweislich besser ist als PUCT.  Dies ist ein aktives Forschungsthema in der Überschneidung der Bereiche der KI sowie der Spieltheorie.
- By Lothar Jung Date 2021-10-12 19:41 Edited 2021-10-12 19:45
Hier eine gute Wikipedia Zusammenfassung von AlphaZero:

https://de.wikipedia.org/wiki/AlphaZero?wprov=sfti1
- By Lothar Jung Date 2021-10-13 12:18
Hier eine mathematische Beschreibung der Lc0-Parameter:

https://lczero.org/blog/2020/04/a-laymans-guide-to-configuring-lc0/
- By Lothar Jung Date 2021-10-16 11:20
Hier die Fortsetzung des Buches „Game Changer“ von Matthew Sadler:

„The Silicon Road to Chess Improvement
Chess Engine Training Methods, Opening Strategies & Middlegame Techniques“

https://www.newinchess.com/media/wysiwyg/product_pdf/9125.pdf

Mit vielen Stellungsbeispielen.
- By Lothar Jung Date 2021-11-14 19:43
Hier von GitHub:

https://github.com/LeelaChessZero/lc0/wiki/Technical-Explanation-of-Leela-Chess-Zero
- - By Lothar Jung Date 2022-03-30 12:10 Edited 2022-03-30 12:24
Hier die grundsätzliche Veröffentlichung über attention nets:

https://arxiv.org/pdf/1706.03762v5.pdf

Hier ein GitHub Projekt über „Attention Policy“:

https://github.com/LeelaChessZero/lc0/pull/1688

Hier ein GitHub Projekt über „Attention Net Training“:

https://github.com/Arcturai/lczero-training/tree/attention-net-body/tf
Parent - By Peter Martan Date 2022-03-30 12:18 Edited 2022-03-30 12:44
Danke, Lothar.
Ich würde die attention an Stelle der Entwickler mal darauf legen, dass eine backward analysis auch irgendeinen Einfluss gewänne, wenigstens irgendwie dem vergleichbar, was sie bei A-B-Suche bewirkt.
Und wann kommen endlich bei LC0 (und oder bei NNUE) die Netze, die während des Spielens mit der Engine weiter lernen?
Oder ein halbwegs praktikables Anwender- Script oder eine batch- Datei mit dem oder der man bestehende Netze selbst weiter trainieren könnte?
Sodass man nur noch .pgn oder .epd- Sammlungen vorgeben müsste und das Netz, von dem man ausgeht, übrigens auch ein echtes Hoffnungsgebiet für ein GUI, dessen Aufgabe es ja viel mehr wäre als die der Engine, wünscht sich schon lange:
- By Lothar Jung Date 2022-04-26 23:05
Hier die Veröffentlichung über „ Improving AlphaZero Using Monte-Carlo Graph Search“:

https://ml-research.github.io/papers/czech2021icaps_mcgs.pdf
Up Topic Hauptforen / Schachprogrammierung / Lc0

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill