Архитектор современных алгоритмов

+7 926 604 54 63 address
 Барбара Лисков, исследовательница проблемы абстракции данных, создательница <a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%91%D0%B0%D1%80%D0%B1%D0%B0%D1%80%D1%8B_%D0%9B%D0%B8%D1%81%D0%BA%D0%BE%D0%B2" rel="noopener" target="_blank">принципа подстановки</a>, лауреат премии Тьюринга 2008 года, действительный член Американской академии наук и искусств, Национальной инженерной академии США и Ассоциации вычислительной техники.
Барбара Лисков, исследовательница проблемы абстракции данных, создательница принципа подстановки, лауреат премии Тьюринга 2008 года, действительный член Американской академии наук и искусств, Национальной инженерной академии США и Ассоциации вычислительной техники.

Барбара Лисков, пионер современного подхода к программированию, считает, что проблемы, которые современность ставит перед IT-сообществом, нельзя преодолеть с помощью одного лишь добротного кода.

У хорошего кода есть как содержание, так и стиль. Такой код предоставляет всю необходимую информацию без лишних подробностей. Он чужд неэффективности и ошибкам. Он точный, лаконичный и красноречивый в той мере, в какой это необходимо для исполнения машиной, а также для чтения и понимания людьми. Однако к концу 1960-х годов развитие вычислительной техники опередило возможности программистов. Многие создавали программы, не заботясь об их дизайне. Они писали длинные непоследовательные алгоритмы, утыканные операторами безусловного перехода goto, требующими от машины перескочить к другой части программы, часто — к началу кода. Ранние программисты пытались с помощью таких операторов преодолеть несовершенство распространённых тогда алгоритмов и алгоритмических языков, но при этом делали программы трудными для прочтения человеком, а исполнение их машиной в некоторых случаях — непредсказуемым и даже опасным. Дошло до того, что плохое программное обеспечение превратилось в убийцу — например, из-за плохой программы аппарат лучевой терапии Therac-25 стал причиной чудовищных передозировок радиации при лечении онкологических больных.

Когда в 1968 году Барбара Лисков получила в Стэнфордском университете (Stanford University) степень доктора компьютерных наук, она завидовала инженерам-электрикам: ведь они работали с устройствами, соединёнными проводами. Такая архитектура позволяет естественным образом решать проблемы по частям, разделяя их на модули — подход, при котором весь процесс легко контролировать, поскольку есть возможность независимо рассуждать о дискретных компонентах.

Как учёный-компьютерщик Лисков работала не с «железом», а с кодами. Подобно прозаику или поэту, она вглядывалась в чистый лист бумаги.

Когда Лисков училась на бакалавра в Калифорнийском университете в Беркли (University of California, Berkeley), она изучала математику. Поэтому программирование было для неё не технической, а математической проблемой — тем, в основе чего должны лежать логические принципы и эстетическая красота. Лисков хотела так организовать программное обеспечение, чтобы им можно было управлять, не теряя из виду его сложность.

Ещё будучи свежеиспечённым профессором Массачусетского технологического института (МТИ), она возглавила команду, создавшую CLU — один из первых языков программирования, не требующих использования оператора goto. В основе CLU (сокращение от слова «cluster») лежит изобретённый Лисков подход, разделяющий код на ряд модулей. Большинство современных языков программирования, имеющих существенное значение, включая Java, C++ и C#, являются в некоторой степени потомками CLU.

«Одним из преимуществ, которыми пользовались учёные, рано попавшие в данную сферу исследований, было то, что там поджидали большие проблемы. Всё, что нужно было сделать, — это оседлать их», — говорит Лисков. В 2008 году она получила премию Тьюринга, которую часто именуют Нобелевской премией по информатике. Этой награды она удостоилась за «вклад в создание практических и теоретических основ языков программирования, а также проектирования систем, в особенности связанного с абстракцией данных, отказоустойчивостью и распределёнными вычислениями».

Журналу Quanta удалось поговорить с Барбарой Лисков, застав её дома, откуда она удалённо следила за тем, как проходит Гейдельбергский форум лауреатов — узкое собрание, куда попадают только по приглашению и участвовать в котором могут только учёные-компьютерщики и математики, удостоенные самых престижных наград в своих областях. (У Лисков было приглашение в Гейдельберг, но по личным обстоятельствам за несколько недель до форума ей пришлось отказаться от поездки).

Публикуем для вас перевод этого интервью.

* * *

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

Б. Л. Я работала над докторской диссертацией под руководством Джона Маккарти (John McCarthy). Диссертация была на тему ИИ. Я написала программу для эндшпиля — завершающей стадии игры в шахматы. Джон предложил эту тему, потому что я не играла в шахматы. Я проштудировала [шахматные] учебники и перевела шахматные алгоритмы на язык информатики. В те дни в этой науке мудрость воспринималась как способность создавать программы, которые решают задачи тем же путём, что и человек. Сейчас на мудрость смотрят по-другому.

