В конце ноября команда программистов ИжГТУ заняла второе место в региональном полуфинале Чемпионата мира среди студенческих команд по системе АСМ ICPC и получила путевку в Альберту (Канада), где с 6 по 10 апреля 2008 года состоится финальный этап этих соревнований. Показанный командой результат является лучшим из всех выступлений наших программистов на полуфиналах.
Немного истории
|
Чемпионат мира-2004, Прага (слева направо): Алексей Кузяков, Руслан Ковычев, Николай Пермяков, В.Г. Тарасов. |
Командные чемпионаты мира по программированию (ICPC, International Collegiate Programming Contest) проводятся ежегодно под эгидой американской Ассоциации по вычислительной технике (ACM), которая наряду входит в тройку ведущих профессиональных компьютерных ассоциаций мира. С 1977 года по 1989 год эти состязания были внутриамериканскими, с 1990 года в них стали принимать участие европейские команды, а затем и представители других континентов, что позволило повысить статус соревнований и называть их чемпионатами мира ACM-ICPC. Российские команды получили возможность участия в региональных полуфиналах с 1993 года. Программисты ИжГТУ включились в эти соревнования в 1996 году, заняв в полуфинале 30 место из 52 участников.
Выход в финальную стадию для команд России и некоторых стран ближнего зарубежья лежит через успешное выступление в полуфинале Северо-Восточной региональной группы (NEERC). В разные годы представительство на финал составляло от 10 до 12 команд, причем каждый вуз может быть представлен только одной командой.
Высшими достижениями ИжГТУ в полуфиналах были 10-е (сезон 2003-2004) и 13-е (2004-2005) места, что обеспечило нашим студентам поездку в Прагу и Шанхай, откуда они оба раза вернулись с медалями, заняв соответственно 8-е и 9-е места (с 2003 года за 1-4 место команда награждается золотыми медалями, 5-8 место - серебряными и 9-12 место – бронзовыми).
Правила соревнований достаточно жесткие. Любой программист может приять участие в финале только два раза, независимо от показанного командой результата. И все это за время обучения в вузе или в течение первого года аспирантуры. Вот и получается: только накоплен турнирный опыт, а ты уже за бортом. Ижевских студентов чаша сия коснулась уже не единожды: первая поездка на финал для Николая Пермякова совпала с последним годом обучения в ИжГТУ. Руслан Ковычев, хотя и не исчерпал свой потенциал, дважды уже был участником финала. Теперь очередь за лидером сегодняшней команды – Александром Скидановым (медалист 2005 года).
Тренер
|
Пробный тур, 2005 г., Шанхай. |
Владимир Георгиевич Тарасов воспитал не одно поколение олимпиадников как среди школьников, так и среди студентов. По его собственной статистике ИжГТУ – не тот вуз, куда стремятся поступить победители республиканских олимпиад по информатике среди школьников. Нам остаются "звезды второго порядка". Только вот такой парадокс: за все годы только один (!) школьник нашей республики, продолживший учебу в столичном вузе, стал членом команды-участницы финала ACM ICPC. А среди поступивших учиться в ИжГТУ – семеро, включая членов сегодняшней команды. Причем в активе пятерых – завоеванные медали.
В системе спортивного программирования Владимир Георгиевич последовательно поднимается со ступеньки на ступеньку. С 2005 года он зарегистрирован как руководитель регионального центра для проведения on-line этапов Открытого Кубка России по программированию ACM и успешно обеспечивает участие республиканских команд в этом турнире.
Под руководством В.Г. Тарасова силами нескольких поколений программистов разработано оригинальное программное обеспечение для проведения разнообразных турниров (тренировочных, отборочных и пр.), благодаря чему в 2006 году осуществилась давняя мечта нашего тренера – провести школу-семинар по программированию с участием команд нескольких факультетов и филиалов университета. Как развитие этой идеи, сегодня в планах Владимира Георгиевича – проведение на базе ИжГТУ тренировочных сборов сильнейших команд Уральского региона (подобные сборы, проходящие в Петрозаводске, стали традиционными для сильнейших российских команд).
Результаты
|
Полуфинал Чемпионата мира, 2007 г., Санкт-Петербург (слева направо): В.Г. Тарасов, Евгений Кузяков, Виктор Камашев, Александр Скиданов, Маша Скиданова. |
Оценивая результаты последнего полуфинала, всегда скромный на похвалы своим воспитанникам Владимир Георгиевич сказал: "Турнир для нас сложился удачно. Ребята правильно определили порядок задач и хорошо отработали".
В этой немногословной оценке для посвященного в специфику хода соревнований человека просто масса информации. Правильно определить порядок задач – это уже половина успеха любой команды. Обычно к решению предъявляются 8-12 задач разной сложности. Среди них есть достаточно простые, а есть такие, которые в среде соревнующихся принято называть "гробами" - их решение при заданных условиях практически не реализуемо. Оптимально начинать с легкой, затем переходить к более сложной, умело обходя "гробы".
Вообще, задача на соревнованиях формулируется в форме детективной истории с популярными в студенческой среде персонажами книг, кинофильмов или игр. Занимает это описание 1-2 машинописных листа и выполнено на английском (!) языке. Поэтому первый этап - отсечь лишнее и свести все к понятно сформулированным математическим классам задач. О сложности этой работы говорит уже то, что этот процесс нелегко давался даже Руслану Ковычеву.
При выборе задачи большую роль играет не только собственный опыт, но и грамотное использование косвенной информации - анализ успешных попыток других команд. Первые четыре часа турнира эта информация отражается в оперативно меняющейся турнирной таблице ("монитор"). А в последний час изменения монитора публично не отображаются ("замораживается"), тогда в ход идут уже другие способы. Например, анализ воздушных шариков, вывешенных у стола каждой команды: до последних минут турнира организаторы подтверждают принятие решения задачи вывешиванием шарика определенного цвета у стола команды.
О команде
|
В.Г. Тарасов, Виктор Камашев, Александр Скиданов, Евгений Кузяков. |
На протяжении ряда лет состав нашей команды для участия на Чемпионате определялся по результатам внутренних тестов. Включенные таким образом в команду за показанный высокий уровень индивидуального мастерства Ковычев (2004, 2005) и Пермяков (2004) действительно внесли основной вклад в завоевание медалей в Праге и Шанхае. Правда, идеи решения задач нередко принадлежали и другим членам команды. Так, на турнире в Шанхае последнюю задачу в отсутствие других вариантов Руслан писал по алгоритму Саши Скиданова. Отправленный на проверку без всякой надежды на успех программный код был засчитан с первой же попытки и принес нашей команде "бронзу".
Нынешняя команда (Александр Скиданов, Евгений Кузяков, Виктор Камашев) по способу комплектования отличается от своих предшественниц. Именно в таком составе ребята выступают во всех турнирах уже более года. Сейчас в ходе тренировок они оттачивают не только индивидуальную технику (скорость печатания, кодирование "проблемных" алгоритмов и т.д.), но и командное взаимодействие (как правило, практическая реализация распределяется между Сашей и Женей, а идеи решения задач и поиск ошибок в основном на плечах Виктора).
Вообще, нынешнюю команду отличает нацеленность на высокий результат. Во-первых, есть понимание того, что это вполне достижимо (их предшественники, да и они сами уже добились больших успехов). А во-вторых, они эффективно учатся на своих и чужих ошибках и адекватно используют передовые находки своих конкурентов. Так, ребята быстро подметили и оценили все преимущества технической новинки Варшавской команды по параллельному программированию ("в два экрана").
Анализ каждого отвергнутого тестовой системой решения ребята научились проводить, руководствуясь здравым смыслом, а не эмоциями, как было раньше. Это резко сократило число непродуктивных "штрафных бомбардировок" проверяющей программы. Хотя были в их практике и курьезы – на одном из турниров тестовая система работала с точностью до наоборот. В результате отправленное на "авось" неверное решение сразу было засчитано.
На полуфинале в Санкт-Петербурге команда грамотно использовала возможности пробного тура, который обычно проводится для привыкания к предоставленному на данных соревнованиях компьютеру. Чаще всего проблемы касаются клавиатуры - непривычность расположения или размера специальных клавиш приводит к многочисленным ошибкам при наборе кода. Правильно оценив ситуацию, ребята приняли верное решение – работать не на результат в пробном туре, а освоение до автоматизма предложенной клавиатуры. Компенсацией за последнее место стала возможность печатать почти с максимальной скоростью на основном туре.
Привезенные из С-Петербурга фотографии наглядно демонстрируют, что нашим ребятам вполне комфортно в компании самых именитых участников турниров по спортивному программированию – с их игрушкой-талисманом сфотографировались даже такие легендарные личности, как Андрей Станкевич и Петр Митричев, не говоря уже о членах других команд.
Интересно, что недавно по инициативе ребят к официальному названию нашей команды добавилась неофициальная компонента – сейчас полное наименование звучит Izhevsk STU # 1 GodLike Team (для сравнения названия некоторых команд-участниц финала текущего сезона: Белорусский ГУ – Belarussian SU 3AbEVI, С-Петербургский ГУ – SPb SU # 1 Burunduchki, МГУ – Moscow SU # 2 Crazy SEx13, Орловский ГТУ – Orel STU # 1 Encore, Уральский ГУ – Ural SU # 1 Fusion). Знающие английский язык понимают, что такое название, несмотря на его шутливую тональность, говорит о высокой уверенности наших ребят в себе.
Прогнозы на финал
|
Перед награждением |
Рейтинг команды на протяжении последнего сезона остается весьма высоким. Выход в финал им предсказывали еще осенью на сборах в Петрозаводске. Неплохие шансы на поездку в Канаду (22 голоса при максимуме 32) дали ребятам эксперты в прогнозе на результат прошедшего полуфинала. Правда, ни один эксперт не дал нашей команде место с 1 по 6 по результатам этого этапа, но жизнь показала, что такая оценка ошибочна.
Сегодня ребята тренируются с особым рвением. Под руководством Руслана Ковычева решают и решают задачи прошлых финалов, анализируют возможные типы задач, готовятся к техническим особенностям предстоящих соревнований. Одна из них, по мнению Александра Скиданова – неинформативность тестовой системы (если решение не засчитано, то в отличие от полуфинала, участникам не сообщается номер теста, который не пройден, а это усложняет поиск ошибки).
На предстоящем финале ребят ждет еще одна техническая новинка – это среда разработки Eclipse, с которой команда познакомилась буквально на днях и которая будет предложена на финале. На всех предыдущих этапах чемпионата этого сезона использовалась более привычная для наших участников Microsoft Visual Studio 2007.
По традиции финал чемпионата мира проходит в начале апреля. В Шанхае Саша Скиданов в подарок на свой день рождения (6 апреля) преподнес себе бронзовую медаль. Предстоящий финал в Канаде тоже совпадает с личным праздником Александра. Посмотрим, как все сложится в этот раз.
Мечты тренера
|
Зал для соревнований в Праге, 2004 г. |
Когда Владимир Георгиевич показывает фотографии с финала в Праге, он каждый раз оправдывается – дрожь рук не позволила получить четкие снимки. Фотографии, сделанные год спустя в Шанхае, почти лишены этого недостатка – вероятно, уверенности тренера в силе своей команды было чуть больше.
Сегодня мечты В.Г. Тарасова связаны не только с предстоящим финалом – там, по его мнению, все будет зависеть от ребят и удачи, конечно. Его мечты связаны с новыми идеями развития спортивного программирования в ИжГТУ, тем более что определенный опыт (этапы Открытого Кубка, проведение школы-семинара) уже есть. Он мечтает о том, что в ИжГТУ будет создан Центр спортивного программирования, к организации и поддержке которого активно подключатся спонсоры - например, региональные компьютерные фирмы.
Пожелаем тренеру и команде успехов в осуществлении как ближайших, так и перспективных планов!
Ссылки по теме
Сайты кафедры "Программное обеспечение" ИжГТУ ( http://cs.istu.ru/и http://cs.istu.ru/)
Сайты чемпионата мира по программированию ( http://icpc.baylor.edu/icpc, http://neerc.ifmo.ru/, http://acm.usu.ru/)
Командный чемпионат мира по программированию ACM 2004-2005. Северо-Восточный Европейский регион. /Под ред. проф. В.Н.Васильева и проф. В.Г.Парфенова – Санкт-Петербург: СПбГУ ИТМО, 2004.
Руслан Богатырев. Нас не догонят?! // Мир ПК, 2005 г . № 5
X командный чемпионат Урала по спортивному программированию. Под ред. М.О.Асанова – Уральский государственный университет им. А.М.Горького, 2006.