Ирина Ломазова / Фото: Высшая школа экономики
12 августа юбилей отмечает математик, ординарный профессор департамента программной инженерии, научный руководитель Научно-учебной лаборатории процессно-ориентированных информационных систем Ирина Ломазова. О сетях Петри, математической генеалогии и логике учебного курса, понятной студентам в режиме реального времени, Ирина рассказала «Вышке для своих».
Часто считается, что соревнование и конкуренция помогают добиваться успехов. Это не про меня, я в своей жизни никуда не пробивалась. Просто занималась тем, что мне было интересно, и все как-то складывалось, и даже многое получалось.
Мое детство прошло в Красноярске. Папа был инженером. Мама преподавала английский, и уже в начальной школе я могла читать простые тексты на английском. Когда я перешла в пятый класс, в городе открылась английская спецшкола, и мама нас с братом туда перевела. В таких школах иностранный язык изучают со второго класса, но пятиклассников было решено тоже перевести на новую программу. Поэтому мы ускоренно прошли программу начальной школы и в шестом классе уже все наверстали. Уроки английского у нас были каждый день, и четыре года учебы в этой школе очень помогли мне потом и профессионально общаться, и преподавать на английском.
У нас дома было много книг — и художественных, и популярных по самым разным областям знаний. Я любила читать, пожалуй, это было мое самое любимое занятие. Помню, как летом после шестого или седьмого класса я читала один за другим романы Тургенева из собрания сочинений. Читала я и научно-популярные книги, но замечательные книги Перельмана по занимательной физике физика из меня не сделали: не было и нет у меня физического чутья (что бы физики под этим ни понимали). Я смотрю на физические модели как математик. А вот среди популярных книг по математике две я помню очень хорошо до сих пор. Это «Рассказы о множествах» Н.Я. Виленкина и «Игра с бесконечностью» Р. Петер. Там рассказывалось, например, что часть может быть равна по размеру целому — так, четных чисел столько же, сколько и всех натуральных, а ведь есть еще и нечетные. Фантастика. Эти книги произвели на меня тогда очень сильное впечатление.
Начиная с пятого класса школа отправляла меня на олимпиады по естественным наукам. Первоначально просто потому, что я хорошо училась, а потом оказалось, что я неплохо на них выступаю. В те времена была единая для всей страны система олимпиад по естественным наукам: районные/городские олимпиады, областные/краевые и, наконец, всесоюзная олимпиада. В восьмом классе я дошла до всесоюзной по математике и даже получила там какую-то грамоту. Слишком хвалить за успехи у нас дома было не принято. Родители считали, что перехваливать ребенка не надо. Но по случаю победы на краевой олимпиаде покупался большой торт с шоколадными зайцами.
Ирина Ломазова
Фото: Высшая школа экономики
Последние два года школы я училась в новосибирской ФМШ — физико-математической школе при НГУ, которая теперь носит имя одного из ее основателей, М.А. Лаврентьева. Тогда и сейчас там работали и работают энтузиасты. Причем у нас были замечательные преподаватели не только по математике, физике, химии, но и по истории и литературе. А кроме того, благодаря переходу в физматшколу я не училась в старших классах обычной школы со всей этой подготовкой к вступительным экзаменам в вуз. Хотя свои экзамены мы сдавали каждые полгода.
В ФМШ я привыкла, что мы, девочки, в меньшинстве. В классе у нас было четыре девочки. В группе после поступления в университет — семь. Это уже казалось много. Но меня, да, пожалуй, и моих сокурсниц, это не волновало, как и, случалось, снисходительно-покровительственное отношение со стороны некоторых преподавателей и коллег-мужчин. Я ни с кем не соревновалась и целей кому-то что-то доказать не ставила. Рассуждала так: «Мне это интересно? Ну и хорошо. А получится что-нибудь из этого или не получится — посмотрим».
В Новосибирский университет я поступила на чистую математику, не особенно загадывая, чем буду заниматься после окончания учебы. Когда после третьего курса выбирала специализацию, я понимала, что мне нужно что-то из дискретной математики, но что конкретно — не знала. Стала ходить на встречи с кафедрами, где преподаватели рассказывали о своих исследованиях. Отделением программирования кафедры вычислительной математики руководил Андрей Петрович Ершов, основатель сибирской школы информатики, который много сделал для становления теоретического и системного программирования. На программирование как таковое я идти не хотела. Но на встрече выступал Борис Абрамович Трахтенброт, выдающийся математик, специалист по математической логике, чье имя носят две известные теоремы. И вот Борис Абрамович рассказывает о такой задаче: можно ли и как математически доказать, что программа работает правильно, то есть что она реализует нужную функцию? Для проверки правильности программы обычно применяется тестирование. Но тестирование позволяет обнаружить ошибку, а не доказать ее отсутствие. Программистский фольклор говорит, что всякая ошибка, найденная в программе, предпоследняя.
Участники симпозиума "Logical Foundation of Computer Science", Тверь, 1992 г. В центре — Борис Трахтенброт, вторая справа — Ирина Ломазова
Источник: A. Avron et al. (Eds.): Trakhtenbrot/Festschrift, LNCS 4800, pp. 46–57, 2008. © Springer-Verlag Berlin Heidelberg
Если же доказать, что программа работает правильно, то это будет означать, что она дает правильный ответ на любых (из, возможно, бесконечного набора) входных данных.
Меня эта задача сразу заинтересовала. Предполагалось применение методов математической логики для решения важной прикладной задачи, причем задачи в области программирования. С одной стороны, чистая математика, с другой — новая прикладная область, которая сама стремительно меняется. После выступления Бориса Абрамовича я подошла к нему и спросила, можно ли мне делать у него курсовую. Он только спросил, что у меня по логике. Я сказала: «Отлично». И он меня взял. Так с четвертого курса я пришла в его отдел в Институте математики Сибирского отделения Академии наук. Моя дипломная работа была связана с логикой Хоара, используемой для точной формулировки и доказательства свойств программ. После этого была аспирантура, где я писала кандидатскую диссертацию по верификации. А потом — по распределению — вернулась в Красноярск преподавать в университете.
В Красноярске получилось интересно. Защищалась я на отделении Андрея Петровича Ершова — программирование. А какой я программист? Я математик. Но на матфаке Красноярского университета нужен был преподаватель по курсу «Основы программирования», формально я подхожу. И мне дали годовой курс на математическом факультете: 150 человек поток, лекции, несколько групп практики плюс семинаристы. Да еще и язык ПЛ/1 — очень техничный, который я вообще не знала. Ну надо так надо. В то время во всем мире активно обсуждались вопросы методологии программирования, методов обучения информатике, так что я кое-что об этом знала, во-первых, из книг, а во-вторых, Андрей Петрович активно занимался этими вопросами и, в частности, налаживал преподавание информатики в школе. Чему учить детей? Как учить? Не командам же. Должно быть понимание основ алгоритмики. Неважно, какой язык программирования. Важно, что стоит за этим языком. Это сейчас программист — инженерная специальность, подразумевающая много специальных знаний. А тогда все-таки было начало. Да и мои студенты были не программисты. Я понимала принципы, а в технических деталях всегда можно разобраться. Подготовилась и начала преподавать.
В Красноярском университете я проработала семь лет. Там очень хороший факультет, прекрасные люди, но никого из моей узкой области не было. И я решила переехать в Переславль-Залесский, где как раз был создан новый Институт программных систем РАН. Когда затевается что-то новое, это всегда интересно. Как-то основатель и директор нашего института Альфред Карлович Айламазян спросил меня: «Можете организовать международный семинар?» Я написала своим университетским преподавателям Борису Абрамовичу в Израиль и Вадиму Евгеньевичу Котову, который жил тогда Штатах. Они передали по цепочке приглашение коллегам, благодаря чему на семинар в Переславле-Залесском приехали известные ученые. На этом семинаре Борис Абрамович познакомил меня с Вольфгангом Райсигом — ученым из близкого круга Карла Адама Петри, того самого, который придумал сети Петри. Вольфганг был не только хорошо знаком с ним, но и написал первую книгу по сетям Петри.
Ирина Ломазова
Фото: Высшая школа экономики
Еще студенткой университета я прослушала спецкурс Вадима Евгеньевича Котова по сетям Петри. Вадим Евгеньевич был одним из первых у нас в стране, кто стал активно работать в этой области и написал книгу о сетях Петри на русском. Но тогда я занималась другой тематикой и про сети Петри забыла. А тут Райсиг привез с собой целый чемодан материалов последних конференций по сетям Петри (Международная конференция по сетям Петри проводится ежегодно с 1980 года). Это был великолепный подарок. Вот тогда я и открыла для себя эту тему.
В области компьютерных наук о сетях Петри слышали почти все. Сеть Петри — это модель распределенной системы, состоящей из взаимодействующих элементов. Например, в компьютерной сети каждая машина работает по своей программе, но не полностью автономна, поскольку коммуницирует с другими, и поведение всей системы определяется этими коммуникациями. Карл Петри еще в 1960-е годы прошлого века писал, что компьютер — это не вычислитель, компьютер — это для коммуникации. Диссертация К.А. Петри 1961 года была посвящена коммуницирующим автоматам. Тогда это звучало неожиданно и даже странно, а сейчас большинство людей именно так и используют компьютер.
В Вышку я пришла в 2010 году. До этого семь лет преподавала в РГСУ. Я заметила, что моя жизнь легко делится на семилетние циклы. Иногда он сдвоенный — как годы работы в Институте программных систем РАН. А в Высшей школе экономики я в этом году, можно сказать, на третий срок пошла и не собираюсь куда-то переходить. В свое время Вышка привлекла меня тем, что здесь большое внимание уделяется научной работе. А я всегда этим занималась.
Сотрудники лаборатории ПОИС
© Высшая школа экономики
Когда я сюда пришла, ФКН еще не было. Был недавно созданный департамент программной инженерии, и мы выпускали 40 студентов в год. Это было самое начало. У нас была неформальная рабочая группа, и мне хотелось бы назвать коллег, которые тогда работали рядом со мной. Это Римма Закиевна Ахметсафина и Вадим Валериевич Подбельский, которых уже нет с нами, Ефим Михайлович Гринкруг, Константин Юрьевич Дегтярев, который работает в департаменте программной инженерии ВШЭ и сейчас. А руководил нами и всем процессом Сергей Михайлович Авдошин. Мы постоянно что-то обсуждали, затевали, придумывали. И поскольку я сотрудничала с Техническим университетом Эйндховена в Нидерландах, Сергей Михайлович предложил сделать вместе с ними совместную магистерскую программу. И мы ее сделали. А 12 лет назад, в 2013 году, создали под научным руководством одного из ведущих мировых ученых в области компьютерных наук Вила ван дер Аалста Лабораторию процессно-ориентированных информационных систем. Я руководила ею 12 лет, а с прошлого года лабораторией заведует Роман Нестеров.
Последние годы я читаю два курса. Один называется «Автоматы и модели процессов». Это самое начало, основы. Я его читаю первому курсу бакалавров. А второй называется «Формальные методы программной инженерии». Его я читаю в магистратуре. И вот тут есть перекличка с моим учителем, и я хотела бы к нему вернуться. Борис Абрамович был совершенно удивительным педагогом. Помимо того что он был величайшим, глубоко понимающим математиком, у него еще было чутье нового. Некоторые люди всю жизнь занимаются одной задачей, и это достойно уважения, а Бориса Абрамовича можно назвать начинателем теоретической информатики: в разное время он занимался разными направлениями и в каждое из них внес заметный вклад. И еще он был замечательный лектор. Часто бывает так: слушаешь курс, разбираешься в отдельных темах и, только когда готовишься к экзамену, в какой-то момент понимаешь логику всего курса, а до этого видишь лишь отдельные фрагменты. А у него на лекциях было так, что слушаешь, и все понятно в реальном времени. Для меня это было совершенно удивительное ощущение. И я стараюсь рассказывать студентам так, чтобы не было «вот я сейчас послушаю, а потом пойму». Понять нужно здесь и сейчас. И это та особенность, которую я в преподавании сознательно провожу. И еще я не люблю ставить оценки. Оценка могла бы быть бинарная — «да/нет», чтобы отметить: разобрался / не разобрался. Но это в идеальном мире. А так, конечно, формальная система оценок помогает избегать очень многих конфликтов и субъективных пристрастий.
У меня сейчас три аспиранта. Двое из них оканчивают в этом году, и я уже думаю, что хорошо бы, чтобы появились новые. Потому что мне нравится работать командой — обсуждать, разговаривать. И я никогда не вывешиваю список предлагаемых задач, но подбираю задачу под конкретного студента или аспиранта. Хотите со мной заниматься? Приходите, поговорим, что-нибудь придумаем.
Математическая генеалогия Бориса Трахтенброта
Источник: A. Avron et al. (Eds.): Trakhtenbrot/Festschrift, LNCS 4800, pp. 46–57, 2008. © Springer-Verlag Berlin Heidelberg
Хочу закончить свой рассказ одной историей. Когда мне нужно было определяться с темой диплома, Борис Абрамович дал мне задачу со словами: «Я знаю, вы это быстро сделаете». Я действительно все сделала за три недели. Тогда он сказал: «Хорошо, пусть лежит. А вот теперь мы займемся интересной задачей. Я не могу быть уверенным, что получится. Но у нас есть страховка». По-моему, это очень правильный подход. Нельзя давать студенту нерешаемую задачу. Хотя интуиция у Бориса Абрамовича была совершенно фантастическая: вторую-то задачу я тоже к защите сделала.
Есть такое понятие — «математическая генеалогия»: схемы, показывающие цепочки учитель — ученик для математиков. В серии Lecture Notes in Computer Science издательство Springer выпускает юбилейные сборники, посвященные выдающимся ученым, столпам компьютерных наук. Такой сборник был выпущен к 85-летию Бориса Абрамовича. На его опубликованном там математическом дереве, которое можно проследить до XVII века, есть Карл Гаусс, Карл Вейерштрасс, Николай Лузин и многие другие выдающиеся ученые. Мне очень повезло, что у меня был такой учитель.