О создании и работе ереванской школы программирования

О создании и работе ереванской школы программирования

Возникновение этой школы связано с именем автора данной статьи, и это определяет автобиографический её характер.

Начну с того, что в Ереван я переехала осенью 1957 года по завершении аспирантуры при механико-математическом факультете МГУ, которая проходила под научным руководством профессора Алексея Андреевича Ляпунова.

Это была пора, когда в нашей стране активно разрабатывались электронные вычислительные машины, повсеместно открывались вычислительные центры и создавались кафедры вычислительной математики. В ногу с этим временем жила и Армения.

В 1956 году в Ереване был создан НИИ математических машин (ЕрНИИ ММ), задачей которого была разработка ЭВМ как общего, так и специализированного назначения. Первым директором ЕрНИИ ММ стал чл.корр. АН СССР Сергей Никитович Мергелян. Впоследствии он вошёл в первый состав Научного совета по кибернетике, а его деятельность по организации ЕрНИИ ММ нашла отражение в закрепившемся в ереванском обществе названии этого института как «институт Мергеляна».

В конце 1957 года в рамках Академии наук Армении был организован Вычислительный центр.

Возникла проблема воспитания собственных для Армении кадров программистов, умеющих как использовать готовые ЭВМ, так и создавать новые. Обстоятельства сложились таким образом, что в обсуждении этой проблемы принял участие Алексей Андреевич Ляпунов, который в первой половине 1957 года посетил Ереван в составе делегации московских учёных. В то время Алексей Андреевич профессорствовал на кафедре вычислительной математики МГУ и уже имел неофициальный титул отца отечественной кибернетики. Его рекомендации были чрезвычайно весомы. Они-то и потребовались руководству Ереванского госуниверситета, планировавшему открыть кафедру вычислительной математики и видевшему препятствие этому в отсутствии подходящих для кафедры специалистов и, в первую очередь, её организатора. Вот тут-то Алексей Андреевич и рекомендовал на эту роль меня, как свою ученицу, обещая при этом свою помощь в подготовке педагогов будущей кафедры.

Осенью 1957 года кафедра вычислительной математики была открыта, я была взята на должность исполняющего обязанности заведующего кафедрой, а с января 1958 года возглавила кафедру в статусе заведующей.

В деятельности кафедры вообще и в особенности в первую трудную пору её становления принципиальную роль сыграла «закваска», полученная мною в годы ученичества и работы в Москве. В чём она состояла, подробно описано в моём очерке [1].

