10 кю

Блог о том, где и как поиграть в игру Го

Category: Го и компьютер

Человек против машины

Основные отличия игровых стилей в игре Го

Автор: Руслан Холодов

ВВЕДЕНИЕ

 

Чем отличается игровой рисунок в партиях современных алгоритмов машинного обучения, или просто ботов, от традиционного человеческого игрового стиля?

Любой любитель Го без проблем ответит: боты любят вторгаться в сан-сан. И не любят старые фусэки и дзёсэки.

Однако на самом деле различий намного больше. Причем, не всегда очевидных.

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

 

Основой для сравнения служат две крупные игровые базы.

Первая, человеческая, состоит из 300.000 партий профессионалов и сильных любителей, сыгранных в период с января 1934 по февраль 2016 гг. То есть от исторической партии Го Сэйгэн - Хонинбо Сюсаи и до не менее исторического матча Ли Седоль - AlphaGo, полностью исключая влияние на игровой стиль человека ботов со сверхчеловеческой силой игры. 

Вторая, ботовская, состоит из 1.800.000 партий селфплея всех лучших алгоритмов с открытым исходным кодом. Для анализа взяты 600.000 партий Leela Zero за 2018, 2019 и 2020 гг., 600.000 партий KataGo версий g65, g104 и g170 за 2019 и 2020 гг., 300.000 партий ELF OpenGo версий v0, v1 и v2 за 2018 и 2019 гг. и 300.000 партий MiniGo версий v15, v16 и v17 за 2019 год.

Эти 1,8 млн партий взяты из датасетов сильнейших моделей каждого алгоритма. При этом не стоит забывать, что за их обучением суммарно стоит более 170.000.000 тренировочных игр. Знания, накопленные в их файлах весов, получены из учебно-боевой практики небывалых масштабов. Это опыт, начисто лишенный давления традиций и привычки следовать моде.

 

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

Получается своеобразный итог бурной 3-летней эволюции игры после появления общедоступных инструментов игрового анализа на основе ИИ.

 

ЧАСТЬ I. ОСНОВЫ ФУСЭКИ

 

Одной из фирменных особенностей человеческого стиля игры было активное раннее развитие на стороне. Будь то распространение вдоль своей стороны (хираки) или разделение стороны соперника (сплит).

На этой основе развился целый класс игровых начал, который можно назвать Хираки-фусэки: Санрэнсэй, Китай, мини- и микро-Китай.

Сравним активность игры на стороне у человека и машины:

1 - хираки от камня 4-4, 2 - хираки от камня 4-3, 3 - хираки от камня 3-4 (поперечный комоку), 4 - сплит по 3-й линии

Как видим, частота ранних развёртываний на стороне у ботов упала в 2-6 раз, а сплит-фусэки представляется едва заметным статистическим шумом в масштабах почти 2-миллионной выборки партий ИИ.

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

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

Для большей наглядности добавим несколько иллюстраций.

Дисклеймер: увиденное ниже способно уязвить чувства любителей выстраивать заготовки на пол-доски.

На примере юного и безмозглого MiniGo проиллюстрируем, к какой стадии игрового развития на самом деле относится игра на мойо. 

Однонаправленная стратегия на крупное территориальное образование, то есть мойо, это первое, что осваивает бот на выходе из режима случайных ходов. Это колыбелька, вырастая из который ИИ начинает учиться “ходить”.

Другой отличительной чертой человеческих игровых начал является выбор шаблонов на пол-доски (размещения первых двух камней одного цвета) с абсолютным приоритетом одного из камней в комоку.

Сравним статистику для шаблонов с чёрными камнями:

1 - Нирэнсэй, 2 - 4-4 + 4-3, 3 - 4-4 + 3-4, 4 - двойной 4-3, 5 - 4-3 + 3-4 

Видим противоположную картину: лидерство Нирэнсэя с огромным отрывом у ботов и более чем двукратный отрыв человека от машины в том, что касается востребованности трёх основных шаблонов на пол-доски с участием камня в комоку.

Боты не стремятся определять позицию с самых первых ходов, поэтому “универсальный” шаблон с двумя камнями в хоси наигрывается ими чаще других.

Характерно выглядит и диспропорция шаблонов на всю доску.

