Главная » Университет и мир

Передать успех — из рук в руки

Студенты-программисты математико-механического факультета СПбГУ регулярно побеждают в престижных соревнованиях мирового уровня. Все они — воспитанники кружка обучения мастерству программирования, который на матмехе работает много лет. О пройденном пути — из студентов в тренеры — рассказывает Андрей Сергеевич ЛОПАТИН, старший преподаватель кафедры системного программирования СПбГУ. Победитель, воспитывающий команды победителей.

Вначале несколько фактов о победах университетских программистов. Студент второго курса матмеха СПбГУ Роман Андреев победил в личном международном соревновании по программированию Facebook Hacker Cup, который проводила социальная сеть Facebook. Финал конкурса прошел в ночь с 17 на 18 марта по московскому времени в штаб-квартире Facebook в городе Менло-Парк (США, штат Калифорния). Победу ему принесли 60 секунд — Роман Андреев на одну минуту обогнал ближайшего конкурента. Второе и третье место заняли участники из США и Китая.

Роман Андреев — победитель Facebook Hacker Cup

В мае 2011 года в Орландо (США) команда студентов СПбГУ «Drink Less» (Алексей Левин, Арсений Смирнов и Валентин Фондаратов) завоевала золотые медали и звание чемпионов Европы на чемпионате мира по программированию ACM International Collegiate Programming Contest. Известно, что командный студенческий чемпионат мира ACM ICPC является самым престижным мировым соревнованием по программированию. В отборочных соревнованиях участвовали 8200 студенческих команд из 2070 университетов 88 стран. В финал прошли 105 лучших команд. Из них 11 представляли Россию.

В апреле 2009 года в Стокгольме (Швеция) команда студентов СПбГУ «Бурундучки» (Сергей Копелиович, Олег Давыдов и Юрий Петров) завоевала золотые медали на том же мировом чемпионате. Поскольку в 2009-м российские команды взяли три из четырех комплектов золотых медалей, это уникальное достижение было оценено на высочайшем уровне и в мае состоялась встреча золотых призеров чемпионата (всех трех команд — СПбГУ, СПбГУ ИТМО и Саратовского университета) с президентом РФ Дмитрием Медведевым. А в июне того же 2009 года тренер университетских команд по программированию Андрей Лопатин выиграл престижный международный личный турнир по программированию TopCoder Open в номинации «Marathon March».

К этому списку свежих побед можно добавить еще две, давние. В 2000 и 2001 годах команда студентов СПбГУ «Kitten Computing» завоевала золотые медали и звание абсолютных чемпионов на чемпионате мира по программированию ACM ICPC. И оба раза одним из членом команды-победительницы был Андрей Лопатин (тогда еще студент математико-механического факультета СПбГУ).

Поэтому именно его мы расспрашивали о пройденном пути — из студентов в тренеры. О передаче опыта, о тренировках команды — в студенческих аудиториях, в электричке и дома, о задачах математических и психологических, о развитии и воспитании «детей» — студентов и собственного сына, о компании и социальной сети «ВКонтакте», о науке математике завтрашнего дня, сумасшедших темпах IT-индустрии и о многом другом. Сегодня Андрей Сергеевич ЛОПАТИН, старший преподаватель кафедры системного программирования СПбГУ, отвечает на наши вопросы.

Задачи

— Задачи на мировом чемпионате, которые вы решали в студенческие годы, и задачи сегодняшние — сильно отличаются?

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

— Это происходит за счет того, что научились лучше решать задачи, или просто общий уровень поднимается?

— Общий уровень растет очень быстро. Недавно в Петербург на международный экономический форум приезжал Бруно Дилео, директор IBM по развивающимся странам. Он сказал, что 8 из 10 наиболее востребованных сейчас профессий пять лет назад еще не существовали! Настолько стремительно мир меняется, и сфера IT — в первую очередь. В качестве примера он приводил бурный рост социальных сетей и профессии, связанные с социальным маркетингом. А внешние изменения отражаются и на внутренних. Совершенствуются наши знания об алгоритмах. Это мощный процесс, он затрагивает многие сферы. Наша область алгоритмического программирования (или computer science) — одна из них.

— Задачи на олимпиадах новые, пионерские? Этого никто не делал прежде или уже кто-то решал?

