Программисты на льду
В Харбине прошел финал чемпионата мира по программированию среди студенческих команд.
Соревнование под названием ACM-ICPC (первая аббревиатура означает «Association for Computing Machinery» - сообщество IT- ученых, а второе - International College Programming Contest) завершилось 5 февраля победой китайской команды. По количеству призовых всех обошли университеты Китая и России - и те, и другие завоевали по четыре медали.
Обычно участникам финала ACM-ICPC выдают только разноцветные майки с эмблемой турнира и названием университета. В Харбине этого мало: программистов-спортсменов надо не просто одеть так, чтобы отличить от прочей публики, но и защитить от мороза.
В городе очень холодно. Недавние московские морозы слабее того, что творится сейчас на севере Китая. Это не столько Азия, сколько Сибирь. Небо ясное днем и ночью, мало снега, дует ветер. Участникам финала по такому случаю выдают куртки с капюшоном, теплые штаны на лямках и шапки-айбиэмки - синтетические ушанки с логотипом "IBM" на левом ухе (эта компания - традиционный спонсор турнира). Надевается все это вкупе с традиционной майкой и выглядит забавно, особенно на индусах.
Именно из-за этих холодов финал ICPC пройдет в феврале, а не в апреле, как обычно. Как объяснил вашему корреспонденту исполнительный директор ICPC профессор Билл Паучер из университета Бэйлора (США), в Харбине в это время года проводится фестиваль ледяных скульптур. Так что выбор времени и места обусловлен желанием удовлетворить эстетические запросы гостей и участников финала.
Китайцы были фаворитами финала. Эту страну представляли 20 команд из 103 (а с учетом университета Гонконга - 21). От США в финал пробились 18 команд. Из России - 11. Однако это надо признать выдающимся спортивным результатом российских студентов. К такому выводу приводит простое сопоставление численности населения КНР и РФ. Количество программистов-спортсменов экстра-класса - это функция, если говорить языком математиков, не только и даже не столько количества и качества вузов, сколько численности населения. У Китая нет проблем поиска талантливой молодежи - есть из кого выбирать. А для СПбГУ ИТМО (ИТМО означает «информационных технологий, механики и оптики»), чья команда побеждала два предыдущих года, эта проблема, по словам декана победителей профессора Владимира Парфенова, - главная.
Кстати, студенты СПбГУ ИТМО, выигравшие ICPC год назад в Стокгольме, не выступали в Харбине, поскольку их обыграла на отборочной стадии турнира другая команда того же вуза. В этом году СПбГУ ИТМО, к сожалению, остался без медалей.
Финал прошел в Харбинском инженерном университете (Harbin Engineering University). Судя по ряду признаков, это аналог нашей Бауманки. Вполне современный вуз, с прекрасными и многочисленными аудиториями. Для соревнований отвели один из вестибюлей - такой, над которым были балконы для зрителей.
Каждый университет представляет команда из трех человек. Участникам предлагаются от восьми до двенадцати головоломных заданий на программирование («problems», в терминологии организаторов). На исполнение заданий дается пять часов. Нельзя пользоваться ничем, кроме словаря (задания пишутся на английском), калькулятора, ручки, бумаги и, разумеется, компьютера. При определении победителя учитываются число правильно решенных заданий (решить все из них практически невозможно), затраченное время, количество неудачных попыток сдать задание. Все эти параметры фиксируются компьютером. Судьи принимают решения в тех случаях, которые не определяются стандартными правилами. Именно такая ситуация имело место на сей раз.
Для посвященных в правила ICPC соревнования программистов весьма интересны и зрелищны. По сигналу Билла Паучера команды вскрывают конверты с заданиями и приступают к работе. Посторонний наблюдатель может судить о происходящем только по количеству воздушных шариков, качающихся над рабочим местом команды: за каждое правильное решенное задание команде приносят шарик определенного цвета. В этом году организаторы опробовали новшество: за первое, самое быстрое решение задачи команде полагается не один, а три шарика одного цвета. Те, кто первыми среди всех решит определенную задачу, получают два шарика соответствующего цвета.
Самое интересное начинается за час до окончания соревнований. Каждое выполненное в течение этого часа задание может иметь решающее значение для определения победителей. На сей раз обошлось без этого - никто из лидеров не сдавал задания «на флажке». Шанхайский университет, захвативший лидерство с самого начала, его и сохранил. МГУ, первое время боровшийся с MIT (Массачусетский технологический институт), отстоял свое второе место (MIT не удержался в лидерах). Только команды из Шанхая и МГУ решили по семь задач, и это выдающийся результат. Остальные призеры одолели на одно задание меньше.
Медали в финале ICPC получают 12 команд. «Золото» достается первым четырем командам, серебро - занявшим места с 5 по 8, бронза - остальным, вплоть до 12-го места. Но в этом году Варшавский университет и Санкт-Петербургский государственный университет показали идентичные, с точностью до минуты затраченного времени, результаты. При этом СпбГУ оказался на 9-м месте («бронза»), а Варшавский университет - на 8-м («серебро»). Организаторы приняли решение выдать пять комплектов серебряных медалей, добавив один для СпбГУ. Количество бронзовых медалей судьи все же решили, вопреки первоначальному намерению, не сокращать, и вручили четыре комплекта. Так Уральский университет (13-е место) попал в число призеров.
Это была четвертая наша команда, получившая медали. СпбГУ, как было сказано, взял 9-е место и с ним «серебро». На седьмом месте оказался Саратовский государственный университет. Чемпион России, Петрозаводский государственный университет, взял 5-е место. Лучше всех из наших выступил Московский государственный университет - 2-е место. В команде МГУ выступали студенты мехмата Алексей Гусаков (5 курс), Илья Корнаков (4 курс) и Илья Разенштейн (3 курс). Их тренер - Антон Панкратьев, старший преподаватель кафедры математической теории интеллектуальных систем мехмата МГУ. Его отец, ведущий научный сотрудник мехмата Евгений Васильевич Панкратьев, основатель школы спортивного программирования МГУ, также тренировал эту команду на первом году ее трехлетнего существования.
У китайских команд, как и российских, тоже четыре призовых места.
Успех российских университетов в Харбине несомненен. Выступление наших студентов в Харбине - предмет национальной гордости. Этот успех гораздо важнее любых победы в традиционном спорте - например, футболе. От футбола, посмотрите для примера на Бразилию, никак не зависит технологическое развитие страны, в то время как от способности воспитывать квалифицированных IT-специалистов экстра-класса оно зависит решающим образом (тут в пример следует привести Индию).
Но, как отмечают тренеры студенческих команд и приехавшие в Харбин преподаватели, в перспективе Россия едва ли сохранит паритет с Китаем. Китайцы очень быстро учатся и, главное, не имеют недостатка в человеческом материале. Они также имеют поддержку своего государства, в то время как наши университеты ее фактически лишены - даже деньги на поездку команд в Харбин российские вузы вынуждены искать самостоятельно.
Но это - тема отдельного разговора, здесь мы ее просто обозначаем. В финале ACM-ICPC наша страна показала превосходный результат. Это дает повод для радости и надежду на будущее.
Финал ACM-ICPC 2011 года пройдет в Каире.