Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич
Интерес к компьютерным шахматам развился у Михаила Моисеевича довольно рано. В 1958 г. по приглашению гроссмейстера Макса Эйве, пятого чемпиона мира по шахматам, Ботвинник посетил Нидерланды, где стал гостем телепередачи, посвящённой компьютерам и перспективам их применения. На вопрос Эйве «Будет ли машина играть в шахматы сильнее человека?» Ботвинник не задумываясь ответил: «Да!» [740], [741]
Эйве был не только блестящим шахматистом, но и специалистом в области компьютерных технологий. В 1956 г. он занял пост консультанта в нидерландском отделении компании Remington Rand — одного из ведущих разработчиков первых ЭВМ [742]. Тремя годами позже Эйве стал директором Исследовательского центра по автоматической обработке данных, а ещё через два года — главой созданной Евратомом [743] комиссии, изучавшей шахматный потенциал компьютеров [744].
Вспоминая в книге «От шахматиста к машине» телеинтервью 1958 г., Ботвинник писал: «Известно, что всё начинается от Евы… Но в моей творческой деятельности многое начиналось не от Евы, а от Эйве. Именно он осенью 1934 года выхлопотал приглашение на рождественский турнир в Гастингс — это был мой первый международный турнир. И вот теперь после вопроса Эйве я стал думать, как же обучить компьютер хорошо играть в шахматы?»
В ноябре 1960 г. с подачи директора XIV шахматной олимпиады Герберта Гретца Ботвинник прочитал лекцию в Университете Гумбольдта [745], которая позже была опубликована в советской прессе под названием «Люди и машины за шахматной доской» [746]. В начале 1960-х активно обсуждался вопрос о том, можно ли создать машину, способную играть в шахматы на гроссмейстерском уровне. Первые программы играли на уровне слабых любителей, и было неясно, что именно нужно сделать для того, чтобы преодолеть этот разрыв. Было ясно, что задачу нельзя решить при помощи полного перебора (пусть даже и с альфа-бета-отсечениями) — количество рассматриваемых вариантов нужно было сокращать самым радикальным образом. При этом было понятно, что подобное агрессивное сокращение дерева перебора возможно лишь ценой заведомо «некорректных», потенциально опасных отсечений. Именно такого рода ошибки допускают люди-шахматисты, упуская в своём анализе тот или иной важный вариант. Гроссмейстер, рассчитывающий комбинацию из двадцати полуходов, анализирует разве что несколько десятков позиций. Но это значит, что его анализ включает лишь порядка одной из 1028 возможных альтернатив. Лучшие шахматные программы начала 2010-х гг., несмотря на все достижения в области селективного перебора, рассматривали примерно в миллион раз больше позиций для достижения того же результата.
Впрочем, в этих сравнениях есть достаточно много условностей. Под рассмотрением шахматистом той или иной позиции в ходе расчёта вариантов мы понимаем только сознательное рассмотрение, дипломатично умалчивая о том, что часть анализа происходит и на бессознательном уровне. Если шахматист оценил последовательность из нескольких взятий на некотором поле, значит ли это, что он рассмотрел соответствующее число позиций? Так же и при подсчёте количества позиций, принятых в рассмотрение машиной, существует множество разночтений в способах такого подсчёта. В зависимости от принятых соглашений число вариантов, рассматриваемых машиной, можно уменьшить или увеличить на несколько порядков. Кроме того, в определённых ситуациях оценочная функция может успешно подменять собой рассмотрение конкретных вариантов. Оценочные функции шахматных программ второго поколения могли включать в себя, например, «правило квадрата» — простой геометрический принцип, позволяющий оценить, успевает ли король перехватить проходную пешку в пешечном эндшпиле. Тот же результат мог быть получен анализом конкретных вариантов, причём в ряде случаев этот анализ нужно было бы осуществить на достаточно большую глубину. То же самое можно сказать о таблицах окончаний: программа просто извлекает из базы точную оценку позиции без всякого перебора. Обладая некоторой фантазией, можно представить себе сложную оценочную функцию, позволяющую эффективно заменить перебор вариантов. Например, в современных программах оценочная функция может ценить сильную атаку на короля или сильные проходные пешки куда выше, чем несколько лишних пешек или даже лишнюю фигуру, благодаря чему программа способна без глубокого перебора принять решение об осуществлении вполне «талевской жертвы» (Михаил Таль, восьмой чемпион мира по шахматам, любил острую игру и часто осуществлял некорректные жертвы. Однако при этом Таль часто побеждал, потому что противнику при ограниченном временном контроле и волнении опровергнуть такую жертву было непросто. Тогда говорили: «У соперников Таля всегда находится выигрыш, причём всегда… лишь в анализе после партии!»). Сам Таль относился к этому с присущим ему юмором: «Есть два вида жертв: корректные и мои!» [747] Также программы второго поколения могли включать в рассмотрение довольно длинные цепочки «форсированных» ходов, например шахов, взятий, превращений пешек и так далее. Поэтому даже программа ИТЭФ вполне могла найти сравнительно длинную выигрывающую комбинацию при глубине перебора всего в три полухода, если, например, после трёх «тихих» ходов следовала цепочка из десяти форсированных [748].
Однако Ботвинник был сторонником более решительного подхода. Будучи шахматным профессионалом высочайшего уровня, он был убеждён в том, что сможет изложить методы, применяемые шахматными мастерами, в виде соответствующих алгоритмов. Однако уже после первых шагов, сделанных в этом направлении, Ботвинник натолкнулся на целый ряд сложностей. Одной из первых его идей стало выделение «главного участка боя» (ГУБ) — множества фигур и полей, на которых идёт игра. Эту идею Ботвинник изложил Баширу Рамееву, главному конструктору ЭВМ «Урал», и в ответ на свои соображения получил убийственный вопрос: «А как вы будете определять этот самый ГУБ?»
Несмотря на первое разочарование, Ботвинник не был намерен сдаваться — предмет исследований решительно увлёк его. Ознакомившись с принципами работы ранних шахматных программ, он выдвинул ряд нетривиальных идей. Первой стало замечание о том, что шахматные программы ведут перебор вариантов, не имеющих определённой цели. Программа обрывает перебор варианта механически, достигая его максимальной длины, в то время как анализ варианта шахматным мастером обычно завершается позицией, в которой была достигнута или не достигнута изначально сформулированная промежуточная цель. В качестве такой промежуточной цели Ботвинник предлагал использовать выигрыш материала (т. е. фигур или пешек). Соответственно, идея в общих чертах заключалась в том, чтобы анализировать варианты, представляющие собой траектории перемещения атакующих фигур и «фигур-мишеней».
В 1965 г. во время визита в Москву Клода Шеннона, ставшего к тому времени знаменитостью среди советских математиков, Ботвинник встретился с американским учёным и сыграл с ним партию в шахматы [749]. Переводчиком на этой встрече был Лотфи Заде — американский математик и логик азербайджанского происхождения, автор термина «нечёткая логика» и один из основателей теории нечётких множеств. Москва 1965-го была полна американских информатиков.
Рис. 71. Встреча Шеннона (за шахматной доской слева) и Ботвинника (за шахматной доской справа), 1965 г.