54 lines
4.3 KiB
Markdown
54 lines
4.3 KiB
Markdown
# PREREG — плоский режим: выход по похожести на середине
|
||
|
||
Составлено до кода и до прогона, ветка `signfix-and-gates`. Валерий: «пред-регистрируй и проверяй
|
||
выход по похожести на середине».
|
||
|
||
## Основание (`f8c17c4`)
|
||
|
||
- Залипающее деление делает на плоских fun3–6 ровно то, что нужно: 1823 → 1057 (чистое деление
|
||
1044), широкие скобки 3220 → 3019.
|
||
- Но флаг «несбывшееся обещание» входит в режим в 134 из 154 канонических задач и в 20 из 25
|
||
неплоских широких; ложный вход залипает до конца, канонические 2806 → 6897.
|
||
- Точка из порядка не заслужена (m = ∞ в 163 из 174 входов) — делим пополам.
|
||
- Узкое место — не способ деления, а то, что режим не умеет **выходить**.
|
||
|
||
## Правило (новых констант нет)
|
||
|
||
Режим `prestep="flatstickexit"`. Вход — как у `flatstickmid`: шаг модели без перескока, r ≥ ¼.
|
||
В режиме каждый шаг — середина скобки.
|
||
|
||
**Выход — суждение похожести на середине.** Каждая середина M = (A+B)/2, вычисленная в режиме, даёт
|
||
f(M) ещё до обновления скобки. Две гипотезы предсказывают её по-разному:
|
||
- **простой корень** (f почти линейна на скобке): f(M) ≈ L = (FA + FB)/2;
|
||
- **плоский подход** (|f| ∝ |x − r|^m, m велико): f почти равна нулю вдали от концов, f(M) ≈ 0.
|
||
|
||
Режим **покидается**, если f(M) похожа на линейное предсказание больше, чем на плоское:
|
||
|f(M) − L| < |f(M) − 0|. Это порядковое сравнение двух предсказаний — ни порога, ни множителя;
|
||
равенство оставляет в режиме. После выхода шаги снова делает модель, и повторный вход возможен
|
||
по тому же флагу.
|
||
|
||
Ожидание (проверено на бумаге): для чистой степени картина масштабно-инвариантна — при корне в
|
||
0.3 скобки и m = 3 f(M) = 0.008 против L = 0.158, режим держится до конца; для линейной f
|
||
f(M) = L точно, выход на первой же середине.
|
||
|
||
Предохранитель применяется к шагу как всегда — гарантия им и держится.
|
||
|
||
## Проверка
|
||
|
||
Сразу полная сетка на сервере: «без / `flatstickexit` / `flatstickmid`» для предложенного метода и
|
||
для него же с Г2 (повтор рисунка шагов), все 7 предохранителей; девять функций без чтений.
|
||
|
||
| # | ПРОЙДЕНО, если |
|
||
|---|---|
|
||
| **X1** | широкие скобки ниже, чем без режима (3220; с Г2 — 3169) |
|
||
| **X2** | канонические задачи не выше, чем без режима (2806; с Г2 — 2782) |
|
||
| **X3** | гарантия: 0 нарушений в семействе, решено ≥ 193 |
|
||
| **X4** | плоские fun3–6 дешевле |
|
||
| **X5** | сообщается: по задачам против Чандрупатлы на канонических; оба набора против 5228 |
|
||
| **X6** | канонические с выходом дешевле, чем без выхода (`flatstickmid`) — иначе выход не заслужен |
|
||
|
||
**Правило остановки:** принимается, только если X1, X2, X3 выполнены одновременно.
|
||
|
||
Диагностика (для справки, ничего не решает): в скольких задачах режим был покинут, сколько раз
|
||
входили повторно, на плоских и остальных отдельно.
|