diff --git a/PREREG_extrapolation_gates_2026-09-21.md b/PREREG_extrapolation_gates_2026-09-21.md new file mode 100644 index 0000000..ac4dd71 --- /dev/null +++ b/PREREG_extrapolation_gates_2026-09-21.md @@ -0,0 +1,53 @@ +# PREREG — где удлинение уместно: Г1, Г2, Г3 + +Составлено до кода и до прогона. Валерий: «надо сравнить несколько предыдущих шагов и по этому +сравнению сделать вывод, где удлинение уместно» → «а если сравнивать не только шаги, но и результаты +на каждом из шагов?» → «пред-регистрируй и прогоняй Г3 вместе с Г1 и Г2». + +## Основание + +A (`extrapolate="steps"`, коммит `99be33a`) удлиняет шаг в 1/(1−S_шаг) по похожести двух последних +шагов. В методе: CHA 3220 → 2925, плоские 1823 → 1524, но APS 2806 → 2967 — A срабатывает и на +простых корнях. Нужно условие, отличающее ползание (удлинять) от сходимости (не трогать). + +## Три режима (все без констант; ограничение дальним концом и предохранитель — как у A) + +Обозначения: dₙ — предложенный шаг, dₙ₋₁ = x − x_prev, dₙ₋₂ = x_prev − x_prev2 — прошлые +перемещения; результаты rₙ = fₙ/fₙ₋₁, rₙ₋₁ = fₙ₋₁/fₙ₋₂ **со знаком**. + +**Г1 `confirmed` — подтверждённый геометрический ряд.** Три шага одного направления, отношения +q₁ = |dₙ₋₁|/|dₙ₋₂|, q₂ = |dₙ|/|dₙ₋₁|, оба < 1. Подтверждение S_q = min(q₁,q₂)/max(q₁,q₂). +Шаг ← dₙ / (1 − q₂·S_q): удлинение по последнему отношению ровно в той мере, в какой ряд подтверждён. +Если направления разные или какое-то q ≥ 1 — шаг не меняется. + +**Г2 `pattern` — повтор рисунка шагов, период из данных.** По истории прогона — отношения длин +соседних перемещений qⱼ. Период p — лаг из 2…⌊k/2⌋ (k — длина истории, нужно два повтора), при +котором средняя похожесть min/max(qⱼ, qⱼ₋ₚ) наибольшая; S_R — эта наибольшая похожесть. Удлинение A +(1/(1−S_шаг)) применяется, только если **S_R > ½**. ½ — константа деления, как в +`PREREG_empty_step_2026-09-21.md`. + +**Г3 `steps+results` — шаги и результаты.** S_шаг — как у A. S_рез = min(rₙ,rₙ₋₁)/max(rₙ,rₙ₋₁), +если оба результата положительны (знак f не менялся — перескока не было), иначе 0. +Шаг ← dₙ / (1 − min(S_шаг, S_рез)): удлинение настолько, насколько подтверждают и шаги, и +результаты (выбор более осторожного — правило корпуса «выбор, а не взвешивание»). + +## Сетка + +Та же, что для A, каждая ячейка — пятёркой режимов `none / steps / confirmed / pattern / +steps+results`: tent, три точки, 7 предохранителей × чтения (без, `slope`, `shape`+`slope`, +`dissimilar`+`slope`, `defect`); восемь остальных функций × 7 предохранителей без чтений. Результаты — +в свой файл `sweep_extrap2.json` (файл A не перезаписывается). + +## Критерии — для каждого режима отдельно, на предложенном методе (tent, три точки, проекция) + +| # | что | ПРОЙДЕНО, если | +|---|---|---| +| **Y1** | CHA | < 3220 | +| **Y2** | APS | ≤ 2806 — главный: именно здесь A провалилась | +| **Y3** | гарантия в семействе (project/safe/credit) | 0 нарушений, решено ≥ 193 | +| **Y4** | плоские fun3–6, сумма | меньше, чем без удлинения | +| **Y5** | по задачам против Чандрупатлы на APS | сообщается: сохраняется ли значимый перевес (без удлинения 87/24/42, p = 9·10⁻⁵) | +| **Y6** | лучшая ячейка по обоим наборам среди режимов | сообщается против 5404 (A), 5511, 5228 (Чандрупатла) | + +**Правило остановки:** режим принимается в предложенный метод, только если Y1, Y2 и Y3 выполнены +одновременно. Иначе результат записывается как есть. Нарушение Y3 — стоп.