Человечество наиграло в 20-м веке более-менее устойчивую дебютную теорию и выработало собственные стереотипы относительно направления развития игры. Поэтому, просматривая в 2015-м году партии Го Сэйгэна, сыгранные им в 1930-е, игроки видели всё те же знакомые Санрэнсэи, сплит-фусэки и ранние ходы на сторону в “большие” пункты.

Как бы в развитие его идей, непосредственно перед приходом AlphaGo произошел настоящий расцвет разновидностей Китая и фусэки Кобаяси.

Сравним, насколько совпадают шаблоны на всю доску:

1 - вторжения в сан-сан в пределах первых пяти ходов, 2 - доля топ-20 распространённых шаблонов на всю доску из 4-х камней, 3 - топ-10 фусэки людей, 4 - топ-10 фусэки AlphaGo Master (изначально обучена на партиях людей), 5 - топ-10 фусэки AlphaGo Zero

 

Результаты неудивительны. Люди не играли ранние вторжения в п. 3-3 и фусэки, востребованные AlphaGo Zero. Боты игнорируют 38% людской теории фусэки, воплощенной в пункте 3 на графике.

При этом разнообразие задействованных шаблонов на всю доску почти на 9% выше у ботов (график 2). Чего и следовало ожидать.

Очевидно, что в силу такого явления, как инерция мышления, человек склонен догматизировать свои знания и цепляться за “традиции” и “нормы”. Особенно это заметно на примере игр шахматного типа, где в начальной расстановке вообще запрещается менять фигуры местами. 

 

ЧАСТЬ II. БОРЬБА В УГЛАХ

 

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

1 - шимари от камня 4-4 за чёрных, 2 - за белых, 3 - шимари от камня 3-4 за чёрных, 4 - за белых, 5 - шимари от камня 3-3 за чёрных, 6 - за белых, 7 - защита одиночного камня 4-4, 8 - защита одиночного камня 3-4

 

Красные графики показывают просто колоссальные цифры: почти 50% на построение черного шимари от хоси, 65% на аналогичное белое шимари и почти 85% - на защиту одиночного камня в комоку.

Защита угловой территории - краеугольный камень человеческого Го.

Боты категорически с этим не согласны. Их статистика в полтора-два раза ниже. В их игре сэнтэ ценится намного выше, чем “гарантированная” безопасность отдельно взятого угла.

Атака угловых камней - непременный атрибут борьбы за территорию. С позиций человеческой теории игры наиболее востребованный способ прессования углов противника - это какари. Атакуя таким образом, игрок как бы одновременно гасит потенциально “опасную” плотность соперника, которая возникает при атаке угла путём вторжения в сан-сан.

Сравним статистику какари: 

1 - какари чёрному камню 4-4, 2 - белому, 3 - какари чёрному камню 3-4, 4 - белому, 5 - какари чёрному камню 3-3, 6 - белому, 7 - двойное какари в целом

 

По всем статистически значимым показателям количество одиночных какари в партиях людей значительно выше.

Исключение из пункта 7 ярче всего подтверждает правило. Двойные какари - единственная категория, в которой твёрдое лидерство оказалось за ботами. И происходит это потому, что те какари, которые играются ботами, защищающаяся сторона часто игнорирует, реализуя сэнтэ в другом месте доски. Вследствие этого и возникают “клещи” из двойного какари.

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

Сравним контратакующие стратегии человека и машины:

1 - хасами от камня 4-4 после иккен-тоби какари, 2 - после кейма-какари, 3 - хасами от камня 3-4 после иккен-тоби какари, 4 - после кейма какари

 

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

Таким образом, очевидно, что с позиции машинного интеллекта сэнтэ важнее не только незамедлительной защиты угловой территории, но и чем немедленная контратака в ответ на агрессию противника в углу с помощью какари. Иными словами, какари в угловой борьбе - не повод строить игру вокруг него, как то делалось в традиционном человеческом Го.

Атаковать угол можно не только с дистанции, с помощью какари, но и прямым контактным способом - с помощью вторжения в сан-сан. Нельзя сказать, что в человеческом Го этот приём не находил применения, хотя и не практиковался в ранних стадиях игры (как раз по причине боязни отдать сопернику влияние для потенциально “опасного” мойо).

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

Сравним статистику:

1 - непрямые вторжения в 3-3, 2 - прямые вторжения в 3-3, 3 - продолжение 5. Ноби p4, 4 - 5. Ханэ p3, 5 - 5. Кейма о3, 6 - 5. Ханэ s3 

 

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

