Результаты соревнований по горным лыжам оформляются в виде протокола в котором участники разнесены в соответствии с показанными временами. Несмотря на высокую точность измерений, это относительные результаты (в отличии от бега на 100 метров или прыжков в высоту). То есть участник может только оценить свое отставание относительно лидера, в секундах или в процентах. Впрочем, далеко не все «гоняются» с лидером, чаще смотрят на свое положение относительно знакомых участников.
На следующих соревнованиях все будет по-другому, другие показанные времена, другой лидер. Возможно и другое отклонение относительно лидера и знакомых, даже если по внутренним ощущениям ехал также. Потому что может быть это они проехали хуже, а не ты лучше?
Можно ли перевести эти показатели: точное измерение времен и относительность отклонений от знакомых участников в абсолютные показатели, как при забеге на стометровку? Можно! И довольно просто.
Вопрос перевода временных показателей результатов соревнований в некие абсолютные времена возник у меня примерно 30 лет назад. В то время в распорядок СКАН (спортивный клуб Академии Наук) каждое воскресенье входили соревнования. Либо внутри клуба, либо матчевые встречи, чаще всего СКАН-МГУ, либо соревнования городского масштаба.
Заметил, что есть четкое ощущение как проехал: лучше или хуже своих обычных возможностей. Мое положение было в нижней половине протокола, поэтому отклонение от лидера мало что давало для раздумий. Но очень хотелось перевести четкие ощущения в четкие же показатели. Например «проехал лучше на полсекунды».
Ознакомление с принятой тогда системой штрафных очков соревнований показало, что для нашего случая это не особенно подходит. Система (с претензией на абсолютность) штрафных очков построена на процентном отставании от лидера, с навешиванием иногда лидеру не нуля, а каких-то изначальных штрафных очков в соответствии с рейтингом соревнования. В общем, система построена на том, что отставание от лидера абсолютно. Либо один лидер, либо другой, а твое отставание все равно пересчитывается в некие абсолютные штрафные очки, которые можно сравнивать от соревнования к соревнованию. В нашем случае между лидером и «традиционно вторым» могла быть заметная разница в классе. Поэтому, если лидер вдруг вылетел или не пришел на соревнования, то система построенная на отставании от первого места сразу выдавала какие-то сказочные результаты.
Надо заметить, что система штрафных очков не дает никакой информации лидеру. Он тоже может проехать или лучше или хуже, а штрафных очков все равно ноль (ну или фиксированная константа соревнования).
Решение оказалось очень простым. А почему нужно отмерять свое отставание именно от лидера? С точки зрения математики это ведь совершенно не важно. Это равноценно твоему опережению от последнего места. А чтобы заработала статистика нужно анализировать свое отклонение от всех участников. И так для каждого. Тогда перевод в абсолют основан на допущении того, что участники в целом едут одинаково. Кто-то лучше, кто-то хуже, но в целом класс одних и тех же участников такой же как на предыдущих соревнованиях 🙂
Допущение того, что некий «костяк» участников едет на разных соревнованиях одинаково (в сумме) сразу приводит к тому, что трассы соревнований можно привести к некой обобщенной «абсолютной» трассе, как стометровка у бегунов.
Действительно, допустим есть двадцать участников, лидер показал время 18 + 17 секунд (две попытки, типичное время для слалома в Москве), а двадцатый участник 25 + 26 секунд. На следующих соревнованиях, на другой трассе, в других снежно-ледово-температурных условиях те же участники показывают времена от 22 + 23 секунд (у того же лидера) до 28 + 27 секунд. Если первые соревнования взять за претензию на будущую абсолютную дистанцию, то вторые соревнования можно пересчитать во времена, которые напрямую можно сравнивать с результатами первых соревнований. Для этого нужно сложить времена всех двадцати участников на первых соревнованиях и поделить на сумму тех же двадцати участников на вторых соревнованиях. И умножить на получившийся коэффициент результаты участников вторых соревнований.
Проанализировал тогда урожайный на соревнования 1988 год. В качестве точки отсчета для расчета последующих абсолютных времен взял средние показатели за сезон Жорика (Александр Мистрюков), которые привел к 20.00 секундам.
Оказалось, что система работает довольно точно, измеряет ощущения с точностью не хуже 0.2 секунды, что соответствует точности ручной засечки. Еще были приятные дополнительные возможности, можно было понимать, что дает подготовка лыж, смена инвентаря, видеть рост (или падение) результатов за сезон и от сезона к сезону.
Если смотреть шире, то анализ по системе абсолютных времен можно развернуть и в сторону прошлого. Тогда по анализу протоколов можно понять кто быстрее, нынешний лидер кубка мира Марсель Хиршер или, скажем Ингемар Стенмарк 🙂
Системой абсолютных классификационных времен мы пользовались примерно 10 лет. Прекратили вместе с прекращением регулярных соревнований.
Привожу описание алгоритма, составленное год назад по просьбе Жорика (Александр Мистрюков).
Введение
Абсолютное классификационное время (АКВ) активно использовалось для анализа результатов соревнований СКАН в 1989 – 1999, когда еженедельно проводились соревнования кубка СКАН (по нынешнему – гонки-тренировки). Смысл АКВ состоял в умножении результатов соревнований на вычисляемый коэффициент с тем, чтобы результаты разных соревнований каждого участника можно было наглядно сравнивать.
Алгоритм
1. Первые соревнования. Допустим, что было 20 участников, первый проехал на 17.06 сек, последний за 28.20 сек. На этот момент нужно решить каким будет АКВ первого участника. Например, его можно взять равным 20.00 секунд. Таким образом вычисляется коэфф. пересчета всех остальных участников, равный 20.00/17.06. Все участники помимо обычных времен в протоколе получают АКВ путем умножения своего результата на этот коэффициент.
2. Вторые и далее соревнования. Допустим, что на вторых соревнованиях успешно финишировало 20 участников, из которых 10 было на первых соревнованиях. У этих 10-и уже есть АКВ. Эти АКВ суммируются (Сумма_АКВ). И для этих же участников суммируются реальные результаты (Сумма_Реал). Вычисляется поправочный коэффициент соревнований (К_сорев) = Сумма_АКВ / Сумма_Реал. На этот коэффициент умножаются результаты соревнований этих 10 участников. Получаются предварительные АКВ соревнований для этих участников. Далее происходит небольшой анализ на предмет защиты от неадекватного прохождения трассы некоторыми участниками (упал-встал, потерял палку на старте и т.п.). Для этого АКВ соревнований сравниваются для каждого участника с его текущим АКВ. Если АКВ соревнований для какого-то участника оказывается больше, чем на секунду, то такой участник исключается из обработки для этих соревнований. То есть, его АКВ вычисляется, но не идет ни в суммирование соревнований, ни далее в базу. Допустим, таким образом было откинуто 2 участника. По оставшимся 8-и происходит повторный расчет К_сорев. На этот коэффициент умножаются результаты ВСЕХ участников и это АКВ соревнований. То есть, новые участники получают свои АКВ, а старые могут сравнивать свои предыдущие АКВ с АКВ соревнований, и, таким образом понимать «в секундах», быстрее или медленнее они проехали. Далее в базу пишутся АКВ участников. Для новых – АКВ соревнований, для старых среднее между АКВ соревнований и предыдущим АКВ. В протоколе пишется реальный результат плюс три АКВ: предыдущее, соревнований, скорректированное.
Алгоритм «в процессе эксплуатации» слегка корректировался, на сезон 2024 выглядит так:
При обработке результатов соревнований нужно подсчитать кол-во участников, у которых уже есть АКВ. Ограничение – должно быть минимум 5 таких участников. Это ограничение «мягкое», в общем-то если участников 3-4, то АКВ получаются нормальными. Но все-таки есть риск, что АКВ «поплывут». Поэтому какое-то ограничение на минимальное количество участников должно быть. На сейчас это 5.
Далее осуществляется «первый прогон». Вычисляются две суммы: результаты участников соревнований, в которых есть АКВ «предыдущее» (Сумма1) и сумма этих АКВ (Сумма2). Потом результаты всех участников делятся на Сумму1 и умножаются на Сумму2. Таким образом получается предварительный расчет АКВ соревнований каждого участника с имеющимся с прошлых соревнований АКВ.
Далее нужно отбросить участников, у которых были АКВ, но которые по каким-то причинам проехали «нестандартно». Критерий отброса: вычисленное при первом прогоне АКВ не должно отличаться от предыдущего АКВ более, чем на 3.5% в «минус» или на 5% «в плюс». Вообще, выход АКВ участника за этот диапазон — это ЧП (чрезвычайное происшествие). Возможные причины приведены ниже по тексту.
Если после отброса осталось менее половины участников (с АКВ), то второй прогон не производится. Соревнования при этом не соответствуют принципу расчета АКВ: «участники едут более-менее так же, как на предыдущих соревнованиях». На практике это может произойти при существенном изменении условий соревнований (крутизна склона, состояние покрытия, постановка трассы). За четыре года наблюдений этот критерий не применился, но близко к этому было.
Если после отброса осталось менее 5 участников с имеющимся АКВ, то расчет тоже не производится.
А если все в порядке, то для оставшихся участников с имеющимся АКВ осуществляется второй прогон (так же как выше по тексту). Получившийся коэффициент применяется к результатам всех участников. Это и есть АКВ соревнований.
Наконец, рассчитываются АКВ, которые пойдут в расчет следующих соревнований.
Для новых участников это АКВ соревнований.
Для участников вне диапазона «в минус» (АКВ_пред + АКВ_сорев*3)/4. Такой выход из диапазона случается при качественном улучшении класса участника. Часто это происходит у детей из спортшколы. Поэтому в этом случае этот участник далее рассматривается почти как новый участник.
Для участников вне диапазона «в плюс» (АКВ_пред*3 + АКВ_сорев)/4. Такой выход из диапазона характерен, если у участника трасса «не пошла» (то есть были места, на которых, участник не смог показать свой обычный уровень). Или участник не в форме. Еще такие случаи наблюдаются при существенном отличии условий соревнований. Поэтому лучше такие провальные результаты практически не учитывать в последующих расчетах.
Для остальных участников (АКВ_пред + АКВ_сорев)/2.
Реализация
Тогда (примерно 90-е годы) было сделано так: программа под MS DOS, с меню и БД (Turbo Pascal, Turbo Vision, Paradox Engine). По каждому участнику в БД хранилось только одно поле – АКВ. При обработке соревнований нужно было либо выбрать участника из БД, либо ввести нового. И записать реальный результат. Затем в соответствии с алгоритмом печатался протокол.
Сейчас (2020) сделал новую версию (Processing, SQLite). Планирую обрабатывать несколько раз в неделю гонки-тренировки.
Вот АКВ за сезоны 2021-2024 Жорика (красные) и мои (синие). Вертикальная шкала перевернута, т.е. чем выше — тем лучше. Горизонтальная шкала — старты подряд, т.е. один сезон сразу переходит в другой.
Вадим Никитин