Научная статья на тему 'ОБЗОР И ТЕСТИРОВАНИЕ КОМПЬЮТЕРНЫХ ПРОГРАММ ДЛЯ ИГРЫ В СЁГИ'

ОБЗОР И ТЕСТИРОВАНИЕ КОМПЬЮТЕРНЫХ ПРОГРАММ ДЛЯ ИГРЫ В СЁГИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
125
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНЫЕ ДВИЖКИ СѐГИ / USI / GIKOU / KRISTALLWEIZEN / YANEURAOU / NOZOMI

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бобровская О. П., Лысенкова С. А.

Описаны тестирование и критерии выбора компьютерных программ для игры в сѐги. Определена зависимость времени обдумывания хода от ограничения глубины поиска с учетом среднего количества ходов в партии. Проведено соревнование с ограничением по времени для определения сильнейшей из выбранных программ, и установлена зависимость продолжительности партии от глубины поиска.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бобровская О. П., Лысенкова С. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

REVIEW AND TESTING OF COMPUTER SHOGI PROGRAMS

The article describes testing of computer shogi programs and criteria for their selection. The dependence of time of thinking about a move on the search depth limitations with consideration of an average number of moves in the game is determined. A time-limited competition is hold to identify the strongest program out of selected ones. The dependence of game duration on the search depth is determined.

Текст научной работы на тему «ОБЗОР И ТЕСТИРОВАНИЕ КОМПЬЮТЕРНЫХ ПРОГРАММ ДЛЯ ИГРЫ В СЁГИ»

УДК 004.42+794.24

DOI 10.34822/1999-7604-2021-3-41 -45

ОБЗОР И ТЕСТИРОВАНИЕ КОМПЬЮТЕРНЫХ ПРОГРАММ ДЛЯ ИГРЫ В СЁГИ

О. П. Бобровская С. А. Лысенкова

Сургутский государственный университет, Сургут, Россия в E-mail: o-bobrovskaya@mail. ru

Описано тестирование и критерии выбора компьютерных программ для игры в сёги. Определена зависимость времени обдумывания хода от ограничения глубины поиска с учетом среднего количества ходов в партии. Проведено соревнование с ограничением по времени для определения сильнейшей из выбранных программ, и установлена зависимость продолжительности партии от глубины поиска.

Ключевые слова: компьютерные движки сёги, USI, Gikou, Kristallweizen, YaneuraOu, Nozomi.

REVIEW AND TESTING OF COMPUTER SHOGI PROGRAMS

O. P. Bobrovskaya S. A. Lysenkova

Surgut State University, Surgut, Russia BE-mail: o-bobrovskaya@mail. ru

The article describes testing of computer shogi programs and criteria for their selection. The dependence of time of thinking about a move on the search depth limitations with consideration of an average number of moves in the game is determined. A time-limited competition is hold to identify the strongest program out of selected ones. The dependence of game duration on the search depth is determined.

Keywords: shogi computer engines, USI, Gikou, Kristallweizen, YaneuraOu, Nozomi.

Введение

Сёги - это один из вариантов шахмат с некоторыми отличиями. Например, в сёги не шесть различных по возможностям видов фигур, а восемь, и кроме обычных ходов перемещения и взятия фигуры противника правила сёги позволяют сбросить взятую фигуру противника в любое место на доске как свою.

Для обозначения компьютерной программы, реализующей алгоритм игры сёги, используется сленговый термин «движок». В состав движка обычно входят:

- книга опенингов - база данных со стандартными первыми ходами, которая позволяет сократить время их выбора и избежать серьезных ошибок в начале партии;

- алгоритм поиска - обеспечивает поиск возможных последовательностей ходов, начинающихся с заданной позиции фигур на доске, для точной оценки позиции;

- функция оценки - эвристическая функция оценки позиции (вероятность выигрыша) на основании относительной «стоимости» фигур на доске и других параметров (расположение фигур, безопасность короля и проч.);

- цумэ сёги, решатель (присутствует не всегда) - решает задачи на постановку мата последовательностью шахов.

Сила движка оценивается относительной рейтинговой системой так же, как и сила игрока-человека: при победе рейтинг увеличивается, при проигрыше - уменьшается. Величина изменения рейтинга зависит от начальных значений рейтингов противников до начала партии. Чем выше рейтинг, тем сильнее человек или движок.

В 2017 г. самые сильные движки уже играли лучше самых сильных игроков в сёги [1]. Профессиональные игроки используют программы сёги для изучения тактики и стратегии

[2], новичкам советуют использовать находящиеся в открытом доступе движки для обучения и сравнения своих ходов с ходами, просчитываемыми движком.