Вторжение в сан-сан - это наиболее надёжный способ быстро получить верные очки. Это способ завязать контактный бой на самой ранней стадии игры, избегая неконкретных “балетных па” с ходами в большие пункты. Это возможность малым числом ходов построить жизнеспособную форму и реализовать сэнтэ на другом участке доски. При случае подороже “продать” свой угол. Или предложить головоломный розыгрыш с угрозой похоронить соперника в одной дзёсэке типа Летающего кинжала.

Вторжение в сан-сан у ботов - многофункциональное стратегическое оружие, перспектив которого мастера прошлого не оценили. 

 

ЧАСТЬ III. ИГРА НА ДИСТАНЦИИ

 

Вопрос дистанции - один из ключевых в игре Го. В зависимости от того, насколько близко расположены камни, форма может считаться лёгкой или тяжелой, а следовательно, “хорошей” или “плохой”.

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

Проверим на статистике, делал ли человек эффективный выбор между борьбой или бегством:

1 - борьба: взаимные магари, 2 - борьба: взаимные стенки, 3 - бегство: линейное выпрыгивание через 1 пункт, 4 - бегство: линейное выпрыгивание через 2 пункта

 

База Go4Go не обманывает: при всякой сомнительной ситуации люди предпочитали скорее бежать. Число линейных выпрыгиваний в 2,5 - 3 раза превосходит показатели ИИ. Прямолинейные прыжки через всю доску - неотъемлемая фишка традиционного стиля игры. Что характерно, люди могли вытягивать до 5 камней в линию, для ботов 4 - уже явный перебор.

Боты не стесняются дать жесткий отпор и выстроить внушительную конструкцию, которую человек назвал бы слишком тяжелой или опасной с точки зрения потенциального влияния для игры на мойо. Ибо это работает.

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

Начнём с “классики”. Типовое бесконтактное бегство через пол-доски:

Время вносило коррективы в человеческую моду на фусэки и дзёсэки, но суть игры на дистанции оставалась неизменной. Первого контакта камней во многих партиях приходилось ждать по 20-30 ходов.

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

Негодование любителей “классики” несложно понять. Боты заставляют их отбросить привычную лайт-контактную “беготню” по доске и вступить в жесткое единоборство за каждое потенциальное очко с самого начала игры.

Это как после уроков фехтования записаться в секцию вольной борьбы.

Игра на дистанции также важна при атаке и защите угла. В теории Го человеческого периода существовало четкое и недвусмысленное мнение о том, на какое расстояние от углового камня можно “растянуть” шимари, а на какое этого делать не рекомендуется.

Сравним подходы человека и машины к данному вопросу:

1 - шимари от 4-4 через 1п. за чёрных, 2 - за белых, 3 - шимари от 3-4 через 1п. за чёрных, 4 - за белых, 5 - шимари от 4-4 через 2п. за чёрных, 6 - за белых, 7 - шимари от 3-4 через 2п. за чёрных, 8 - за белых

 

В человеческом Го налицо колоссальная диспропорция защиты угла в пользу шимари через 1 пункт. Самое востребованное из них встречается в человеческой базе в 23 раза чаще чем наименее популярное шимари через 2 пункта. Этот перекос почти в 2,5 раза превосходит аналогичный показатель у алгоритмов машинного обучения.

Боты выбирают шимари более сбалансировано и в целом играют его значительно реже за счет много меньшего числа шимари через 1 пункт.

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

Сравним дистанции атаки человека и машины:

1 - какари к чёрному 4-4 через 1 п., 2 - к белому через 1п., 3 - к чёрному 3-4 через 1п., 4 - к белому через 1п., 5 - к чёрному 4-4 через 2 п., 6 - к белому через 2п., 7 - к чёрному 3-4 через 2п., 8 - к белому через 2п

 

Да, люди атаковали угол соперника с помощью какари через 1 пункт значительно чаще ботов, но те всё равно не отказываются от этого приёма. 

Однако когда дело доходит до какари через 2 п., реакция ИИ такова:

ИТОГИ

 

В этом материале рассмотрена лишь небольшая часть данных, которые были собраны с игровых баз. Но и этого достаточно для общей картины.

