Leela Chess Zero

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Leela Chess Zero
Логотип программы Leela Chess Zero
Тип Шахматный движок
Автор Жан-Карло Паскутто[en], Гэри Линскотт
Разработчик Гэри Линскотт, Александр Ляшук и другие
Первый выпуск 9 января 2018; 3 года назад (2018-01-09)
Последняя версия v0.27.0 [1] (21 февраля 2021; 5 месяцев назад (2021-02-21))
Лицензия GNU GPLv3
Сайт lczero.org

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

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

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

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

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

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

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

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

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

Результаты соревнований[править | править код]

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

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

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

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

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

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

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

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

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

Известные игры[править | править код]

См. также[править | править код]

Примечания[править | править код]

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

Ссылки[править | править код]