PIAROFF
Компании
Новости
Пресс-релизы
События
Статьи
2 минуты

Первый чемпионат России по спортивному программированию прошёл в Москве

Об авторе: Анатолий Шалыто, профессор, д.т.н., Университет ИТМО. С 6 по 10 декабря 2023 в Москве на «Чкалов-арене» произошло в некотором смысле историческое событие – первый чемпионат России по официально признанному виду спорта «спортивное программи...

Tag : спортивное программирование

Об авторе: Анатолий Шалыто, профессор, д.т.н., Университет ИТМО.

С 6 по 10 декабря 2023 в Москве на «Чкалов-арене» произошло в некотором смысле историческое событие – первый чемпионат России по официально признанному виду спорта «спортивное программирование».

Федерация спортивного программирования России (Общероссийская спортивная федерация по виду спорта «спортивное программирование») была создана 19 октября 2021 года усилиями Минцифры и Минспорта, а 31 января 2023 года Минспорт признал и включил во Всероссийский реестр видов спорта «спортивное программирование» и пять его спортивных дисциплин: «программирование алгоритмическое»; «программирование продуктовое»; «программирование систем информационной безопасности»; «программирование беспилотных авиационных систем»; «программирование робототехники». Сайт федерации: fsp-russia.com, группа «ВКонтакте»: vk.com/russiafsp. В настоящее время в стране 89 действующих региональных представительств, из которых 86 аккредитованы.

Наша федерация не единственная в мире. Бывший министр образования, науки, культуры и спорта Армении профессор Ваграм Думанян, участвовавший в проведении соревнований по спортивному программированию (автор имеет в виду ICPC, соревнования университетских команд с 40-летней историей, к спортивным федерациям ICPC отношения не имеет – ред.) с 2001 года, узнав, что мы собираемся организовать федерацию, быстро организовал её в своей стране. После Армении и России в 2023 году Федерация спортивного программирования была создана в Казахстане.

Прежде чем переходить к рассказу о первом чемпионате России, поведаю предысторию создания федерации в нашей стране. Об идее её создания я заикнулся в 2008 году в связи «с необходимостью, по моему мнению, присвоения квалификации «тренер по программированию» – новой профессии, которая со временем могла стать хорошо оплачиваемой». В 2012 году на одном из круглых столов на Russian Code Cup я вновь предложил создать в России федерацию спортивного программирования. Кстати, проводить эти соревнования в своё время предложил я. Это предложение поддержал тогдашний генеральный директор Mail.ru Group Дмитрий Гришин. Соревнования были индивидуальными и считались чемпионатом мира по спортивному программированию для русскоязычных программистов, так как условия задач, как и на нынешнем чемпионате России, были на русском языке.

На этот раз идея организации федерации спортивного программирования в нашей стране у меня возникла в связи с тем, что к тому времени команды России уже семь раз побеждали на студенческом чемпионате мира по спортивному программированию ICPC (в 2000 и 2001 годах побеждали команды СПбГУ, в 2004, 2008, 2009, 2012 годах – Университета ИТМО, а в 2006 году – команда Саратовского государственного университета). Так как эти победы высоко ценились в мире и руководством нашей страны, то я посчитал, что чемпионам мира целесообразно присвоить звание «Заслуженный мастер спорта РФ», а их тренерам – звание «Заслуженный тренер РФ». Присвоение этих званий без создания федерации этого вида спорта в стране невозможно.

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

Во-первых, стало известно, что на организацию федерации по игре Го ушло восемь лет, во-вторых, выяснилось, что эта федерация не получает денег от государства – не выдерживает конкуренции за финансы с шахматами и шашками в отделе «Интеллектуальные игры» Минспорта, а в-третьих, было высказано мнение, что руководители вузов не любят спорт и поэтому, если программирование станет спортивным, то они не будут его поддерживать из источников, связанных с творческой деятельностью. В силу того, что никого, кроме меня, и, возможно, Арлазарова, не интересовал вопрос о званиях, а всем в основном нужны были деньги, руководители команд после указанного обсуждения быстро «скисли». Это произошло ещё и потому, что указанные звания «светили» представителям лишь очень небольшого числа вузов, а остальные же смогли бы получать спортивные знаки отличия в соответствии с выполненными квалификационными нормам далеко не столь высокого уровня (подробнее здесь).