— Задачи на олимпиадах связаны прежде всего с наукой. Но если задачу дают, значит, кто-то уже ее решил, — хотя бы автор, который ее придумал. Но встречаются и задачи «на грани», которые вполне могли бы потянуть на кандидатскую диссертацию. Иногда для тренировки студентов берут научную статью из журнала и дают ее в качестве одной из десяти задач на мировом финале АСМ. И ничего, студенты за полчаса решают! Каких-то деталей в решении может и не быть: часть доказательства опущена, потому что участники просто догадались. Естественно, нет обзора литературы, они не сравнивали эту задачу с аналогичными. Но основная часть работы, ее ядро выполнено — и получен результат, расписан алгоритм необходимых действий.

— Получается, олимпиадные задачи вписаны в общий контекст развития науки?

— Да, но зачастую кандидатскую диссертацию защитить на этом материале сложно, потому что полученный результат плохо признается научным сообществом. Например, студент или аспирант решил практическую задачу: ускорил какой-то процесс в 2 раза. И что? Для фирмы это очень важно: покупать ей 20 тысяч серверов или только 10. А в науке, чтобы результат признали, должно быть слово «теорема» и т.п. Программист что-то такое придумал, скомбинировал — и система стала работать в 2 раза быстрее. Но как доказать на этом материале теорему, неясно. Иногда новая конструкция работает, и всё! Порой даже непонятно, почему — но работает. А потом математики годами мучаются, доказывая и обосновывая, почему ЭТО работает так, а не иначе.

Олимпиады и чемпионаты

— Чемпионаты программистов — это спорт?

— Иногда их пытаются превратить в спорт, но финал мирового чемпионата не удалось превратить до сих пор. Чистый спорт — это натаскивание, решение однотипных задач — то, что прогнозируется. Финал трудно полностью спрогнозировать, поэтому только натаскиваение не сработает. Позиция нашего центра «Кружок обучения мастерству программирования» (КОМП) и нашего Университета такая: олимпиады должны способствовать развитию образования и науки. Мы все-таки — Университет, мы ребят учим, с помощью олимпиад студенты получают дополнительное образование в тех областях, где его другими способами трудно получить. И не только в России, но и в мире. Не секрет, что нынешние чемпионы, члены команды «Drink Less», — сотрудники компании «ВКонтакте». И они занимаются там такими задачами, которые никто другой не может решить.

— Какие задачи ставят перед студентами?

— Сложность задач, которые решаются компанией «ВКонтакте», не в их постановке, а в их масштабе, в количестве пользователей. Многие даже могут посмеяться: кажется, что задача элементарная. Но вспомним, что сегодня в социальной сети «ВКонтакте» зарегистрировано около 130 млн пользователей (а у «Facebook» — 750 млн), и у каждого в среднем по 200-300 друзей. И нужно придумать систему, которая быстро отдавала бы какие-то данные всем. Представляете объем данных? Можно решать задачу тупо: поставить число серверов, пропорциональное числу пользователей, — тогда счет пойдет на десятки тысяч. Но у каждого пользователя десятки тысяч личных сообщений, их все нужно где-то хранить и обеспечивать быстрый доступ к ним, поиск по этим сообщениям.

— Встает задача оптимизации процесса?

— Задача в том, чтобы каждый пользователь мог быстро получить то, что ему требуется в данный момент. Все знают, что современный компьютер не так уж быстро работает и обеспечивает потребности только одного пользователя. А для социальной сети нельзя поставить столько компьютеров, сколько пользователей. Где взять 130 млн серверов, где их установить? Нереально, столько денег ни у кого нет. В таких масштабах стандартные методы решения задач — с помощью организации простой базы данных, например, — не подходят. Нужно придумать решение, которое не потребовало бы огромного количества компьютерной техники.

— Для примера опишите какие-нибудь задачи.

— Недавно, например, в сети «ВКонтакте» запустили новый сервис рекомендаций аудиозаписей. Ситуация, вроде, простая: пользователь слушает какую-то музыку — а сервис подсказывает ему, какую музыку ему интересно было бы послушать еще.

Андрей Лопатин на финале ACM ICPC 2008 с командой «Бурундучки» (Сергей Копелиович, Олег Давыдов, Юрий Петров)

— А это надо? Встречал похожее в книжных Интернет-магазинах. Ищешь какую-то книгу, а тебе говорят: «Вместе с этой книгой покупают еще такие…» И выдают список книг, которые мне, как правило, неинтересны — потому что они никак с первой не связаны…

