7.0 KiB
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_orderA′.
Гистерезис (как в К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.