Сильнейшие движки могут быть недоступны для загрузки и использования. Хорошим примером является программа AlphaZero - самообучаемая нейронная сеть, способная играть одновременно в шахматы, сёги и го (игра для двух человек, цель которой - отгородить на игровой доске камнями своего цвета большую территорию, чем противник). В 2017 г. AlphaZero победила [3] в чемпионате мира среди программ, играющих в сёги (Elmo), шахматы (Stockfish) и го (AlphaGo Zero), однако программа не имеет открытого исходного кода и интерфейса, поэтому пользователи не имеют возможности проверить ее в работе.

Победитель чемпионата мира по компьютерным сёги в 2021 г. - алгоритм Elmo [4]. Elmo - это функция оценки, составная часть движка. Для его использования необходим движок, позволяющий заменить свою функцию оценки, например YaneuraOu.

Для тестирования выбраны движки сёги, выполненные в виде «черных ящиков»:

- движок Gikou [5] - занял второе место на чемпионате мира по компьютерным сёги в 2016 г. и третье место в 2017 г., версия 2017 г.;

- движок Kristallweizen [6] - занял второе место на чемпионате мира по компьютерным сёги в 2019 г., версия 2019 г.:

- движок YaneuraOu [7] - победитель чемпионата мира по компьютерным сёги 2019 г., версия 2020 г., использует оценочную функцию Elmo [8] версии 2019 г.;

- движок Nozomi [9] - не имеет известных наград, версия 2020 г.

Дополнительно проанализированы еще 4 движка (Lesserkai, LaramieV3, Mss_usi,

Apery_wcsc30). Критерием отбора движков являлось наличие поддержки стандарта универсального интерфейса сёги (USI - Universal Shogi Interface) [10]. Формально стандарт USI поддерживается во всех рассмотренных движках игры в сёги, фактически протоколы стандарта реализованы в достаточной мере только в отобранных для тестирования.

Отсутствие реализации протокола в полном объеме приводит к невозможности добиться нужного поведения движка, поэтому выбраны движки, поддерживающие кроме инициализации следующие команды, необходимые для проведения запланированных экспериментов:

1) поиск ходов с заданным временем на обдумывание для белых и черных и дополнительным временем для каждого хода после окончания основного времени (бийоми);

2) поиск ходов на заданную глубину.

Характеристики аппаратного и программного обеспечения

Созданное для проведения тестов программное обеспечение запускали на компьютере со следующими характеристиками:

- 4-ядерный процессор Intel(R) Core(TM) i3-9100F CPU @ 3.60 ГГц;

- оперативная память 8.00 Гб;

- 64-разрядная ОС (Windows 10 Домашняя; Версия 20H2).

1. Зависимость времени обдумывания хода от глубины поиска

Для описанных выше движков проведены тестовые запуски соревнований для исследования зависимости времени обдумывания от ограничений на глубину поиска лучшего хода. Каждый движок играл с каждым из четырех тестируемых 10 партий; фиксировалось среднее время, потраченное движком на обдумывание ходов в течение партии. Максимально установленное ограничение на глубину поиска хода составило 17 ходов, поскольку дальнейшее увеличение глубины поиска нецелесообразно. Проведено по 60 запусков игр для каждой глубины поиска (всего 1 020). На рис. 1 представлен график зависимости времени от глубины поиска лучшего хода, а также среднее количество ходов в играемых партиях на каждой представленной глубине.

глубина поиска лучшего хода

Рис. 1. Зависимость времени от глубины поиска лучшего хода Примечание: составлено авторами.

После глубины поиска 16 значительно увеличивает количество времени, затрачиваемое на обдумывание, движок Nozomi, наименьшее время тратит движок YaneuraOu.

Начиная с глубины 4, количество ходов в игре увеличивается незначительно, следовательно, увеличение продолжительности игры происходит за счет большего времени обдумывания каждого хода. Значительно увеличивают затраты времени после глубины поиска 15 три движка, в меньшей степени - YaneuraOu, при этом нельзя утверждать, что он сильнее. Чтобы определить, побеждает ли YaneuraOu, необходимо провести следующий эксперимент.

2. Какой движок сильнее на разных отведенных промежутках времени

Время, отводимое на игру, состоит из основного времени и дополнительного - бийо-ми. Основное время тратится игроком на обдумывание хода. После того как основное время заканчивается, на каждый ход игрок получает фиксированное бийоми. Если он не успевает сделать ход за бийоми, то проигрывает. Людям в обычной турнирной игре дается 3 ч основного времени и 60 с бийоми, для компьютерных программ - 15 мин основного времени и 5 с бийоми.

Для сравнения работы движков дополнительно было выбрано ограничение в 25 мин основного времени без бийоми и 5 мин основного времени с 10 с бийоми.

