5.1 KiB
PREREG — проверка двух сильнейших вариантов: абляция и новый корпус
Составлено до прогона, ветка signfix-and-gates. Валерий: «результат сильный и уже достоин
статьи»; «давай проверим оба сильнейших варианта».
Зачем
Все решения сегодня принимались на тех же 199 задачах (APS 154 + Chandrupatla 45). Предрегистрация защищает каждый шаг, но не цепочку: итоговые ячейки отобраны по этим наборам. Нужны (1) абляция каждой составляющей и (2) задачи, на которых ничего не разрабатывалось.
Варианты (проекция, tent, трёхточечный масштаб)
- A = Г2 +
contra+flatanalogmempt+exp+half(APS 2559, CHA 2047) - B =
defect+flatanalogmempt+exp, без Г2 (APS 2531, CHA 1972) - справочно: предложенный метод без добавок; соперники — библиотечные Чандрупатла
(
elementwise.find_root), Брент (brentq), TOMS748.
Часть 1 — новый корпус (corpus_new.py, зерно 20260921, закоммичен до прогона)
206 задач, не использованных в разработке: C0 — набор SciPy original (6); C1–C5 по 40,
параметры из заранее заданных распределений: C1 гладкий простой корень, C2 трансцендентный простой
(atan/tanh/expm1/sinh), C3 кратный/плоский корень |x−r|^p, p ~ U(2, 20), C4 экспоненциальный склон,
C5 почти сокращающиеся члены (как у fun9, параметры случайные). Корень известен по построению.
Учёт тот же: XTOL 10⁻¹², MAXFEV 200, решено при |x − r| ≤ 10⁻⁶, неудача = 200.
Для каждого варианта V ∈ {A, B}:
| # | ПРОЙДЕНО, если |
|---|---|
| O1 | сумма вызовов V на корпусе меньше, чем у Чандрупатлы |
| O2 | по задачам против Чандрупатлы побед больше, чем поражений, знаковый тест p < 0.05 |
| O3 | гарантия: 0 нарушений (≤ 2⌈log₂(w/xtol)⌉ + 4 на решённых); решено не меньше, чем у Чандрупатлы |
| O4 | сумма V меньше, чем у предложенного метода без добавок (добавки переносятся) |
Вывод «переносится на новые задачи» — только при O1, O2, O3 одновременно. Сообщается всё, по каждому классу отдельно, против всех трёх соперников. Никаких изменений метода после этого прогона в рамках этой проверки; корпус и критерии не меняются.
Классы C3–C5 близки к тому, на чём мы искали (плоские, экспонента, сокращение); C0–C2 — нейтральны и выгодны модели Чандрупатлы. Вывод сообщается и отдельно по C0–C2.
Часть 2 — абляция (APS, CHA и новый корпус)
Снимается по одной составляющей, Δ = (без неё) − (с ней), плюс = составляющая заслужена:
- A: Г2;
contra;half;exp; точка (flatanalogmempt→flatanalogmem); весь плоский режим (снятьflatanalogmemptиexp). - B:
defect;exp; точка; весь плоский режим.
Составляющая с Δ ≤ 0 на всех трёх наборах не заслужена и из предложения убирается.
Дополнение (после двух прогонов, до сервера) — воспроизводимость
Задача C0.05 = SciPy original.05.00 — случайная ступенчатая функция (random() без зерна,
значения в общем кэше модуля, разделяемом всеми прогонами процесса). Два локальных прогона без
зерна разошлись только на ней (на 2–9 вызовов у каждого метода, включая соперников) и дали
одинаковые вердикты (A: O1–O3 ✓; B: O2 ✗). Поправка: перед каждым прогоном кэш очищается, зерно
20260921 — все методы встречают одну и ту же функцию, прогон воспроизводим. Задача остаётся в корпусе;
критерии и остальной корпус не меняются.