В 2017 году я дважды писал об организации федерации. В том же году появилась статья Михаила Рубинчика, в которой обсуждались преимущества и недостатки создания федерации спортивного программирования. Там есть такой абзац: «В спортивном программировании идея создать собственную федерацию обсуждается уже давно, но довольно вяло. Больше всего об этом говорит Анатолий Абрамович Шалыто, профессор кафедры, на которой учатся и работают все спортивные программисты Университета ИТМО. Но, похоже, что он только говорит, так как за несколько лет ничего не сдвинулось в этом направлении. Возможно, мой текст подтолкнет кого-то к активным действиям».

Критика подтолкнула меня, но не к действиям, которые считал для себя непосильными (одна организация федераций в нескольких десятках регионов страны чего стоила), а к продолжению агитации за создание федерации, так как я считал, что «капля камень точит», что оказалось, в конце концов, правильным и в данном случае.

Восемнадцатого февраля 2018 года я был приглашён на встречу с замглавы администрации президента Сергеем Кириенко и помощником президента по экономике Андреем Белоусовым (ныне первым заместителем председателя правительства) на форуме «Наставник» в Москве, где, в частности, рассказывал о наших победах на чемпионате мира по программированию (ICPC – ред.). На следующий день была встреча с Белоусовым, который попросил сформулировать предложения, которые могут войти в поручения президента. Одно из моих предложений было следующим: «Создать федерацию спортивного программирования, признав спортивное программирование видом спорта, по которому проводятся личные и командные соревнования различных уровней, включая чемпионаты мира. Имеется система оценки достижений участников этих соревнований. Этот вид спорта уникальный – все сто процентов участников соревнований остаются в профессии. При этом меня, в отличие от Федерации компьютерного спорта России, интересуют не многомиллионные «вливания», которые начали поступать в компьютерный спорт, а почётные звания, включая «Заслуженный мастер спорта России» и «Заслуженный тренер России», чтобы наши суперталанты назывались не только студентами, аспирантами или доцентами, а имели значительно более высокие звания».

Шестого декабря того же года в Кремле в благодарственной речи я попросил проводившего награждение Сергея Кириенко о следующем: «Поддержите, пожалуйста, наше обращение о признании спортивного программирования видом спорта и организации Федерации спортивного программирования, что позволит нашим ребятам получать почётные звания. Мы не собираемся останавливаться на достигнутом, и тогда после очередной победы на встрече с президентом РФ легендарный тренер наших команд Андрей Станкевич будет не просто доцентом, а заслуженным тренером России, а ребята – не только студентами и аспирантами, а заслуженными мастерами спорта! При этом выполнение квалификационных норм для присвоения этих званий не должно иметь срока давности» (см. здесь, с. 224, 225). Потом в беседе один на один с Кириенко я повторил свою просьбу, на что он ответил, что если наш ректор Владимир Васильев обратится к нему, то он наше предложение поддержит.

Кроме просьб, я ещё писал статью на эту тему и опубликовал её в день проведения очередного полуфинала ICPC 1 декабря 2019.

Четвёртого апреля 2019 года было опубликовано сообщение ТАСС, в котором говорилось, что финал студенческого чемпионата мира по спортивному программированию ICPC состоится в июне 2020 года в Москве. В результате переговоров моего ученика Матвея Казакова – многолетнего организатора чемпионатов мира ICPC — c руководством Минцифры было принято решение о том, что на чемпионате мира в Москве будет объявлено о создании в России федерации спортивного программирования. Представители Минцифры начали переговоры с Минспортом.