Подводя итог, перечислим недостатки традиционного Го до революции ботов. В чем “дореволюционное” Го слабее машинного? Какие слабости исправляют современные профи с помощью ИИ, чтобы усилить свою игру?

 

🔻 Люди “мельчили”, уделяли слишком много внимания локальной борьбе в углу;

🔻 Чрезмерно раздували эту часть игры, наигрывая избыточно сложную теорию дзёсэки;

🔻 Перестраховывались, защищая угловые камни в ущерб развитию инициативы (сэнтэ);

🔻 Сильно переоценивали потенциал игры на мойо, злоупотребляя неэффективными широкомасштабными заготовками и контр-стратегиями анти-мойо;

🔻 Атаковали углы боязливо и преимущественно бесконтактно;

🔻 При этом в атаке чересчур осторожничали и часто ставили камни слишком далеко, а в защите углов чрезмерно жались к себе;

🔻 Действовали слишком прямолинейно, злоупотребляя линейными прыжками по всей доске;

🔻 Необоснованно клеймили "тяжёлые" формы;

🔻 В целом недооценивали преимущества сэнтэ перед доигрыванием “по учебнику” на локальном участке гобана. 

 

Существует универсальная отговорка сторонников “классики”: дескать, боты тупо пересчитывают людей большим числом плейаутов. Но это не так! Ката-бот с 1 плейаутом на ход достиг 8 дана на КГС. 

Всё-таки дело не в том, сколько считают, а в том, как играют. Иначе боты предыдущего поколения, накручивавшие сотни тысяч симуляций в дереве поиска Монте-Карло, превзошли бы человека сразу после своего внедрения в 2006 году.

 

Eunbyul — программа из Северной Кореи

В 1997 году в Северной Корее выпустили программу играющую в Го под названием Eunbyul (в переводе с корейского "Серебряная звезда"). Она активно разрабатывалась и позднее достигла 3-го любительского дана на сервере CyberOro.

Программа успешно выступала в компьютерных турнирах, продавалась на дисках в Японии и Ю.Корее. К ее разработке и тестированию был даже привлечен один из южнокорейских профессионалов Го

Однако, позднее выяснилось, что программа представляет из себя копию китайской HandTalk с небольшими изменениями. По этой причине в 2009 году Серебряная Звезда не была допущена к участию в компьютерной олимпиаде.

Программу можно протестировать и в наши дни. Она играет на сервере Тайджем и существует в виде Android-приложения под названием Silver Star.

Сохранилась такая статья (сильно смахивающая на рекламную):
http://www.koreaittimes.com/story/12367/north-korea%E2%80%99s-artificial-intelligence-go-software
В ней утверждается, что Серебряная Звезда - сильнейшая программа Го в мире и главная заслуга в этом - социалистическая система правления в С.Корее, где программисты 20 лет работали над её созданием, невзирая на все тяготы и невзгоды.

https://www.multilotto.com/en/eurojackpot/

https://www.wowgold.nl/

Поиграть в Го с компьютером можно онлайн

Специально для тех, кто не хочет заморачиваться установкой играющих программ, можно поиграть с компьютером через интернет.

На сайте http://www.cosumi.net/en/ можно поиграть в Го с ботом, используя различные форматы досок, от 5x5 до 19x19, а также выбрав подходящую силу игры компьютерного соперника.

Внешний вид сайта cosumi.net

Сайт очень удобен в обращении, не содержит ничего лишнего! Звук на сайте немного раздражающий, но его можно отключить! :)

online casino New Zealand

Leela — очень-очень сильный Го-бот

Leela - бесплатная программа, играющая в Го в силу 3-4 дана на доске 19x19 и в силу высшего дана на доске 9x9 - такая информация приводится на сайте разработчика.

Программа распространяется в двух вариантах - с графическим интерфейсом и без него. Программа имеет поддержку GPU-ускорителя, использует нейросеть с глубинным обучением, а также позволяет играть на досках любого формата до 37x37!

leela1 leela2

В программе предусмотрен режим адаптивной сложности, сила игры (и фора) изменяется в соответствии с вашими способностями. К сожалению, в таком режиме старт на доске 19x19 происходит с немыслимой форой в 12 камней, при этом программа считает вас сразу 9-м кю. Если играть на доске 9x9 в этом режиме, то это напоминает известную программу IgoWin, про которую я писал ранее.

