Памяти Андрея Петровича Ершова
[1]
Б. А. Трахтенброт
Начну с двух цитат из моей статьи [1].
Цитата 1 (с первой страницы). «Главным образом, это история того, как мои интересы переместились от классической (математической) логики и вычислимости к информатике[2], а в особенности — к автоматам и сложности вычислений. В этих воспоминаниях я в основном пытался рассказать о научной, идеологической и человеческой обстановке тех лет (приблизительно 1945—1967)».
Цитата 2 (с предпоследней страницы). «Однако пришло время для новой тематики, подсказанной развитием в области семантики, верификации, лямбда-исчисления и схематологии. Но это уже другая история!»
Эту историю я еще не рассказывал. Она тесно затрагивает также мои отношения с Андреем Петровичем Ершовым, которые развивались на протяжении тех 20 лет, которые мы прожили в Академгородке. На самом деле она распространяется и на отношения между многими студентами и сотрудниками обеих сторон. Нашему сближению способствовал рост моего интереса к тем вопросам теоретического программирования, которыми занимался Андрей Петрович. Это происходило в контексте академических и политических дебатов, формировавших направление исследований по информатике в СССР. Мне очень помогли позиция Андрея Петровича по этим вопросам и его активное сотрудничество с ведущими зарубежными научными центрами. Ниже я ограничусь лишь обрывочными воспоминаниями на эту тему. С этой целью я начну (раздел «Начало») с нашего знакомства и его краткой предыстории, а продолжу (раздел «Центробежные тенденции») рассказом о некоторых событиях в кибернетическом сообществе. К сожалению, их не обошли стороной разногласия и недружелюбные столкновения интересов. Затем (в разделе «Сближение») я остановлюсь на более подробном описании того благотворного влияния, которое оказали на наши взаимоотношения позиция и деятельность Андрея Петровича.
1. Начало
В 1960 г. я поступил на работу в отдел кибернетики новосибирского Института математики, возглавляемого Сергеем Львовичем Соболевым. Этот отдел был создан по инициативе Алексея Андреевича Ляпунова, который переехал в Академгородок позже — в 1962 г. О своей глубокой привязанности к Алексею Андреевичу и о его влиянии
(с 1946 г.) на мою математическую карьеру я писал в статье [2]. С начала 50-х г. Алексей Андреевич и Сергей Всеволодович Яблонский[3] с энтузиазмом проводили и поощряли исследования под общей рубрикой «теоретическая кибернетика». В частности, туда входили теория переключательных схем, автоматы, теория программирования и лингвистика. Некоторые из ранних «теоретических кибернетиков», включая меня, начинали с образованием и опытом исследований в области математической логики, вычислимости и даже дескриптивной теории множеств (первоначальной страсти Алексея Андреевича). Информатику мы воспринимали как разновидность прикладной логики.
Связь с логикой была очевидной и на Всесоюзном математическом конгрессе (Москва, 1956 г.), где теоретическая кибернетика была включена в секцию математической логики. В частности, именно там прозвучал доклад А. П. Ершова, С. С. Камынина и Э. З. Любимского «Автоматизация программирования»[4].
Еще до приезда в Академгородок я узнал от Алексея Андреевича о его студентах по теории программирования (в особенности — о Ершове и Римме Ивановне Подловченко).
В частности, мне уже было известно об интересных результатах Андрея Петровича в исследовании операторных алгоритмов. Знал я и о его интересе к логике и теории вычислимости и о его компетентности в этих областях. Это проявилось в его ранних работах и впоследствии пригодилось ему в исследованиях по смешанным вычислениям, абстрактной вычислимости и др.
Когда я приехал в Академгородок, Андрей Петрович уже был там и заведовал лабораторией, занимавшейся очень важными работами по системному программированию. Там же я встретил своих старых коллег и друзей Александра Александровича Зыкова[5] и Алексея Всеволодовича Гладкого[6]; оба они, как и мы с Яблонским, начинали когда-то с занятий математической логикой в аспирантуре у Петра Сергеевича Новикова.
Значительную часть отдела кибернетики составляли выходцы с первых московских семинаров Яблонского и Олега Борисовича Лупанова. Новосибирская группа по дискретному анализу работала в тесном сотрудничестве с группой, оставшейся в Москве под руководством Яблонского. В практическом смысле две эти группы продолжали составлять единую научную школу.
2. Центробежные тенденции
У Алексея Андреевича была идея организовать в Институте математики единый центр, где были бы собраны воедино все исследования по теоретической кибернетике, включая программирование. Однако ее реализации воспрепятствовали существующие разногласия в определении кибернетики, ее основных направлений и отношения этих направлений к «настоящей» математике.
Отделение Вычислительного центра. Когда в 1964 г. Г. И. Марчук основал Вычислительный центр СО АН, Ершов решил переместить туда из Института математики свою лабораторию. Первоначально Ляпунов казался разочарованным этим решением Андрея Петровича, которое к тому же отражало некоторые разногласия между ними относительно значения языков программирования высокого уровня. Однако они сохранили хорошие отношения и продолжали сотрудничать (см. их совместную работу о формализации понятия программы[7]).
Появление независимого Вычислительного центра во многом способствовало стремительному развитию теории и практики программирования. Андрей Петрович стал лидером программирования в СССР; в конечном счете, он был избран председателем Научного совета по кибернетике при Академии наук.
Дальнейшая перегруппировка. Процесс самоидентификации различных исследовательских групп привел к дальнейшему расщеплению и перегруппировкам среди «кибернетиков», остававшихся в Институте математики. Зыков организовал свой собственный семинар по теории графов, откуда вышла сильная группа исследователей в этой области. Гладкий занялся исследованиями по математической лингвистике — сначала в отделе алгебры и математической логики, возглавляемом Анатолием Ивановичем Мальцевым. Сам же я продолжал работать в области логики и автоматов. Затем я начал исследования по сложности вычислений, продолжая тесные связи с семинаром «Алгебра и логика». Позднее мы с А. В. Гладким совместными усилиями организовали собственный семинар «Алгоритмы и автоматы», послуживший основой для нашего нового отдела автоматов и математической лингвистики.
Со временем стало ясно, что у нас как-то не складываются отношения с институтскими логиками и дискретными математиками. В этой ситуации все большее значение приобретало идеологическое и практическое сближение с Ершовым и его отделом.
Отношения с логиками. Мои сотрудники, студенты и я сам активно участвовали в мальцевском семинаре «Алгебра и логика», докладывая на нем результаты по теории вычислимости, формальным языкам и т. п. (эти результаты впоследствии публиковались в одноименном журнале). Тем не менее, с самого начала как в Институте математики, так и в университете, мы числились при отделе кибернетики.
Наше сотрудничество с отделом Мальцева осложнялось весьма прохладными отношениями, сложившимися между ним и А. А. Ляпуновым.
В 1966—1967 г. Анатолий Иванович решил организовать новый отдельный Институт алгебры и дискретной математики. По его плану, обсуждавшемуся на специальном заседании Ученого совета Института математики, новый институт должен был включать в себя также отделы теории автоматов и математической лингвистики. В то время я возглавлял исследования в этой области, однако Анатолий Иванович меня не пригласил участвовать в этом проекте. В институте это не осталось незамеченным. Для меня лично это обстоятельство не было вдохновляющим.
Так или иначе, тогда это предложение поддержки не получило, а после смерти Мальцева в 1967 г. к его рассмотрению больше не возвращались.
Уход Ляпунова. В 1970 г. Ляпунов и сам покинул Институт математики и перешел с частью отдела кибернетики в Институт гидродинамики.
Отношения с дискретными математиками. Многие из них, вслед за Яблонским, были категоричны в своем мнении, утверждая, что работа Яблонского 1959 г. была подлинным доказательством гипотезы перебора. Я принадлежал к числу критически относившихся к этим заявлениям и опирался в своих аргументах на теорию сложности (см. статью [3]). К сожалению, чисто академическая полемика переросла в опасную ситуацию. Этому способствовал и моральный климат в тогдашнем советском математическом сообществе, сказавшийся и на специалистах по информатике. В отделении математики Академии наук СССР Яблонский играл ощутимую роль во всех вопросах: контроле над конференциями, научными контактами с зарубежными странами, публикациями, в подтверждении и полуофициальном одобрении результатов, присвоении научных степеней. В дискретной математике он был полновластным судьей и нейтрализoвал даже такого математика, как Колмогоров.
Среди множества примеров:
Леонид Анатольевич Левин[8]. Его кандидатская диссертация была «зарезана» по политическим мотивам. По договоренности с А. Н. Колмогоровым я представил ее Совету по защитам нашего Института математики.
Михаил Иосифович Дегтярь[9]. Был моим аспирантом и многолетним сотрудником по теме «сложность вычислений». Его защите, возможно, помешали антисемитские настроения: его диссертация по теории сложности провалилась, но это решение впоследствии было пересмотрено после протестов видных математиков. В частности, А. Н. Колмогоров энергично поддерживал его работу на совете по защитам мехмата МГУ.
Я. M. Барздинь. Был моим аспирантом, а затем в течение года — докторантом у Колмогорова. Oн не разделял некоторые из научных предпочтений Яблонского. Много лет чинили препятствия в утверждении его докторской диссертации.
3. Сближение
Хочу отметить те обстоятельства, которые на неблагоприятном фоне (см. выше) содействовали моему сближению с А. П. Ершовым.
1. Дружеская атмосфера. Она была очень важна в те времена, когда конфликты и соперничество из академических институтов перетекали в сферу личных отношений. К счастью, они не затронули ни отдел программирования, ни университетскую кафедру, которыми руководил А. П. Ершов. Цитируя В. Е. Котова: «В годы застоя А. П. сумел создать вокруг себя “свободную зону”, в которой преобладала здоровая политическая и человеческая атмосфера, полностью отличная от той, что была вовне; это очень облегчало нашу жизнь и работу».
2. Общие научные и преподавательские интересы. Примерно в 1970 г. два новых научных направления повлияли на сближение наших точек зрения. Одно из них касалось главным образом программистского сообщества и возникло с появлением Алгола-68 и связанных с ним свежих идей, выдвинутых А. ван Вейнгаарденом и его коллективом. Другое началось с теории Скотта—Стрейчи o семантических областях и o денотационной семантикe. Предложенная в ответ на глубокие потребности теории программирования, в более широком контексте эта теория представляла собой научный прорыв и для сообщества логиков. Андрей Петрович всегда оставался человеком со вкусом к концептуальным источникам математической логики и теории алгоритмов. Таким образом, мы сознавали общность наших интересов в следующих темах.
(2.1) Теория схем программ: семантика, логика, выразительная сила, разрешимость, полнота. Для Андрея Петровича это было возрождением ранних работ Ляпунова—Янова—Ершова. Первый же мой результат по этой теме был опубликован в сборнике «Теоретическое программирование», который выходил в Вычислительном центре под редакцией Ершова.
(2.2) Модели параллелизма. В отделе Ершова велись исследования в области асинхронного программирования (В. Е. Котов, А. С. Нариньяни). Я имел хорошую возможность изучить этот предмет как официальный оппонент по их кандидатским диссертациям. С другой стороны, аспекты параллелизма, затронутые в работах Скотта, заинтересовали В. Ю. Сазонова из Института математики и М. Б. Трахтенброта из отдела А. П. Ершова.
(2.3) Преподавательская деятельность. В дополнение к нашей основной работе в Сибирском отделении Академии наук и я, и Ершов работали по совместительству в Новосибирском университете. Долгое время Андрей Петрович возглавлял там кафедру, на которой я читал курсы лекций и руководил студентами-дипломниками и аспирантами. Со временем часть этих студентов поступала на работу в Вычислительный центр или Институт математики.
3. Сотрудничество с международным сообществом. Андрей Петрович поддерживал хорошие, близкие отношения с большинством крупнейших ученых-программистов со всего мира, а также сотрудничал с ведущими зарубежными научными центрами. Это происходило в годы, когда поездка за рубеж, а особенно в «капстраны», была редкой привилегией[10].
К счастью, Андрей Петрович, этой привилегией обладавший, чувствовал себя глубоко обязанным и делал все от него зависящее, чтобы облегчить изоляцию для тех, кого официальные научные учреждения в СССР ограничивали в контактах с зарубежными коллегами.
Ершов продолжал собирать свою знаменитую библиотеку, которая была доступна всем. Она содержала труды конференций и симпозиумов, технические отчеты, тезисы, препринты и даже личную переписку. В ней можно было найти свежие материалы по теоретическому и системному программированию, собранные Андреем Петровичем в зарубежных командировках или полученные по почте от его многочисленных зарубежных коллег. Многим, включая меня, эта библиотека очень помогала: фактически, она компенсировала те встречи и конференции, которые мне и моим ученикам было невозможно посещать.
С другой стороны, Ершов был организатором ряда международных симпозиумов по теоретическому программированию, в которых принимали участие влиятельные зарубежные ученые. Именно там я и мои коллеги познакомились с Милнером, Парком, Патерсоном, Хоаром, Дейкстрой, Маккарти, Шварцем, Кнутом, Бауэром, Нива, Земанеком, Штрассеном, ван Вейнгаарденом... Кульминацией стал поистине незабываемый симпозиум «Алгоритм в современной математике и ее приложениях» (Ургенч, Узбекистан, 1979 г.). Он был задуман как научное паломничество в Хорезм, на родину «алгоритма», под председательством А. П. Ершова и Д. Кнута. Кнут вспоминал: «За эту неделю особенное впечатление произвело на нас то, как блестяще Ершов выступал в многочисленных ролях руководителя симпозиума — организатора, философа, докладчика, переводчика и редактора».
4. Дань двум Валериям. Сближению, которому в основном посвящены эти воспоминания, содействовали многие люди как с моей стороны, так и со стороны Андрея Петровича. В качестве иллюстрации хочу рассказать о двух из них. Оба в прошлом — мои аспиранты, а впоследствии — сильные самостоятельные исследователи.
Валерий Александрович Непомнящий[11] был первым «мостиком» между моей группой в Институте математики и коллективом
А. П. Ершова в Вычислительном центре. Свои исследования Валерий Александрович начал с проблем вычислимости, а затем, с середины 60-х, продолжал их в Вычислительном центре, сконцентрировавшись на задачах верификации, тестирования, операторных алгоритмов, схем и т. д.
Валерий Николаевич Агафонов[12] работал со мной в Институте математики над задачами сложности алгоритмов и вычислений. Также он сотрудничал с А. П. Ершовым и другими коллегами из Вычислительного центра, и это сотрудничество было очень действенным даже после моего отъезда из Академгородка. Вот некоторые темы его монографий, учебных пособий и статей: синтаксический анализ, семантика и типы данных языков программирования, обработка информации, спецификация программ. Кроме того, В. Н. Агафонов был редактором большого числа переводов. Многие из этих работ выходили с предисловием или комментариями А. П. Ершова.
4. Расставание
Из Ургенча я возвращался вместе с Ершовым. Поздней сентябрьской ночью, уставшие и молчаливые, мы ехали из аэропорта в Академгородок. О чем думал Андрей Петрович? Скорее всего, о только что закончившейся прекрасной конференции. Мои же мысли на эту тему были перемешаны с тревогой. Незадолго до конференции я принял трудное, не подлежащее пока разглашению решение об эмиграции. Предстояли три этапа с непредсказуемыми поворотами и результатами: получение заграничного приглашения, оповещение институтского руководства и, наконец, подача заявления на выездную визу. Разумеется, превыше всего угнетала травматическая перспектива расставания (быть может, навсегда) с близкими людьми.
В марте 1980 г. было получено приглашение из Израиля, и я приступил к последующим этапам. Прежде всего я посетил Андрея Петровича, информировал его о моих делах и просил его помощи. Такая помощь касалась тех, чье положение осложняли мои планы. Андрей Петрович быстро проявил ожидаемое мной сочувствие и готовность помогать во всем. Начну с моего старшего сына Марка, ученика Ершова и многолетнего сотрудника отдела программирования. Марк и его семья не собирались тогда эмигрировать, и Андрей Петрович обещал заботиться о дальнейшем статусе Марка. Другой пример: Андрей Петрович охотно взял на себя ответственность за завершение диссертаций и дипломных работ, начатых под моим руководством. Впоследствии все обещанное и немало сверх того Андрей Петрович выполнил аккуратно.
После первоначального отказа мне, жене и младшему сыну были выданы выездные визы. Настало время отъезда. Ершов позвонил мне домой и договорился о прощальном визите к нам... Мы уехали в декабре 1980 г. Больше я Андрея Петровича не видел. 22 сентября 1983 г. он мне послал из Парижа вышедшие незадолго до того труды конференции с надписью «...на добрую память об Ургенче». Это было последнее послание, полученное от Андрея Петровича. Потом стали поступать из Новосибирска тревожные вести...
Список литературы
- Trakhtenbrot B. A. From Logic to Theoretical Computer Science// People and Ideas in Theoretical Computer Science/ Ed. by C. S. Calude. — Springer, 1998. — P. 314—341
- Трахтенброт Б. А. Вспоминая Алексея Андреевича (пятидесятые годы)// Конференция, посвященная 90-летию со дня рождения А. А. Ляпунова. — Новосибирск, Академгородок, 2001. — http://www.ict.nsc.ru/ws/sea_doc.phtml?ru+19
- Trakhtenbrot B. A. A Survey of Russian Approaches to Perebor// Annals of the History of Computing. — 1984. — Vol. 6, N 4. — P. 384—400.
Примечания
[1] © Трахтенброт Б. А., 2005. Написано специально для настоящего сборника. Перевод с англ. А. А. Бульонковой.
[2] В оригинале — computer science (Прим. переводчика).
[3] Сергей Всеволодович Яблонский (1924—1998) — академик, один из основателей отечественной школы математической кибернетики и дискретной математики. С 1958 г. С. В. Яблонский возглавил отдел математической кибернетики ИПМ АН СССР, созданный им совместно с А. А. Ляпуновым.
[4] Ершов А. П., Камынин С. С., Любимский Э. З. Автоматизация программирования// Тр. Третьего Всесоюзн. математ. съезда. Москва, июнь—июль 1956 г. Т. 2.— М., 1956. — С. 74—76.
[5] Александр Александрович Зыков (р. 1922) — математик, д. ф.-м. н., специалист по теории графов, работал в ИМ СО АН, в настоящее время работает в Одессе.
[6] Алексей Всеволодович Гладкий (р. 1928) — д. ф.-м. н., одним из первых в СССР начал заниматься математической лингвистикой, в НГУ создал и возглавил Отделение математической лингвистики, в настоящее время — в Москве.
[7] А. П. Ершов, А. А. Ляпунов. О формализации понятия программы// Кибернетика. — 1967. — № 5. — С. 40—57.
[8] Леонид Анатольевич Левин (р. 1948), один из лучших учеников А. Н. Колмогорова, основные работы по теории сложности и теории информации, один из первооткрывателей NP-полных проблем. Родился в Днепропетровске, в настоящее время — профессор Бостонского университета.
[9] Михаил Иосифович Дегтярь (р. 1946) — выпускник НГУ, аспирант Б. А. Трахтенброта, в настоящее время — профессор университета в Твери. Область научных интересов — теория сложности, мультиагентные системы.
[10] Я, например, впервые побывал в зарубежной командировке в 1967 г. в Польше, по приглашению Института математики Польской академии наук, но посещение западной страны стало для меня возможным только в 1981 г., после эмиграции в Израиль.
[11] Валерий Александрович Непомнящий (р. 1940) — к. ф.-м. н., сотрудник отдела программирования, в настоящее время — заведующий лабораторией теоретического программирования ИСИ СО РАН.
[11] Валерий Николаевич Агафонов (1940—1997) — математик, специалист в области теории сложности и теоретических основ обработки информации, много лет работал в ИМ СО АН, последние годы жизни — в Твери.
6 июля 2005
Из сборника «Андрей Петрович Ершов — ученый и человек». Новосибирск, 2006 г.
Перепечатываются с разрешения редакции.