Тридцать первого января 2020 года мы для Минцифры написали документ, обосновывающий необходимость создания федерации спортивного программирования в стране. Однако практически в это время правительство РФ ушло в отставку, и в Минцифры, и в Минспорт были назначены новые министры. Все переговоры надо было начинать сначала. А потом пришёл коронавирус, и чемпионат мира перенесли на 2021 год. Об этом мой текст «О создании федерации спортивного программирования. Продолжение».

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

Однако в 2021 году произошло чудо – после финала чемпионата мира по программированию ICPC в Москве председатель правительства РФ Михаил Мишустин организовал неформальную встречу со всеми российскими командами, участвовавшими в финале, в ходе которой совершенно неожиданно для всех сказал, что в России предполагается создать … федерацию спортивного программирования. В этот же день Мишустин в присутствии вице-премьера Дмитрия Чернышенко и заместителя министра цифрового развития Максима Паршина повторил то же самое на встрече с руководителем ICPC Биллом Паучером, его заместителем Джеффом Донохью и Матвеем Казаковым.

После этого всё происходило очень странно. Сначала я написал (март 2022) текст «Опять двадцать пять!» Он появился в связи с тем, что мы случайно узнали, что процесс создания федерации пошёл. И было не ясно, как это могло произойти без участия Паршина, который ничего не сказал об этом Казакову.

В этот же день я по просьбе Казакова написал проект письма ректора Университета ИТМО Владимира Васильева председателю правительства Михаилу Мишустину о необходимости привлечения в руководство федерации представителей вузов, являющихся лидерами спортивного программирования в стране: см. здесь, с. 215, 216. Письмо к Мишустину не попало. Васильеву ответил Паршин, предложив «жить дружно».

В материале «В России создана Федерация спортивного программирования», опубликованном на сайте Минцифры, говорится, что «инициаторами создания Федерации выступили Минцифры и Минспорт России».

У меня по этому вопросу другое мнение: на основании указанных выше фактов я считаю себя инициатором создания этой федерации, а указанные министерства – исполнителями этой инициативы и не более того. Так, в частности, в уже упомянутой статье «В России будет создана федерация спортивного программирования – председатель правительства» сказано: «Идею создать федерацию спортивного программирования первым более 10 лет назад подал профессор ИТМО Анатолий Шалыто. Создание федерации обсуждалось в 2013 году представителями университетов-участников первого российского финала ICPС в Санкт-Петербурге» (один из корреспондентов D-Russia.ru присутствовал на этом совещании – ред.).

Так как стало ясно, что федерация так или иначе будет создана, я высказал предположение, что она, в отличие от других наших спортивных федераций, обойдется без бреда – сдачи спортивными программистами норм по физической подготовке. Народный учитель России Сергей Рукшин в ответ написал мне кратко: «Не обойдемся!» Ниже будет отмечено, что первые «шаги» в этом направлении уже делаются…

Потом я предпринял последнюю попытку по привлечению «внимания народа» к этому вопросу, написав статью: «Нужны ли вузы при организации федерации спортивного программирования в России?» Из всего происходящего я сделал вывод: не нужны. Ни один вуз в стране, несмотря на их огромный тридцатилетний опыт в этом вопросе, не нужен!

Всю эту неприглядную ситуацию я описал ещё в последней на тот момент статье «Создание федерации спортивного программирования в России».

Восемнадцатого октября 2022 года появилась статья Андрея Анненкова, в которой он предложил чиновникам привлечь вузы к работе федерации, по крайней мере, из чувства самосохранения.

Приближался декабрь 2023 года, в котором федерация объявила о проведении первого чемпионата России, а 27 сентября 2023 года, как и предполагал Анненков, у руководства федерации проснулось указанное выше чувство, и оно вспомнило о вузах и об их опыте в проведении аналогичных соревнований. После этого федерация пошла на контакт с одним из ведущих в этой области университетов – Университетом ИТМО. «Федерация спортивного программирования и Университет ИТМО договорились о сотрудничестве по чемпионату России. Председатель правления Федерации, замминистра спорта Одес Байсулатов встретился с ректором университета Владимиром Васильевым, чтобы обсудить совместную работу над методологией соревнований, организацию чемпионата России и участие представителей ИТМО в экспертных советах Федерации».

