Complete training workflow and acceptance hardening
This commit is contained in:
parent
4c4b91064f
commit
7237265833
243 changed files with 17014 additions and 1500 deletions
13
backend/app/scoring/timing.py
Normal file
13
backend/app/scoring/timing.py
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
"""Временная составляющая оценки по занятой методике.
|
||||
|
||||
Скорость даёт непрерывный вклад, а превышение норматива дополнительно
|
||||
отмечается как E3. Линейный множитель 1 − t/(2T) ограничен диапазоном 0–1:
|
||||
нулевое время даёт полный вклад, два норматива и более — нулевой.
|
||||
"""
|
||||
|
||||
|
||||
def time_credit(elapsed_ms: int | None, limit_ms: int) -> float:
|
||||
"""Доля веса временной метрики, 0–1; отсутствие доказанного времени — 0."""
|
||||
if elapsed_ms is None or elapsed_ms < 0 or limit_ms <= 0:
|
||||
return 0.0
|
||||
return round(max(0.0, min(1.0, 1.0 - elapsed_ms / (2 * limit_ms))), 4)
|
||||
Loading…
Reference in a new issue