В настоящее время программы машинного обучения, в общем, делают своё дело довольно хорошо, но не всегда. Почему они работают или не работают, люди не понимают. Если я работаю над решением какой-то проблемы и мне нужно точно знать, почему алгоритм работает, машинное обучение мне не подходит. С другой стороны, среди моих коллег есть исследователь, который, анализируя маммограммы с помощью машинного обучения, находит доказательства того, что рак можно распознавать гораздо раньше, чем это делается сейчас.

Теория ИИ — это приложение, а не основная дисциплина. Она всегда используется в прикладных целях.

Но вас она всё же интересовала как основная дисциплина?

Б. Л. Честно говоря, в те дни ИИ был мало на что способен. Меня интересовала моя основная работа. Действительно интересной проблемой была такая: «Как организовать программное обеспечение?» В процессе проектирования вам необходимо выяснить, как реализовать приложение. Вам нужно организовать код, разбив его на части. В этом помогает абстракция данных. Тут много сходства с доказательством теоремы. Если вы не можете доказать теорему одним махом, вы изобретаете леммы и решаете проблему по частям.

В моей версии вычислительного мышления я представляю себе абстрактную машину только с теми типами данных и операциями, которые мне нужны. Если бы такая машина существовала, я могла бы написать нужную мне программу. Вместо этого я ввожу кучу подзадач — типы данных и операции — и мне надо выяснить, как всё это реализовать. Я делаю это снова и снова, пока реально не получу нужную мне машину или нужный мне язык программирования. Это искусство дизайна программ.

Знание методологии не означает, что вы хороши в проектировании. Кто-то может проектировать, а кто-то нет. Я никогда не чувствовала, что могу научить своих студентов проектировать. Я могу показать им готовый проект, объяснить его, рассказать об абстракции данных и растолковать, что хорошо, а что плохо. Когда слишком много наворотов и прибамбасов, результат получается чрезмерно сложным. Когда слишком мало — неэффективным. Проектирование чего-то реально крутого — это искусство.

Если бы у вас была волшебная палочка и вы могли бы определять пути развития информатики, как бы это выглядело?

Б. Л. Меня очень беспокоит интернет. У нас куча проблем, включая фейковые новости и вопросы безопасности. Меня беспокоит, в частности, история с разведённой парой, когда бывший муж опубликовал в интернете клевету на свою бывшую жену, заодно сообщив о том, где она проживает. Происходят ужасные вещи. Отчасти в этом повинны 80-е годы. В то время всё, что у нас было, — связанные интернетом пятнадцать университетов и пара правительственных лабораторий. У нас у всех были приятельские отношения. Считалось, что сайты не должны нести ответственность за контент, это помешает их развитию. Как видите, этот подход жив и сейчас.

Были ли эти взгляды распространением на интернет академической свободы?

Б. Л. Нет, это был всего лишь прагматизм, и мы не представляли, где окажемся. Разверни мы полицейскую деятельность в сети, пришлось бы решать щекотливые вопросы. Так что мы погрузились во всё это, не прихватив с собой ничего для безопасности. И чтобы решить наши сегодняшние проблемы, одних технологий мало. Нам нужны законы, регулирующие поведение людей. Нам нужно решить проблему соотношения конфиденциальности и безопасности. Некоторые аспекты этих проблем — технические. Например, в Facebook есть алгоритм распространения информации. Они могли бы распознавать какую-то информацию и распространять её медленнее или, если это необходимо, вообще не давать ей ходу. Обществу всегда трудно осваивать что-то новое. Мы, похоже, взрослеем. Но, если бы у меня была волшебная палочка, я бы все эти болезни роста устранила.

Расскажите о вашем путешествии как женщины в сфере информатики.

Б. Л. В школе моё добросовестное отношение к учёбе поощрялось. Не помню, чтобы моя мать побуждала меня учиться, но она никогда и не говорила мне в лицо: «О нет, это плохо». Я окончила все школьные курсы математики и естественных наук, изучение которых девушками обычно не приветствовалось. В Беркли я была единственной или одной из двух девушек на сотню студентов. Никто ни разу мне не сказал: «Вот это да! Ты всё делаешь здорово! Почему бы тебе не поработать со мной?» Я и не знала, что такое бывает. Я поступила в аспирантуру в Стэнфорде. Когда я её закончила, никто и не заговорил со мной о работе. При этом я заметила, что коллег-мужчин, таких как Радж Редди (Raj Reddy), который был моим другом, охотно брали на университетские должности. Меня же никто не звал.

В то время консультанты предлагали выпускникам вузов заключать договоры с кафедрами любых вузов страны.