— Но человек, идя в магазин, покупает молоко, хлеб, сахар, мыло, зубную пасту, носки — и эти покупки мало между собой связаны. Потребностей-то много… А как быть с музыкой? Там разброс желаний может быть тоже большой. Если у вас всего 10 тыс. клиентов, то подобная задача решается просто, хотя и очень большими мощностями. А когда 130 млн пользователей слушают аудиозаписи (каждый свою), то полезную информацию из всей этой мешанины выбрать довольно сложно. Задача была очень тяжелая, но она решена. И опросы показали, что многие пользователи довольны новым сервисом. Конечно, не все — машина не владеет телепатией и не может прочитать мысли и желания каждого. Она прогнозирует выбор на основе определенных алгоритмов, которые сделали наши ребята. И эта работа компании «ВКонтакте» очень помогла ребятам в решении отборочных задач в финале мирового чемпионата АСМ. Мы и старались подбирать для них задачи, близкие к задачам соревнований, — и таких практических задач много, они все связаны с огромным количеством данных.

— Откуда берутся задачи на чемпионате АСМ?

— Математики занимаются реальной задачей, им встречается сложная часть: как, например, организовать структуру хранения данных. Нужно отвечать на какие-то запросы, но не полным сканированием по всем ста миллионам пользователей, и отвечать быстро. Как это осуществить? Из простых задач можно рассказать о такой — мы ее называем «катастрофической». Есть какие-то пункты (например, станции спасения) и точки, где люди терпят бедствие. Нужно для каждой такой точки быстро находить ближайшую станцию спасения. Причем так, что даже если запросов очень много (десятки тысяч в минуту — произошла глобальная катастрофа!), чтобы система справилась бы. Задача эта в принципе давно изученная, давно написано, как ее решать, но для тренировки школьников подходит. Чаще бывают задачи, где алгоритм запрятан глубже. Есть, скажем, списки людей, которые обладают какими-то характеристиками, — и нужно найти определенную категорию людей по заданным критериям поиска: например, человек живет в Петербурге, учился в школе №239, интересуется танцами и программированием. Пользователей больше 100 млн, таких запросов — сотни в секунду. Как это сделать? Если бы приходил один запрос в час, можно было бы пробежаться по данным каждого, которые хранятся в определенном месте, и проверить для него все критерии поиска. А если запросов сотни тысяч в секунду?.. Многие в социальных сетях ищут знакомых, единомышленников, ищут группы по интересам. Каждая задача поиска сама по себе решается простым перебором: поставим десяток компьютеров — и они справятся. Но тысячи запросов в секунду для сотни миллионов пользователей — совсем иные масштабы. А ведь серверы должны где-то стоять, потреблять энергию. Задача — оптимизировать огромные ресурсы в каждый момент времени. Никакого суперкомпьютера в компании «ВКонтакте» нет, но подобные задачи решаются.

 Команда: стратегии

— Вы рассказывали о решении технических задач. Но игра командная — и есть задачи социальные, задачи управления коллективом. Можно ли сравнить, как вас учили работать в команде больше десяти лет назад, и как вы учите студентов и школьников?

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

— Читал, что в одной из команд на мировом чемпионате набрали трех хороших программистов, каждый из которых решал задачи самостоятельно. Эффективно?

— Стратегия «Три звезды» известна, порой она хорошо выстреливает, но далеко не всегда. Команда Варшавского университета в 2007 году выиграла чемпионат мира по программированию — классический пример такой стратегии. А в следующем году они не смогли взять даже медаль! Эта стратегия очень рискованная, хорошо организованная команда гораздо надежнее. Ребята поддерживают друг друга и не дают товарищу упасть в пропасть. Когда два-три человека работают вместе, гораздо проще найти ошибку — еще на той стадии, когда она не стала фатальной.

— То есть до того, как команда подает решение и жюри отклоняет его как неверное. А команда получает штрафные очки…

— Любой человек может ошибаться, это естественно. И если в самом начале было принято неверное решение, то это полчаса загубленного времени. А дается 10 задач на 5 часов. Значит, мы потеряли целую задачу! Можно подсчитать: в команде вероятность ошибки раз в десять ниже, чем у индивидуалов. И даже если ошибка будет допущена, то ее выловят на ранней стадии при надлежащем контроле. А на олимпиадах ошибаться вообще нельзя: решение даже с мелкой ошибкой не принимается. Решение должно работать всегда — таков несокрушимый принцип олимпиад. Систему тестов составляют люди, которые работают командой и очень хорошо умеют отлавливать ошибки участников. Некоторые из проверяющих — бывшие олимпиадники.

