Files
sim-numerics/PREREG_extrapolation_gates_2026-09-21.md
T

5.0 KiB
Raw Blame History

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 — стоп.