Правила го довольно просты, но в процессе игры сложность нарастает. Совершая ход, игрок помещает камень своего цвета (черный или белый) на доску размером 19 x 19 клеток. Правила регламентируют, куда можно помещать камни и как захватывать камни противника. В отличие от шахмат, где пешки, слоны, ферзи и другие фигуры имеют иерархию, все камни го равноценны. Обдумывая ход, игрок должен быстро анализировать конфигурацию камней на доске.
Создание программы для успешной игры в го занимало специалистов по ИИ с самого зарождения отрасли. Сложность го, однако, делала эту задачу на удивление трудновыполнимой. В 1997 году, когда Deep Blue
обыграла Каспарова, средние гоисты по-прежнему легко обыгрывали лучшие программы. Как вы помните, Deep Blue просчитывала значительное количество ходов с любой позиции, а затем применяла свою оценочную функцию, чтобы оценить будущие позиции, причем каждая оценка в этом случае прогнозировала, приведет ли конкретная позиция к победе. Программам го такая стратегия недоступна по двум причинам. Во-первых, размер дерева упреждающего просмотра в го значительно больше, чем в шахматах. Если шахматист выбирает в среднем из 35 возможных ходов для каждой позиции, игрок в го имеет в среднем 250 возможных ходов. Даже при наличии специального аппаратного обеспечения метод перебора, который использовала Deep Blue, не применим к дереву игры в го. Во-вторых, никто еще не создал хорошую оценочную функцию для позиций го. Иными словами, никто пока не сумел составить успешную формулу, которая анализирует позицию в го и прогнозирует, кто победит в игре. Лучшие игроки в го полагаются на свои навыки распознавания паттернов и необъяснимую интуицию.Исследователи ИИ пока не поняли, как закодировать интуицию в оценочную функцию. Именно поэтому в 1997 году – в тот же год, когда Deep Blue
обыграла Каспарова, – журналист Джордж Джонсон написал в The New York Times: “Когда или если компьютер одержит победу над чемпионом по го, это станет знаком, что искусственный интеллект действительно начинает приближаться к настоящему”[203]. Звучит знакомо – то же самое раньше говорили о шахматах! Джонсон процитировал прогноз одного энтузиаста го: “Возможно, пройдет сто лет, прежде чем компьютер победит человека в го, а возможно, и того больше”. Всего через двадцать лет AlphaGo, которая научилась играть в го с помощью глубокого Q-обучения, одержала победу над Ли Седолем в матче из пяти партий.AlphaGo против Ли Седоля
Прежде чем я объясню, как работает AlphaGo
, давайте вспомним ее блестящую победу над Ли Седолем, одним из лучших гоистов в мире. Даже увидев, как полугодом ранее AlphaGo обыграла чемпиона Европы Фана Хуэя, Ли не усомнился в своей победе: “Думаю, уровень [AlphaGo] не сравнить с моим… Конечно, в последние четыре-пять месяцев программу сильно усовершенствовали, но этого времени недостаточно, чтобы бросить мне вызов”[204].Возможно, вы были среди более двухсот миллионов человек, которые в марте 2016 года посмотрели хотя бы фрагмент матча в прямом эфире. Уверена, такой аудитории не собирала ни одна партия в го за все двадцать пять веков ее истории. После первой партии вы, возможно, разделяли чувства потерпевшего поражение Ли: “Признаюсь, я поражен… Я не ожидал, что AlphaGo
будет играть безупречно”[205].“Безупречная” игра AlphaGo
включала множество ходов, которые удивляли и восхищали комментаторов матча. В разгар второй партии AlphaGo сделала ход, который ошеломил даже лучших экспертов по игре. В Wired писали:Сначала Фан Хуэй [вышеупомянутый чемпион Европы по го] счел этот ход довольно странным. Но затем он разглядел его красоту. “Это не человеческий ход. Я никогда не видел, чтобы человек походил таким образом, – говорит он. – Это очень красиво”. Он не перестает повторять это слово. Красиво. Красиво. Красиво… “Это очень неожиданный ход”, – сказал один из англоязычных комментаторов, также весьма талантливый игрок в го. Другой, усмехнувшись, признался: “Я решил, что это ошибка”. Но, пожалуй, сильнее всех удивился Ли Седоль, который поднялся и вышел из зала. “Ему пришлось выйти, чтобы освежиться и взять себя в руки”, – сказал первый комментатор[206]
.