— Как вас тренировали? Как вы тренируете ребят? Ваша команда «Kitten Computing» стала чемпионом АСМ в 2000 году в том же Орландо (США, Флорида), как и нынешняя команда матмеха. Только у вас было абсолютное первое место и звание чемпионов, а «Drink Less» получила «просто» золотые медали и звание чемпионов Европы. А в 2001-м вы снова стали чемпионами. Но команда была уже другая: сменился третий участник…

— Мы с Колей Дуровым очень давно вместе, еще со школьных лет в 239-й физматшколе. У нас хорошее взаимопонимание. И когда один ошибается, другой поправляет. Эти отношения у нас давно и, естественно, были откалиброваны сами собой. Мы больше старались сосредоточить внимание третьего члена команды на том, что бывают ошибки, которые нужно обнаруживать как можно раньше. Такие моменты на тренировках были, и мы их старались исключить в дальнейшем. Второй год был очень тяжелым для нас. Одно дело — взять первое место, другое — удержать его. Мы тренировали разные сложные ситуации и были уверены, что наша команда работала бы, даже если бы один из троих фатально заболел и плохо соображал. Причем, любой из трех. Если вспоминать, то в 2000-м мы выступили плохо, а в 2001-м — очень плохо. На минимуме прошли. И тем не менее оба раза взяли первое место. Количество проблем, с которыми пришлось столкнуться в финале, зашкаливало. Но мы их успешно решили.

— Почему вы считаете, что плохо выступили?

— Могли бы лучше. В первый год мы, например, не решили одну задачу, которую многие команды решили. Но зато мы решили другую задачу, которую не решил никто. У нас были проблемы с английским языком: в задаче встретилась сложная фраза, были возможны два понимания ее, и мы выбрали неверное. Это пример ошибки, которая на соревнованиях может повлиять на результат команды. Иначе мы решили бы на одну задачу больше всех, а так мы выиграли только по времени. Во второй год мы начали решать не с той задачи, допустили ошибки в технической задаче и т.д. Но у нас были разработаны стратегии взаимодействия и мы успешно устранили все ошибки… А с другой стороны, у каждой команды были свои проблемы — и наша стратегия оказалась более выигрышной. Идеально гладко бывает очень редко. Почему-то считают, что если все задачи сдали с первого раза, то повезло. Но чаще это результат долгой работы по налаживанию командного взаимодействия. Команды нашего Университета, кстати, отличаются тем, что многие задачи сдают с первого раза. Мы идем «чище» многих других команд, это важное достоинство. И оно в этом году принесло успех команде «Drink Less»: все задачи, кроме одной, были сданы с первой попытки. Если бы оставшаяся задача тоже была бы сдана сразу, у нас были бы лишние пять минут еще на одну задачу, и это принесло бы нам абсолютное первое место. А так — только четвертое.

— Пять минут играют такую важную роль?

— Да, пять минут порой решают всё. Команды на чемпионате идут очень тесно. Уровень такой высокий, конкуренция настолько серьезная, что если не решил одну задачу, сразу слетел далеко вниз. Наша команда и многие другие решили по семь задач, пара команд решила восемь — они и заняли первые строчки победителей. Мы проанализировали после соревнований: ту самую задачу, где у нас была неверная попытка и штрафные минуты, они обе сдали с первого раза! И у них хватило времени на ту восьмую задачу, которую мы решали, но не успели решить.

— Команда «Drink Less» на мировом чемпионате была признана чемпионом Европы. Значит, наши ребята выступили лучше других европейских команд?

— Да, они показали лучший результат. Кстати, все российские команды считаются европейскими — даже команда из Новосибирска, к примеру. И если выиграет команда из Владивостока, она будет считаться чемпионом Европы. Последние годы среди 12 медалистов чемпионата АСМ бывают по 4-5 российских команд. Ни одна другая страна таким успехом похвастаться не может, даже близко нет. Да, выиграла в этом году китайская команда, но всего две команды из Китая получили медали. А из России — пять, еще одна украинская и две польских — целых 8 европейских команд (из 12), и команда СПбГУ среди них — лучшая. Поэтому звание чемпиона Европы очень почетное.

— Как происходит отбор в команду на мировой чемпионат?

