52 lines
4.8 KiB
Markdown
52 lines
4.8 KiB
Markdown
# 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` с плоским режимом.
|