Leela Chess Zero

Leela Chess Zero
Логотип программы Leela Chess Zero
Тип Шахматный движок
Авторы Жан-Карло Паскутто[англ.], Гэри Линскотт
Разработчики Гэри Линскотт, Александр Ляшук и другие
Первый выпуск 9 января 2018; 6 лет назад (2018-01-09)
Последняя версия v0.31.0 [1] (17 июня 2024; 6 месяцев назад (2024-06-17))
Репозиторий github.com/LeelaChessZer…
Лицензия GNU GPLv3
Сайт lczero.org

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

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

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

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

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

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

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

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

Результаты соревнований

[править | править код]

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

К сентябрю 2018 года Лила стала конкурентоспособной с самыми мощными программами в мире. На Чемпионате по компьютерным шахматам Chess.com (CCCC) 2018 года[16] Лила заняла пятое место из 24 участников. Лучшие восемь программ перешли во второй раунд, где Лила заняла четвёртое место[17][18]. Затем Лила выиграла матч из 30 игр против Комодо, завоевав 3-е место в турнире[19][20]. Одновременно Лила участвовала в кубке TCEC, в котором программы из разных дивизионов TCEC могут играть друг против друга. Лила победила программы более высокого дивизиона Laser, Ethereal и Fire, но была окончательно выбита Stockfish в полуфинале[21].

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

В декабре 2018 года Лила участвовала в 14 сезоне Чемпионата по шахматам. Лила доминировала в 3, 2 и 1 дивизионах, легко финишировав первой в каждом. В главном дивизионе доминировали Stockfish, в то время как Гудини, Komodo и Лила боролись за второе место. Дело дошло до игры в финальном раунде, где Лиле нужно было держать Stockfish ничью черными, чтобы финишировать на втором месте перед Комодо. Это ей удалось, и она будет оспаривать суперфинал против Stockfish.[24]

В феврале 2019 года Лила одержала свою первую крупную победу в турнире, победив Гудини в финале второго кубка TCEC. Лила не проиграла ни одной игры весь турнир[25][26]. 23 февраля 2019 года завершился суперфинал TCEC (Season 14, 2018), где в тяжелейшем поединке Leela проиграла Stockfish версии от 3 февраля 2019 со счётом 50½–49½.

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

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

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

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

Известные игры

[править | править код]

Примечания

[править | править код]
  1. Download Lc0 - Leela Chess Zero. Дата обращения: 4 июля 2020. Архивировано 30 июня 2020 года.
  2. 1 2 Silver. Leela Chess Zero: AlphaZero for the PC. Chess News (26 апреля 2018). Дата обращения: 11 июня 2018. Архивировано 12 июня 2018 года.
  3. LCZero. lczero.org. Дата обращения: 13 января 2022. Архивировано 8 сентября 2023 года.
  4. Download Lc0. Дата обращения: 4 июля 2020. Архивировано 30 июня 2020 года.
  5. Artificial intelligence: Google's AlphaGo beats Go master Lee Se-dol. Дата обращения: 16 ноября 2020. Архивировано 26 августа 2016 года.
  6. Mastering the game of Go without human knowledge". Дата обращения: 16 ноября 2020. Архивировано 24 ноября 2020 года.
  7. Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm. Дата обращения: 16 ноября 2020. Архивировано 8 декабря 2017 года.
  8. Announcing lczero (англ.). TalkChess.com. Дата обращения: 11 июня 2018. Архивировано 12 июня 2018 года.
  9. Tensorflow C++ implementation of lczero. Дата обращения: 16 ноября 2020. Архивировано 25 ноября 2020 года.
  10. David; Silver. A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play (англ.) // Science : journal. — 2018. — 6 December (vol. 362, no. 6419). — P. 1140—1144. — doi:10.1126/science.aar6404.
  11. AlphaZero paper, and Lc0 v0.19.1 (7 декабря 2018). Дата обращения: 14 февраля 2019. Архивировано 14 февраля 2019 года.
  12. Breaking: Leela Chess Zero enters TCEC Season 12. Chessdom (18 апреля 2018). Дата обращения: 20 февраля 2019. Архивировано 10 июля 2018 года.
  13. Смотрите архив 12 сезона на http://tcec.chessdom.com/archive.php Архивная копия от 3 мая 2015 на Wayback Machine
  14. World Computer Chess Championship 2018. ICGA. Дата обращения: 19 июля 2018. Архивировано 27 июня 2020 года.
  15. 1 2 Смотрите архив 13 сезона на http://tcec.chessdom.com/archive.php Архивная копия от 3 мая 2015 на Wayback Machine
  16. Chess.com Computer Chess Championship. Дата обращения: 20 февраля 2019. Архивировано 2 ноября 2018 года.
  17. CCCC stage 2 ended. Leela 4th with a good performance! Stockfish undefeated! LCZero Blog (26 сентября 2018). Дата обращения: 26 сентября 2018. Архивировано 27 сентября 2018 года.
  18. Cilento. Stockfish, Houdini Battle For Computer Chess Championship; Komodo vs Lc0 For 3rd. Chess.com (26 сентября 2018). Дата обращения: 9 октября 2018. Архивировано 9 октября 2018 года.
  19. Leela wins the match series against Komodo and wins a Pawn odds game against Stockfish! LCZero Blog (3 октября 2018). Дата обращения: 9 октября 2018. Архивировано 9 октября 2018 года.
  20. Cilento. Stockfish Wins Computer Chess Championship Rapid; Lc0 Finishes 3rd. Chess.com (4 октября 2018). Дата обращения: 9 октября 2018. Архивировано 6 октября 2018 года.
  21. См. Архив Кубка TCEC 1 на http://tcec.chessdom.com/archive.php Архивная копия от 3 мая 2015 на Wayback Machine
  22. Cilento. Computer Chess Championship Returns For Blitz Battle. Chess.com (11 октября 2018). Дата обращения: 22 ноября 2018. Архивировано 22 ноября 2018 года.
  23. Cilento. Stockfish Wins Computer Chess Championship Blitz. Chess.com (19 ноября 2018). Дата обращения: 22 ноября 2018. Архивировано 22 ноября 2018 года.
  24. Смотрите архив сезона 14 по адресу http://tcec.chessdom.com/archive.php Архивная копия от 3 мая 2015 на Wayback Machine
  25. См. Архив Кубка TCEC 2 по адресу http://legacy-tcec.chessdom.com/archive.php Архивная копия от 20 февраля 2019 на Wayback Machine
  26. Leela won the TCEC CUP! (англ.). LCZero Blog (4 февраля 2019). Дата обращения: 12 февраля 2019. Архивировано 12 февраля 2019 года.
  27. Pete (pete). Lc0 Wins Computer Chess Championship, Makes History (англ.). Chess.com. Дата обращения: 20 июня 2019. Архивировано 7 ноября 2020 года.
  28. Pete (pete). Stockfish Strikes Back, Tops Lc0 In Computer Chess Championship (англ.). Chess.com. Дата обращения: 20 июня 2019. Архивировано 25 мая 2019 года.
  29. crem. Lc0 won TCEC 15 (англ.). Дата обращения: 20 июня 2019. Архивировано 3 июня 2019 года.
  30. TCEC Season 15 Superfinal 2019 (англ.). chess24.com. Дата обращения: 20 июня 2019. Архивировано 29 мая 2019 года.