Результат этой встречи был зафиксирован 19 октября 2023 года на форуме «Россия – спортивная держава» подписанием соглашения о сотрудничестве между Федерацией и Университетом ИТМО.

Я думаю, что соглашение было подписано не только с ИТМО, так как 17 октября того же года в Университете Иннополис закончился финал чемпионата России по спортивному программированию среди школьников – первое официальное соревнование Федерации спортивного программирования России. Этот чемпионат, как в дальнейшем и «взрослый», проходил по трём дисциплинам: «программирование алгоритмическое»; «программирование продуктовое» (хакатон); «программирование систем информационной безопасности».

Во взрослом чемпионате в предварительных соревнованиях участвовали 162 команды от всех восьми федеральных округов и двух городов федерального значения – Москвы и Санкт-Петербурга, охватив практически все субъекты Российской Федерации. В финал вышло 38 команд из 23 субъектов.

Онлайн-отбор по первой дисциплине прошёл 31 октября 2023 года. При этом в результате трёхчасового соревнования было отобрано 16 участников финала: 10 победителей от федеральных округов, Москвы и Санкт-Петербурга, и ещё шесть были отобраны по заранее известным правилам. В результате в финале по этой дисциплине соревновались три команды из Москвы, две из Санкт-Петербурга и по одной из других субъектов федерации.

По второй и третьей дисциплинам соревновалось по 11 команд. При этом отмечу, что во второй дисциплине в предварительных соревнованиях принимала участие 41 команда, причем только одна из Москвы. Задачи для хакатонов (предварительного и финального) готовили представители компании Postgres Professional, которые входили также в состав судейской коллегии. Эта компания также имеет отношение к вузам – к МГУ.

Организатор чемпионата – Федерация спортивного программирования России совместно со всеми одноименными региональными федерациями при поддержке Минцифры и Минспорта. Генеральный спонсор чемпионата — «Газпром». Партнеры проведения соревнований: «Северсталь», «1С-Софт и «Т1». Призовой фонд в каждой дисциплине – 1,1 миллиона рублей (за первое место – 500 тысяч, за второе – 350 тысяч и 250 тысяч рублей за третье место).

Расскажу о соревновании в наиболее близкой мне дисциплине – «программирование алгоритмическое», тем более что оно имеет весьма давнюю традицию проведения соревнований вне федерации.

Финал чемпионата России проходил по правилам ICPC – команда из трёх участников, один компьютер, пять часов соревнований, ограничение решений по времени и объёму памяти и т.д. В отличие от соревнований ICPC на чемпионате России нет ограничений по возрасту участников (на ICPC – менее 24 лет), также не ограничивается число участий на этих соревнованиях вообще (в ICPC – не более пяти раз) и в финале в частности (ICPC – не более двух раз). Ещё одно отличие – как отмечено выше, условия задач написаны на русском языке.

Выбор такого формата соревнований был связан с тем, что чемпионат мира по программированию среди студентов, ICPC, пользуется большой популярностью в вузах России и мира. Если ещё недавно (за исключением ковидных лет) они проходили в три офлайн-тура (четвертьфинал, полуфинал и финал), то теперь в некоторых регионах мира первым туром является квалификационный, который обычно проходит онлайн. Например, в этом году в первом туре в Москве участвовало 490 (!) команд, из которых в четвертьфинал вышло 90. На этих соревнованиях победила команда МФТИ, второе место заняла команда Высшей школы экономики (ВШЭ), которая на чемпионат России была заявлена, как «Москва-1».

На соревнованиях ICPC все три члена команды должны представлять один вуз. Так как команды университетов обычно очень сильны, то казалось, что и на чемпионате России они будут сформированы так же. Однако здесь это оказалось не совсем так. Если, например, команда «Москва-1», как отмечено выше, состояла из трёх студентов ВШЭ, команда «Санкт-Петербург-1» состояла из трёх студентов ИТМО, а команда «Санкт-Петербург-2» – из трех студентов СПбГУ, то по крайней мере две команды-участницы финала были сформированы иначе: команда Саратовской области состояла из ветеранов ICPC, а команда Республики Карелия не являлась командой одного вуза.

