Лица советского IT: Алексей Ляпунов и его борьба за честь и достоинство кибернетики
Рассказываем об учёном, который избавил кибернетику от статуса «продажной девки буржуазии» и заложил основы отечественной школы программирования.
Иллюстрация: Wikimedia Commons / Merry Mary для Skillbox Media
Алексей Ляпунов родился в дворянской семье в 1911 году. Его фамилия славилась учёными и деятелями искусства: среди Ляпуновых были известные на всю страну композитор, академики славистики и математики; знаменитый физиолог Сеченов приходился им близкой роднёй.
Отец Ляпунова получил математическое образование в трёх университетах — Московском, Гейдельбергском и Гёттингенском, работал в институте биофизики. Сын оправдал его надежды — именно ему было суждено продвигать в России науку, которая предопределила будущее.
От звёзд — к цифрам
В юношеские годы Алексей увлёкся астрономией и записался в астрономический кружок. Его вдохновляла книга Николая Морозова «Откровение в грозе и буре», где дата апокалипсиса вычислялась на основе взаимного расположения звёзд и планет. Молодому Ляпунову нравилось, что астрономические законы помогают понять историю Вселенной. Любовь к этой науке он сохранил на всю жизнь:
«Кружковые занятия дали мне очень много. Астрономом я, правда, не стал, но благодаря им я стал учёным».
В 1928 году Алексей поступил на физико-математический факультет Московского университета. Однако через год возникло неожиданное морально-этическое препятствие: воспитанный в христианских традициях студент наотрез отказался подписывать письмо о сносе церквей в Москве, начал конфликтовать с сокурсниками, а позже вообще перестал ходить на занятия. После второго курса его отчислили за неуспеваемость.
Ляпунов не отчаялся: в 1931 году он познакомился с профессором математики, академиком Николаем Николаевичем Лузиным, стал его учеником, экстерном получил математическое образование и написал свою первую научную работу по дескриптивной теории множеств.
В 1934 году он устроился младшим научным сотрудником в отдел теории функций действительного переменного Математического института им. В. А. Стеклова АН СССР. Там он продолжил заниматься теорией множеств. Но спустя три года его уволили по «сокращению штатов». Оставшись без постоянной работы, Ляпунов начал читать лекции, а также руководить семинаром по теории множеств в МГУ.
Война — не помеха для математики
Осенью 1941 года Ляпунов вместе с другими учёными добровольно отправился строить оборонительные сооружения под Москвой.
«Пока я не считаю положение слишком страшным. Но если угроза Москве станет реальна, то я буду проситься в Армию… Сегодня я записался в дивизию трудящихся, которая создана из москвичей, без отрыва от производства».
Алексей Ляпунов,
фрагмент из письма жене
В 1942-м его призвали в Красную армию. Шесть месяцев он учился в пехотном училище, а затем пошёл на фронт командовать топографическим взводом в артиллерии.
Трудности фронтового быта поначалу тяготили старлея, выросшего в интеллигентной московской семье. В письмах родным он сетовал на свою полную «физическую и практическую неприспособленность» — носил форму не по размеру, получал паёк невовремя и так далее.
Но вскоре, увидев, с какими лишениями сталкиваются простые солдаты, он отказался от офицерских привилегий. Даже на войне Ляпунов нашёл место своей любимой математике: делал заметки, изучал теорию стрельбы. Его работы позже выйдут в Артиллерийском журнале и «Известиях Академии артиллерийских наук».
Войну он закончил гвардейским офицером, кавалером ордена Красной Звезды, награждён медалью «За победу над Германией».
«Здравствуй, мир!» — первые попытки программировать
В 1950-е годы появились первые ЭВМ. Ляпунов сразу понял, какими широкими возможностями по обработке информации они обладают. Он предложил использовать математические методы в областях, традиционно далёких от этих методов — биологии, лингвистике и экономике. Учёный называл это «экспансией математики».
Несколькими годами позже Ляпунов стал одним из немногих счастливчиков, получивших доступ к МЭСМ — первому в СССР и потому предельно засекреченному компьютеру.
Учёный хотел обобщить процесс написания программ так, чтобы он был понятен и людям, и машинам. Иными словами — он задумался над созданием языка программирования высокого уровня.
Свои гипотезы и наработки Ляпунов свёл в первый для страны спецкурс «операторного программирования», который он начал преподавать на мехмате МГУ.
Весь курс строился на операторных схемах, которые представляли собой последовательность операторов — арифметических и управляющих. Кроме них были логические условия, определяющие порядок выполнения операторов. С их помощью Ляпунов обобщил процесс программирования для ЭВМ.
С одной стороны, такие схемы позволяли использовать математический аппарат, чтобы оптимизировать программы ещё на этапе их задумки. С другой — автоматизировали переход от представления на языке операторов к программе для ЭВМ.
Проще говоря, Ляпунов придумал язык, позволяющий писать эффективные программы и при этом быстро преобразовывать его в компьютерные инструкции.
Алексей Андреевич стал главным советским агитатором программирования. В своих лекциях, книгах и выступлениях он рассказывал о том, как новое направление изменит науку.
Ляпунов организовал первые в СССР работы по машинному переводу и математической лингвистике, готовил труды по математической биологии. Целью его жизни стало развитие программирования в СССР и реабилитация кибернетики.
Как кибернетика превратилась в «полноценную» советскую науку
После опыта с ЭВМ и знакомства с работами кибернетика Винера Ляпунов поставил перед собой новую, ещё более амбициозную цель: с помощью кибернетики объединить уникальные способности человеческого мозга к творчеству и синтезу и возможности ЭВМ перерабатывать гигантские объёмы информации.
Однако между советскими учёными возник конфликт. Многие не хотели принимать кибернетику за науку и даже называли её «буржуазной, реакционной лженаукой». Ляпунов собирался доказать обратное, хотя это угрожало его карьере. В этой борьбе он опирался на помощь многих учёных разных специальностей — в том числе академика Берга, который занимал пост заместителя министра обороны СССР, и других чиновников из Отдела науки ЦК КПСС.
Первым делом Ляпунов убедил учёных и военных, что кибернетика может быть полезна армии — в те годы этот довод был весомым. Позже вышла статья «Основные черты кибернетики» в журнале «Вопросы философии», которую Ляпунов написал в соавторстве с другими специалистами.
Вскоре Ляпунов начал организовывать лекции, семинары и доклады, чтобы преодолеть недоверие к кибернетике и привлечь к ней молодых учёных. Самым важным из подобных мероприятий стал Большой кибернетический семинар, или просто «Большой».
Он изначально был рассчитан на студентов и аспирантов, но быстро превратился в общемосковский семинар учёных из разных областей. Ляпунов приглашал в качестве лекторов математиков, биологов, медиков, лингвистов, экономистов, военных, транспортников и представителей других специальностей. Всё проходили в формате дискуссий, в которых сам Ляпунов был модератором — не давал говорящим уходить в детали их специальностей, фокусировал рассказ на центральных проблемах кибернетики, а в конце лично подводил итоги.
«Большой» просуществовал десять лет. За это время недовольство кибернетикой в научной среде угасло, а молодые учёные стали чаще проводить исследования в этой области.
«За короткий срок отношение к кибернетике прошло следующие фазы: 1) категорическое отрицание; 2) констатация существования; 3) признание полезности, отсутствие задач для математиков; 4) признание некоторой математической проблематики; 5) полное признание математической проблематики кибернетики».
Алексей Ляпунов,
из речи на IV Всесоюзном математическом съезде (1966 год)
С 1961 года Ляпунов перешёл работать в Институт математики Сибирского отделения АН СССР, где создал отделение кибернетики. Он также основал кафедру теоретической кибернетики в Новосибирском университете и лабораторию кибернетики Института гидродинамики СО АН СССР, которыми руководил до конца жизни.