Соревнования программистов не менее увлекательны, чем футболистов или певцов. Это состязания тех, кто делает поиск, создает искусственный интеллект и сервисы, которые меняют нашу жизнь. Сегодня в Берлине завершился чемпионат по спортивному программированию Яндекс.Алгоритм. За победу в нём боролись почти 4000 участников из 72 стран. По итогам отборочных раундов в финал вышли 25 сильнейших программистов из Беларуси, Казахстана, Китая, Польши, России, США, Тайваня, Украины и Японии.
В финале нужно было за 100 минут решить шесть алгоритмических задач. Например, предлагалось разработать алгоритм подбора поисковых подсказок или вычислить «математическое ожидание количества пар музыкальных треков в пуле рекомендаций в (N + 1)-м поколении». Возможно, для кого-то это набор слов, но не для участников Алгоритма.
Борьба за первое место разгорелась между победителем Алгоритма-2013 Геннадием Короткевичем и Хосакой Кадзухиро из Токийского университета. Лучший результат — четыре задачи при 66 минутах штрафного времени — показал Короткевич, подтвердив титул чемпиона. Кадзухиро решил столько же задач, но набрал больше штрафного времени (90 минут) и занял второе место. Третье место завоевал Ван Циньши из университета Цинхуа: он решил четыре задачи при 125 минутах штрафа. Победители получили денежные награды: 300, 150 и 90 тысяч рублей соответственно.
На победу претендовали многие финалисты. Среди них были победители и призеры АСМ ICPC и TopCoder Open, разработчики Google и Facebook. В финальном раунде сражались призёры Алгоритма-2013 Евгений Капун и Ши Бисюнь, чемпион АСМ ICPC Михаил Кевер, а также один из самых титулованных спортивных программистов мира Пётр Митричев. В этом году побороться за приз решил также Макото Соэдзимо — составитель заданий для Алгоритма-2013 и администратор TopCoder Open.
Не обошлось и без неожиданностей. Так, один из финалистов в последний момент сошёл с дистанции, поскольку стал сотрудником Яндекса (а им нельзя участвовать в Алгоритме). Его место занял польский программист, который отставал от финалистов только по количеству штрафного времени. Он и приехал в Берлин на финал. Состязания проходили в самом центре города, в отеле Radisson Blu — в том же здании, где находится офис разработки Яндекса.
Задания для Алгоритма готовила международная команда. В нее вошли программисты из России, Беларуси, Польши и США. Это специалисты МГУ имени М.В. Ломоносова, Университета Карнеги-Меллон, сотрудники Яндекса и Google. В Яндексе задачи составляли разработчики минского и киевского офиса, а потом проверяли их на своих коллегах. Один из составителей в прошлом году сам был финалистом Алгоритма.
Алгоритм — это не просто увлекательное состязание. Он создавался, чтобы поддержать спортивное программирование, способствовать развитию компьютерной науки и IT-отрасли. Мы стараемся решать эти задачи и другим путем, выращивая новые поколения инженеров и программистов. Именно для этого нужна Школа анализа данных, Малый ШАД, система стажировок и, конечно, факультет компьютерных наук, который мы недавно открыли совместно с Высшей школой экономики.