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