От добра добра не ищут

  

28 Март 2024 (16:18)

От добра добра не ищут

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

С интересом узнал, что 26 марта 2024 года на платформе Foncode прошли соревнования на «Кубок Санкт-Петербурга» по спортивному программированию в дисциплине «Программирование алгоритмическое». Цель этих соревнований – отбор лучших спортсменов для формирования сборной команды (видимо, Санкт-Петербурга) на Кубок России по спортивному программированию.

Формы проведения соревнований даже по этой дисциплине могут быть различными, но здесь была выбрана весьма странная, которая не могла ничего продемонстрировать, кроме как быстроту нажатия клавиш, что в соответствии с федеральным стандартом по физической подготовке участников соревнований по спортивному программированию весьма важно :-)

Этот вывод я сделал из рассмотрения таблицы результатов этих соревнований, из которой следует, что из 43 участников 14 решили все семь задач. Но за какое время?

Первые трое решили все семь задач примерно за 40 минут, в то время как на соревнованиях по алгоритмическому спортивному программированию высокого уровня, проводимых в мире более 40 лет, а в нашей стране около 30, решение такого числа задач в последние годы обычно занимает около трёх часов, в то время как лет 20 назад это время было ещё бо́льшим (за эти годы резко вырос уровень участников соревнований), да и то, чаще всего, только в случае, когда кроме этих семи – самых – есть ещё несколько задач посложнее! (На соревнованиях ICPC число задач не бывает меньше девяти, обычно 12 и более – ред.)

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

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

Что ещё интереснее: оказалось, что в этих соревнованиях все семь задач, представленных участникам для решения, взяты прямо из архива, содержащего всего 48 (!!!) задач, и опубликованного непосредственно на сайте организатора соревнований. Для сравнения, на Codeforces приведено 9400 задач, а на портале Timus их 2173.

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

Но ведь я не предполагал, что в официальных соревнованиях, в названии которых используется слово «Россия» и которые проводятся под эгидой федерации, может произойти такое! Может, впрочем, это случилось не под эгидой федерации, так как в группах федерации и «ФСП Санкт-Петербурга» в соцсети «ВКонтакте» об этих соревнованиях ни слова.

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

Однако даже относительно победителей крупнейших соревнований по спортивному программированию в течение многих лет неоднократно приходится доказывать IT-общественности их полезность для промышленности. Формат, в котором был проведен «Кубок Санкт-Петербурга», может, каким-то организациям покажется интересным. Но это будут не «программистские конторы», такие, как, например, «Яндекс» и «ВКонтакте». Кто сомневается, может спросить у их руководителей… Я, например, знаю, что руководитель компании «Рексофт» Александр Егоров никогда не испытывал восторга от олимпиадников, но на «Играх будущего» был спонсором наград победителя соревнований по спортивному программированию. Не думаю, что те, кто только и умеет что быстро «нажимать клавиши» при решении простейших задач, будут ему хоть как-нибудь интересны!

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

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

Следующие крупнейшие международные соревнования пройдут с 15 по 29 сентября 2024 года в Москве и Екатеринбурге. Они называются «Всемирные игры дружбы» и будут проводиться по 35 видам спорта, в числе которых «и хорошо известные виды спорта, и набирающие популярность, такие как, например, спортивное программирование».

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

Проведение последних соревнований было высоко оценено вице-премьером Дмитрием Чернышенко на выставке «Спорт высоких технологий», прошедшей в Государственной Думе, и поэтому, как говорится в народе, «от добра добра не ищут». А те, кто вдруг будет такое искать, могут опозорить страну.