slope-stability gate: the PROJECT'S OWN target is met for the first time — 5922 < 6026 over both sets at 193/199 with the guarantee intact (slope.ratio.derived3.project: APS 2848 + CHA 3074), CHA improves 4516 -> 2903 (x1.56), repairs 77.5% -> 55.3%. Honest cost: APS 2806 -> 2848, which moves us from 1st to 3rd on the canonical set (chandrupatla 2785, toms748 2820), so my stricter S1 fails while the project target passes — a positioning decision, recorded not resolved. Refusal CURRENCY is what decides: bracket progress 4449 vs model shape 2848, a 1601-evaluation difference for the same 'refuse before the step' idea
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# PREREG — гейт на УСТОЙЧИВОСТИ НАКЛОНА (форма, а не прогресс)
|
||||
|
||||
Составлено до реализации. Основание — два измерения этой линии:
|
||||
|
||||
1. `FINDINGS_prestep_gate.md`: гейт по **прогрессу скобки** обваливает ремонты (77.5 % → 15.9 %) и
|
||||
впервые берёт цель ITP на CHA (**2851 ≤ 2857**), но APS дорожает 2806 → **4449**, потому что
|
||||
прогресс скобки — **неверная валюта отказа**: секущий шаг обрушивает ошибку, почти не двигая
|
||||
скобку (в проекте это уже измерено: **150 против 86**).
|
||||
2. `FINDINGS_logarithmic.md` §3: Chandrupatla отказывает не по прогрессу, а по **форме конфигурации**
|
||||
(`ξ`, `φ` — безразмерные отношения; полоса есть окрестность линейного случая), и его отказ стоит
|
||||
**ноль** вызовов.
|
||||
|
||||
**Гипотеза:** нужный признак отказа — не «сколько обещает шаг», а «установилась ли модель, которой
|
||||
шаг доверяет». Наш шаг доверяет **локальному наклону**, значит вопрос доверия — **устойчивость
|
||||
наклона**.
|
||||
|
||||
---
|
||||
|
||||
## 1. Признак, выведенный для НАШЕГО шага (и без единой константы)
|
||||
|
||||
Метод оценивает наклон на каждом шаге (`derived` — по двум последним точкам, `derived3` — по трём).
|
||||
Две последовательные оценки `slope_prev` и `slope` дают безразмерное сравнение. Объявленный признак
|
||||
отказа — **несогласие знака**:
|
||||
|
||||
> если `slope_prev` и `slope` оба не нули и **их знаки различны**, локальная модель не установилась
|
||||
> (функция локально даже не монотонна в одном направлении) ⇒ шаг заменяется делением пополам.
|
||||
|
||||
Почему это беспараметрично: сравнивается **знак**, а не величина; порога нет, множителя нет,
|
||||
сравнения с выбранным числом нет. Почему это форма, а не прогресс: признак читается из конфигурации
|
||||
данных (две оценки наклона), а не из обещанной длины шага.
|
||||
|
||||
**Почему ожидается инертность на каноническом наборе** (то, чего не хватило прошлой попытке): у
|
||||
простого корня гладкой функции знак наклона устойчив, значит гейт молчит и APS не дорожает. Срабатывать
|
||||
он должен в плоских областях широких скобок, где оценки наклона мелкие и болтаются.
|
||||
|
||||
**Чего НЕ делаем:** не вводим порог на отношение величин наклонов (`|s1|/|s2| < k` — это константа
|
||||
`k`); не переносим полосу `1−√(1−ξ) < φ < √ξ` (выведена для обратной квадратичной интерполяции).
|
||||
|
||||
**Режим:** `prestep="slope"`; `"none"` остаётся по умолчанию и побитово прежним; `"progress"` остаётся
|
||||
в коде как **измеренный отрицательный результат**, помеченный в докстринге.
|
||||
|
||||
## 2. Предсказания и фальсификаторы
|
||||
|
||||
| # | Предсказание | ФАЛЬСИФИКАТОР → вывод |
|
||||
|---|---|---|
|
||||
| **S1** | APS-154 **не дорожает**: по-наборный лучший ≤ **2806** | >2806 → шестая попытка тем же трейдом; признак «форма» тоже не спасает, линия закрывается |
|
||||
| **S2** | CHA-45 дешевеет против x-пространства: по-наборный лучший < **4516** | не дешевеет → гейт инертен всюду, гипотеза о наклоне неверна |
|
||||
| **S3** | доля ремонтов сторожем падает против 77.5 % | не падает → гейт не бьёт в механизм |
|
||||
| **S4** | гарантия `2⌈log₂(w/xtol)⌉+3` цела: `over2x = 0` | нарушена → закрытие немедленно |
|
||||
| **S5** | качество пробы на CHA растёт против 1.422 | не растёт → отказ не улучшает пробу, только переставляет расходы |
|
||||
|
||||
**Правило остановки:** S1 или S4 ложны ⇒ режим не принимается. S1 верна и S2 верна ⇒ **это первый
|
||||
режим линии, который берёт широкие скобки, не продавая узкие**, и тогда следующий шаг — свип по всей
|
||||
сетке и проверка, попадает ли лучшая конфигурация в цель <6026 на двух наборах.
|
||||
|
||||
## 3. Протокол и гейты реализации
|
||||
|
||||
Протокол статьи: 154 APS + 45 CHA, цена — вызовы `f`, провал = полный бюджет, граница `2×` на каждом
|
||||
решённом прогоне, конфигурация фиксируется выводом до рейтинга, числа только с **Linux**, свип пишется
|
||||
в свой `sweep_slope.json`.
|
||||
|
||||
| # | Условие реализации | Проверка тестом |
|
||||
|---|---|---|
|
||||
| **T1** | `prestep="none"` побитово как раньше | равенство кортежей возврата на наборе задач и сторожей |
|
||||
| **T2** | в гейте нет ни одной константы | греп по коду гейта (без комментариев): допустимы только `0.0` и `0.5` |
|
||||
| **T3** | гейт инертен там, где знак наклона устойчив | на гладкой монотонной задаче число вызовов совпадает с `prestep="none"` |
|
||||
| **T4** | гейт срабатывает там, где знак наклона меняется | на задаче с немонотонностью `stats['pre_refused'] ≥ 1` |
|
||||
| **T5** | отказ не добавляет вызова | `pre_refused ≤ nfev − 2` |
|
||||
|
||||
**Дисциплина:** аудит после правки и до запуска; смоук ×2 локально; свип на сервере с замороженной
|
||||
копией; числа немедленно.
|
||||
Reference in New Issue
Block a user