В программе Leela также предусмотрен режим подсветки формируемой территории и мойо. Имеется анализ игры, поиск лучшего хода и последовательности ходов.

Скачать программу можно с официального сайта:
https://sjeng.org/leela.html

Го-бот Pachi для Windows

Установка бота Pachi под Windows немного сложнее, чем под Android. Для установки необходимо пройти на сайт разработчика, скачать и распаковать программу Pachi для Windows (на момент написания заметки версия 11.00): http://pachi.or.cz/.

1. Распакуйте скачанный архив в какую-либо папку.

Программа Pachi для Windows не имеет графического интерфейса, поэтому для нее необходимо скачать интерфейс, например GoGui: http://gogui.sourceforge.net/

2. Установите GoGui.

3. Настройте связь GoGui и Pachi.

Для этого запускаем GoGui и в меню Program выбираем пункт New Program, а в появившемся диалоге в первой строке указываем путь до распакованного бота, во вторую строку записываем путь до папки с ботом.

Например,
Command: D:\Pachi\pachi.exe
Working directory: D:\Pachi\

Для подключения бота снова зайдем в меню Program и выберем Attach. Для отключения - Detach.

4. Можно играть!

gogui-pachi

Пример интерфейса GoGui с подключенным игровым Го-ботом Pachi.

По умолчанию, Го-бот Pachi будет использовать только одно ядро процессора и довольно долго думать над ходами. Для изменения параметров можно зайти в меню Program -> Edit programs, выбрать подключенного бота и задать в строке Command новые параметры, например:
<путь>\pachi.exe -t =5000 threads=4 - будет использовать 4 ядра и просматривать 5000 вариантов.
или
<путь>\pachi.exe -t =1200 threads=8,maximize_score - будет использовать 8 ядер, просматривать 1200 вариантов и стремиться к максимизации разрыва по очкам.

Подобрав оптимальные параметры играть в Го с ботом становится более комфортно и интересно, чем с настройками по умолчанию. Подробнее о настройке можно прочитать по ссылке http://repo.or.cz/w/pachi.git/blob/HEAD:/README (на английском).

Crazy Stone в Steam

В крупнейшем игровом магазине Steam появилась играющая в Го программа -
Crazy Stone Deep Learning -The First Edition-

В описании сказано, что программа предоставляет 20 уровней игры (от 13 кю до 7 дана) для всех размеров досок (9x9, 13x13, 19x19).

Пишут, что программа значительно улучшилась после использования глубинного обучения и в 90% случаев выигрывает Crazy Stone образца 2013 года. Также отмечается, что была улучшена не только сила, но и стиль игры. Рекомендуется для игроков среднего уровня и выше.

Приобрести программу можно здесь:
http://store.steampowered.com/app/479330/

С чего начать изучение игры Го?

С чего начать изучение игры Го? Мои советы будут такими:

  1. Найдите в интернете правила игры Го и внимательно с ними ознакомьтесь. Например, это можно сделать с помощью интерактивного учебника: http://playgo.to/interactive/russian/.
    Для корректной работы может потребоваться установка Java, которую можно бесплатно установить с официального сайта: http://www.java.com/ru/. В дальнейшем она нам еще понадобиться для установки клиента игры.
  2. Ознакомившись с правилами, попытайтесь понять, с кем вы будете играть. Хорошо, если вы найдете друга или знакомого, который согласится научиться игре вместе с Вами. Сыграйте с ним несколько партий, например, в соц. сети "ВКонтакте" в приложении "Онлайн игры ВКонтакте".
    Если вы не нашли с кем учиться играть, попробуйте освоить игру самостоятельно, либо приложение, играя со случайными противниками, либо через бесплатную программу Igowin http://www.smart-games.com/igowin.exe.
    Бесплатная программа для игры в Го - Igowin
    Программа хороша тем, что подстраивается под ваш уровень игры и либо предоставляет фору вам, либо берет фору себе, если вы начинаете её обыгрывать.
  3. После того, как вы усвоите азы игры и игровой механики - как соединяются камни, как образуются "живые" группы, как происходит "съедание" камней, можете приступать к игре на доске большего размера. Например, можете для этого установить программу-клиента CGoban с сервера KGS http://www.gokgs.com/ (там играет достаточно много русскоязычных пользователей).

Powered by WordPress & Theme by Anders Norén