Русская Википедия:Leela Chess Zero

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

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

История

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Шахматы Шаблон:Rq