К итогам чемпионата мира 2005 г. по программированию

6 апреля 2005 г. в Шанхае (Китай) завершился 29-й чемпионат мира ACM по программированию. Команды МГУ (Москва) и ИТМО (С.-Петербург) завоевали золотые медали, а сборная Ижевского университета получила бронзовые награды. В год 250-летия Московского университета им. М. В. Ломоносова команда этого вуза добилась лучшего в своей истории результата — помимо медалей высшей пробы, как и в 2003 г. завоеванных в условиях жесточайшей конкуренции, команда под руководством тренера Евгения Васильевича Панкратьева и в составе студентов третьего курса мехмата МГУ Петра Митричева, Павла Наливайко и Владимира Рычева завоевала титулы вице-чемпионов мира и чемпионов Европы.

Общее выступление команд России иначе как триумфальным назвать нельзя: выше лучшей американской команды (университет Иллинойса), занявшей 25-е место, в итоговой таблице расположились 9 из 11 наших команд (помимо указанных медалистов также команды университетов Новосибирска, Уфы, Перми, Саратова, С.-Петербурга, Екатеринбурга), а также сборная БГУ (Минск). Позади них в финале чемпионата мира в Шанхае остались Калифорнийский и Массачусетский технологические институты, университеты Карнеги-Меллона и Калифорнии в Сан-Диего, — в общей сложности 19 команд США.

Золотые медали команды МГУ в Шанхае (тр. Е. В. Панкратьев, П. Наливайко, В. Рычев, П. Митричев)

На фоне триумфа студентов Шанхайского университета Jiao Tong, добывших в родных стенах заветный титул абсолютных чемпионов, наши успехи вроде бы меркнут, особенно по сравнению с прошлогодним чемпионатом мира в Праге [1], где команда университета ИТМО стала абсолютным чемпионом мира, Пермский университет принес в копилку нашей страны золотую, а Ижевский университет — серебряную медали.

Но давайте не будем торопиться с выводами, а попробуем тщательно разобраться в том, что же произошло в Шанхае и какие проблемы вскрыл очередной чемпионат.

Немного истории

