# 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 — все методы встречают одну и ту же функцию, прогон воспроизводим. Задача остаётся в корпусе; критерии и остальной корпус не меняются.