Files
sim-numerics/PREREG_estimated_transform_2026-09-22.md
T

72 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PREREG — классическое преобразование с оценённой кратностью (К3)
Составлено 2026-09-22 до кода и до прогона, ветка `release`. Доработка 2, п. 5;
Валерий: «контроль п. 5 делаем». Документ коммитится до кода; внешней метки времени нет (депозит на
Zenodo не делался — это решение автора, не принятое на момент записи), так что порядок подтверждается
только git, как и у прежних документов.
## Вопрос
Табл. 11 (К1): Chandrupatla на sign(f)|f|^{1/m\*} с **истинной** кратностью в 2.4–6.8 раза дешевле A′
на кратных и дробных корнях. Между ней и A′ — самая естественная классическая альтернатива:
тот же Chandrupatla на sign(f)|f|^{1/m̂}, где m̂ **оценивается по ходу прогона**. Она отвечает, сколько
стоит оценка порядка в классической рамке, а не в рамке A′, и закрывает (или нет) утверждение §6.6 о
том, что выигрыш несёт решающий слой A′.
## Определение К3
**Решатель.** Наша реализация Chandrupatla (`simroot/baselines.py::chandrupatla`), совпадающая с
`scipy.optimize.elementwise.find_root` на всех 199 задачах (`audit_chandrupatla_library.py`). Метод
хранит **истинные** значения f в своих трёх точках. Знаки, выбор лучшей точки и остановка — по f, как
у исходного метода (g и f имеют одинаковые знаки и одинаково упорядочены по модулю). В ξ, φ полосы
приёмки и в формуле обратной квадратичной интерполяции значения f заменяются на
G(v) = sign(v)·|v|^{1/m̂}, пересчитанные из хранимых f при текущем m̂. Лишних вычислений f нет.
**Оценка m̂.** Начальное m̂ = 1 (преобразования нет). После каждого вычисления по трём последним
вычисленным точкам (в порядке вычисления) читается порядок m одним из двух оценщиков:
- **К3-Л (Лагуанель):** m_L из параболы через три точки, θ = f·f''/f'², m = 1/(1 − θ) при θ < 1,
m = ∞ при θ ≥ 1 — ровно определение К2-Л (`_lagouanelle_raw`);
- **К3-А (аналогия):** порядок аналогичной пары A′ (формула (6), предел трансляции m = ∞), по памяти
конфигураций этого прогона — ровно `_config3` / `_analogy_order` A′.
**Гистерезис** (как в К2): m̂ заменяется прочитанным m, только если m ≥ 2 или 0 < m ≤ ⅔ (ветви §6.1);
чтения из (⅔, 2) и неопределённые m̂ не меняют. Сброса нет. При m̂ = ∞ G(v) = sign(v), и полоса почти
всегда отвергает интерполяцию — метод делит пополам.
Ни одного нового числа: ½, ⅔, 2 — константы A′ и К2. Кроме оценщика, ничего не выбирается.
**Проверка реализации до прогона:** при оценщике «нет» (m̂ ≡ 1) К3 совпадает с `chandrupatla` бит в
бит (x и число вычислений) на всех 199 задачах — тест.
## Где и как считать
Шесть корпусов §7, единый критерий (смена знака f в 10⁻⁶ или f = 0), бюджет 200, провал за 200,
остановка — ширина скобки ≤ εx или точный ноль f (как у всех). Нарушения границы 2⌈log₂(w/εx)⌉ + 4 —
сообщаются (Chandrupatla её не обещает).
## Критерии и что пишется в статье
| # | сообщается / решается |
|---|---|
| **E1** | **корпус 4, решающий:** для каждого оценщика — сумма К3 против A′, по задачам w/t/l, знаковый тест |
| **E2** | шесть корпусов: суммы К3-Л, К3-А, A′, Chandrupatla на f — сообщается |
| **E3** | кратные/дробные корни (группа табл. 11, m\* ≥ 2 или ≤ ⅔): К3-Л, К3-А, A′, оракул К1 — какая доля разрыва A′ → оракул закрыта оценкой в классической рамке |
| **E4** | простые корни (остальные): не хуже ли К3 обычного Chandrupatla — цена ложных срабатываний оценщика |
**Правило вывода (при любом исходе в статью):**
- Если хотя бы один вариант К3 на корпусе 4 **не хуже A′ по сумме**, или выигрывает у A′ по задачам со
знаковым тестом p < 0.05, — утверждение §6.6 о том, что выигрыш несёт решающий слой A′, **снимается**:
пишется, что классическое преобразование с оценкой порядка по ходу прогона даёт то же (или больше), и
вклад статьи сужается до вывода и сравнения; аннотация и заключение следуют за этим.
- Если A′ дешевле обоих вариантов на корпусе 4 и выигрывает по задачам с p < 0.05, — утверждение
остаётся, с числами К3 рядом с К1 в табл. 11.
- Промежуточный исход (A′ дешевле по сумме, но по задачам незначимо) пишется как есть, без вывода в
пользу A′.
- Сравнение К3-А и К3-Л отделяет оценщик от рамки: если К3-А лучше К3-Л, оценка по аналогии лучше и в
классической рамке; если К3-А хуже A′, выигрыш A′ — в рамке (режим, выход, остальные правила).
**Стоп-правило.** Один прогон. Определения после него не меняются; поправки, если понадобятся после
смоука, записываются здесь с перечнем уже увиденного, как в `PREREG_controls_2026-09-22.md`.