Шахматы — игра с многовековой историей. Тысячелетиями по разные стороны доски садились люди самых разных сословий, как для развлечения, так и в качестве упражнения для ума. Полководцы и политики, художники и ученые обращали простой набор правил в спорт, становились лучше и лучше… Пока однажды создателей игры не одолели другие их творения. Компьютеры обратили шахматы в еще одну логическую задачу из многих. И хотя игра еще далека от того момента, когда машина сможет ее «решить», подобно крестикам-ноликам, люди уже сейчас не способны обыграть компьютер. Но почему? Для начала давайте поймем, как вообще побеждают в шахматах. И нет, речь не об условиях победы, когда королю поставлены шах и мат. Речь обо всем игровом процессе. И в нем за победу отвечают множество факторов: память, внимательность, скорость мышления, умение просчитывать как свои решения, так и желания соперника.
Все, от совокупной позиции пешек до безопасности короля, склоняет чаши игровых весов в ту или иную сторону.
Игровая партия в шахматах состоит из трех основных этапов: дебюта, миттельшпиля и эндшпиля, то есть начала, середины и завершения. Дебют — это этап игры, в котором игроки находятся на «исследованной территории». За столетия существования игры люди успели разыграть все возможные вариации первых нескольких ходов и выяснить, что в них стоит делать, а что — нет.
Однако довольно быстро игроки оказываются на неисследованной, неизученной позиции на доске. Да, тут всего 64 клетки, но варианты партий, которые можно составить из этого набора, исчисляются миллиардами. В этот момент начинается миттельшпиль, середина игры, свободное плавание двух умов. Здесь уже нельзя рассчитывать на память, на то, как хорошо ты помнишь дебют. Необходимо использовать другие навыки: внимательность, понимание позиции, ее слабых и сильных мест как со своей стороны, так и стороны оппонента.
Наконец, если шах и мат не наступили по чьей-либо ошибке в середине игры, партия достигает этапа эндшпиля, конца. На столе остается совсем мало фигур, и их расположение и соотношение, по сути, становятся «вердиктом» игры. Качество фигур и количество пешек, их расположение, безопасность короля — все это влияет на итоговые шансы одного из игроков победить. В какой-то момент фигур остается так мало, что мы снова возвращаемся на «изведанную территорию», где при идеальной игре мы точно можем судить, что перед нами — ничья или победа одной из сторон.
Люди побеждают в шахматах благодаря памяти, внимательности, хорошему расчету и отточенной технике. Разыгрывая тот или иной дебют, игрок должен осознавать, какие фигуры у него оказываются в сильной позиции, а какие — в слабой, и исходя из этого уже развивать свои преимущества, не позволяя делать это оппоненту. В человеческом подходе к игре в шахматы много теории и абстракции — «сильные и слабые клетки», «естественное положение фигуры», «идея дебюта и его развитие».
Компьютер не знает теории. Он может механически запомнить положение фигур в дебюте, не понимая, в чем общая идея и каков план на игру. В этом, вероятно, основное отличие машины от человека, когда речь заходит о шахматах. Компьютер видит лишь позицию в данный момент и просчитывает ход на заданное количество шагов вперед, не заботясь о том, как «в теории» он должен побеждать. Ему это и не нужно, потому что компьютер играет в шахматы иначе.
Если для человека способность просчитывать игру — важнейшее, но не единственное умение, то для компьютера это основной метод игры. В каждой позиции он уходит на определенную глубину, исследуя все возможные варианты позиций, и выбирает ту, которая, по его мнению, оптимальна. Лучшую позицию можно оценить по двум факторам: материалу (количеству фигур и пешек) и позиционному преимуществу (безопасности короля, координации фигур).
Главная сложность в создании шахматного компьютера — реализация эффективного алгоритма перебора возможных ходов. Самый популярный — альфа-бета-отсечение, когда не рассматриваются позиции, имеющие меньшую оценку, чем уже оцененные. Так удается избежать перебора заведомо проигрышных позиций, хотя и здесь в зависимости от глубины оценки компьютер может ошибиться. Впрочем, с 1997 г., когда Deep Blue впервые смог обыграть тогдашнего чемпиона мира, компьютеры ошибаются все реже и реже. Сегодня уровень точности оценки позиции и скорость просчета ходов машины не дают человеку и шанса на выигрыш — разве что на ничью.
И даже при этом компьютеры не стоят на месте. С началом массового использования нейронных сетей изменился и подход к созданию шахматных движков. К грубому перебору добавилась оценка позиции на основе ИИ. В конце 2017 г. инженеры DeepMind выпустили движок, который потряс мир шахматных вычислений. AlphaZero был основан на фундаментально ином подходе к шахматным вычислениям. В то время как предыдущие движки полагались на поиск по деревьям и оценку позиций, AlphaZero для своего анализа полагался на глубокую нейронную сеть. В матче из 100 игр против сильнейшего на данный момент движка Stockfish AlphaZero выиграл 28 игр и сыграл вничью оставшиеся. Во многих отношениях AlphaZero стал прорывом не только для шахматных вычислений, но и для мира ИИ в целом.
Советский математик Александр Семенович Кронрод однажды определил роль компьютерных шахмат известной фразой: «Шахматы — это дрозофила искусственного интеллекта». Аналогия проста: шахматы — удобный объект исследований в сфере искусственного интеллекта, так же как мушка-дрозофила — удобный лабораторный объект для изучения наследственности. И это остается правдой и по сей день.
Дополнительно AlphaZero против Stockfish
Alpha Zero – алгоритм, основанный на нейронных сетях, разработанный компанией Google DeepMind. С помощью машинного обучения, которое было применено к созданию программы, 5 декабря 2017 года AlphaZero за 4 часа достигла сверхчеловеческого уровня игры в шахматы и разгромила один из сильнейших шахматных движков Stockfish. Матч состоял из 100 партий, в которых детище DeepMind одержало 28 побед при 72 ничьих, не проиграв ни разу.
Особенности Alpha Zero
Alpha Zero – это не традиционный шахматный движок. Это программа, которой не нужны ни дебютные, ни эндшпильные базы данных. Ей не были прописаны сложные алгоритмы вычисления оценки, как это было сделано для Komodo, для того же Stockfish и других движков. За считанные часы AlphaZero сыграла сама с собой многое множество партий и уяснила для себя, что и как.
История применения нейронных сетей и машинного обучения для шахматных движков на самом деле не нова. В 2015 году с помощью подхода, называемого «обучение с подкреплением» Мэтью Лай разработал Giraffe, шахматную программу уровня международного мастера. Оценочная функция Giraffe была полностью основана на нейронной сети, в отличие от классических шахматных программ, в которых функция оценки представляет собой набор критериев из фиксированных правил, хорошо известных шахматистам.
AlphaZero против Stockfish
К новости о разгромной победе никому неизвестной Альфа Зеро над великим и ужасным Стокфиш в шахматном мире отнеслись, как к революции. Но есть несколько следующих «но».
Из представленного DeepMind доклада «Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm» того же 5 декабря 2017 года и графика обучения в нем, видно, что разница в силе АльфаЗеро и Стокфиш совсем не велика, как могло показаться по итогу матча.
О превосходстве Alpha Zero
Говоря о скорости перебора, которую использовали программы, то данные конечно впечатляют: Альфа Зеро с помощью дерева поиска Монте-Карло просматривал 80 тысяч позиций в секунду, тогда как Стокфиш – 70 миллионов. Опять же здесь есть свои нюансы, если приводить скорость перебора в качестве аргумента силы. Однако нельзя не сказать о том, что Alpha Zero гораздо избирательнее и применяемый ею подход в какой-то степени ее «очеловечивает».
Кроме того, переход от перебора, управляемого множеством правил, которые могут содержать в себе изъяны, связанные с предубеждениями или субъективностью шахматных экспертов, к переходу, управляемому нейронной сетью, это бесспорно благо, которое быть может в будущем расскажет много нового о шахматах.
Подводя итог, учитывая, что разница в силе игры не такая большая и зная, что Alpha Zero имела оборудование значительно более мощное, нежели Стокфиш, однозначно сказать о превосходстве, не оставляющем сомнений, сложно. Но это на самом деле маловажно, потому что Альфа Зеро это не еще один шахматный движок. Это прикладной пример использования искусственного интеллекта против традиционного программного алгоритма и определенно большой и качественный шаг в области изучения и совершенствования интеллектуальных машин.
Скачать Alpha Zero
Скачать движок Alpha Zero, как многие пытаются, у вас разумеется не получится. Это объясняется причинами, которые были объяснены выше. Однако разработчики из DeepMind представили общественности 10 партий из 100, сыгранных их детищем против Stockfish. Скачать их можно прямо с официального сайта компании.
В заключении, экспертное мнение международного гроссмейстера и комментатора Сергея Шипова о явлении AlphaZero шахматному миру с обзором партий против Stockfish:
Автор Никита Ланской
Источник: https://scientificrussia.ru/