Президент Дмитрий Медведев вчера в Барвихе встретился с российскими студентами -- победителями чемпионата мира по программированию ACM-ICPC, прошедшего в Стокгольме
(см. «Время новостей» от 29 апреля). На встречу с главой государства были приглашены команды Санкт-Петербургского государственного университета информационных технологий, точной механики и оптики (ИТМО), Санкт-Петербургского государственного университета и Саратовского государственного университета.
Поздравляя чемпионов, Дмитрий Медведев не упустил возможности заметить, что успехи студенческих команд должны воплощаться «в производственные достижения, возможности, которые позволят нашей стране действовать в конкурентном мире агрессивно, настойчиво». По мнению президента, решить проблему создания и развития инновационной экономики и IT-индустрии в России можно в первую очередь за счет малых и средних предприятий: «Попытка решить проблему создания инновационной экономики и развития IT-индустрии за счет создания крупных компаний -- она вряд ли достигнет своего успеха. Вот мы создали, скажем, госкорпорацию по нанотехнологиям. Это такой инструмент, который где-то работает, а где-то вообще не работает, но самое главное, что он не создает ткань. Это просто одна большая структура, у которой много денег и которой еще нужно понять, как правильно их истратить, чтобы потом не упрекнули, что они ушли в песок».
Говорил президент также -- в который уже раз -- и о важности диверсификации национальной экономики и сетовал на то, что российский капитал предпочитает воспроизводиться где угодно, только не в высокотехнологичной промышленности, не в IT-индустрии.
После встречи с президентом страны Евгений КАПУН, один из участников команды Санкт-Петербургского государственного университета ИТМО, выигравшей абсолютное первенство в финале ACM-ICPC, поговорил с нашим корреспондентом.
-- Президент использовал встречу как повод еще раз сказать о необходимости диверсификации российской экономики...-- Дмитрий Анатольевич упоминал об этом, говорил, что надо развивать IT-индустрию. Нашу победу приводил как пример того, что у России есть потенциал в этой отрасли.
-- Это было главным в разговоре?-- Сначала президент поздравил нас, потом стал больше спрашивать, чем говорить. Мы рассказали о том, как проходили соревнования, сообщили ему условия трех конкурсных задач. Дальше разговор пошел об IT-индустрии, о том, что она меньше страдает от кризиса, о том, почему она недостаточно хорошо развивается. Что надо сделать.
Говорили о том, что происходит с победителями чемпионатов по программированию через несколько лет. Большинство из них остались в России. Некоторые стали тренерами, готовят школьников и студентов для соревнований. Кто-то стал разработчиком программных продуктов, многие занялись наукой.
-- То, чего удалось добиться вам, -- это спорт высших достижений. Как это связано с IT-индустрией, т.е. созданием коммерческих, используемых множеством людей программных продуктов?-- Коммерчески успешная программа не обязательно должна иметь массовое применение. Она может делаться под заказ, использоваться только в одной компании или быть разработанной для уникального оборудования и при этом очень дорого стоить.
На соревнованиях даются задачи, которые могут быть похожи на те, что встречаются на практике.
-- А со стороны кажется, что это только логические задачи, головоломки, не имеющие связи с реальной жизнью программиста.-- Да, любая задача -- абстракция, из которой многие аспекты реальной жизни изъяты, но тем не менее связь с жизнью в них не утрачена. Совсем реальную задачу, понятно, давать на соревнованиях нельзя. Но это и не только чистая математика.
-- Ваша команда не так давно выступает в этом составе. Когда вы к ней присоединились?-- За полгода до финала чемпионата. Отборочный цикл, начиная с четвертьфинала, мы уже выступали вместе. Но формирование команды начинается до соревнований, на тренировках. В ИТМО тренировки проходят в режиме реальных соревнований дважды в неделю. Набор задач -- те, которые уже были на соревнованиях ACM-ICPC и на других состязаниях... Один компьютер, команда из трех человек. Пять часов на решение.
-- Два раза в неделю тренировки в режиме настоящих соревнований? Это очень тяжело?-- Это не очень тяжело. Не сказал бы, что тренировки так уж нагружают. Основная проблема -- поздно уходить приходится. Вообще для тренировок трудно выделить время. Пять часов после учебы, потому и поздно заканчиваем. Зато процесс соревнований в финале уже не кажется чем-то новым. Это ведь уже было на тренировках.
-- Как распределяются обязанности членов команды? Как вы взаимодействуете? Ведь компьютер один на троих.-- Да, очень важно, что компьютер один. Было бы три, распределили бы задачи между собой и решали бы. А с одним компьютером все становится гораздо интереснее. Возникает потребность больше времени тратить на работу без компьютера.
Начальное состояние -- начинаем читать задачи. В команде все читают разные задачи, ищут простые, это отработано на тренировках. Очень важно решить простые задачи и сдать как можно быстрее, это уменьшает штрафное время. Поэтому простую задачу кто-то из членов команды может просто взять и решить самостоятельно. Со сложными задачами не так: идея, которая рождается у одного члена команды, может оказаться частью общего решения. Поэтому нужно взаимодействовать. Совмещать фрагменты решения. Тут командная работа и нужна.
-- Очевидно, в команде есть те, кто лучше других кодирует, а кто-то лучше алгоритмизирует?-- Это есть. Я, например, за весь финал за компьютер не садился ни разу. Но решения придумывал. Однако придумыванием решений дело далеко не ограничивается. Решение нужно еще и набрать на компьютере, нужно понимать условия задачи и представлять их в виде математической модели. Бывает много лишней информации в тексте задачи, и ее читает кто-то один, а потом объясняет команде. Один человек заканчивает кодирование, другой уже ждет, чтобы как можно быстрее сесть за компьютер. Поиск ошибки, если задача не принята, -- это тоже отдельная работа. Проверка кода, набранного другим. И все занимаются этим. Нет жестко закрепленных ролей, нет и того, кто распределяет работу. Но условия всех задач должны знать все.
-- Вы общались с соперниками из других стран?-- Да. Главным образом, в день соревнований. Жюри готовилось объявить результат, а мы его уже знали, поговорив с членами команды университета Циньхуа (основной соперник россиян в борьбе за первое место. --
Ред.). Узнали, сколько задач они решили, и поняли, что при равном количестве сданных задач опережаем их по времени, т.е. выигрываем чемпионат.
Говорили также об особенностях подготовки. В других странах, например, изучаются как типовые совсем не те алгоритмы, что изучаем мы.
-- Вы имеете право выступать в финале ACM-ICPC и через год в Харбине?-- Да, право такое есть. Будет тяжелее. Другой часовой пояс, февраль. Организаторы решили приурочить финал к фестивалю снега и льда. Для нас это означает, что традиционные сборы российских команд в Петрозаводске, которые поводятся перед финалом, могут быть отменены. Перенести их сложно, в январе ведь сессия.
-- Китайцы проявили коварство?-- Вряд ли. Нечестных методов в наших соревнованиях не бывает.
Полный вариант интервью будет опубликован на iToday.ru.
Подготовлено совместно с iToday.ru