Время новостей
     N°78, 07 мая 2009 Время новостей ИД "Время"   
Время новостей
  //  07.05.2009
"В наших соревнованиях нечестных методов не бывает"
Президент Дмитрий Медведев вчера в Барвихе встретился с российскими студентами -- победителями чемпионата мира по программированию ACM-ICPC, прошедшего в Стокгольме (см. «Время новостей» от 29 апреля). На встречу с главой государства были приглашены команды Санкт-Петербургского государственного университета информационных технологий, точной механики и оптики (ИТМО), Санкт-Петербургского государственного университета и Саратовского государственного университета.

Поздравляя чемпионов, Дмитрий Медведев не упустил возможности заметить, что успехи студенческих команд должны воплощаться «в производственные достижения, возможности, которые позволят нашей стране действовать в конкурентном мире агрессивно, настойчиво». По мнению президента, решить проблему создания и развития инновационной экономики и IT-индустрии в России можно в первую очередь за счет малых и средних предприятий: «Попытка решить проблему создания инновационной экономики и развития IT-индустрии за счет создания крупных компаний -- она вряд ли достигнет своего успеха. Вот мы создали, скажем, госкорпорацию по нанотехнологиям. Это такой инструмент, который где-то работает, а где-то вообще не работает, но самое главное, что он не создает ткань. Это просто одна большая структура, у которой много денег и которой еще нужно понять, как правильно их истратить, чтобы потом не упрекнули, что они ушли в песок».

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

После встречи с президентом страны Евгений КАПУН, один из участников команды Санкт-Петербургского государственного университета ИТМО, выигравшей абсолютное первенство в финале ACM-ICPC, поговорил с нашим корреспондентом.

-- Президент использовал встречу как повод еще раз сказать о необходимости диверсификации российской экономики...

-- Дмитрий Анатольевич упоминал об этом, говорил, что надо развивать IT-индустрию. Нашу победу приводил как пример того, что у России есть потенциал в этой отрасли.

-- Это было главным в разговоре?

-- Сначала президент поздравил нас, потом стал больше спрашивать, чем говорить. Мы рассказали о том, как проходили соревнования, сообщили ему условия трех конкурсных задач. Дальше разговор пошел об IT-индустрии, о том, что она меньше страдает от кризиса, о том, почему она недостаточно хорошо развивается. Что надо сделать.

Говорили о том, что происходит с победителями чемпионатов по программированию через несколько лет. Большинство из них остались в России. Некоторые стали тренерами, готовят школьников и студентов для соревнований. Кто-то стал разработчиком программных продуктов, многие занялись наукой.

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

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

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

-- А со стороны кажется, что это только логические задачи, головоломки, не имеющие связи с реальной жизнью программиста.

-- Да, любая задача -- абстракция, из которой многие аспекты реальной жизни изъяты, но тем не менее связь с жизнью в них не утрачена. Совсем реальную задачу, понятно, давать на соревнованиях нельзя. Но это и не только чистая математика.

-- Ваша команда не так давно выступает в этом составе. Когда вы к ней присоединились?

-- За полгода до финала чемпионата. Отборочный цикл, начиная с четвертьфинала, мы уже выступали вместе. Но формирование команды начинается до соревнований, на тренировках. В ИТМО тренировки проходят в режиме реальных соревнований дважды в неделю. Набор задач -- те, которые уже были на соревнованиях ACM-ICPC и на других состязаниях... Один компьютер, команда из трех человек. Пять часов на решение.

-- Два раза в неделю тренировки в режиме настоящих соревнований? Это очень тяжело?

-- Это не очень тяжело. Не сказал бы, что тренировки так уж нагружают. Основная проблема -- поздно уходить приходится. Вообще для тренировок трудно выделить время. Пять часов после учебы, потому и поздно заканчиваем. Зато процесс соревнований в финале уже не кажется чем-то новым. Это ведь уже было на тренировках.

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

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

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

-- Очевидно, в команде есть те, кто лучше других кодирует, а кто-то лучше алгоритмизирует?

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

-- Вы общались с соперниками из других стран?

-- Да. Главным образом, в день соревнований. Жюри готовилось объявить результат, а мы его уже знали, поговорив с членами команды университета Циньхуа (основной соперник россиян в борьбе за первое место. -- Ред.). Узнали, сколько задач они решили, и поняли, что при равном количестве сданных задач опережаем их по времени, т.е. выигрываем чемпионат.

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

-- Вы имеете право выступать в финале ACM-ICPC и через год в Харбине?

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

-- Китайцы проявили коварство?

-- Вряд ли. Нечестных методов в наших соревнованиях не бывает.

Полный вариант интервью будет опубликован на iToday.ru.





Подготовлено совместно с iToday.ru

Андрей АННЕНКОВ, iToday.ru, -- специально для «Времени новостей»