Also fixes a real regression from cc2c499: the derived3_cap branch was inserted in front of the derived3_m note and swallowed its division, so derived3_m silently became derived3 (2806 against 2806) and a refutation recorded in the paper stopped being reproducible. The full pin caught it; a cheap pin now guards it too. And \label{sec:method} never existed while the table on page 7 referenced it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
84 lines
7.5 KiB
Markdown
84 lines
7.5 KiB
Markdown
# PREREG — функция похожести ПО МЕСТУ, а не одна на метод
|
||
|
||
Составлено до прогона. Основание — два замечания Валерия 2026-09-21, идущие подряд:
|
||
|
||
1. «просто функция похожести подобрана неверно» — про провал `derived3_cap`;
|
||
2. «в принципе функция похожести может быть разной в разных местах… В какой-то статье
|
||
упоминалось, что функция похожести может подбираться по домену. В нашем случае это не домен,
|
||
а **место параметра**».
|
||
|
||
## 1. Что было не так в четырёх предыдущих попытках
|
||
|
||
Все четыре (`cbrt`, логарифм, `derived3_m`, `derived3_cap`) меняли **масштаб** `σ`, оставляя
|
||
**одну** функцию `S` на весь метод. Измеренная причина разрыва при этом ни разу не была затронута:
|
||
недолёт **линейной модели**, 0.93 против 2.26 половинений на пробу.
|
||
|
||
## 2. Прочитанное до прогона (корпус экономит замер)
|
||
|
||
`article/sim_numerics.tex`, Предложение 4: чтение похожести **по концам скобки** с рациональной
|
||
похожестью `S = 1/(1+z)` **тождественно false position** — 127/154, 10560 оценок. То есть слот
|
||
«масштаб = значение на дальнем конце» **уже закрыт при `m = 1`**. Гипотеза ниже — ровно про то,
|
||
почему он закрыт: стойло false position трёхвековой давности есть чтение похожести **на порядке 1**
|
||
там, где подход имеет порядок `m`.
|
||
|
||
## 3. Слот 1 — длина шага: показатель = ИЗМЕРЕННЫЙ порядок
|
||
|
||
Для `f ≈ K·e^m` (`e = |x − r|`) отношение остатков безразмерно и не требует наклона:
|
||
|
||
z = |f(x)| / |f(far)| = (e/E)^m ⇒ z^(1/m) = e/E
|
||
|
||
а доля шага до дальнего конца при обратной интерполяции есть `t/(1+t)`, `t = z^(1/m)`. При `m = 1`
|
||
это **в точности false position** (Предложение 4), при `m > 1` — обратная интерполяция **порядка m**,
|
||
которая для чистой степени попадает в корень **за один шаг**. Показатель `1/m` **не выбирается**:
|
||
`m = 1/(1 − f·f''/f'²)` считается `_local_order` по трём уже сделанным оценкам и равен 1, когда
|
||
степенная модель не применима.
|
||
|
||
**Почему это не повторение `derived3_m`.** Там `m` стоял **делителем масштаба** в чтении по наклону,
|
||
где, как доказано в docstring, показатель схлопывается в множитель. Здесь `m` стоит **показателем над
|
||
безразмерным отношением**, и схлопывания нет. Плюс структурное свойство: `t/(1+t) < 1` всегда, то
|
||
есть шаг **никогда не выходит за скобку** — ложное `m > 1` (27.9% шагов на APS) ограничено дальним
|
||
концом, а не проецируется предохранителем.
|
||
|
||
**Режимы:** новая шкала `scale="far"` (σ = |f| на том конце, к которому шаг) и новый ключ
|
||
`exponent="none"|"order"`. По умолчанию `"none"` — опубликованное поведение бит-в-бит.
|
||
|
||
### Сетка (контроль внутри самой сетки)
|
||
|
||
Внутри каждой тройки (`S`, шкала, предохранитель) меняется **ровно одно** — показатель. Если
|
||
`order` не бьёт `none` в паре `far`+`rational`, гипотеза мертва без толкований.
|
||
|
||
## 4. Слот 2 — решение предохранителя (объявляется здесь, гоняется ПОСЛЕ слота 1)
|
||
|
||
Чандрупатла выигрывает не шагом, а **полосой приёма**: `1−√(1−ξ) < φ < √ξ`. В наших терминах это
|
||
**другая функция похожести в другом месте** — похожесть конфигурации на линейную (`|φ − ξ|`),
|
||
читаемая не для длины шага, а для решения «модель или деление». Сейчас у нас в этом месте похожести
|
||
нет вовсе: знаковый гейт и проекция. Гоняется **отдельной сеткой после слота 1**, чтобы не смешать
|
||
два изменения.
|
||
|
||
## 5. Точка отсчёта и цели
|
||
|
||
| величина | текущее | цель |
|
||
|---|---|---|
|
||
| APS-154 | 2726 (лучшее 2527) | **≤ 2527** |
|
||
| CHA-45 по-наборно | 2683 | **< 2683** (Chandrupatla 2423) |
|
||
| два набора | 5511 | **< 5511** |
|
||
| решено | 193/199 | ≥ 193 |
|
||
| гарантия `over2x` | 0 | **0** |
|
||
|
||
## 6. Предсказания и фальсификаторы
|
||
|
||
| # | Предсказание | ФАЛЬСИФИКАТОР → вывод |
|
||
|---|---|---|
|
||
| **L1** | `exponent="order"` улучшает `far`-чтение против `none` в той же тройке | не улучшает → порядок как показатель над отношением остатков не лечит стойло false position; слот 1 закрыт |
|
||
| **L2** | лучшая конфигурация слота 1 даёт CHA < 2683 | не даёт → измеренная причина не устраняется и местом похожести тоже |
|
||
| **L3** | APS не хуже 2726 | хуже → снова обмен «широкие за счёт узких», пятый раз |
|
||
| **L4** | гарантия цела (`over2x = 0`) | нарушена → немедленное закрытие |
|
||
| **L5** | шаг ни разу не выходит за скобку в режиме `far` (проекция предохранителя не срабатывает) | срабатывает → вывод `t/(1+t) < 1` неверно реализован, это баг, а не результат |
|
||
|
||
**Правило остановки:** L1 ложна ⇒ слот 1 закрывается, слот 2 гоняется всё равно (это другое место).
|
||
L1 верна, L2 ложна ⇒ улучшение записывается как есть, без заявки на Chandrupatla. L4 ложна ⇒ стоп.
|
||
|
||
🔴 **Запрет на подбор:** «своя `S` в каждом месте» не даёт права перебрать меню `S` и объявить
|
||
победителя. Показатель в слоте 1 **измеряется** (`_local_order`), а не выбирается. Любой выбор `S`
|
||
из списка остаётся тем же изъяном, что жёсткая константа, и отчёт обязан называть его выбором.
|