— У нас на матмехе есть кружок обучения мастерству программирования. Туда каждый год приходят больше сотни студентов со всего Университета. Неважно, с какого факультета студент, но если он хочет заниматься, то мы будем его учить. Далеко не все остаются. Занятия проходят не только в Петергофе, но и на Васильевском острове. Трижды в год мы проводим чемпионат Университета по программированию — последние годы в нем участвуют от 30 до 40 команд, каждая из трех человек. В основном команды с матмеха, поскольку наш факультет позиционирует себя как факультет, где готовят программистов. Участвуют также команды с факультета ПМ-ПУ и физфака, не очень много. Единичные участники были с биолого-почвенного факультета, с экономического. Любопытно, что команды чистых математиков (кафедры высшей алгебры и теории чисел, математического анализа, теории вероятностей и математической статистики) побеждают чаще, чем команды программистов (кафедры системного программирования, информатики, параллельных алгоритмов).

Команда: обучение

— Как вы воспитываете необходимые для победы качества?

— К каждому нужен индивидуальный подход — поэтому, кстати, в группе всего 6 человек. Больше я не потяну, это предел моих возможностей, и к тому же шесть — это две тройки, две команды. У каждого нужно искать его сильные и слабые стороны, и с каждым нужно вести индивидуальную работу, развивая сильные стороны и затыкая дырки в слабых, чтобы они тоже превращались в сильные. И это дважды в неделю по четыре часа. Все занятия у нас разные, я их обновляю постоянно в зависимости от потребностей момента. У меня была задача: ребята должны научиться чувствовать время. Перед Всероссийской олимпиадой по информатике мы провели любопытную игру — я ее изобрел по аналогии с игрой «Угадай мелодию». А наша игра называется «Напиши программу». Участвуют два человека. Им дается задача, случайным образом выбранная. Первый знакомится с ней и говорит, что напишет программу (решение задачи) за 30 минут. Второй говорит, что напишет за 25 минут. Первый — за 23, второй — за 21. Так они торгуются, пока кто-то из них не соглашается с условиями противника и говорит: «Пиши!» Каждый оценивает свои возможности и называет реальное время, по своим оценкам. Бывает, что кто-то переторговался. Это плохо: ему начисляют штраф, и он всё равно должен написать программу. Если он ее не напишет, будет еще хуже. Разработана система оценок для того, чтобы выгоднее всего было назвать меньшее время и в него уложиться. Ближе к концу занятия были неплохие примеры: школьник говорил, что напишет за 9 минут — и за 8,5 мин выполнял задание.

Андрей Лопатин выиграл открытый личный чемпионат мира по программированию TopCoder Open — 2009 в номинации Marathon Match

— Всего за одно занятие они научились четко оценивать время?

— Они научились делать это лучше, развили необходимые навыки. Мы устраивали круговой турнир, где каждый играл с каждым несколько партий. Еще одно необходимое качество участника соревнований — командное взаимодействие. Есть разные психологические игры на эту тему, но в нашей практике они почему-то не работают. Ребятам больше помогало то, что после каждого занятия мы обсуждали с ними, что делали и чему научились, — пока в электричке вместе ехали или в кафе заходили. Эти обсуждения поддерживают командный дух. Из практики работы со студентами есть такой пример. Они приходят на занятие, а им объявляют, что сегодняшние команды составляют заново — так, чтобы в них попали по одному человеку из вчерашних команд. Это способ обмена опытом, который раскрывает возможности для развития. А то ведь бывает так, что команда разучит определенный круг умений и замыкается в нем. А когда они перемешиваются, то понимают, что можно что-то делать не привычным способом, а каким-то другим.

— Вы назвали одну стратегию — «Три звезды». А какие другие? Есть ли в команде какие-то традиционные роли? Ведущий, например, или Стратег, Тактик…

— Есть стратегии, которые основаны на жестко закрепленных ролях, они более спортивные. Пример из древней классики — три роли: Математик (он решает) — Программист (он пишет программу) — Тестер (он проверяет). Так почти никто не делает, но иногда такая стратегия работает неплохо. В жизни всё гораздо сложнее. И главное, на мой взгляд, чтобы в команде был хороший Тестер — иначе будут проблемы, как у «Трех звезд». Именно благодаря Тестеру команда сдает задачу с первой попытки и экономит много времени. Но у нас ведь Университет, который не случайно созвучен со словом «универсальный». Наши люди умеют многое, и Тестер в нашей команде может одновременно быть и Математиком. А другой может быть и Программистом, и Математиком — на матмехе такое сплошь и рядом случается. И роли в команде динамические, часто меняются. Жесткие роли не могут конкурировать со скоростью развития. В жизни всё меняется, и нужно подстраиваться под изменяющиеся условия — в команде особенно. Поэтому хорошо, когда в команде все умеют всё. На финале обычно много геометрических задач, потому что их много в жизни: встречаются проектировки, планировки, GPS-навигация, геолокационные сервисы и т.п. И, например, Коля Дуров очень силен в геометрии — но на соревнованиях задачи по геометрии нередко писал я. Почему? Потому что надо было делать что-то еще, и такое распределение функций было наиболее эффективным. А на тренировках мы прорабатывали разные варианты — в том числе и фатальное отсутствие одного из членов команды. В жизни ведь всякое может случиться…