Б. Л. Да, но заключать договор со мной никто не спешил…

Однажды в 90-х я вновь оказалась в Стэнфорде, чтобы принять участие в кафедральном празднике. И группа старых профессоров невзначай продемонстрировала мне, как это работает — «сеть старых добрых парней» (old boy network). Они говорили так: «Один там мой друг считает, что тебе следует взять на работу славного парнишку, которого я заприметил». Вот так запросто и тупо. Они говорили о молодой женщине — что та хорошо со всем справляется, потому что вышла замуж за профессора! Тупость. А ещё был коллега, у которого в кабинете висел плакатик с красоткой. Я спросила его: «Это что за пинап у тебя офисе?» Тупость…

Я подала заявление в МТИ на должность преподавателя, но там не горели желанием рассматривать мою кандидатуру. Когда такое происходит, думаешь: «Я недостаточно хороша». Ничего не поделаешь. Но, кроме того, я подумала: «В информатике — простор для деятельности». Промышленная компания MITRE предоставила мне отличную возможность заниматься исследовательской работой. Там я разрабатывала методологию программирования и проводила исследования, которые принесли мне первую научную награду. Затем, в 1971 году, я выступила с докладом, после которого Корби [Фернандо Корбато (Fernando Corbató)] предложил мне подать заявление в МТИ. Я получила приглашение и из Беркли. Лёд тронулся.

При всём при этом, когда вы пришли в МТИ, там работала примерно 1000 преподавателей, из которых лишь 10 человек были женщинами, не так ли?

Б. Л. Насколько я помню, так и было.

Так что дело менялось к лучшему, но…

Б. Л. В законе о гражданских правах ещё не было раздела IX, но давление в этом направлении росло. В частности — благодаря усилиям президента МТИ Джерри Вайснера (Jerry Wiesner). Давление должно идти сверху, внизу кипения нет. В МТИ было несколько выдающихся женщин, не являвшихся факультетскими преподавателями. Примерно в то время некоторых из них внезапно пригласили на факультеты. Конечно, математику они не преподавали. С математикой дело худо.

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

Б. Л. Кафедра информатики МТИ до того, как я возглавила её, за 10 лет сочла возможным принять на работу только одну женщину, а во время моего руководства [с 2001 по 2004 год] было нанято семь. И мы не наскребли по сусекам — из нанятых мною женщин, все три, которые младше меня, — выдающиеся. А ведь долгое время кандидатуры женщин вообще не рассматривались.

После того, как вы получили премию Тьюринга, в интернете появился следующий комментарий: «За что ей дали эту награду? Она не сделала никакого открытия». Имеет ли эта презрительная реплика какое-то отношение к тому факту, что вы женщина?

Б. Л. Бьюсь об заклад, что имеет! Был ещё один комментарий, о котором я никогда не упоминала. Там было сказано так: «Ну, не делала она эту работу. Какой-то [коллега-мужчина] за неё сделал». Это полная чушь. Я не читала эти комментарии. Муж мой читал. Он-то и откопал парочку. Иногда после моих докладов мне задавали враждебные вопросы, но я старалась быть к ним готовой — и потому, что я женщина, и потому, что, как вы знаете, есть любители разоблачать, что ты не та, за кого себя выдаёшь…

Например, не лауреат премии Тьюринга?

Б. Л. Да! Но сначала — я не понимала этого — мою спину прикрывал кто-то с моей кафедры, а потом, когда я уже поехала по всему миру, я была уже очень хорошо известна. А вот как некоторые женщины находят в себе упорство, чтобы самостоятельно преодолеть такое отношение — загадка.

Есть ли у вас какие-то идеи насчёт того, как привлекать женщин к научной деятельности? Может, существует некий тефлон, применяя который женщины смогли бы предотвращать прилипание к ним дискриминации или преследований?

Б. Л. Было бы здорово иметь такой тефлон и знать, как его применять. Я перестала бояться публично задавать вопросы, лишь проведя некоторое время в МТИ. Потребовалось много времени, чтобы развить эту уверенность в себе.

Здесь есть деликатный момент. Ваша история позволяет увидеть линию поведения, которую не афишируют: «Лежи тихо, пока не сможешь встать настолько высоко, чтобы взять дело в свои руки».

Б. Л. Да, возможно, моя стратегия была такой. Вкупе с отсутствием потребности угождать. Общество ведь учит женщин угождать.

Это ваш совет? Не стремиться угождать?

Б. Л. Ну вы же знаете, что сейчас дела обстоят не лучше, чем тогда… Мне, возможно, повезло. Если бы я вышла замуж сразу после колледжа, я бы, наверное, оказалась в совершенно другом месте.

Вы и вправду так думаете? Ваш вклад существенно преобразил информатику и общество.

Б. Л. Кто знает? Мы ходим извилистыми путями.

.
Комментарии