Ходы записаны: как советская программа победила на чемпионате по шахматам и к чему это привело
Стокгольмский триумф
Вечером в четверг, 8 августа 1974 года, представители из восьми стран мира собрались в одном из лучших отелей Стокгольма, Birger Jarl, чтобы сыграть заключительную партию в международном чемпионате по шахматам и наградить победителя. Как и в случае с любым шахматным турниром, в зале царило напряжение и волнение. Но кое-что выбивалось из привычного для шахматистов формата: за столами сидели не гроссмейстеры, а ученые-информатики, а в зале стоял дикий шум.
Причин шума было несколько. Прежде всего отпечаток накладывал уровень развития вычислительной техники 1970-х годов. Привезти в Швецию 13 мэйнфреймов (гигантских вычислительных машин —предшественников современных компьютеров) не представлялось возможным. Запустить программы на технике, которая имелась в Швеции, тоже удалось не всем. Было решено предоставить ряду команд возможность использовать оборудование в собственных странах и передавать информацию о ходах по телефону. А поскольку связь оставляла желать лучшего, авторам программ ничего не оставалось, кроме как кричать в трубки.
«Пока программы думали над ходами, их авторы проводили весьма специфическую научную конференцию, ведь для многих это была первая встреча группы людей, подружившихся потом на долгие годы», — вспоминал позже ученый Михаил Донской, который представлял в Стокгольме советскую программу «Каисса». Именно она одержит победу по итогам четырех дней борьбы с разработками из США, Канады, Великобритании и других стран Европы. Последнюю партию «Каисса» выиграет с идеальным счетом 4:0.
Что было раньше
«Каисса» не первая советская программа в сфере компьютерных шахмат. По словам начальника управления экспериментальных систем машинного обучения департамента общих сервисов «Салют» Сбербанка Сергея Маркова, первые исследования в этих областях начались еще в 1940–1950-е годы, а к середине 1960-х годов СССР стал одним из признанных центров развития вычислительных технологий.
Например, в 1965 году в III Всесоюзном совещании по автоматическому управлению (технической кибернетике), несмотря на разгар холодной войны, участвовала весьма представительная делегация западных инженеров и ученых: от Уинстона Нельсона из Bell Labs до «отца ИИ» Джона Маккарти. Зарубежная делегация посетила Киев, где встретилась с академиком Глушковым и профессором Ивахненко — пионером глубоких нейронных сетей, а также с директором Киевского института автоматики Борисом Тимофеевым. Потом переместилась в Тбилиси, где грузинские ученые продемонстрировали американцам экспериментальную систему, способную распознавать произносимые вслух цифры, и робота с голосовым управлением. Затем нанесла визиты в Баку, Минск, Ленинград, Москву.
Спустя три года Джон Маккарти посетит Академгородок в Новосибирске, где проведет два месяца в качестве сотрудника Вычислительного центра. За время поездки Маккарти познакомится с известным математиком, «отцом» советского шахматного программирования Александром Кронродом.
Как рассказал «Правилам жизни» доктор технических наук, профессор, член-корреспондент РАН, директор по науке Smart Engines Владимир Арлазаров, непосредственно участвовавший в разработке «Каиссы», именно Александр Кронрод, который тогда возглавлял лабораторию в Институте теоретической и экспериментальной физики (ИТЭФ), дал старт работе над шахматными программами. Первую готовую программу группа ученых, работавших под его руководством, представила в 1967 году. Тогда-то Маккарти и узнал о советских усилиях в области шахматного программирования. Тогда же и родилась идея об организации первого международного матча: программа ИТЭФ против детища Маккарти.
Матч между программой ИТЭФ и американской программой, разработанной в Стэнфордском университете под началом Джона Маккарти, состоялся в 1967 году. Поскольку советские ученые могли заниматься шахматами лишь по ночам (в дневное время машины решали задачи для физиков), а результаты в то время передавались по телеграфу, матч из четырех партий растянулся почти на год. В конце концов советская программа победила американскую. И хотя эта победа имела чисто научное значение, она дала зеленый свет дальнейшим разработкам.
По сути, «Каисса» родилась как раз на базе программы ИТЭФ. Правда, создавали ее уже в другой лаборатории — в Институте проблем управления (ИПУ). Перейдя туда, ученые столкнулись с новой вычислительной машиной — английским аналогом IBM-360. Она была мощнее той, на которой специалисты работали в ИТЭФ, поэтому они начали переписывать свои шахматные наработки с учетом новых возможностей. Так к 1971 году появилась новая программа, которую позже назовут «Каиссой».
Успех советской «Каиссы» на чемпионате в Стокгольме объясняется многими, как бы сказали сегодня программисты, «фичами», которые на тот момент отсутствовали у конкурентов. Например, «Каисса» обладала способностью обдумывать собственные ходы параллельно с соперником — хитрость, которая позволяла перебрать большее количество вариантов.
Но главное, отмечает тренер-преподаватель Федерации шахмат Москвы Павел Гунин, при разработке «Каиссы» применялись более логические методы мышления. «Программа использовала не только метод перебора, самый простой и популярный, но и самый неэффективный и энергозатратный метод мышления у человека и у компьютера, — но и метод отсечения позиций», — говорит он. В практическом смысле это означает, что человек или компьютер способен отбросить вариант, который, исходя из расчета первых нескольких ходов, не имеет смысла. «Это огромнейшая экономия ресурсов», — подчеркивает эксперт.
«Интересно и то, что это был первый случай, когда в отечественной программе была применена библиотека дебютных ходов», — отмечает доцент факультета вычислительной математики и кибернетики МГУ имени М. В. Ломоносова Юлия Корухова. «Шахматный дебют — это первая фаза партии, которая позволяет с первых ходов вывести фигуры на выходные позиции, — поясняет она. — Хотя "Каисса" создавалась не на самой мощной машине, благодаря такой библиотеке дебютных ходов у нее была возможность интеллектуально начать партию, то есть найти подходящий ход». У «Каиссы» была крупнейшая среди всех участников чемпионата дебютная книга на 10 тыс. ходов.
Все эти новшества вскоре после чемпионата станут широко применяться в шахматном программировании, однако тогда они считались большим научным прорывом. Неслучайно в историю СССР события в Стокгольме войдут как первая крупная победа советского искусственного интеллекта на международной арене. Вручая золотую медаль советским разработчикам, британский медиамагнат Роберт Максвелл скажет: «Новаторская работа, проводимая этими немногочисленными преданными своему делу людьми и командами, обязательно приведет к лучшему пониманию того, как работает человеческий интеллект и как человек может лучше использовать компьютер во благо себе и общества».
Шахматы не ради шахмат
Создатели «Каиссы» не готовили программу специально к чемпионату. Шахматы в принципе никогда не были для них самоцелью. Ученые рассматривали шахматное программирование как одну из самых интересных задач искусственного интеллекта.
По словам Владимира Арлазарова, специалисты в ИТЭФ много работали над системами, которые умели играть в разные игры, от крестиков-ноликов до шахмат. «Вокруг игр постоянно роились разные алгоритмы хранения и обработки информации, — объясняет он. — В тех же шахматах они использовались для того, чтобы у программы имелось "место" для дебютной справочной, промежуточных позиций и тому подобного». Яркий пример — АВЛ-дерево, которое создавалось для того, чтобы можно было организовывать быстрый доступ к позициям игры, а сейчас есть во всех учебниках по программированию.
В конце концов ученые сосредоточились именно на шахматах, поскольку с их помощью можно четко определить, хорошо или плохо играет программа, где она делает ошибки, какой результат она показывает по сравнению с предыдущим матчем и много чего еще. К тому же у исследователей было твердое понимание, что в шахматной игре человек использует механизм перебора ходов, который применяется в подходе ко многим другим проблемам. Поэтому не было никаких сомнений в том, что умение правильно использовать перебор откроет путь к машинному решению многих логических задач.
В некотором смысле «Каисса» стала воплощением этих задумок. «Создатели "Каиссы" пытались научить компьютер хоть немножко думать по-человечески, — утверждает Павел Гунин. — Садясь за доску, человек имеет на выбор 20 ходов. Но все эти 20 он не просчитывает — он применяет определенные методы мышления, логики и математики для того, чтобы сделать свой выбор. Как раз таким человеческим вещам разработчики пытались научить вычислительные системы, чтобы те не просто считали абсолютно все варианты, а действовали более или менее логически».
«Дрозофила искусственного интеллекта»
Сам Александр Кронрод называл шахматы «дрозофилой искусственного интеллекта». Дрозофила — плодовая мушка, один из самых популярных организмов, использующихся в генетических исследованиях. Как и всякой экспериментальной науке, искусственному интеллекту нужна своя «мушка дрозофила» — модельный объект, на котором можно опробовать новые методы и подходы.
Позже, рассуждая об этой метафоре Кронрода, Джон Маккарти заметил, что, с одной стороны, шахматы совершенно очевидно не являются дрозофилой для всех областей искусственного интеллекта, но, с другой стороны, и дрозофила не является дрозофилой для всех исследований в области генетики.
«Во многих задачах настольные игры идеально подходят на роль дрозофилы искусственного интеллекта: мир настольной игры достаточно прост и основан на четких законах», — утверждает Сергей Марков.
«Создавая систему ИИ для игры, мы тем самым абстрагируемся от массы инженерных проблем, лежащих между ИИ и задачами реального мира, нам не нужно оперировать физическими объектами, достаточно лишь формального описания игрового положения в памяти компьютера и простых средств ввода-вывода», — поясняет он.
Игровой, игрушечный мир создан по подобию мира реального, подчеркивает эксперт. «Ребенок, познающий мир, нередко подступается к взрослым проблемам именно в упрощенной игровой форме, а навыки, полученные им в игре, нередко оказываются востребованы в будущем, — говорит эксперт. — Подобно тому, как мы в игровой форме обучаем своих детей взрослой жизни, мы используем игру и для создания первых прототипов систем искусственного интеллекта, приспособленных решать задачи реального мира».
Как подчеркивает Сергей Марков, именно на настольных играх обкатывались методы принятия стратегических решений, подходы классического искусственного интеллекта, основанные на системах правил, первые алгоритмы машинного обучения (здесь можно вспомнить и проект MENACE Дональда Мичи, и шашечную программу Артура Сэмюэла, и алгоритмы в Deep Blue и более поздних программах для шахмат и го), алгоритмы распознавания образов, обучение с подкреплением (например, в AlphaGo, AlphaZero и ее наследниках), мультиагентные методы и многие другие.
«Еще Гете говорил, что шахматы — это пробный камень человеческого ума, — отмечает Павел Гунин, — то есть вещь, при соприкосновении с которой выявляются свойства, качества другого объекта». «А затем вдруг выяснилось, что эта древнейшая и примитивнейшая игра с деревянной доской и деревянными фигурами как нельзя лучше подходит для решения некоторых математических и кибернетических задач, для тестирования и проверки мощностей электронно-вычислительных систем и возможностей искусственного интеллекта», — добавляет он. И заключает: «Оказалось, что шахматы — пробный камень не только человеческого, но и другого ума».
Игра окончена
Когда специалисты из области информатики только начинали работать над компьютерными шахматами, не было никакой уверенности в том, что компьютер сможет переиграть человека — во всяком случае в ближайшие годы. В августе 1968 года международный мастер Дэвид Леви заключил с Джоном Маккарти и рядом других ученых пари на $2,5 тыс., заявив, что ни один шахматный компьютер не обыграет его в ближайшие десять лет. Это произошло после того, как Джон Маккарти и Дональд Мичи предсказали, что компьютер победит чемпиона мира по шахматам в течение десятилетия. Дэвид Леви выиграл свое пари.
Со временем, однако, стало ясно: шахматные программы развиваются так стремительно, что человек в конце концов не сможет с ними соревноваться. Спустя 21 год после заключения Дэвидом Леви пари с учеными из Стэнфорда чемпион мира Гарри Каспаров проиграет суперкомпьютеру Deep Blue. Суперкомпьютер IBM войдет в историю как первая машина, сумевшая победить «белкового гроссмейстера.
«Матчи чемпиона мира по шахматам Гарри Каспарова с шахматным суперкомпьютером Deep Blue 1996-1997 годов показали, что машины могут играть на равных с людьми и побеждать их», — подчеркивает в разговоре с «Правилами жизни» Павел Гунин. Финальную же точку в противостоянии человека и машины поставил матч чемпиона мира по шахматам Владимира Крамника с программой Deep Fritz 2006 года, уверен он. «Это уже был не суперкомпьютер, не программно-аппаратный комплекс, а обычная рядовая компьютерная программа, которую мог совершенно свободно купить любой пользователь для своего домашнего ПК, — объясняет он. — На текущем историческом этапе все современные шахматные программы выигрывают у "белковых" шахматистов практически при любых условиях. Не суперкомпьютеры, не комплексы, а обычное программное обеспечение для обычных ПК». И добавляет: «И не только. Ян Непомнящий недавно говорил, что он проигрывает в шахматы собственному телефону».
Несмотря на весь свой потенциал, шахматы в конечном счете перестали играть роль научного материала для советских ученых-первопроходцев в области ИИ. В своем последнем интервью Михаил Донской заявил: «Для меня "искусственный интеллект" — это область сложных, неформализуемых задач. Шахматные программы перестали быть явлением из области искусственного интеллекта, как только они научились прилично играть».
Владимир Арлазаров приводит еще несколько причин, по которым советские исследователи потеряли интерес к работе над шахматными программами. Во-первых, к 1980-м годам отставание в вычислительных машинах в СССР было настолько серьезным, что соревноваться с Западом было просто бессмысленно. Уже на втором чемпионате мира в 1977 году в Торонто «Каисса» скатилась на второе-третье места; на третьем, в Линце в 1980-м, — на четвертое — седьмое места.
А во-вторых, шахматы, по словам ученого, перестали быть предметом научного общения. «Наука не строится на том, что кого-то надо обязательно одолеть и занять призовое место. Потому и мы, и ученые из других стран ни от кого не скрывали, как устроены шахматные программы, — рассказал Владимир Арлазаров "Правилам жизни". — Этот процесс утаивания начался в 1980-е годы, когда шахматные программы стали коммерциализироваться, и уже стало не до обмена опытом и научными знаниями».
Вместе с тем их достижения не ушли в никуда, а заложили основу для будущих разработок, уверен Павел Гунин. «Если бы не было "Каиссы", если бы не было "Пионера", то не было бы ни "Рыбки" (Rybka) и Stockfish, ни AlphaZero и "Лилы" (Leela Chess Zero) — непобедимых для человека программ. Причем оба "Зиро" в шахматном плане знают только непосредственно правила игры и не имеют ни эндшпильных таблиц с тысячами позиций, ни дебютных справочников с миллионами вариантов, они просто играют и в процессе игры учатся», — говорит он. И заключает: «Люди научили компьютеры учиться — и теперь проигрывают им с вероятностью 100%, по крайней мере в шахматы».
Шахматы и сегодня продолжают быть модельным объектом для технологий искусственного интеллекта. «С помощью шахмат можно отслеживать современные тенденции в программировании, — утверждает Android-разработчик в компании Сhess King Артем Мостяев. — В первой шахматной программе проверяли подходы, как запрограммировать, как в памяти хранить, а сейчас на них можно тестировать, например, нейросети». Разработчик приводит в пример движок Stockfish, который благодаря зашитым в него нейронным сетям стал расти быстрее, чем рос до этого, со старыми подходами в программировании. «Шахматы — это удачная сфера применения для таких современных технологий», — уверен он.