Владимир Арлазаров: «Игры помогли нам понять, как человек решает трудные логические задачи»
Математическая лаборатория ИТЭФ
Институт теоретической и экспериментальной физики (ИТЭФ), в который мы попали мальчишками, только окончившими университет, принадлежал довольно закрытому Министерству среднего машиностроения Министерство среднего машиностроения отвечало за управление атомной промышленностью, занимавшейся производством ядерных боезарядов.. Там были котлы, ускорители — серьезная атомная техника, а наша математическая лаборатория должна была заниматься поддержкой исследований, которые проводились в институте, помогать решать физические задачи на компьютерах. Но директор ИТЭФ академик Алиханов Абрам Исаакович Алиханов (1904–1970) — физик, один из создателей атомной бомбы, основатель ИТЭФ., человек чрезвычайно широких взглядов, настоящий интеллигент высшей пробы, прекрасно понимал — если он хочет, чтобы у него в институте работал хороший математический коллектив, надо дать этому коллективу возможность заниматься не только программированием для физиков. Алиханов широко смотрел на наши задачи, и мы этим пользовались.
Мой учитель Александр Семенович Кронрод Александр Семенович Кронрод (1921–1986) — математик, педагог, один из первых советских программистов., который возглавлял нашу лабораторию, был очень известным математиком, но в
Александр Семенович был фанатом искусственного интеллекта, а игры он называл нашей мухой дрозофилой — тем материалом, на котором можно проверять теории, изучать, как происходит перебор вариантов и как принимаются решения. Мы писали программы для разных игр — от крестиков-ноликов до преферанса, но самыми интересными с научной точки зрения для нас оказались шахматы. Это сложная игра, в которую люди играют далеко не идеально, и мы хотели создать программу, которая решала бы эту задачу.
Первый матч с американцами
Для нас игры были научным экспериментом, а написанная нами программа — результатом этого эксперимента. Его мы обсуждали с коллегами, в том числе с Джоном Маккарти Джон Маккарти (1927–2011) — основоположник функционального программирования, автор термина «искусственный интеллект». — он много раз приезжал в Москву, и в один из его приездов мы договорились провести матч между нашей шахматной программой и программой, сделанной под его руководством в Стэнфордском университете. Конечно, мы получили соответствующее разрешение: все-таки институт был совершенно закрытый, он же относился к атомной промышленности.
Матч состоялся в 1967 году. Мы работали на машине М-20, довольно медленной даже по тем временам. У нас было два варианта программы: один простенький, а другой чуть посерьезнее — и в этом варианте машина считала один ход несколько часов. Днем машина была загружена задачами физиков, и выделить несколько часов даже на один ход мы не могли, так что все считалось ночью. Один ход — одна ночь, иногда две ночи. Мы передавали по телеграфу результат, потом ждали, пока нам придет ответ — обычно он приходил через пару дней, — потом опять запускали на пару ночей программу. Неудивительно, что матч из четырех партий растянулся почти на год. Никто никуда не торопился. К тому же у нас были другие дела — и у Маккарти, конечно, тоже.
Этот матч имел чисто научное значение. Политики вокруг него не было. Мы не рассматривали матч как противостояние СССР и США, и уж тем более так не считал Маккарти. Победа не была принципиальной — главное, чтобы дальше в исследованиях можно было опираться на результат и наука двигалась вперед. Конечно, когда мы победили со счетом 3:1, мы постарались поднять нашу победу на правильную высоту, чтобы нам дали работать в этом направлении дальше. Да и американцы извлекли пользу из своего поражения — даже еще большую, чем мы. Они сообщили своему начальству, что есть область, где США отстают от СССР, и им позарез нужно дополнительное финансирование, чтобы это исправить.
Лаборатория в Институте проблем управления
В 1968 году мы были вынуждены уйти из ИТЭФ — вот это была уже политика. Александр Кронрод подписал письмо в защиту Александра Есенина-Вольпина В 1968 году ряд математиков подписали открытое письмо (также известное как «Письмо девяноста девяти») в защиту своего коллеги Александра Есенина-Вольпина, который из-за своей диссидентской деятельности был принудительно отправлен в психиатрическую больницу., его поддержал еще один член нашей команды — Георгий Адельсон-Вельский Георгий Адельсон-Вельский (1922–2014) — математик, специалист в области искусственного интеллекта. Вместе с Евгением Ландисом придумал структуру данных в виде сбалансированных АВЛ-деревьев.. Письмо имело огромный резонанс, Кронрода сняли с заведования лабораторией, меня тоже сняли: я был главным инженером. Мы всей лабораторией ушли из ИТЭФ и пристроились в Институт автоматики и телемеханики (ИАТ). Его возглавлял Вадим Александрович Трапезников — академик, зампредседателя Государственного комитета по науке и технике. Этот комитет был довольно мощной организацией, гораздо выше по уровню, чем нынешнее Министерство науки, потому что он курировал науку не в одном, а во всех министерствах. Трапезникову нравились вычислительные машины, а еще больше они нравились его замам, которые его уговорили нас взять. К сожалению, когда стало известно, что в ИАТ должен с нами перейти Кронрод, этому воспротивились прямо на уровне Московского городского комитета партии, и начальство ИАТ получило по шапке. Надо отдать им должное, нас они не разогнали, но Кронрода взять все же не смогли. Вот так мы остались без своего главы. И уже больше никогда официально нам вместе работать не удавалось.
В Институте автоматики и телемеханики, который вскоре переименовали в Институт проблем управления (ИПУ), постепенно образовалась лаборатория, а потом даже две, где мы занимались автоматизацией. И так же, как в ИТЭФ, никто нам не мешал работать над шахматными программами. Директор только ворчал иногда: «Ну а вот вы, Владимир Львович, скажите, сколько процентов вашей лаборатории занимается автоматизацией, а сколько шахматами?» Но и помогать нам особо не помогали, разве что с загранкомандировками. Даже когда мы побеждали, директор этому особо не радовался.
Машины М-20 и ICL 4-70
Что же изменилось в нашей шахматной программе с переходом в ИАТ? Машина была другая. В ИТЭФ мы работали на наших советских машинах М-20 — тогда это была довольно неплохая машина, но развития она не получила.
У М-20 вообще не было никакой автоматизации. Был только Алгол Алгол (англ. Algol, от algorithmic language) — один из первых языков программирования высокого уровня. Был популярен в Европе, в том числе в СССР, и как язык практического программирования, и как академический язык., совсем не приспособленный для задач, которые мы решали. Поэтому мы работали прямо в машинных кодах и сами придумывали для наших команд систему автоматизации. Так уже давно не работают. Никто, кроме инженеров, которые делают машины, и не знает этих команд.
Сейчас очень строгие требования к тому, как должны называться программы, как они должны быть написаны, — разработаны технологии, стандарты. А тогда это была ручная работа, чистое творчество, и мы называли программы и блоки так, как нам приходило в голову. Были даже
В ИПУ нам досталась английская машина ICL 4-70. Она была довольно мощная, а главное, всегда под рукой: в то время живая связь с машиной была важным элементом работы. У ICL 4-70 были уже свои системы автоматизации. Например, была такая система автоматизации низкого уровня, мы их и сейчас довольно часто используем — называется ассемблер, или автокод, автоматический кодировщик. Она была общая с IBM, и нам это пригодилось, когда в 1977 году мы поехали в Канаду на второй чемпионат мира по компьютерным шахматам. Нам не пришлось ничего переписывать под их машины, мы легко перетранслировали наши программы и смогли запустить их за три недели.
С машиной ICL 4-70 нам повезло. В начале 70-х в Советском Союзе запустили единую серию ЭВМ (ЕС ЭВМ), в рамках которой было сделано множество машин, скопированных с американских Подробнее о ЕС ЭВМ — в материале «История кибернетики в 10 предметах».. Собственно говоря, вместе с этой программой начался закат советской вычислительной техники. Не потому, что получившиеся ЭВМ были плохими, а потому что, когда копируешь, это минимум десять лет отставания, а при наших реалиях — все пятнадцать. ЕС ЭВМ выпускались, пока в конце 80-х годов не разрешили покупать заграничные компьютеры. После этого, я думаю, уже больше никто ни одной советской машины не купил, потому что они все были абсолютнейшим старьем.
Матчи с читателями
В 1972 году наша шахматная программа, перенесенная на ICL 4-70, получила имя «Каисса» Каисса — героиня одноименной поэмы Уильяма Джонса (1763). По сюжету бог войны Марс, пленившись красотой дриады Каиссы, смог добиться ее взаимности лишь благодаря тому, что изобрел шахматы. и сыграла с читателями «Комсомольской правды». Про эту игру многие слышали, но она не была первой. Первая игра была с читателями газеты «Уральский рабочий». У меня до сих пор стоит кусок камня, который они нам подарили в качестве сувенира.
Устроены обе игры были одинаково и продолжались очень долго: на ход уходила примерно неделя. Не только из-за возможностей машины: газеты публиковали ход, диаграммку, потом ждали, пока читатели им напишут письма со своими предложениями, и только потом уже нам передавали ход.
У «Уральского рабочего» наша программа выиграла, а «Комсомольской правде» проиграла, но для нас результат был не принципиален. Мы не считали эти матчи соревнованием или развлечением — мы анализировали, что происходит во время игры, как программа перебирает варианты. Играть нам самим с машиной было безумно скучно. Да и неправильно:
Зато в нашей компьютерной программе была дебютная справочная. Правда, небольшая: не надо забывать, что у машин, особенно тех, на которых мы играли вначале, были просто смешные цифры памяти. Вот, скажем, у М-20 было
Шахматисты и ЭВМ
Наши победы не были шахматными, это были чисто научные эксперименты. Это понимали даже в высших инстанциях. Тем не менее с шахматистами мы общались. С Михаилом Ботвинником Михаил Моисеевич Ботвинник (1911–1995) — шахматист, первый советский чемпион мира по шахматам., хотя он и был на 28 лет меня старше, мы дружили. И даже обсуждали, не поработать ли нам вместе. Но он был очень непростым человеком и очень упрямым. И к тому же плохо слышал других. Работать с ним было тяжело, у нас ничего не получилось. А отношения остались хорошими.
У Ботвинника было много идей, он даже потом написал книгу «Алгоритм игры в шахматы». Впоследствии Ботвиннику дали двух талантливых программистов, с которыми он начал делать программу «Пионер», но до того, чтобы она смогла играть, так дело и не дошло.
Дружили мы и с другими шахматистами. На одном из турниров (кажется,
Вообще-то мы занимались эндшпилями довольно плотно, и в этой области были успехи. Сначала ферзевый, потом ладейный — это были первые программы-эндшпили, сделанные математически точно. Они не были связаны с нашей шахматной программой и написаны были по абсолютно другому принципу. Опять же, для нас это была не столько шахматная задача, сколько научная.
Ладейный эндшпиль мы сделали на спор. В СССР приехал английский шахматный мастер Дэвид Леви́ Дэвид Леви́ (род. 1945) — шотландский шахматист, международный мастер, арбитр и популяризатор компьютерных шахмат.. Он очень увлекался машинными шахматами, и мы с ним поспорили, что сделаем за год программу для ладейного эндшпиля с одной пешкой У белых — король, ладья и пешка, а у черных — король и ладья. и эта программа сможет его обыграть. Мы выиграли — я уже точно не помню, на что спорили, но, кажется, на двенадцать бутылок шотландского виски.
Чтобы проверить программу перед игрой с Леви, мы позвали гроссмейстера Юрия Авербаха Юрий Львович Авербах (род. 1922) — шахматист, чемпион СССР. Автор классических работ о шахматных окончаниях (эндшпилях)., он считался большим специалистом по эндшпилям. Дело в том, что в нашей команде хорошо играл в шахматы только один человек — Александр Битман Александр Рафаилович Битман (1939–2013) — шахматист, мастер спорта СССР. Один из авторов книги «Машина играет в шахматы» (вместе с Владимиром Арлазаровым, Георгием Адельсоном-Вельским и Михаилом Донским), которая вышла в 1983 году.. Он был мастером спорта. Я играл так себе, любительски, хотя даже был в
Чемпионаты мира
Первый чемпионат мира по шахматам среди компьютерных программ состоялся в 1974 году в Стокгольме. Привезти туда нашу машину не было никакой возможности, все-таки она занимала 150 квадратных метров, так что в Стокгольм поехал один из участников нашей команды, Миша Донской Михаил Владимирович Донской (1948–2009) — математик и программист., и оттуда по телефону передавал нам в Москву ходы. Мы с другими разработчиками программы, Анатолием Усковым и Александром Животовским, загружали их в машину, она считала, мы передавали результат обратно. К нам в ИПУ отрядили представителя IFIP (Международной федерации по обработке информации) в качестве наблюдателя, но еще раз повторю: до определенного момента, примерно до 1977 года, никто не воспринимал эти матчи как соревнование, это был научный эксперимент, так что проверками особенно не заморачивались. Мы заняли на чемпионате мира первое место по очкам, а американская программа Chess 4.0 — второе, но с ней мы на чемпионате так и не сразились Матч проходил по швейцарской системе проведения турниров — без выбывания; в каждом туре, начиная со второго, встречаются команды, набравшие равное количество очков. Некоторые команды могут на турнире так и не встретиться.. Зато сразу после него сыграли товарищескую партию — вничью. Притом что у американцев машины были намного мощнее. Но голь на выдумки хитра: еще во время чемпионата я предложил использовать для вычислений и время, отведенное на ход противника. Это было абсолютно логичное решение, ведь человек тоже думает, пока ждет. Но первым эта идея пришла в голову именно нам.
Мы, конечно, очень гордились своей победой и уговорили директора ИПУ Трапезникова написать статью в «Правду». Так что резонанс победа «Каиссы» все-таки получила. Но отношение к нашим занятиям не изменилось. Председателем комиссий, которые давали разрешение на наше участие в чемпионатах и конференциях, был академик Дородницын Анатолий Алексеевич Дородницын (1910–1994) — математик, геофизик и механик. Один из основателей и первый директор Вычислительного центра АН СССР.. Он шахматы просто терпеть не мог. И не скрывал этого. Каждый раз мне приходилось его уговаривать.
Чемпионаты мира мы больше не выигрывали: наша машина ICL 4-70 становилась все старше, а машины противников — все мощнее. На втором чемпионате мира в 1977 году в Торонто «Каисса» заняла 2–3-е места; на третьем, в Линце в 1980-м, — 4–7-е места. Да и мы уже теряли интерес к шахматам. Не потому, что проигрывали: мы столько в разных местах проигрываем и все равно с интересом работаем. А потому, что шахматы перестали быть предметом научного общения. К концу 70-х шахматные программы начали коммерциализироваться, и разговоры про то, как они устроены, практически прекратились. Каждый стал в уголке
Наука ведь как устроена? Ты
Не просто игры
Нас всегда интересовали задачи, которые считаются для человека трудными. Не вычислительные: про них с самого начала было понятно, что человек их решает хуже машины. Нашей целью были и остаются логические задачи. И когда нам удается написать для них программу, мы помогаем науке осмыслить, как их решает человек. Вся игровая деятельность — не только шахматы — помогла нам продвинуться в этом направлении. Но потом шахматы перестали быть задачей искусственного интеллекта: из компьютерных шахмат мы больше уже ничего не можем узнать про человеческое мышление по той простой причине, что машина здесь нас уже перегнала. Так что мы стали заниматься совсем другими задачами, но все равно вокруг того, что теперь называется искусственным интеллектом, — задачами, которые машина пока решает хуже человека.
Много разных научных идей и огромное количество технологий программирования появилось во время разработки систем управления базами данных (СУБД). Наша СУБД ИНЕС, которой мы занимались с конца 70-х, — это, наверное, самая крупная чисто отечественная разработка в матобеспечении, мы за нее даже получили государственные премии.
За годы работы в ИПУ чем мы только не занимались. Например, в 1973 году получили задание автоматизировать цех слябинга Слябинг — металлургический стан горячей прокатки, который превращает большие слитки в плоские заготовки — слябы. Они, в свою очередь, обрабатываются для листового и сортового проката. на заводе «Запорожсталь». Нам подсунули «Урал-14», машину 60-х годов (она в 1973 году уже была старьем). И нам нужно было с ее помощью автоматизировать систему, которая обслуживала датчики управления в оперативном режиме. «Урал-14» был абсолютно к этому не приспособлен, поэтому мы выкинули все программы, которые в нем были, взяли просто чистую железяку и сделали работающую программу, которая автоматизировала целый цех. Все замечательно работало. А году в 1989-м я читал лекцию на курсах повышения квалификации и привел