From f9b062ed341e077b6c7c8afced2f300582490fbe Mon Sep 17 00:00:00 2001 From: Valeri Sitnikov Date: Sun, 20 Sep 2026 22:40:09 +0100 Subject: [PATCH] =?UTF-8?q?prereg:=20logarithmic=20change=20of=20variable?= =?UTF-8?q?=20for=20wide=20brackets=20=E2=80=94=20targets=20(6026=20both?= =?UTF-8?q?=20sets=20/=202857=20Chandrupatla=20/=20193-of-199=20/=20guaran?= =?UTF-8?q?tee=20intact),=20two=20admission=20gates=20(parameter-free=20c,?= =?UTF-8?q?s;=20identity=20on=20narrow=20brackets)=20tested=20BEFORE=20the?= =?UTF-8?q?=20ranking=20is=20consulted,=20and=20the=20four=20measured=20de?= =?UTF-8?q?ad=20ends=20restated=20as=20prohibitions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 --- PREREG_logarithmic_2026-09-20.md | 90 ++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 PREREG_logarithmic_2026-09-20.md diff --git a/PREREG_logarithmic_2026-09-20.md b/PREREG_logarithmic_2026-09-20.md new file mode 100644 index 0000000..a61958a --- /dev/null +++ b/PREREG_logarithmic_2026-09-20.md @@ -0,0 +1,90 @@ +# PREREG — логарифмическая замена переменной для широких скобок + +Составлено **до** любой правки метода. Основание — `NEXT_PAPER_logarithmic.md` (записан 2026-08-24), +где уже названы цель, четыре оплаченных замерами запрета и два условия допуска. Здесь это доводится +до пред-регистрации: что считаем успехом, что провалом, и в каком порядке. + +**Протокол этого проекта, который здесь обязателен:** конфигурация фиксируется **выводом, ДО того как +смотрят в рейтинг**. Числа берутся только с **Linux** (libm расходится в последнем знаке: та же SciPy +даёт TOMS 748 = 2819 на Windows против 2820 на Linux). Метод правится **добавлением режима**, ничего +из опубликованного тракта не переписывается. + +--- + +## 1. Задача + +Аддитивный шаг `|f|/|f'|` задан локальным наклоном и ничего не знает о том, сколько декад осталось до +корня. На семействах Чандрупатлы `fun3/fun4/fun5` скобка шириной до 10¹² при корне |x| ≤ 3, то есть +надо пройти двенадцать порядков. Замерено: кубический корень бьёт наше правило на всех пяти членах +`fun4` в 2.6 раза (32/32/40/47/59 против 89/93/113/125/153) — не потому, что это «другая похожесть», а +потому что его шаг есть фиксированная **доля** скобки: он марширует геометрически. + +## 2. Предложение + +Работать в `u = sign(x−c)·log(1 + |x−c|/s)`. Аддитивный шаг в `u` — мультипликативный в `x`, поэтому +та же похожесть, та же выведенная шкала и та же проекция-сторож дают геометрический марш **без новой +константы**, а показатель марша (который `cbrt` случайно зафиксировал на 1/3) перестаёт быть свободной +величиной. + +**Вывод `c` и `s` — часть работы, а не подбор.** Они обязаны читаться из того, что метод уже считает: +концов скобки, значений `f` на них и выведенной шкалы σ. Объявленный до прогона кандидат вывода: + +- `c` = конец скобки с меньшим |f| (сторона, к которой корень ближе); +- `s` = ньютоновская длина в этой точке, `|f(c)|/|f'(c)|`, оценённая секущей по концам скобки. + +Если вывод даст иные `c`, `s` — фиксируются те, что следуют из вывода, **до** прогона рейтинга; выбор +«какой из вариантов лучше на наборе» запрещён (это ровно тот фолт, который проект уже оплатил в п. 1 +запретов ниже). + +## 3. Два условия допуска (гейты, проверяются тестами ДО рейтинга) + +| # | Условие | Как проверяется | +|---|---|---| +| **G1** | преобразование **беспараметрическое**: `c` и `s` вычисляются из скобки и значений `f`, ни одной выбранной константы | грепом по реализации и тестом, что при подмене любого «магического» числа тест падает | +| **G2** | на узких скобках преобразование **тождественно с точностью до округления** | тест: при `w/s → 0` шаг в `u` совпадает со шагом в `x` до 1e-12, и на APS-154 число вызовов не меняется ни на одной задаче | + +Не прошёл G1 → линия закрывается (так же закрылся фазовый детектор). +Не прошёл G2 → закрывается: широкие скобки куплены ценой канонического набора, а это трейд, на котором +провалились все прежние попытки. + +## 4. Цели (записаны в `NEXT_PAPER_logarithmic.md` заранее, не подгонялись) + +| величина | цель | где сейчас | +|---|---|---| +| вызовов `f` на двух наборах (APS-154 + Chandrupatla-45) | **< 6026** | 6026 | +| решённых задач | **≥ 193 из 199** | 193/199 | +| гарантия `2⌈log₂(w/xtol)⌉+3` | **не нарушена ни на одном решённом прогоне** | не нарушена | +| Chandrupatla-45 отдельно | **≤ 2857** (уровень ITP) | 3220 | + +## 5. Предсказания и фальсификаторы + +| # | Предсказание | ФАЛЬСИФИКАТОР → вывод | +|---|---|---| +| **L1** | на `fun3/fun4/fun5` логарифмический режим сокращает вызовы не менее чем вдвое | <1.5× → механизм не в мультипликативности шага, гипотеза неверна | +| **L2** | на APS-154 суммарная цена **не растёт** (G2) | растёт → закрытие, трейд не принимается | +| **L3** | Chandrupatla-45 ≤ 2857 | >2857 → цель ITP не достигнута; результат публикуем как отрицательный | +| **L4** | гарантия не нарушена ни на одном решённом прогоне | нарушена → закрытие немедленно, без торга | + +## 6. Запреты — уже оплачены замерами, не повторять + +1. Переключаться на `cbrt` по набору: 6905 против 6026 — **хуже**; `cbrt` берёт семейства `fun` и + теряет остальную Чандрупатлу (4099 против 3220). +2. Детектировать режим по отношению значений `rho = 1 − |f_n|/|f_{n−1}|`: порядок 2.000 → 0.904, цена + на канонических задачах 84 → 161. +3. Детектировать по локальному порядку `f` (`p = L/(L−ln m)`, `m = 1/(1−θ)`): вывод верен, оценщик не + резок — 27.9 % ложных против 35.8 %, это не разделение, цена +273 вызова. +4. Разделять режимы по ширине скобки: победители полностью перекрываются (наша шкала выигрывает при + ширинах от 10⁰ до 10¹²). + +## 7. Порядок исполнения + +1. Воспроизвести артефакт: 490 тестов + `verify_article.py` (все 72 числа статьи) — **на Linux**. + Не сошлось → сначала это, метод не трогать. +2. Реализовать режим (новый файл/режим в `simroot/`, опубликованный тракт не переписывать), написать + тесты гейтов G1 и G2 **до** прогона рейтинга. +3. Прогнать `sweep_full.py` на сервере, затем `report_sweep.py`, затем `verify_article.py`. +4. Сверить с целями §4 и предсказаниями §5. Любой исход — в `FINDINGS`-запись проекта и в коммит. + +**Дисциплина:** git заведён 2026-09-20 (базовый коммит `4a23aac`); аудит после каждой правки и до +запуска; смоук ×2; тяжёлое — на сервер `setsid nohup` с логом; загрузка общего сервера мерится до и +после; числа показываются немедленно, до аудита и коммита.