Шахматные компьютеры и как они обыгрывают людей
Шахматы — игра с многовековой историей. Тысячелетиями по разные стороны доски садились люди самых разных сословий, как для развлечения, так и в качестве упражнения для ума. Полководцы и политики, художники и ученые обращали простой набор правил в спорт, становились лучше и лучше… Пока однажды создателей игры не одолели другие их творения. Компьютеры обратили шахматы в еще одну логическую задачу из многих. И хотя игра еще далека от того момента, когда машина сможет ее «решить», подобно крестикам-ноликам, люди уже сейчас не способны обыграть компьютер. Но почему?
Для начала давайте поймем, как вообще побеждают в шахматах. И нет, речь не об условиях победы, когда королю поставлены шах и мат. Речь обо всем игровом процессе. И в нем за победу отвечают множество факторов: память, внимательность, скорость мышления, умение просчитывать как свои решения, так и желания соперника. Все, от совокупной позиции пешек до безопасности короля, склоняет чаши игровых весов в ту или иную сторону.
Игровая партия в шахматах состоит из трех основных этапов: дебюта, миттельшпиля и эндшпиля, то есть начала, середины и завершения. Дебют — это этап игры, в котором игроки находятся на «исследованной территории». За столетия существования игры люди успели разыграть все возможные вариации первых нескольких ходов и выяснить, что в них стоит делать, а что — нет.
Однако довольно быстро игроки оказываются на неисследованной, неизученной позиции на доске. Да, тут всего 64 клетки, но варианты партий, которые можно составить из этого набора, исчисляются миллиардами. В этот момент начинается миттельшпиль, середина игры, свободное плавание двух умов. Здесь уже нельзя рассчитывать на память, на то, как хорошо ты помнишь дебют. Необходимо использовать другие навыки: внимательность, понимание позиции, ее слабых и сильных мест как со своей стороны, так и стороны оппонента.
Наконец, если шах и мат не наступили по чьей-либо ошибке в середине игры, партия достигает этапа эндшпиля, конца. На столе остается совсем мало фигур, и их расположение и соотношение, по сути, становятся «вердиктом» игры. Качество фигур и количество пешек, их расположение, безопасность короля — все это влияет на итоговые шансы одного из игроков победить. В какой-то момент фигур остается так мало, что мы снова возвращаемся на «изведанную территорию», где при идеальной игре мы точно можем судить, что перед нами — ничья или победа одной из сторон.
Люди побеждают в шахматах благодаря памяти, внимательности, хорошему расчету и отточенной технике. Разыгрывая тот или иной дебют, игрок должен осознавать, какие фигуры у него оказываются в сильной позиции, а какие — в слабой, и исходя из этого уже развивать свои преимущества, не позволяя делать это оппоненту. В человеческом подходе к игре в шахматы много теории и абстракции — «сильные и слабые клетки», «естественное положение фигуры», «идея дебюта и его развитие».
Компьютер не знает теории. Он может механически запомнить положение фигур в дебюте, не понимая, в чем общая идея и каков план на игру. В этом, вероятно, основное отличие машины от человека, когда речь заходит о шахматах. Компьютер видит лишь позицию в данный момент и просчитывает ход на заданное количество шагов вперед, не заботясь о том, как «в теории» он должен побеждать. Ему это и не нужно, потому что компьютер играет в шахматы иначе.
Если для человека способность просчитывать игру — важнейшее, но не единственное умение, то для компьютера это основной метод игры. В каждой позиции он уходит на определенную глубину, исследуя все возможные варианты позиций, и выбирает ту, которая, по его мнению, оптимальна. Лучшую позицию можно оценить по двум факторам: материалу (количеству фигур и пешек) и позиционному преимуществу (безопасности короля, координации фигур).
Главная сложность в создании шахматного компьютера — реализация эффективного алгоритма перебора возможных ходов. Самый популярный — альфа-бета-отсечение, когда не рассматриваются позиции, имеющие меньшую оценку, чем уже оцененные. Так удается избежать перебора заведомо проигрышных позиций, хотя и здесь в зависимости от глубины оценки компьютер может ошибиться. Впрочем, с 1997 г., когда Deep Blue впервые смог обыграть тогдашнего чемпиона мира, компьютеры ошибаются все реже и реже. Сегодня уровень точности оценки позиции и скорость просчета ходов машины не дают человеку и шанса на выигрыш — разве что на ничью.
И даже при этом компьютеры не стоят на месте. С началом массового использования нейронных сетей изменился и подход к созданию шахматных движков. К грубому перебору добавилась оценка позиции на основе ИИ. В конце 2017 г. инженеры DeepMind выпустили движок, который потряс мир шахматных вычислений. AlphaZero был основан на фундаментально ином подходе к шахматным вычислениям. В то время как предыдущие движки полагались на поиск по деревьям и оценку позиций, AlphaZero для своего анализа полагался на глубокую нейронную сеть. В матче из 100 игр против сильнейшего на данный момент движка Stockfish AlphaZero выиграл 28 игр и сыграл вничью оставшиеся. Во многих отношениях AlphaZero стал прорывом не только для шахматных вычислений, но и для мира ИИ в целом.
Советский математик Александр Семенович Кронрод однажды определил роль компьютерных шахмат известной фразой: «Шахматы — это дрозофила искусственного интеллекта». Аналогия проста: шахматы — удобный объект исследований в сфере искусственного интеллекта, так же как мушка-дрозофила — удобный лабораторный объект для изучения наследственности. И это остается правдой и по сей день.
Источник фото: Randy Fath on Unsplash
Автор: Никита Ланской