# PREREG — оба направления: «дефект» с плоским режимом и противоречие знака на fun9 Составлено до кода и до прогона, ветка `signfix-and-gates`. Валерий: «проверь оба направления». ## Основание **Направление 1 — запас на канонических.** Лучший принятый вход по аналогии (с Г2) — канонические 2780, широкие 2625; с запомненной аналогией широкие 2548, но канонические 2787 (не принят: +7 от пяти лишних ложных входов). Решение в месте «дефект» (|φ − ξ| > min(ξ, 1 − ξ) → делить) одно даёт канонические **2523** (широкие 3210). Если выигрыши складываются, запас в 264 покрывает лишние входы. **Направление 2 — fun9** (`diag_fun9_slope_sign.py`): у левого конца [2·10⁻⁴, …] два члена почти гасятся, f(a) ≈ −1 против 5·10¹¹ справа; метод читает корень у левого конца, а f ныряет до −3.7·10⁴. 17 шагов подряд |f| удваивается: **локальный наклон по знаку противоречит скобке** (f должна расти от отрицательного конца к положительному). По трассам: противоречие в 3 из 5 задач fun9 (19 состояний), в 7 из 154 канонических (29 из 1608 состояний), в 1 задаче fun1, **ни разу** на плоских и остальных. ## Правила (новых констант нет) - `defect` — как есть (`_decide_refuse`). - `contra` (новое): если знак локальной секанты (f_x − f_prev)/(x − x_prev) противоположен знаку секанты скобки (F_B − F_A)/(B − A), этот шаг — середина. Сравниваются два знака; порога нет. Одношаговое решение (не режим). - `flatanalog`, `flatanalogmem` — как приняты/проверены. - Составной `prestep` через «+»: по одному из категорий {решение: defect}, {противоречие: contra}, {плоский режим: flatanalog | flatanalogmem}. Порядок: решение → память и режим плоских (память пополняется в **каждом** состоянии, даже если шаг уже отдан середине) → противоречие. Одиночные режимы ведут себя в точности как раньше (тесты-пины). ## Проверка Решение по **смоуку** (все 199 задач), сервер — подтвердить, если цель достигнута. Ячейки: предложенный метод (проекция) и он же с Г2, для `prestep` ∈ none, defect, contra, flatanalog, flatanalogmem, defect+contra, defect+flatanalog, defect+flatanalogmem, contra+flatanalog, contra+flatanalogmem, defect+contra+flatanalog, defect+contra+flatanalogmem | # | ПРОЙДЕНО, если | |---|---| | **C1** | ячейка: широкие ниже, чем без решений (3220; с Г2 — 3169) | | **C2** | ячейка: канонические не выше, чем без решений (2806; с Г2 — 2782) | | **C3** | гарантия: 0 нарушений, решено ≥ 193 | | **ЦЕЛЬ** | канонические < **2787** и широкие < **2441** (Чандрупатла) | | **C4 (абляция)** | для ячейки, достигшей цели (или лучшей по сумме): снятие каждой составляющей по одной — её вклад Δ сообщается; составляющая с Δ ≥ 0 на обоих наборах **не заслужена** и из предложения убирается | **Правило остановки:** ячейка принимается при C1, C2, C3. Цель сообщается отдельно; если ни одна ячейка её не достигла — сообщается, на сколько и на каком наборе не хватило. По каждому направлению отдельно: принят ли `contra` (есть ли ячейка с ним, лучше той же без него на широких и не хуже на канонических) и складывается ли `defect` с плоским режимом.