Командные чемпионаты мира по программированию (ICPC, International Collegiate Programming Contest) проводятся ежегодно под эгидой американской Ассоциации по вычислительной техники (ACM, http://www.acm.org), которая наряду с IEEE Computer Society и British Computer Society входит в тройку ведущих профессиональных компьютерных ассоциаций мира и объединяет в своих рядах свыше 80 тыс. ИТ специалистов из разных стран мира. С 1977 по 1989 гг. эти состязания были внутриамериканскими, с 1990 г. в них стали принимать участие европейские команды, а затем и представители других континентов, что позволило повысить статус соревнований и называть их чемпионатами мира ACM-ICPC World Championship (http://icpc.baylor.edu/icpc/).

Российские команды получили возможность участвовать в региональных полуфиналах, начиная с 1993 г. [2]. А с 1996 г. Россия была впервые представлена в финале командами МГУ и ИТМО, причем дебют оказался довольно успешным: по новым правилам распределения мест, введеным в 2003 г., МГУ и ИТМО были бы в шаге от бронзовых медалей (успешно решив одинаковое количество задач с бронзовыми призерами). Но медали вплоть до 2000 г. не вручали, и формально наши студенты разделили 17—26 места.

Главные организаторы турнира: Уильям Пучер (William Poucher, ICPC Executive Director) и Габби Зильберман (Gabby Silberman, Program Director of IBM Centers for Advanced Studies)

В сезоне 1997—1998 гг. корпорация IBM стала генеральным спонсором соревнований, заняв в битве за лучшие интеллектуальные ресурсы мира место корпорации Microsoft, которая ранее обеспечивала необходимую финансовую поддержку чемпионатов. За прошедшее десятилетие число участников отборочных турниров и финалов выросло более чем в 4 раза и достигло отметки 4109 команд, представляющих 1582 универ ситета мира.

Для наглядности выступлений наших команд составим таблицу, где будут отражены не только титулы абсолютных чемпионов (A), золотые (G), серебряные (S) и бронзовые (B) медали, но и так называемые предпризовые места (QM, quasi-medal). В предпризовую зону нами включаются команды, решившие столько же задач, сколько и бронзовые медалисты, но отставшие по числу штрафных минут, либо решившие ровно на одну задачу меньше. Для численной оценки результата введем международный рейтинг (за последние 10 лет) для команд как сумму баллов, начисляемых за золотые (30 баллов), серебряные (20 баллов) и бронзовые (15 баллов) медали. За победу в абсолютном первестве (чистое первое место) к очкам за золотую медаль добавляются еще 30 баллов, за место в предпризовой зоне начисляется 5 баллов. При равенстве рейтинга приоритет отдается команде, имеющей награды более высокой пробы, а при равенстве показателей — набравшей последние зачетные очки позже конкурента.

Наивысшими достижениями отечественных команд за 10 лет выступлений в финалах чемпионата мира по программированию являются три титула абсолютных чемпионов мира (СПбГУ — 2000, 2001; ИТМО — 2004), звания чемпионов Европы (СПбГУ — 2000, 2001; Саратовский ГУ — 2002; ИТМО — 2004; МГУ — 2005), а также еще 8 золотых медалей (СПбГУ — 1998; ИТМО — 1999, 2001, 2003, 2005; МГУ — 2003, 2005; Пермский ГУ — 2004). Начиная с 1999 г. в копилку России меньше двух медалей не попадало (а без золота мы остались только в 2002 г. в Гонолулу).

Самой стабильной из отечественных является команда университета ИТМО — за 10 лет участия она ни разу не осталась без рейтинговых баллов. Наиболее результативно выступает команда Ижевского университета (два участия — две медали). К сожалению, не хватает стабильности, особенно в последние годы, командам МГУ и СПбГУ. Немного странно выглядят не слишком успешные выступления сильной команды Нижнего Новгорода. Но все же представители университетов крупных нестоличных городов выступают в финалах очень и очень достойно.

Интересная особенность, подмеченная В. Г. Парфеновым (директор Северо-Восточной Европейской региональной группы NEERC чемпионатов мира по программированию): из столичных городов, кроме монстров СПбГУ, МГУ и СПбГУ ИТМО никто за 10 лет больше в финал не выходил — не было МФТИ, МИФИ, МГТУ им. Баумана; в С.-Петербурге только ЛЭТИ (ныне С.-Петербургский гос. электротехнический университет) имел за все годы шансы выйти в финал. Стоит призадуматься...

Загадочный город

Шанхай... Удивительный, загадочный город, расположенный на юго-восточном побережье Китая. Уже более тысячи лет он известен как один из самых важных портов страны. Его история своими корнями уходит в далекое прошлое — еще во времена династии Тан (617—907 гг.) отсюда отправлялись корабли прямо до Японии и Кореи, а в эпоху династии Юань (1279— 1368 гг.) он достиг наивысшего расцвета.

Шанхай нередко сравнивают с Петербургом: это второй по значимости центр после Пекина, крупнейший порт, для иностранцев — ворота в Поднебесную. Таковым он стал после первой опиумной войны (1840—1842 гг.) — войны Англии и США против Китая за право свободно ввозить наркотики.

Об этом стоит рассказать чуть подробнее. В декабре 1838 г. китайский император Даогуан поручил видному сановнику Линь Цзе-сюю пресечь ввоз опиума. Тот потребовал от английских и американских подданных прекращения опиумной торговли. В ответ британское правительство Пальмерстона послало к китайским берегам эскадру, и в апреле 1840 г. Великобритания официально объявила Китаю войну, получившую название первой опиумной войны. После этого Англию боевыми кораблями поддержали и США. Исход противостояния был предрешен. 29 августа 1842 г. на палубе британского военного корабля "Корнуэлс" был подписан Нанкинский мирный договор, означавший капитуляцию Китая. В соответствии с ним Великобритания получила давно желаемое — постоянную базу в этом районе мира — Гонконг.

В результате этого договора Шанхай, как и другие четыре порта (Гуачжоу, Фучжоу, Хаймень и Нинбо), открыл свои ворота для иностранцев. Первыми в нем расположились англичане (1843), за ними последовали американцы (1848), и, наконец, годом позже — французы. Несправедливый Нанкинский договор предоставил иностранцам огромные права: они могли проживать в Шанхае, приобретать недвижимость и вести торговлю, а затем и создавать промышленные предприятия. Неудивительно, что первая в Китае железная дорога появилась именно здесь. Линия Шанхай — Нанкин была проложена в 1874 г. Создание иностранных концессий привело к тому, что Шанхай к началу XX века стал богатейшей колониальной территорией мира.

После гражданской войны в России русские эмигранты первой волны непрерывным потоком хлынули сюда из Манчьжурии и Дальнего Востока. Русская культурная жизнь Шанхая тех лет была очень бурной: возникали многочисленные кружки и литературные салоны, музыкальные общества, профессиональные союзы. Тысячи лучших людей России пытались приспособить свою повседневную жизнь к абсолютно чуждой им среде. В 1930—1940-е годы здесь держал собственный клуб Александр Вертинский. В этот период в Шанхае появился и сохранившийся до наших дней памятник А. С. Пушкину.

Шанхай является колыбелью китайской культурной революции, которая была провозглашена 10 ноября 1965 г. Мао Цзэдуном именно в этом городе.

Современный Шанхай сохранил традиции прошлого, добавив к ним колорит индустриального центра, объединяющего бизнес-культуры разных стран мира. Город разделен рекой Хуанпу на две части: Пуси («на запад от реки»), исторический центр города, и Пудун («к востоку от реки»). Самые известные высотки Пудуна — небоскреб Цзинь-Мао (один из высочайших в Азии) и третья в мире телебашня The Pearl Tower (468 м), которую сами шанхайцы называют «большими и малыми жемчужинами, падающими на нефритовую тарелку».

Предвосхищая события чемпионата мира, можно сказать, что Китай взял в Шанхае своеобразный исторический реванш у США и Англии: 6 из 9 команд Китая стоят выше самой лучшей американской команды (университет Иллинойса), занявшей 25-е место, а англичане вообще в финале представлены не были.

Что произошло в Шанхае?

Фаворитами нынешнего чемпионата, в финал которого пробились 78 команд, считались сборные ИТМО (С. Петербургского гос. университета информационных технологий, механики и оптики), университета Ватерлоо (Канада) и Шанхайского университета (точнее, Shanghai Jiao Tong University). Команда ИТМО полностью сохранила победный состав прошлого года (Дмитрий Павлов, Павел Маврин, Сергей Оршанский, тренер Андрей Станкевич), причем в ходе подготовки к чемпионату в упорной борьбе выиграла у команды МГУ чемпионат России 2004 г. (http://neerc.ifmo.ru/regional/standings/sta ndings-with-time.html), где проводился отбор на финал чемпионата мира в Шанхае. Жаль, что по правилам турнира в финале не может быть представлено более одной команды от университета. Ведь на чемпионате России (Северо-Восточная Европейская группа NEERC) зачетные третье и четвертое места заняли сильные вторые команды ИТМО и МГУ, но в финал они поехать не могли.

Можно было ждать удачных выступлений в Шанхае также от команд США, Швеции, Польши. То, что сборная МГУ являлась главным фаворитом, знали немногие посвященные. Провал команды МГУ в 2004 г. (тогда в финал пробилась команда факультета ВМиК, занявшая в итоге место в подвале турнирной таблицы) стал самой большой неудачей за все время выступлений. В год 250-летия Московского университета права на подобную ошибку уже не было, и вокруг одного из самых талантливых программистов России — Петра Митричева, выпускника московской школы № 57, — на мехмате МГУ формировалась новая команда-звезда.

Ее старт в Шанхае напомнил финал 2003 г. в Лос-Анджелесе. Тогда после двух часов борьбы команда МГУ, в которую входил Петр Митричев, лидировала с пятью решенными задачами. На этот раз сборная МГУ вновь предложила своим конкурентам ураганный темп.

На 23-й минуте московские студенты успешно сдают первую свою задачу (E). На 33-й минуте (и это неожиданность) — с первой попытки сдает свою задачу (H) команда технологического университета Амиркабира (Иран). На 38-й минуте команда университета ИТМО также сдает первую задачу (J). На 42-й минуте ту же задачу сдает команда СПбГУ. Таким образом, сразу три наши команды вышли в лидеры и задали тон всей гонке.

Команда МГУ шла в ритме 26 мин на задачу, все сдавала с первой попытки (без штрафных минут) и распределяла время равными отрезками. У команды ИТМО возникли заминки с задачами B и C, которые они смогли сдать лишь со второй попытки, и все же к истечению второго часа соревнований в лидерах по прежнему уверенно шли наши: МГУ и ИТМО — 4 задачи. На задачу меньше решили университет Ватерлоо (Канада), университет Вроцлава (Польша), Королевский технологический институт (Швеция), Пермский университет, Ижевский университет, университет Жоншан (Китай), университет Иллинойса (США). Тем временем, будущий чемпион — Шанхайский университет — слегка подтянулся к группе лидеров (2 задачи), но ничто не предвещало грозы.

Павел Наливайко, Петр Митричев и Владимир Рычев у здания Московского Университета перед отъездом команды МГУ в Шанхай

В третий час заметный рывок предприняла команда МГУ. Она сдала две задачи и вырвалась вперед — 6 задач. По 5 задач стало у университета ИТМО, Шанхайского университета, университета Вроцлава и университета Ватерлоо. Едва пошел четвертый час, как команда МГУ сдала 7-ю задачу, на что с интервалом в 5 минут две подряд задачи сдала команда ИТМО. На без малого два часа оставались три задачи, но самые сложные.

К тому моменту ни одна из команд не решила задачи A и G, а задача D покорилась только студентам университета Киото (Япония). Кто бы мог подумать, что наши лидеры так и не смогут подобрать ключи ни к одной из них. Они бились лбом о стену, пытаясь решить задачу G, тогда как задача D за 10 минут до истечения 4-го часа покорилась команде Королевского технологического университета (Швеция).

Очевидец событий проф. Владимир Глебович Парфенов (университет ИТМО) так комментирует кульминационный момент чемпионата: ?В это время у Шанхая и Ватерлоо было по 5 решенных задач и, казалось, что дальше борьба за чемпионство будет идти только между двумя российскими командами. Предполагалось, что МГУ решит 1 задачу, а СПбГУ ИТМО за счет более ровного по сравнению с МГУ состава может решить и 2 (петербуржцы сильно проигрывали москвичам по времени). Однако события пошли по другому пути. На 203-й минуте Шанхай сдал 6-ю задачу, а на 205-й и 211-й минутах Ватерлоо сдал 6 и 7 задачи. И где-то в начале пятого часа Шанхай сдал 7-ю задачу?.

Надо сказать, что в ходе трансляции чемпионата, которую организовали в одном из уютных кафе на территории МГУ члены национальной ассоциации РУССОФТ, выступавший в роли эксперта-комментатора тренер команды мехмата МГУ Олег Христенко высказал предположе ние, что эти ?гробы? (A, D и G), скорее всего и решат судьбу первого места. Так и произошло.

Несколько слов о самой трансляции. Впервые у нас она была организована в прямом эфире, при активном участии со стороны Интернет-холдинга Rambler, и спонсировалась компа ниями-членами РУССОФТ: Artezio, AURIGA, BACUP IT, Инрэко ЛАН, ?Ланит-Терком?, Luxoft, Mirantis, SPIRIT, StarSoft Labs, Solvo, ?Рексофт?, VDI, а также Ассоциацией CBOSS.

По правилам соревнований после четырех часов табло результатов (обновляемое в реальном времени на официальном сайте чемпионата — http://icpc.baylor. edu/icpc/Finals/ Scoreboard/index.html) замораживается, и команды могут ориентироваться в ходе борьбы только по цветным воздушным шарикам, соответствующим конкурсным задачам и подвешиваемым у каждого столика участников в случае успешной попытки.

При игре ?втемную? неплохие шансы на победу имели шведы, им оставалось за час решить три относительно простые задачи (B, F и I), но в итоге им покорилась лишь одна. А хозяева преподнесли неприятный для нас и для канадцев сюрприз. На самом финише они решили задачи B и D и стали чемпионами, вернув себе заветный титул через три года после победы в Гонолулу.

Комментарий Евгения Васильевича Панкратьева (тренер команды МГУ): ?Команда ИТМО пыталась сдавать не только G, но и A. Наши ребята придумали алгоритм решения задачи A, но решили попытаться "добить" задачу G, а не тратить время на написание новой программы (времени оставалось минут 25)?.

Комментарий В. Г. Парфенова: ?Для решения лидерам остались три очень сложные задачи А, D и G. МГУ стал решать задачу G и потратил на нее все два оставшиеся часа. После соревнований выяснилось, что выбранный москвичами вариант решения был неверен. СПбГУ ИТМО решал параллельно задачи A и G, путь решения задачи G был выбран правильный, но не удалось устранить в составленной программе все ошибки. По задаче А было сделано также немало безуспешных попыток. Университет Ватерлоо, как и СПбГУ ИТМО, решал задачи А и G и тоже безуспешно. Наконец, Шанхай решал задачи А и D (заметим, что о путях решения последней у всех присутствовавших россиян на финале не было никаких идей). И за 7 минут до истечения времени шанхайским студентам удалось успешно сдать задачу D, перейти с четвертого места на первое и стать таким образом чемпионами мира 2005 года. Красивая и заслуженная победа!?

Жаль, для нас повторилась ситуация с финалом 2003 г. в Лос Анджелесе, когда команда МГУ и занявшая следом за ней ?золотое? место команда университета ИТМО на самом финише уступили чемпионский титул студентам Варшавского университета, сумевшим за последний час решить три задачи.

Тренер москвичей Е. В. Панкратьев уточняет: ?В Лос-Анджелесе почти все время шла борьба между командами Варшавского и Московского университетов, причем лидеры неоднократно менялись. В Шанхае команда МГУ бессменно лидировала с 23-й минуты до примерно 290-й (из 300), причем иногда отрыв от второго места составлял 2 задачи (когда команда МГУ сдала 7-ю задачу, ни у кого не было больше 5 решенных задач)?.

Главный приз турнира, за который развернулась настоящая битва

Задачи, предлагаемые в шанхайском финале, весьма различались по своей сложности. По нашей просьбе для ?Мира ПК? свой экспертный комментарий дал Георгий Корнеев, член жюри полуфинальных соревнований в регионе NEERC, обладатель золотой (2001) и серебряной (2000) медалей чемпионата мира в составе команды ИТМО (куда входил нынешний тренер чемпионов 2004 г. Андрей Станкевич). Вот его мнение: ?Наиболее ярко эта тенденция стала проявляться после соревнований в Орландо, когда были все шансы, что команда СПбГУ (в итоге занявшая первое место), решит все задачи. После этого на каждом финале есть 2-3 гроба, по которым если и есть подходы, то очень мало. Зачастую решение одной из таких задач позволяет команде претендовать на первые места. "Гробы" неприятны тем, что обычно их сложность существенно превышает сложность остальных задач (сложность которых обычно образует достаточно пологую кривую). Таким образом, получается что после "равнины" команды упираются "в стенку", а там уж как повезет?.

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

Как после финала отметил Гордон Кормак (Gordon Cormack), тренер ?золотой? команды университета Ватерлоо, ?в последний час соревнований победить мог любой из золотых медалистов. Команда университета Ватерлоо решала задачу A, но безуспешно. Российские команды атаковали задачу G и решить не смогли. Шанхайский университет ликвидировал отставание в одну задачу и примерно за 10 минут до конца соревнований решил задачу D, что и принесло ему победу?.

Одним из объективных показателей сложности задач является реальное выступление участников. Давайте воспользуемся официальным табло турнира (пусть даже не отражающим последний час соревнований, но иных официальных данных у нас нет) — http://icpc.baylor.edu/ icpc/Finals/ Scoreboard/index.html.

Сложность задачи будем вычислять по формуле: (1-Y/A) + (1-Y/T), где Y — число успешных решений, A — общее число попыток сдать задачу, T - общее число команд (Y <= A; Y<= T). Для особого случая Y = 0 пусть формула будет иметь вид 2+A/T. Для финала в Шанхае T = 78.

Получаем следующее ранжирование по сложности (см. табл. 3)

Напрашивается вывод, что 30% доля "гробов" в финале 2005 г. — это перебор и превращает соревнование в чистую лотерею. ?Да, во многом превращает, — соглашается Г. Корнеев. — Поэтому на полуфиналах NEERC мы стараемся не давать откровенных "гробов", с другой стороны иногда бывает, что участники решают задачу, которую жюри считает "гробом", и не решают более простые с точки зрения жюри задачи. По моему мнению, таким количеством "гробов" жюри финала страхуется от повторения ситуации, имевшей место в Орландо.

Почему же, имея почти два часа в запасе на решение "гробов", команды МГУ и ИТМО взялись за задачу G, хотя к тому времени было видно, что задачу D осилили японцы, а затем и шведы? Могли ли наши участники в ходе выступления видеть табло результатов? ?До заморозки (за один час до окончания соревнований), — поясняет Г. Корнеев, — всем участникам доступны текущие результаты, обновляемые в реальном времени. Но анализировать их обычно не хватает времени, потому что для этого нужен компьютер, который постоянно занят. Поэтому, удобнее ориентироваться по шарикам. Например, на финале в Ванкувере нам это очень помогло, так как в начале соревнований мы увидели, что командам приносят шарики за задачи, которые мы не успели прочесть. При этом оказалось, что эти задачи были самыми простыми?.

Могли ли подсказать команде Шанхая, что решить реально можно было только D? ?На мой взгляд, — отмечает Г. Корнеев, — для решения задачи D требовалось придумать достаточно сложную идею, без чего ее было решить невозможно. С другой стороны, в задаче G было явно написано, что требуется сделать, но было ясно, что это технически сложно. Видимо, у шанхайцев кто-то догадался до этой идеи, а наши на момент выбора ее еще не придумали и решили делать технически сложную задачу, которую было более-менее ясно как решать. В большинстве случаев такая стратегия вполне оправдана, но в данном конкретной ситуации задача G имела много "подводных камней".

Примечание. Для каждой задачи приведено время успешной сдачи (часы и минуты финала), а также число неудачных попыток сдачи. Красным выделены нерешенные задачи, зеленым - успешно сданные, желтым — те задачи, относительный номер сдачи которых совпадает с ранжированием по уровню сложности, т. е. говорит о точности попадания в ритм от простого к сложному. Жирными прямоугольниками выделены часовые зоны.

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

Но вернемся к событиям в Шанхае. Болельщики хозяев, заполнившие холл пятизвездочного отеля Pudong Shangri-La, где проходил финал, жаждали победы для своих любимцев. Едва истекло турнирное время, как они дали волю эмоциям. И тут их едва не повергло в шок заявление исполнительного директора ACM ICPC Уильяма Пучера о том, что решение 8-й задачи командой Шанхая после совещания судейского комитета было признано неверным [3]. В таком случае китайская команда заняла бы лишь пятое (!) место после МГУ, ИТМО, университетов Ватерлоо и Вроцлава. Хозяев все же обижать не стали.

?Посмотрите на эти задачи, — отмечает с горечью Г. Кормак, — и решите для себя сами, приемлемы ли они для любой требовательной аудитории. Думаю, что нет. Поздравляю Шанхайский университет Jiao Tong и благодарю их за гостеприимство... Тот факт, что 6 команд из 78 представляли в финале Канаду, прекрасно характеризует нашу систему образования и уровень наших талантов?.

Случайна ли победа Китая?

Да, победа Шанхайского университета оказалась весьма сомнительной, но при этом надо отдать должное как самой команде, из года в год успешно выступающей в чемпионатах мира, так и вообще китайской школе, в короткий срок вышедшей на лидирующие позиции в этих престижных соревнованиях. Не стоит упускать из вида, что немалую роль в этом играют тренерские кадры. В частности, команду Шанхая (Веньян Дай, Шуанг Жао, Бохай Янг) привел к победе тот же наставник, что и в 2002 г. в Гонолулу, — Йонг Ю. Весь последний год команда Шанхая дистанционно тренировалась вместе с российскими командами.

Команда Шанхайского университета Jiao Tong с заветным кубком абсолютных чемпионов мира

Попробуем проанализировать выступления ведущих команд мира за последние 10 лет. В соответствии с нашей методикой (см. комментарий к таблице 2) полный рейтинг-лист команд после финала в Шанхае выглядит так (см. табл. 8).

Команда университета Ватерлоо (в Шанхае ее представляли Давид Нарум, Матей Захариа, Ральф Фурманьяк) находится на вершине таблицы, а команда университета ИТМО благодаря самым стабильным и успешным выступлениям за последние годы имеет второй рейтинг в мире и является лучшей из наших команд.

Как легко видеть, три из четырех золотых медалистов Шанхая находятся на вершине рейтинга, а команда МГУ, получив 30 очков за золото 2005 г., значительно попра вила свои позиции, обойдя Гарвардский университет, университет Калифорнии в Беркли и вплотную приблизив шись к Массачусетскому технологическому институту. Поскольку рейтинг строится за период 10 лет, то в будущем году команды потеряют рейтинговые очки 1996 г., так что уже в финале 2006 г. у команд ИТМО и СПбГУ есть реальный шанс возглавить международный рейтинг команд, а сборной МГУ — выйти на 5-е место.

Анализируя эту таблицу, можно сделать вывод, что более одного представителя в TOP-20 имеют лишь три страны — Россия (3), Китай (4) и США (5). Тогда как Канада, Польша, Чехия, Швеция имеют одного ярко выраженного лидера. В TOP-50 рейтинга входят 12 команд из США, 7 команд из России, 6 команд из Китая, 4 команды из Канады.

Естественно, что результаты отдельно взятой команды вряд ли могут в достаточной мере отражать уровень развития национальной школы подготовки талантливых программистов. Следует учесть и другие факторы: количество команд, выходящих в финальную часть, а также уровень успешных выступлений финалистов от данной страны.

Чтобы выявить тенденции последних лет, посмотрим на очевидные показатели успеха стран (см. таблицу 9).

Золотые медали команды ИТМО в Шанхае (Сергей Оршанский, Дмитрий Павлов, тр. Андрей Станкевич, Павел Маврин)

Специфика соревнований, когда всего одна решенная задача позволяет из неудачников попасть в триумфаторы, требует введения дополнительного показателя - предпризовых мест (см. предисловие к табл. 2). Для стран введем отдельный рейтинг, который для каждого года будет зависеть от числа медалей и предпризовых мест в конкретном финале, а также от отношения суммы призовых и предпризовых мест к общему числу команд финала от данной страны (коэффициент успеха). ?Цена? медалей будет оцениваться в тех же весовых ?коэффициентах?, что и для рейтинга команд (30 — абсолютный чемпион, 30 — золото, 20 — серебро, 15 — бронза, 5 — предпризовое место). Идеальные 100 очков получаются в случае, если страна завоевывает абсолютное первенство и имеет не менее 4 финалистов, которые получают медали и места упомянутых видов. Разумеется, квотирование по регионам не позволяет все страны поставить в равные условия (это наболевшая проблема более сбалансированного распределения квот), зато исключает эффект ?одиночного выстрела?, когда максимальный рейтинг будет иметь страна, делегировавшая одну команду и выигравшая с ее помощью титул абсолютного чемпиона мира.

В приведенном ниже рейтинг-листе стран для каждого года приводится раскладка по числу занятых мест — ?(золотые+серебряные+бронзовые)+предпризовые?, выделены обладатели звания абсолютного чемпиона, а также представлено общее число команд от данной страны и собственно рейтинг. Он вычисляется по формуле (a*A + (g*G + s*S + b*B) + qm*QM) * (g+s+b+qm)/f, где a, g, s, qm — число соответствующих титулов, медалей и предпризовых мест, f — число команд финалистов от данной страны. A, G, S, B, QM — весовые коэффициенты. Например, для оценки выступления России в финале в Ванкувере имеем (1*30 + (2*30 + 0*20 + 2*15) + 1*5) * (2+0+2+1)/5 = 125 * 1,00 = 125,00.

Как видно из таблицы 10, отражающей успех страны в конкретном финале, Россия и Китай выступают очень успешно, причем год от года наращивают свое представительство в финалах. Явно регрессируют США. Финал в Шанхае — худший не только за период 2001—2005, а вообще за всю историю чемпионатов. Из 19 ее финалистов лучшим результатом оказалось 25-е место университета Иллинойса. Да и рейтинг США в чемпионате 2005 г. просто немыслимо низкий. Очевидно, что переизбыток американских команд, выступающих на последних чемпионатах в роли статистов, заметно снижает общий уровень соревнований. Напрашивается вывод об изменении квот в сторону сокращения числа американских участников в пользу стран Европы и Азии.

Интересно, что 2005 г. стал для России очень успешным (хотя превзойти достижение в Ванкувере при удвоении наших финалистов весьма затруднительно). Более того, впервые за 5 лет страна, не завоевавшая чемпионский титул, набрала самый высокий годовой рейтинг. Сводный рейтинг стран (табл. 11) вычисляется суммированием показателей для всех лет данного периода и делением полученного значения на число лет в выборке.

Анализ результатов наглядно демонстрирует: лидерство России является бесспорным. А вот США имеют серьезные проблемы.

Провал американцев — национальная трагедия

Провал американцев в Шанхае ясен и без всяких таблиц. Они лишь подчеркивают всю глубину падения некогда могучего великана. В частности, Давид Паттерсон (David Patterson), президент ACM и профессор университета Калифорнии в Беркли, подводя итоги чемпионата, отмечает: ?После Второй мировой войны США шли впереди всех, так как другие страны занимались восстановлением своей экономики. Мы были лидером. Но теперь нас догнали?.

Едва завершился чемпионат 2005 г., как в San Francisco Chronicle вышла статья [4], где ее автор, Бригитта Форсберг (Brigitta Forsberg), пишет следующее: ?В то время как Соединенные Штаты спали, Китай наращивал свой технологический уровень, Южная Корея стала лидером в области широкополосной связи, а Индия превратилась в мировой центр программирования. Европа, которая успешно выступает в чемпионате мира по программированию, опережает США в области онлайновых сервисов для мобильной связи?.

Джим Фоли (Jim Foley), президент Computing Research Association, вынужден признать [5], что низкий уровень студентов американских университетов неизбежно ведет к утрате Соединенными Штатами технологического лидерства. Кремниевая Долина уже не в силах удерживать знамя мировых достижений в сфере высоких технологий, и с каждым годом на Восток — в Китай, Корею и Индию — мигрируют все новые и новые точки технологического роста.

Трейси Кун (Tracy Koon), директор Intel по корпоративным отношениям, тоже бьет тревогу: ?Если исходить из того, что наука и математика управляют инновациями, инновации являются душой технологий, а технологии управляют большей частью глобальной экономики и для любой конкретной страны определяют ее конкурентоспособность, то у нас налицо серьезные проблемы?. На этом фоне дежурные слова Уильяма Пучера, директора ACM ICPC, сказанные им на церемонии закрытия чемпионата, имеют для Америки горький подтекст: ?Будущее ИТ-индустрии в руках этих молодых дарований?.

Маргарет Ашида (Margaret Ashida), директор IBM по связям с университетами, словно вторит Трейси Кун: ?Чемпионат мира по программированию — самое престижное компьютерное состязание в мире... Если у нас в Америке по сути нет хороших студентов при том количестве обладателей научных степеней в математике и инженерии, то наша страна потеряет способность управлять инновациями в мировом масштабе?.

Образовательная система США требует срочного ?хиругического? вмешательства — таково мнение главы Intel — Крейга Барретта (Craig Barrett). Как он замечает, Америку губит самодовольство: самодовольство в отношении ее инфраструктуры, самодовольство в отношении исследований и разработок, мрачное состояние американской системы образования. Именно эта самоуспокоенность от развития образования, инфраструктуры и исследований служит мощным аргументом в прессе в отношении офшорного аутсорсинга. ?Ни наша пресса, ни наши политические деятели, — говорит Барретт, — не осознали проблему того, что нам надо быть конкурентоспособными?.

Так ли уж важен язык программирования?

Очевидно, что в сложившейся ситуации с провалом американских команд есть немалый соблазн воздействовать не на причину проблемы, а на ее следствие. Чемпионаты мира по программированию проводятся американской ассоциацией ACM, исторически находятся в ведении американских устроителей (Baylor University), опираются на финансовую поддержку американской корпорации IBM. Некоторые иностранные журналисты удивляются, почему же пока еще не включались рычаги власти.

Финал чемпионата мира 2006 г. пройдет с 9 по 13 апреля в Сан-Антонио (США, шт. Техас), где в 1991 г. победил Стэнфордский университет. Причем хозяином, на которого ляжет вся организационная подготовка и технологическое обеспечение, будет выступать университет Бэйлора (Baylor University). Он долгие годы является бессменным владельцем официального сайта чемпионата, а профессор этого университета Уильям Пучер — директором турнира.

Так что стоит заранее готовиться к сюрпризам. Один из них уже стал свершившимся фактом. В Шанхае организаторы соревнований приняли решение (и это в год 35-летия Паскаля!) с 2007 г. исключить Паскаль из числа допустимых языков финала, в которые до недавнего времени входили Си, C++, Java, Паскаль. Зачем? Об истинных причинах можно лишь догадываться: то ли судьям надоело реализовывать аж 10 задач на четырех языках, то ли спонсорам хочется пусть и столь странным способом продвигать свою инструментальную систему Eclipse, то ли нет уже сил дальше спокойно выносить гегемонию российских команд, работающих преимущественно на этом языке.

Выбор языка, особенно для олимпиадных задач, характерных для чемпионатов мира по программированию, — не праздный вопрос. Просто удивительно, насколько явно среди интеллектуальной элиты насаждаются Cи/C++ и Java, как в угоду порочной практики в ИТ-индустрии и образовании дискриминируются языки, не относящиеся к Си-семейству, прежде всего Паскаль. Есть ли для этого какие-то вразумительные аргументы?

Если язык доказал свою ?профпригодность?, а поддерживающая его система программирования носит открытый некоммерческий характер (и речь здесь отнюдь не только о Паскале!), то к чему накладывать подобные ограничения? Итак, все упирается в политическую волю, которая начинает носить излишне направленный характер.

Стоит напомнить, что наши ?золотые? команды МГУ и ИТМО работали в Шанхае на Паскале (Delphi, Borland Kylix), да и статистика последнего полуфинала 2004 г. в нашей отборочной группе NEERC (который благодаря мощному составу все чаще воспринимается как малый чемпионат мира) говорит сама за себя: по данным Г. Корнеева, было проверено 69% решений на Delphi, 30,4% решений на Cи/C++ и 0,6% решений на Java. При этом на хотя бы одно решение на Delphi сдало 79,2% команд, на Cи/C++ 31,5% команд, а на Java — 1 команда. Кстати, зарубежные команды также предпочитают язык Java не использовать. Нетрудно догадаться, что проблемы нам создали из ничего. Задумаемся, а зачем судьям вообще ограничивать число языков, если корректность решений на уровне исходных текстов никто не смотрит, а все сводится к прогонке контрольных тестов. Как часто судьям требуется смотреть исходные тексты? ?Только в исключительных случаях, — отмечает Г. Корнеев. — На соревнованиях чемпионата мира мы стараемся придерживаться тех языков, которые разрешены в финале. Технических причин расширить множество языков нет... К сожалению, на финале в этом году приняли решение, в соответствии с которым Delphi будет исключен, начиная с финала 2007 года. Это сильно ударит по нашим командам?.

В дискуссии о Паскале не следует предавать забвению мнение об этом языке Денниса Ритчи, автора Си: «Паскаль — очень элегантный язык. Он по-прежнему жив. Он породил немало своих последователей и оказал глубокое воздействие на проектирование языков» [7].

Словно предваряя решение организаторов, профессор Бьерн Страуструп (автор языка C++, http://www.cs.tamu.edu /people/faculty/bs) во время проводов в Шанхай команды своего университета (Texas A&M University), не удержался от того, чтобы лишний раз не прорекламировать свое детище. ?Это самый популярный язык в мире, — подчеркнул Страуструп [8]. — Его можно найти везде, начиная от браузеров, поисковой системы Google, компьютерных игр и заканчивая марсоходом Mars Rover и новейшими модификациями истребителя F-16?. Решив в Шанхае лишь 2 задачи из 10, команда Страуструпа заняла одно из последних мест. Что же, нынешний чемпионат весьма убедительно показал, что в руках наших программистов Паскаль оказывается куда более мощным и эффективным оружием, нежели C++, — оружием, которое хотят ликвидировать.

В мае этого года отмечалось 75-летие со дня рождения Эдсгера Дейкстры (Edsger Dijkstra, Нидерланды, 1930—2002), одного из величайших программистов XX века. Не грех вспомнить его слова в отношении важности языка программирования и влияния инструмента, который мы пытаемся использовать, на наши собственные мыслительные привычки. ?Я заметил, — говорил Дейкстра в далеком 1972 г., выступая перед американской аудиторией, — некоторую культурную тенденцию, которая, по всей вероятности, своими корнями уходит в эпоху Возрождения. Она состоит в том, чтобы не замечать этого влияния, считать человеческий ум высшим и независимым хозяином всего, что он порождает. Но если я начинаю анализировать свои собственные мыслительные привычки, а также и привычки своих коллег, то независимо от своей воли прихожу совсем к другому выводу, а именно, что инструменты, которые мы пытаемся использовать, а также язык или обозначения, применяемые нами для выражения или записи наших мыслей, являются главными факторами, определяющими нашу способность хоть что-то думать или выражать!? (из речи при вручении премии Алана Тьюринга Бостон, США, 14 августа 1972 г.) [9].

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

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

Профессор Никлаус Вирт (Niklaus Wirth, р. 1934, Швейцария), автор языков Паскаль, Modula-2 и Oberon, так характеризует эту проблему [10]: ?Очевидно, перед нами в высшей степени устойчивый порочный круг: учителя не могут изменить свои курсы, т.к. они должны привлечь и доставить удовольствие студентам; студенты требуют то, что практикуется в промышленности; а индустрия применяет и воспроизводит то, чему обучены ее работники. Этот замкнутый круг напоминает ситуацию, описанную мной во введении к сообщению о Паскале в 1970 г.: вузы стремятся учить тому, что требует индустрия, а в индустрии практикуется то, чему ее работники выучились в вузах… Только университетские преподаватели в состоянии сломать этот порочный круг. Это сделать нельзя ни быстро, ни легко. Но если это окажется невозможным, то что-то, видимо, глубоко неправильно с преподавателями и их академической свободой. Они просто обязаны подняться до роли лидеров.?

Далее он продолжает: ?Порочный круг был однажды разорван, когда распространился Паскаль. При поддержке коллег-единомышленников и в упорном противостоянии рутинерам, Паскаль распространился в учебных заведениях и проник в индустрию. Это произошло, несмотря на могучую конкуренцию со стороны индустрии и других больших организаций, в соперничестве с языками PL/1, Algol 68 и Ada. Однако наследники Паскаля, существенно его превосходившие, Modula-2 и Oberon, не получили должного внимания среди преподавателей, и сами пали перед лицом самого недостойного из соперников — Си. Самого недостойного, т. к. в этом языке были нарушены все открытые к тому времени принципы серьезного программирования... Только за одни эти пороки он заслуживает изгнания из учреждений образования. Однако сей уродливый синтаксис был целиком воспроизведен в языке Java, принятие которого академическим сообществом произошло, отчасти благодаря этой преемственности?.

Интеллектуальная гонка продолжается

Достаточно взглянуть на таблицу 12, чтобы понять, что страны офшорного программирования начинают уделять повышенное внимание элитной подготовке программистов. Странное место занимает пока Индия, но она в этих соревнованиях еще новичок, и не исключено, что через 5-7 лет нам, как и в области офшорного программирования, придется ее догонять.

Алексей Сухарев, профессор МГУ, выпускник мехмата, президент компании AURIGA, так комментирует результаты последнего чемпионата мира по программированию: ?Россия уже смогла доказать мировому ИТ рынку, что ее вузы выпускают талантливых программистов. Доказательством является беспрецедентный факт, что в финале чемпионата мира 2005 приняли участие 11 российских команд. То, что наши команды не заняли первое место, отнюдь не означает, что уровень знаний и умений российских студентов снизился по сравнению с предыдущими годами, когда россияне занимали первые места. Сейчас общая задача компаний участников рынка, Ассоциации разработчиков программного обеспечения РУССОФТ и государственных органов власти РФ заключается в максимальном содействии развитию будущих кадров отрасли экспорта ПО. Без должного внимания и правильных действий России не удастся реализовать амбициозные планы достичь объема рынка экспорта программных разработок в 2 млрд. долл.?

Чем объясняются нынешние невероятно высокие достижения России? Прежде всего, многолетней целенаправленной работой тренерских коллективов, организаторов и судейского корпуса внутрироссийских соревнований (Открытого Кубка, Гран-При Петербурга, Гран-При Урала, Гран-При Поволжья, Гран-При Сибири, Гран-При Карелии и др.), возросшей конкуренцией внутри страны, последовательными шагами со стороны ряда отечественных компаний и ассоциаций, таких как CBOSS, НИКС, РУССОФТ по популяризации подобных интеллектуальных состязаний.

Из чужих ошибок следует вовремя извлекать необходимые уроки. Если мы по-прежнему будем пребывать в состоянии самоуспокоенности и эйфории от ставших привычными успехов наших команд, в пресыщении победами посыпать голову пеплом при первой же потере титула абсолютного чемпиона, не будем наращивать уровень поддержки команд и соревнований, в том числе со стороны государства, то очень скоро от завоеванных позиций не останется и следа. Нас не догонят… Вы в этом твердо уверены? #

Руслан Богатырёв — главный редактор ?Мир ПК-диск?, научный редактор журнала ?Мир ПК?. Область профессиональных интересов: языки и технологии программирования, искусственный интеллект, история компьютерных наук. Email: bogatyrev@pcworld.ru.

Литература
  1. Богатырев Р. К истории чемпионатов мира ACM по программированию // Мир ПК. 2004. № 7. http://www.osp.ru/pcworld/2004/07/048.htm
  2. ?Командный чемпионат мира по программированию ACM 2003/2004. Северо-Восточный Европейский регион? . Под ред. В. Н. Васильева и В. Г. Парфенова. — СПб.: СПбГУ ИТМО, 2003. http://ict.edu.ru/ft/001781//index.html
  3. Till F. Shanghai Jiaotong U: The new magnetic north of computer programming talent // National Business Review, New Zealand, April 8, 2005. http://www.nbr.co.nz/home/ column_article.asp?id=11750&cid=3&cname=Technology
  4. Forsberg B. American universities fall way behind in programming // San Francisco Chronicle, April 9, 2005. http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2005/04/09/BUG9EC5LBI1.DTL
  5. Frauenheim E. U.S. slips lower in coding contest // CNET News.com, April 7, 2005. http://news.com.com/U.S.+slips+ lower+in+coding+contest/2100-1022_3-5659116.html
  6. The C Family of Languages: Interview with Dennis Ritchie, Bjarne Stroustrup, and James Gosling // C++ Report, 12(7), July/August 2000. http://www.gotw.ca/ publications /c_family_interview.htm
  7. Богатырев Р. Летопись языков. Паскаль // Мир ПК. 2001. № 4. http://www.osp.ru/ pcworld/2001/04/058.htm
  8. Filbi M. Students to compete in programming world finals // The Battalion, March 31, 2005. http://www.thebatt.com/news/ 2005/03/31/News/Students. To.Compete.In.Programming. World.Finals907839.shtml
  9. Дейкстра Э. Смиренный программист. — Лекции лауреатов премии Тьюринга за первые двадцать лет 1966—1985. — М. : Мир, 1993.
  10. Вирт Н. Преподавание информатики: потерянная дорога. — Международная конференция по преподаванию информатики ITiCSE, 24 июня 2002 г. — Пер. Ф. В. Ткачева. http://www.inr.ac.ru/ ~info21/greetings/ wirth_doklad_rus.htm
Из новостных лент
  1. ?Трансляция ЧМ по программированию? // Научный портал механико-математического факультета МГУ, 6 апреля 2005 г. http://shade.msu.ru/~ejudge/
  2. Кошкина Э. ?Российские студенты завоевали золото на чемпионате мира по программированию? // Компьюлента, 6 апреля 2005 г. http://soft.compulenta.ru/178534/
  3. ?Российские студенты заняли 2 и 3 места на чемпионате мира по программированию? // Lenta.ru, 6 апреля 2005 г. http://lenta.ru/news/2005/04/06/acm/
  4. ?Команда мехмата МГУ заняла второе место на чемпионате мира по программированию? // Новости Московского Университета, 6 апреля 2005 г. http://www.mmforce.net/msu/ news/news.php?mid=1825
  5. ?Россия проиграла чемпионат мира по программированию? // eMorning, 6 апреля 2005 г. http://www.emorning.ru/newsline/258.html
  6. ?Российские команды заняли 2-е и 3-е места на ежегодном командном студенческом чемпионате мира по программированию в Шанхае? // Прайм-ТАСС, 7 апреля 2005 г. http://www.bit.prime-tass.ru/news/show.asp?id=28082&ct=news
  7. ?Русские программисты уступили лишь китайцам? // CNews, 7 апреля 2005 г. http://www.cnews.ru/newtop/index.shtml?2005/04/07/176917
  8. Чуриков Л. ?Шанхайские лисички? // ИА ?Алгоритм?, 7 апреля 2005 г. http://zdnet.ru/?ID=478779
  9. Коляда С. ?Китайцы взломали российских программистов? // Финансовые Известия, 7 апреля 2005 г. http://www.finiz.ru/cfin/tmpl-art_oo/id_art-916704
  10. ?Команда СПбГУ ИТМО завоевала золото на чемпионате мира по программированию? // Компьютерная газета, 7 апреля 2005 г. http://www.nestor.minsk.by/ kg/news/2005/04/0720.html
  11. ?Россияне показали класс в программировании? // Internet.Ru, 8 апреля 2005 г. http://internet.ru/index.php?itemid=11292
  12. ?Cтуденты России — чемпионы мира по программированию? // KM.RU, 8 апреля 2005 г. http://www.km.ru/news/ view.asp?id=3815DEDDD019 473488CC911BFDC3E045
  13. ?Быть на Руси быстрым разумом Невтонам!? // Мир Связи. Connect!, 8 апреля 2005 г. http://www.connect.ru/ newsdetail.asp?id=6047
  14. ?Российские программисты уступили только китайцам? // Новости OSP.RU, 11 апреля 2005 г. http://www.osp.ru/news/ events/2005/04/11_04.htm
  15. Анненков А. ?Чемпионат мира по программированию выиграли китайцы? // Профиль, 11 апреля 2005 г. http://www.profile.ru/items/?item=11279
  16. ?Российские студенты заняли 2-е и 3-е места на чемпионате мира по программированию? // Время новостей, 11 апреля 2005 г. http://www.vremya.ru/2005/ 61/13/122463.html
  17. ?Российские студенты заняли на первенстве мира по программированию второе и третье места? // Голос России, 11 апреля 2005 г. http://www.vor.ru/ Efir_Daigest/news.php?act=8767
  18. ?Команда МГУ при поддержке CBOSS завоевала «золото» Шанхая? // MForum.ru, 12 апреля 2005 г. http://www.mforum.ru/news/ article/011526.htm
  19. ?Петербургские студенты-программисты выиграли на чемпионате мира? // ИА REGNUM, 13 апреля 2005 г. http://www.regnum.ru/news/438070.html

Из правил проведения финала в Шанхае

Каждой команде-участнице, в которую входит три человека (запрещено участие любого из них более чем в двух финалах), выделяется калькулятор и отдельный компьютер с фиксированной конфигурацией (IBM ThinkCentre M51 — 3,20 ГГц Intel Pentium 4 Processor 540, 1 Гбайт ОЗУ; Red Hat Linux 9.0, компиляторы — Eclipse 3.0.1, Java J2SE 1.4.2, Borland Kylix 3.0). Участникам необходимо за пять часов решить максимально возможное количество конкурсных задач из общего числа (10), написав программы на любом из допустимых языков — Cи, C++, Java, Паскаль. Корректность решения проверяется автоматически на контрольном наборе тестов, заранее подготовленных судейским комитетом. За управление приемом решений и обеспечение проверки их корректности отвечает специальная система PC2 (Programming Contest Control System), разработанная университетом Калифорнии в Сакраменто. В случае каждой неудачной попытки сдать задачу команде начисляется 20 мин. штрафа (если задача в итоге так и не была принята, штраф за нее не начисляется). Они добавляются к сумме минут, на которых судьями была принята каждая из успешно решенных задач. Показания времени играют решающую роль при распределении мест между командами, решившими одинаковое число задач.


О языках Си, C++ и Java говорят их создатели

Деннис Ритчи (Dennis Ritchie, США, р. 1941, автор языка Си, [6])

?Си (как впрочем и другие из этой тройки) в определенном смысле является простым языком, но при этом достаточно изощренным. Языки, подобные Паскалю, возможно более просты?.

Бьерн Страуструп (Bjarne Stroustrup, США, р. 1950, автор языка C++, [6])

?Я вижу три очевидных точки зрения на простоту языка — быть простым в изучении, быть простым в выражении идей и обеспечивать взаимнооднозначное соответствие с некоторой математической формой. В этом смысле ни один из трех языков не является простым. Однако, после освоения языки Си и C++ дают возможность просто выражать достаточно сложные и неординарные идеи — особенно когда эти идеи должны быть выражены в контексте накладываемого реальным миром ограничения ресурсов?.

Джеймс Гослинг (James Gosling, США, р. 1956, автор языка Java, [6])

?В последние годы люди немало сделали для преподавания Java в качестве базового языка для первого курса обучения, поскольку он охватывает немало вопросов безопасности, которые упрощают его преподавание на начальном этапе. К тому же, в отличие от Паскаля, с точки зрения карьерного роста он коммерчески более перспективен?.


Итоги чемпионата. Мнения ИТ-профессионалов

Валентин Макаров, президент ассоциации РУССОФТ

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

Олег Бунин, Интернет-холдинг Rambler, руководитель отдела разработок

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

Игорь Тихий, Artezio, директор по развитию бизнеса

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

Светлана Антонюк, "Рексофт", руководитель отдела маркетинговых коммуникаций

"Да, первые места на подобного рода конкурсах говорят о том, что российская система образования по-прежнему остается сильной, особенно в части технических наук. Однако уже сейчас и госструктурам, и индустрии необходимо предпринимать срочные меры для того, чтобы поддержать и развивать систему ИТ-образования в России."


Автор выражает признательность проф. А. Г. Сухареву (МГУ, Auriga), проф. А. А. Шалыто (ИТМО), проф. В. Г. Парфенову (ИТМО, декан факультета информационных технологий и программирования, директор Северо-Восточной Европейской региональной группы NEERC), Е. В. Панкратьеву (тренер команды МГУ, ведущий научный сотрудник лаборатории вычислительных методов механико-математического факультета МГУ), Г. Корнееву (ИТМО, член жюри NEERC полуфинала чемпионата мира по программированию), О. Христенко (тренер команды мехмата МГУ), В. Л. Макарову (президент РУССОФТ), В. Медведеву и Ю. Ровинской (Auriga), И. Тихому (Artezio) за консультации и содействие в подготовке статьи. В статье использованы фотографии с официального сайта чемпионата, сделанные Дэвидом Хиллом (David Hill) и Кларком Бейкером (Clark Baker).