Чемпионат России, в отличие от ICPC, не имеет ограничений по возрасту (с 12 лет и старше), что открывает большой простор для участия не только ветеранов спортивного программирования, некоторые из которых могут быть ещё очень сильны, но и школьников, начиная с шестого-седьмого класса школы, открывая среди них таланты, которым федерация совместно с другими организациями по поддержке одарённых детей позволит быстрее и лучше реализоваться. Федерация проводит и будет проводить в дальнейшем соревнования разного уровня, что обеспечит возможность сделать спортивное программирование массовым видом спорта. Если до сих пор спортивное программирование в некоторых регионах практически не развивалось, то уже в настоящее время деятельность в этом направлении в них оживает!

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

Задачи для дисциплины «программирование алгоритмическое» разрабатывались под руководством доцента ИТМО, председателя центральной предметно-методической комиссии по информатике Министерства просвещения РФ, с 2000 года председателя жюри Всероссийской командной олимпиады школьников по программированию, двукратного призёра чемпионатов мира по программированию ICPC, бессменного тренера всех команд ИТМО – победителей семи (!) указанных чемпионатов мира — Андрея Станкевича, который был главным судьёй соревнований. Программное обеспечение на арендованные федерацией компьютеры устанавливалось нашим выпускником и преподавателем Николаем Ведерниковым и очень толковым (других на кафедре не держим) нашим студентом Максимом Альжановым. Соревнования проводились на платформе Codeforces, которая создана под руководством двукратного призёра чемпионатов мира по программированию ICPC Михаила Мирзаянова, который учился и работал в Саратовском госуниверситете, а потом перешел в ИТМО.

Жюри на чемпионат России по этой дисциплине предложило 13 задач, две из которых не решил никто, а две и более задачи решили все команды. Как принято на соревнованиях ICPC, функционировала таблица результатов, которая за час до окончания соревнований для придания большей интриги была «заморожена». После этого в таблице дополнительно указывалось то, что решение командой послано, но правильное ли оно было, участникам и зрителям не известно. Таблицу «разморозили» и окончательные результаты объявили только 10 декабря на закрытии соревнований.

На этих соревнованиях интрига осталась только в борьбе за третье место, так как как команды «Москва-1» и «Санкт-Петербург-2» решили по 11 задач, причём первая это сделала за меньшее время. Так как они в последний час ничего судьям не посылали, то испортить свой результат по времени (один из критериев оценки результатов команды по правилам ICPC – время решения задачи – ред.) не могли. По восемь задач до «заморозки» решили команды Саратовской области, «Санкт-Петербурга-1», Республики Карелии, Свердловской области и «Москвы-2». Все они сделали попытки решения оставшихся задач во время заморозки, что, как выяснится позже, позволит одной из них занять третье место. Команды, решившие семь и менее задач до заморозки, хотя и посылали потом свои решения судьям, шансов занять третье место в данном соревновании практически не имели.

После «разморозки» таблицы интрига исчезла окончательно: первое место – «Москва-1», второе – «Санкт-Петербург-2», третье место – Свердловская область. Команда «Санкт-Петербург-1» на четвёртом месте.

В течение всего времени соревнований шла прямая трансляция в соцсети «ВКонтакте». Трансляция комментировалась ведущим и специалистами. В общем, всё было организовано классно и прошло без сучка и задоринки. Но я думаю, что скоро они появятся.

Первую «задоринку» я услышал на упомянутом выше форуме «Россия – спортивная держава» на круглом столе по спортивному программированию из уст ректора Дальневосточной государственной академии физической культуры Сергея Голицына, который явно обрадовался появлению новых спортсменов, над нормами по физической культуры которых он собрался работать, да ещё не один, а совместно с тринадцатью другими образовательными учреждениями высшего образования по физической культуре в стране. Снова вспомнилось название упомянутой выше моей статьи «На этот раз обойдемся без бреда?» и уверенный ответ народного учителя России «Не обойдемся!»

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

