Leela Chess Zero — бесплатный шахматный движок с открытым исходным кодом, основанный на нейронных сетях и проекте распределённых вычислений.

Как и в Leela Zero и AlphaGo Zero, в Leela Chess Zero программно заложены только правила игры и она не знает ничего, кроме этого. Leela Chess Zero обучается в распределённой вычислительной сети, координируемой на веб-сайте Leela Chess Zero. По состоянию на август 2018 года она тренировалась, сыграв против самой себя более 23 миллионов игр в шахматы, на январь 2024 она сыграла уже 2,2 миллиарда игр, играя по 1 миллиону игр в день. Для вычислений нейронных сетей программа поддерживает работу через DirectX 12, CUDA (с CudNN и без), BLAS, Tensorflow и другие библиотеки.

История В 2015 году компания DeepMind анонсировала программу AlphaGo, которая играла в Го на уровне лучших игроков мира. В октябре 2018 года вышла обновленная версия программы под названием AlphaGo Zero, которая играла ещё сильнее. DeepMind подробно описала алгоритм, но не опубликовала исходный код и не выпустила программу в открытый доступ. Поэтому бельгийский программист добавил этот алгоритм свой движок игры Го с открытым кодом Leela, и назвал его Leela Zero.

5 декабря 2017 года DeepMind выпустил препринт статьи о создании AlphaZero, обновленной версии алгоритма, который мог играть не только в Го, но и шахматы и сёги.

9 января 2018 года один из разработчиков шахматного движка Stockfish Гэри Линскотт объявил о начале работы над проектом Leela Chess Zero. Реализация работы с нейронной сетью и реализация алгоритма поиска была взята из Leela Zero, а генерация ходов — из Stockfish. В конце февраля 2018 началась тренировка первой сети.

В апреле 2018 года белорусский разработчик Александр Ляшук полностью переписал код движка, с использованием библиотеки Tensorflow вместо OpenCL. Это многократно ускорило алгоритм, и избавило код от заимствований из Stockfish и Leela Zero. В дальнейшем в движок было добавлено множество бэкендов, позволяющих работать программе на различном оборудовании. Важным усовершенствованием движка было добавление индийским программистом Ankan Banerjee поддержки библиотеки CudNN, многократно ускорившей вычисления на новейших в то время видеокартах Nvidia серии 2xxx с тензорными ядрами.

В течение первых нескольких месяцев обучения Leela Chess Zero уже достигла уровня гроссмейстера, превосходя по силе ранние выпуски Rybka, Stockfish и Komodo, несмотря на то, что она анализирует на несколько порядков меньше позиций при использовании MCTS.

В декабре 2018 года команда AlphaZero опубликовала новую статью в журнале Science, в которой раскрываются ранее неизвестные подробности об архитектуре и параметрах обучения, используемых для AlphaZero. Эти изменения вскоре были включены в Leela Chess Zero и увеличили его силу и эффективность тренировок.

Результаты соревнований В апреле 2018 года Leela Chess Zero стала первым движком на нейронной сети, который вступил в Top Chess Engine Championship (TCEC). Лила не показала хороших результатов: в 28 играх она выиграла одну, две свела в ничью и проиграла остальные; её единственная победа — зависание оппонента, Scorpio 2.82Смотрите архив 12 сезона на http://tcec.chessdom.com/archive.php . Однако она быстро улучшилась. В июле 2018 года Leela заняла седьмое место из восьми участников на Чемпионате мира по компьютерным шахматам 2018 года, а в следующем сезоне TCEC она выиграла в четвёртом дивизионе 4 с рекордом 14 побед, 12 ничьих и 2 проигрышаСмотрите архив 13 сезона на http://tcec.chessdom.com/archive.php . Попав в третий дивизион, Лила заняла 2-е место с Арасаном, но не продвинулась (в случае ничьих, прямые партии определяют продвижение). Её рекорд в 3 дивизионе — 7 побед, 18 ничьих и 3 поражения.

К сентябрю 2018 года Лила стала конкурентоспособной с самыми мощными программами в мире. На Чемпионате по компьютерным шахматам Chess.com (CCCC) 2018 года Лила заняла пятое место из 24 участников. Лучшие восемь программ перешли во второй раунд, где Лила заняла четвёртое место. Затем Лила выиграла матч из 30 игр против Комодо, завоевав 3-е место в турнире. Одновременно Лила участвовала в кубке TCEC, в котором программы из разных дивизионов TCEC могут играть друг против друга. Лила победила программы более высокого дивизиона Laser, Ethereal и Fire, но была окончательно выбита Stockfish в полуфиналеСм. Архив Кубка TCEC 1 на http://tcec.chessdom.com/archive.php .

В октябре и ноябре 2018 года Лила участвовала в Chess.com Computer Chess.com Championship Blitz Battle. Лила заняла третье место после Стокфиша и Комодо.

В декабре 2018 года Лила участвовала в 14 сезоне Чемпионата по шахматам. Лила доминировала в 3, 2 и 1 дивизионах, легко финишировав первой в каждом. В главном дивизионе доминировали Stockfish, в то время как Гудини, Komodo и Лила боролись за второе место. Дело дошло до игры в финальном раунде, где Лиле нужно было держать Stockfish ничью черными, чтобы финишировать на втором месте перед Комодо. Это ей удалось, и она будет оспаривать суперфинал против Stockfish.Смотрите архив сезона 14 по адресу http://tcec.chessdom.com/archive.php

В феврале 2019 года Лила одержала свою первую крупную победу в турнире, победив Гудини в финале второго кубка TCEC. Лила не проиграла ни одной игры весь турнирСм. Архив Кубка TCEC 2 по адресу http://legacy-tcec.chessdom.com/archive.php . 23 февраля 2019 года завершился суперфинал TCEC (Season 14, 2018), где в тяжелейшем поединке Leela проиграла Stockfish версии от 3 февраля 2019 со счётом 50½–49½.

В апреле 2019 года Лила выиграла Chess.com Computer Chess Championship 7: Blitz Bonanza. Затем в Computer Chess Championship 8: Deep Dive она оказалась на втором месте, проиграв Stockfish.

В мае 2019 Лила выиграла кубок TCEC, выиграв у Stockfish 10 в финале 5½–4½ (+2 =7 −1). Она также выиграла cуперфинал TCEC 15 против Stockfish.. В апреле 2020 вновь одержала победу над Stockfish в суперфинале

В четырёх последующих финалах TCEC (сезоны 18-21) Leela занимала второе место, проигрывая Stockfish в суперфинале со счётом 53½–46½, 54½–45½, 53–47 и 56-44 соответственно.

По состоянию на 2023 год Лила входит в тройку сильнейших шахматных программ.

Известные игры Лила против Stockfish, бонусные игры CCCC, 1-0 Лила побеждает чемпиона мира Stockfish, несмотря на гандикап в 1 пешку.

См. также AlphaZero

Примечания

Ссылки

Leela Chess Zero на GitHub Нейронная сеть обучения клиента Шахматное программирование вики на Leela Chess Zero

Категория:Прикладное машинное обучение Категория:Программное обеспечение, разработанное в 2018 году Категория:Шахматные программы Категория:Википедия:Страницы с непроверенными переводами