Взятые на себя обязанности заведующей кафедрой вычислительной математики съедали основную часть времени. Моя «стартовая» площадка складывалась из полутора штатных единиц на кафедре (кроме меня, сотрудником на полставки был Теодор Михайлович Тер-Микаэлян (в будущем соавтор монографии [2] – одного из первых учебников по ЭВМ и программированию) и полного отсутствия даже настольных вычислительных машин типа «Феликс» и «Мерседес». А предстояло читать курсы лекций по численным методам, курс по ЭВМ и программированию, сопровождая их практическими занятиями. Приходилось подыскивать совместителей, делать разработки к практическим занятиям, исходя из условий их проведения, и постоянно заботиться о выращивании кадров для кафедры. К этому добавлялись трудности адаптации к среде, существенно отличающейся от покинутой московской...

Алексей Андреевич поддерживал меня не только морально и не только советами. Он сразу же взял на воспитание в аспирантуру выпускника ЕрГУ Аветисяна Жозефа Овсеповича, а через год – на стажировку моего пятикурсника Тонояна Рафика Ншановича с тем, чтобы подготовить его к аспирантуре. И тот действительно стал аспирантом Алексея Андреевича.

Питомцы моей кафедры посылались на дополнительное учение в разные места. Родная кафедра МГУ (кафедра вычислительной математики) помогала при любом обращении к ней. В частности, были случаи, когда я вывозила своих студентов на практику в Вычислительный центр МГУ, возглавляемый профессором Иваном Семёновичем Березиным, который, к слову сказать, активно помогал в преодолении разных формальностей, сопутствующих этому мероприятию. Не стоит вспоминать, какие проблемы и сколько их возникало на пути создания полноценной кафедры. Главное в том, что кафедра бесперебойно поставляла своих выпускников во все учреждения республики, где была нужда в квалифицированных специалистах по прикладной математике и программированию, и выпускники кафедры шли нарасхват.

Кафедральные проблемы оставляли свободными выходные дни и время летних и зимних студенческих каникул. Вот тогда-то и можно было по настоящему углубиться в собственные научные исследования, начатые в Москве. Здесь уместно напомнить о следующем.

Завершением моих аспирантских лет была предзащита в качестве кандидатской диссертации конкретной задачи, входящей в план научно-исследовательских работ отдела оптики Физического института Академии наук, где я занимала должность младшего научного сотрудника. Задача состояла в расчёте колебательных спектров молекул простейших углеводородов, и существенной компонентой её решения было составление программы. Предстояло доведение имеющегося чернового текста диссертации до окончательного, и я уехала в Ереван, предполагая там заняться этим. Но уже тогда мною был потерян интерес к программированию конкретных задач, и выполненная мной работа стала последней в моей деятельности программиста. К тому времени я увлеклась исследованием общих концепций программирования, как самостоятельной области науки. В результате черновые записи моей утверждённой диссертации не подверглись доработке, я переключилась полностью на вопросы, относящиеся к теории программирования. Эта работа завершилась защитой кандидатской диссертации [3], состоявшейся на механико-математическом факультете МГУ в 1960 году.

Уместно вспомнить, как протекала сама защита. Первым на этом заседании диссертационного совета защищал диссертацию Криницкий Николай Андреевич. К тому времени он был известен как крупный специалист в области решения на ЭВМ конкретных задач. Поэтому после его доклада и выступлений оппонентов возникла возглавляемая Кронродом дискуссия на тему: нужны ли теоретические исследования, выполненные Криницким Н.А., естественным было бы защищать работы по самому программированию. Обсуждение этого завершилось ярким выступлением профессора Александра Геннадиевича Куроша. Он высказал твёрдое убеждение в том, что программирование, будучи самостоятельной областью знания, безусловно нуждается в развитии теории. В результате диссертация Криницкого Н.А. была оценена положительно. Моя защита была следующей, и на мою долю уже не пришлись дебаты по затронутой теме. Теоретическое программирование получило право на жизнь. Моими оппонентами были профессор Леонид Витальевич Канторович, активно занимающийся тогда созданием так называемых прорабов, решающих в автоматическом режиме экономические задачи, и кандидат физ.-мат. наук Юрий Иванович Янов, одним из первых утвердившийся в теории программирования.

Шли годы, кафедра окрепла. Через десять лет после её учреждения стало возможным передать заведование кафедрой «остепенившемуся» к тому времени Р.Н. Тонояну и посвятить высвободившееся время расширению научной жизни кафедры. До этого она протекала в рамках работ над курсовыми и дипломными проектами студентов. Научные семинары были нерегулярными. Истинным праздником были приезды Алексея Андреевича. Он выступал с докладами по проблемам кибернетики, задачам, стоящим в математической биологии, и на них стекались слушатели со всего Еревана. За короткое время своего пребывания в Ереване Алексей Андреевич успевал побеседовать с великим множеством лиц, вникнуть в тематику студенческих работ кафедры и обсудить их с авторами. Но напрашивалась регуляризация научной жизни кафедры.

К концу шестидесятых годов у меня появились собственные аспиранты, и научные семинары, проходившие под моим руководством, стали набирать силу. Они проходили не менее двух раз в неделю. На них реферировались самые последние работы по теоретическому программированию и прилегающим к нему вопросам.

К этому времени в теории стали рассматриваться формализованные программы, близкие по тем или иным характеристикам к реальным программам. Формализованной программе приписывалась реализуемая ею функция, эквивалентными объявлялись программы, реализующие одинаковые функции, и в качестве основных проблем служили проблема эквивалентности программ и проблема построения систем эквивалентных преобразований (э.п.) программ, полных в рассматриваемом классе программ. Первая состояла в поиске алгоритма, который, получив на свой вход две программы, устанавливает, эквивалентны они или нет. Во второй проблеме полной в выбранном классе программ являлась система э.п. программ, обладающая свойством: для любых двух эквивалентных программ из этого класса можно построить цепочку э.п., принадлежащих данной системе, трансформирующую одну из них в другую. Отметим, что здесь обсуждались э.п., затрагивающие структуру программ, а сама проблема рассматривалась в классе программ с разрешимой проблемой эквивалентности.

Впервые формализация программы по существу была предложена Алексеем Андреевичем Ляпуновым ещё в конце пятидесятых годов [4], и это открыло теорию программирования как самостоятельное научное направление. Вскоре было установлено, что формализованными программами вычисляются в общем случае все частично рекурсивные функции, что означает неразрешимость проблемы их эквивалентности, следовательно, неразрешимость и проблемы э.п. программ. Это привело к двум направлениям исследований: либо выделять классы формализованных программ с разрешимой проблемой эквивалентности, либо довольствоваться построением неполных систем э.п., заменяя программы их схемами и разрабатывая на них э.п. программ.

Второе направление привело к развитию теории схем программ. Она была заложена самим Алексеем Андреевичем, а первые результаты в ней были получены его аспирантом Юрием Ивановичем Яновым [5]. Рассмотренные им схемы стали именоваться схемами Янова, хотя введены они Алексеем Андреевичем.

Шестидесятые годы отмечены бурным построением различных схем программ, что далеко не всегда сопровождалось предварительной формализацией понятия программы. Обзор предлагаемых схем программ сделан Андреем Петровичем Ершовым в его статье [6], опубликованной в начале семидесятых годов. Нами были выделены для изучения, кроме схем Янова, названные А.П. Ершовым стандартные схемы. Они привлекли внимание многих исследователей, что было обусловлено следующими их характеристиками. Исходная для них формализация программы фактически совпадала с отделом операторов в реальной программе. Сама схема по структуре повторяла формализованную программу, то есть всякое преобразование схемы являлось и преобразованием программы, для которой построена схема. Из функциональной эквивалентности стандартных схем следовала функциональная эквивалентность моделируемых ими программ, значит, э.п. схем было одновременно и э.п. последних.

В конце шестидесятых годов был установлен неприятный факт: в множестве всех стандартных схем неразрешима их функциональная эквивалентность. Этот результат был получен Патерсоном в [7] и независимо от него Летичевским А.А. в [8]. И поскольку для стандартных схем фундаментальными по-прежнему являются проблема эквивалентности и проблема э.п., связанная с ней, на первый план вышла задача выявления классов стандартных схем с разрешимой проблемой эквивалентности.

Таким образом, определился круг задач, решаемых мною и моими аспирантами, а ход их решений обсуждался на нашем научном семинаре. Семинар был тесно связан с другими школами программирования. С докладами к нам приезжали профессор Александр Адольфович Летичевский из Киева, профессор Ян Мартынович Барздинь из Риги, профессор Борис Авраамович Трахтенброт и академик Андрей Петрович Ершов из Новосибирска, член-корр. АН СССР Святослав Сергеевич Лавров из Ленинграда. В этих случаях состав семинара существенно расширялся – приглашались сотрудники Вычислительного центра АН Армении и сотрудники ЕрНИИ ММ, где было много выпускников нашей кафедры, а позднее факультета прикладной математики, образованного в ЕрГУ на базе кафедры в 1971 году. Докладчиков привлекала общая атмосфера семинара и профессиональная подготовленность его участников.

Систематический характер носили научные связи со школой В.М.Глушкова – А.А.Летичевского и со школой А.П.Ершова. Обмен только что полученными результатами и вытекающими из них задачами не единожды проходил в ситуации, когда над одной и той же задачей трудились и ереванцы, и представители этих школ. Однако коллизий не возникало никогда.

Таким образом, отечественные результаты в теории программирования, как правило, были доступны задолго до их публикации. А благодаря Андрею Петровичу Ершову, имевшему личные контакты с зарубежными коллегами, их труды достигали нас тоже своевременно. Здесь большую роль играла моя дружба с Андреем Петровичем, завязавшаяся ещё в те времена, когда мы оба были аспирантами Алексея Андреевича. Поступлению свежих новостей с научного фронта помогали конференции и симпозиумы по программированию, проходящие в те годы регулярно. Я была непременным их участником и по возвращении давала обзор представленных на них докладов. А в 1979 году был создан Координационный комитет по вычислительной технике при Президиуме Академии Наук под председательством академика Гурия Ивановича Марчука. В рамках комитета была организована комиссия по системному математическому обеспечению, которую возглавил Андрей Петрович Ершов. Комиссия состояла из нескольких рабочих групп, и я была членом группы по автоматизации программирования, кроме того, активно участвовала в работе группы по языкам и системам программирования. Группы состояли из ведущих специалистов в области, определяемой названием группы, заседания групп проходили регулярно и, конечно же, позволяли «держать руку на пульсе» в своей области.

Научные достижения нашего семинара, именно как школы программирования, были изложены в моём докладе, сделанном на Всесоюзном симпозиуме «Перспективы развития в системном и теоретическом программировании» (Новосибирский академгородок, 1978 год) и опубликованном в [9]. Но уже до этого семинар приобрёл фактический статус школы. Это подтверждается тем, что другие школы по программированию стали присылать своих питомцев на аппробацию их результатов. Семинар «пропустил» через себя много кандидатских диссертаций по теоретическому программированию. Среди них были работы: В.Э. Иткина, А.С. Буды, В.К. Сабельфельда, М.Б. Трахтенброта – учеников Андрея Петровича Ершова, А.Б. Годлевского, С.К. Шукуряна – учеников Александра Адольфовича Летичевского, Ю.А.Ющенко – ученика Георгия Евсеевича Цейтлина, Е. Трошиной – ученицы Вадима Евгеньевича Котова, В.А. Захарова – ученика Сергея Всеволодовича Яблонского. Авторы этих работ выступали с докладами на семинаре, а сколько ещё работ обсуждалось в отсутствие их авторов...

К восьмидесятому году ядро семинара, состоявшее из моих учеников Г.Н. Петросяна, В.Е. Хачатряна, С.А. Нигияна, полностью «остепенилось», и я стала подводить итоги собственным многочисленным публикациям. Результатом этого явилась защита мной в 1985 году докторской диссертации [10] на механико-математическом факультете МГУ. В диссертации была построена концептуальная теория алгебраических моделей программ, в рамках которой была сформулирована проблематика как метатеории, ведающей отбором целесообразных к изучению моделей, так и собственно теории, а также продвинуто решение многих проблем, в том числе основной – проблемы э.п. схем. Следует отметить, что после фундаментальной работы Ю.И.Янова, выполненной в 1958 году, в решении этой проблемы почти не было продвижений.

Семинар продолжал жить полнокровной жизнью вплоть до событий последнего десятилетия прошлого века. С 1990 года Армения оказалась в блокаде, и научные связи с Россией стали проблематичными. В 1991 году в Армении закрылись школы с обучением на русском языке, в 1992 году – русские отделения во всех учебных заведениях. И поэтому в январе 1993 года я вернулась в Москву. Покинули Армению и многие мои ученики, в их числе Г.Н. Петросян и В.Е. Хачатрян.

По возвращении в Москву я сразу же поступила на работу в Научно-исследовательский вычислительный центр (НИВЦ) МГУ в должности ведущего научного сотрудника. В 1994 году я была приглашена к сотрудничеству на кафедру математической кибернетики МГУ, которой заведовал Сергей Всеволодович Яблонский, и по сей день являюсь профессором этой кафедры на полставки, сохраняя полную ставку в НИВЦе. Сразу же на кафедре был организован спецсеминар по вопросам теоретического программирования, которым я руковожу совместно с Владимиром Анатольевичем Захаровым, защитившим в 2012 году докторскую диссертацию [11] на совете факультета Вычислительной математики и кибернетики МГУ. Эта диссертации свидетельствует не только о продолжающемся развитии теории схем программ, но и об органичной её связи с классическими разделами математики.

Параллельно с 1994 года по настоящее время я являюсь руководителем научных проектов, поддержанных грантами Российского фонда фундаментальных исследований, что позволяет активизировать исследования в области теоретического программирования.

Сама я продолжаю развивать концептуальную теорию алгебраических моделей программ, развернув работы по аппроксимации одних моделей другими, по построению быстрых алгоритмов, распознающих эквивалентность схем программ, по массовому решению проблемы э.п. схем, по приложению методов теории схем программ в других математических моделях вычислений. И, конечно же, поддерживаю творческие связи со своими учениками по Армении. Так, под моим научным руководством В.Е. Хачатряном написана докторская диссертация [12], защита которой состоялась на факультете ВМиК МГУ, и при моём курировании продвинута к защите Нигияном С.А. докторской диссертации [13] на том же совете.

Теперь о судьбе ереванской научной школы.

Годы, когда в Армении не работала атомная станция, отмечены тяжелейшими бытовыми условиями. Университет (как и все помещения в городе, исключая больницы и некоторые ведомства) не отапливался, и поэтому нарушился обычный учебный порядок – занятия прекращались в декабре, когда замерзали туалеты, и возобновлялись в марте с их оттаиванием. Понятно, что о научных семинарах не могло быть и речи.

Жизнь в университете стала возрождаться с открытием атомной станции. В настоящее время уже образовался коллектив, ведущий исследования по функциональному и логическому программированию; его возглавляет мой ученик С.А. Нигиян.

Я и мои питомцы уверены, что научные традиции, заложенные ереванской школой программирования, настолько устойчивы, что выдержат все испытания времени.

Список литературы

  1. Подловченко Р.И. Истоки российского программирования глазами очевидца // Программная инженерия (в печати).
  2. Каган Б.М., Тер-Микаэлян Т.М. Решение инженерных задач на автоматических цифровых вычислительных машинах, М.; Л.; Госэнергоиздат, 1958.
  3. Подловченко Р.И. Формальные преобразования схем программ и их применение в программировании, диссертация на степень кандидата физ.мат. наук, 1960.
  4. Ляпунов А.А. О логических схемах программ // Проблемы кибернетики, вып.1, М.,Физматгиз, 1958, с.46-74.
  5. Янов Ю.И. О логических схемах алгоритмов // Проблемы кибернетики, вып.1, М.,Физматгиз, 1958, с.75-127.
  6. Ершов А.П. Современное состояние теории схем программ // Проблемы кибернетики, вып.27, М., Наука, 1973, с.87-110.
  7. Paterson M.S. Program Schemata // Machine Intelligence, Edinburg, Univ. Press, 1968, V.3, p.19-31.
  8. Летичевский А.А. Функциональная эквивалентность автоматов с заключительным состоянием // Доклады АН СССР, 1969, т.185, № 1.
  9. Подловченко Р.И. О задачах, рассмотренных участниками Ереванского семинара по теоретическому программированию // Перспективы развития в системном и теоретическом программировании, труды Всесоюзного симп., изд. ВЦ СОАН СССР, Новосибирск, 1978.
  10. Подловченко Р.И. Моделирование программ схемами и построение полных систем преобразований схем // Диссертация на соискание степени доктора физ.-мат. наук, 1985.
  11. Захаров В.А. Проблема эквивалентности программ: модели, алгоритмы, сложность // Диссертация на соискание степени доктора физ.-мат. наук, 2012.
  12. Хачатрян В.Е. Структурный анализ многоленточных автоматов // Диссертация на соискание степени доктора физ.мат. наук, 2008.
  13. Нигиян С.А. Функциональные и логические языки программирования (формализация, анализ, интерпретация) // Диссертация на соискание степени доктора физ.-мат. наук, 1997.

Об авторе: Московский государственный университет им. М.В. Ломоносова
Москва, Россия
podlovchenko.rimma@gmail.com
Материалы международной конференции Sorucom 2014 (13-17 октября 2014)
Помещена в музей с разрешения авторов 5 августа 2015