Появление этого вида спорта принято практически везде, включая правительство РФ, на ура, так как он ближе других видов спорта к профессии, которая очень востребована в стране, хорошо оплачивается, а её обладателей резко не хватает. Близость к профессии определяется тем, что эти соревнования развивают навыки программирования и работы в команде, требуют знаний сложных алгоритмов и структур данных, а также умения оптимизировать программы, находить и устранять в них ошибки. Путь в эту специальность с одним лишь только умением программировать (кодировать – ред.) значительно труднее. Практически все спортивные программисты работают и/или учатся по специальностям, связанным с программированием, и поэтому подготовка к соревнованиям по спортивному программированию только повышает их квалификацию, как при учёбе, так и в работе.

Федерация спортивного программирования (в части программирования алгоритмического) имеет «проекции» на Министерство просвещения и Министерство науки и высшего образования в части проведения олимпиад школьников и студентов.

Теперь вновь об указанной выше «задоринке». В силу того, что представителям лишь очень немногих профессий (например, военным) приходится сдавать нормы по физической подготовке, предлагаю не портить праздник и не отталкивать программистов от федерации, заставляя их бегать, прыгать и делать ещё нечто такое, что могут придумать только в многочисленных учреждениях высшего образования в области физической культуры. Если же кому-то из программистов физические упражнения нужны и нравятся, то они ими могут заняться по своей инициативе без нормативов и принуждения.

А теперь о победителях в других дисциплинах. Программирование продуктовое: первое место – Донецкая республика, второе – Северная Осетия (Алания), третье место – Москва. Программирование систем информационной безопасности: первое место – Санкт-Петербург (команда ИТМО!), второе – Республика Татарстан, третье место – Москва. Символично, что в третьей дисциплине награды победителям вручал декан факультета безопасных информационных технологий ИТМО Данил Заколдаев.

Интересно, что пять специалистов из ИТМО проложили дорогу в сторону создания федерации спортивного программирования и проведения первого чемпионата России: я много лет агитировал за её создание, Васильев поддержал этот порыв, Станкевич и Мирзаянов обеспечили успешное проведение соревнований в дисциплине «программирование алгоритмическое», а Заколдаев привёл нашу команду к победе в дисциплине «программирование систем информационной безопасности»!

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

Обдумывая всё происходящее, я несколько снизил свои пожелания к присвоению почётных званий всемирным «маякам» спортивного программирования: и ходатайствую перед Министерством спорта РФ о присвоении двукратным чемпионам мира по версии ICPC (их за всю более чем сорокалетнюю историю проведения этих соревнований между тысячами университетов из более чем 100 стран мира было всего девять человек, из них восемь граждан России и один – Беларуси) званий «Заслуженный мастер спорта РФ», их тренерам – званий «Заслуженный тренер РФ», а остальным чемпионам мира, входившим в состав команд российских вузов, – званий «Мастер спорта международного класса».

А вот какое письмо я получил поздно вечером 10 декабря:

«Анатолий Абрамович, поздравляю Вас с первым чемпионатом России по спортивному программированию в составе видов спорта РФ.

Не умаляя заслуг всех тех, кто начинал, продолжил и продолжает это «движение в спорт», думаю и говорю, что, в первую очередь, это Ваш праздник оттого, что мысль, дожившая до идеи и обретшая форму слова, создаёт энергию – силу для её воплощения. И однажды Вы дали миру такую энергию. С её плодами – признанием программирования видом спорта и первым финалом чемпионата страны, я Вас и поздравляю сердечно.

Р. S. Мне тоже Вы придали сил, возможно и не ведая о том, благословив весной этого года. За это я Вам благодарен!

Председатель федерации спортивного программирования Санкт-Петербурга Денис Кувиков».

Теперь у меня всё. Надеюсь, несмотря на мои 75 лет, что пока всё.