В таблице представлены результаты проведенных запусков. Каждый движок играл с каждым из тестируемых 15 партий. Для определения ничьей использовалось турнирное ограничение на 320 ходов.

Таблица

Победы в 90 играх

№ Движок 25 мин (0 с) 15 мин (5 с) 5 мин (10 с)

побед ничьих поражений побед ничьих поражений побед ничьих поражений

1 Gikou 16 1 28 20 0 25 31 0 14

2 Kristallweizen 29 2 14 32 0 13 15 0 30

3 YaneuraOu 22 2 21 22 0 23 27 0 18

4 Nozomi 19 3 23 16 0 29 17 0 28

Потрачено времени на проведение (с) 208 276,642 153 851,565 62 110,633

Потрачено времени на проведение (ч) 57,9 42,7 17,3

Примечание: составлено авторами.

По данным, представленным в таблице, построена гистограмма (рис. 2).

Рис. 2. График побед

Примечание: составлено авторами.

При стандартных турнирных условиях, а также при ограничении основного времени до 25 мин и отсутствии бийоми сильнейшим движком стал Kristallweizen. При небольшом основном времени и значительном бийоми наилучший результат показал Gikou, второе место при всех ограничениях занял YaneuraOu.

3. Сравниваем проигравших на разных глубинах по количеству ходов

Чтобы определить, как изменяется продолжительность партии в ходах в зависимости от изменения глубины поиска хода, проведен следующий эксперимент. В качестве эталона был выбран YaneuraOu, показавший стабильно хорошие результаты при разных ограничениях. Для движка YaneuraOu были заданы высокие параметры (глубина 17), а остальные движки соревновались с ним с разными ограничениями на глубину поиска, как в первом эксперименте. Каждый движок играл с YaneuraOu 10 партий. Кроме количества ходов замерялось количество побед каждого движка над YaneuraOu из 10 сыгранных партий. Было проведено по 30 запусков игр для каждой глубины поиска (всего 360). Результаты представлены на рис. 3.

Глубина поиска лучшего хода

Рис. 3. Зависимость количества ходов от глубины поиска лучшего хода

Примечание: составлено авторами.

На графике представлен возрастающий тренд, при этом все проведенные игры закончились победой YaneuraOu. Следовательно, при увеличении глубины поиска лучшего хода наблюдается увеличение силы движков, выраженной в возможности дольше противостоять противнику, увеличивая вероятность победы.

Заключение

Проведены эксперименты для сравнения силы и скорости работы движков сёги. Установлено, что при увеличении глубины поиска движки могут дольше противостоять сопернику. При различной глубине поиска наименьшие затраты времени показывает движок YaneuraOu, который при каждом из ограничений занимает второе место по времени. Движок Kristallweizen побеждает при ограничении основного времени до 25 мин, бийоми до 0 с и при турнирных ограничениях. При ограничении основного времени до 5 мин и бийоми до 10 с побеждает движок Gikou.

В дальнейших исследованиях компьютерных программ для игры в сёги планируется использование показавшего стабильно хорошие результаты движка YaneuraOu.

Литература

1. Record of Computer Shogi vs. Human Battle. URL: http://www.junichi-takada.jp/ computerhsogi/comvshuman.html (дата обращения: 11.04.2021).

2. Takenobu T. People and Computers Working Together to Develop the Denou Sen and the World Computer Shogi Championship // Waseda Online. 2015. URL: https://yab.yomiuri.co.jp/ adv/wol/dy/opinion/culture_151124.html (дата обращения: 11.05.2021).

3. Silver D. et al. Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm // ArXiv. 2017. URI: https://arxiv.org/pdf/1712.01815.pdf (дата обращения:

05.09.2020).

4. Result of the 31st World Computer Shogi Championship. 2021. URL: http://www2.computer-shogi.org/wcsc31/index_e.html (дата обращения: 15.05.2021).

5. Shogi software "Gikou". URL: https://github.com/gikou-official/Gikou (дата обращения: 05.10.2020).

6. Shogi software "Kristallweizen". URL: https://github.com/Tama4649/Kristallweizen (дата обращения: 07.02.2021).

7. Shogi software "YaneuraOu". URL: https://github.com/yaneurao/YaneuraOu (дата обращения: 07.02.2021).

8. Computer Shogi Software "Elmo" Installation Method. URL: https://mk-takizawa. github.io/elmo/howtouse_elmo.html (дата обращения: 16.04.2021).

9. Shogi software "Nozomi". URL: https://github.com/saihyou/nozomi (дата обращения:

07.02.2021).

10. The Universal Shogi Interface. URL: http://hgm.nubati.net/usi.html (дата обращения: 05.09.2020).

i Надоели баннеры? Вы всегда можете отключить рекламу.