За пределами олимпиад и чемпионатов

— Но вы не только тренер, а еще и преподаватель на матмехе?

— Да, преподаю информатику на первом и втором курсе, а на третьем — спецкурс «Алгоритмы анализа графов». В школе информатикой называют предмет, где обучают владению компьютером и дают элементарные данные о программах MS Word и MS Excel. Этому я студентов не обучаю, а преподаю им структуры данных, алгоритмы (на Западе этот предмет назвали бы computer science). Наша сфера IT-технологий развивается сумасшедшими темпами. На зачете я разрешаю пользоваться любыми пособиями, даже Интернетом. Приходит студент, ему в билете попалась какая-то теорема. Он ищет ее доказательство в Интернете, а там его нет. Удивляется: как так, найти не могу! Отвечаю: книжка на эту тему еще не вышла — может быть, через годик напечатают, я даже знаю, кто ее пишет. А вам неплохо было бы на лекции присутствовать — ну а пока посмотрите у кого-нибудь в конспекте…

— Идею сети «ВКонтакте» Павел Дуров взял от Facebook?

— Идея-то общая, и социальные сети были и до Facebook, еще в 1980-е годы. Нельзя сказать, что кто-то у кого-то взял. Если у «Жигулей» или у БМВ четыре колеса, а вы создадите свою собственную модель, то нельзя утверждать, что вы у них что-то взяли. Так и тут: например, нужна почтовая программа. В одной программе одна часть хорошо сделана, в другой — другая, а хочется, чтобы всё было удобно. И собираешь все позитивные моменты вместе в одной программе. Еще в ранние годы я, например, написал для себя программу «Kittenmail», и никому вначале не хотел ее показывать. Но потом кому-то дал, а вскоре обнаружил, что у нее уже 10 000 пользователей. Так и тут: есть некоторые вещи стандартные. И что-то в сети «ВКонтакте» — от Facebook. А другие моменты, можно сказать, Facebook взял у нас. Например, в июне в сети «ВКонтакте» мы запустили мультидиалоги, а через пару-тройку недель это сделал Facebook. Диалоги многих собеседников — идея не новая, конференция для нескольких участников была в том же «Скайпе».

— Насколько в фильме «Социальная сеть» (The Social Network) показан реальный студент Гарварда Марк Цукерберг, который создал Facebook?

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

— А «Игры разума» про Джона Нэша?

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

— Кроме математики есть сферы, которые вам интересны?

— Очень большую роль в том, чем я занимаюсь, играют человеческие взаимоотношения. Они мне интересны. Работа с людьми — одна из самых сложных, и нужно очень точно действовать, чтобы не напортить. Моя давняя мечта — чтобы человечество полетело в космос. Астрономией и метеорологией я увлекся в раннем детстве, года в четыре. Помню яркий эпизод: показывал девочке, своей сверстнице, книжку «Погода для всех» — и с удивлением выяснил, что она, оказывается, не умеет читать! Я-то читал лет с трех, и мне эта книжка очень нравилась тогда, а ей это было совершенно неинтересно. А звезды — это ж так красиво: они всем видны, их много. Если посмотреть в трубу, то какие-то из них приближаются, это планеты. Мы с дедушкой собирали подзорную трубу из линзочек, был такой детский конструктор. Дедушка преподавал астрономию и математику в Нахимовском училище, мама была учителем математики в школе. Так что я преподаватель уже в третьем поколении.

— С семьей, с маленьким сыном много времени проводите?

— Стараюсь побольше. Но постоянно проходят какие-то школы, курсы, сборы — приходится отвлекаться, порой надолго.

…Вы уже заметили: куда в беседе с Андреем Лопатиным ни пойдешь, всё равно придешь к математике или программированию. И эта «странность» присуща не только математикам, а любым людям, увлеченным своим делом.

 Евгений ГОЛУБЕВ

Фото из архива А.С.Лопатина

Новости СПбГУ