Revision 3: exact-zero stop in section 4; Table 12 with the post hoc Lagouanelle variant (branch m>=2: corpus 4 5568, six corpora 18372, multiple/fractional 6540, APS 2960; A' 178/34/28), the controls' missing exit in its caption; the reading of Table 12 restated in 7.1, 6.6 and the conclusion - the analogy order transfers to the classical frame and works better there than in A's split (2809 vs 4042 on multiple roots), and A's layer as a whole (detector with exit) earns its place (+1233 vs -3934). Server: verify 548 OK / 0 BAD, regression x2 1239 passed, PDF 32 pages, 0 errors, 0 overfull.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
vvs
2026-09-22 09:31:40 +01:00
co-authored by Claude Opus 5
parent aa304cd262
commit 1eb2c1664f
9 changed files with 244 additions and 7 deletions
+5 -2
View File
@@ -17,7 +17,8 @@ import math
from .baselines import Counter, _Budget
from .pure import _analogy_order, _config3, _lagouanelle_raw
ESTIMATORS = ("none", "lag", "analogy")
# "lag2": POSTHOC_lag_branch_2026-09-22 - Lagouanelle on the branch m >= 2 only (post hoc)
ESTIMATORS = ("none", "lag", "analogy", "lag2")
def _G(v, inv):
@@ -49,8 +50,10 @@ def chandrupatla_transformed(f, a, b, xtol, maxfev, estimator="none", stats=None
if estimator == "none" or len(hist) < 3:
return
(xp2, fp2), (xp, fp), (xc, fc) = hist[-3], hist[-2], hist[-1]
if estimator == "lag":
if estimator in ("lag", "lag2"):
m = _lagouanelle_raw(xc, fc, xp, fp, xp2, fp2)
if estimator == "lag2" and m is not None and m < 2.0:
m = None # the fractional branch is not used (post hoc variant)
else:
cur = _config3(xc, fc, xp, fp, xp2, fp2)
m = _analogy_order(cur, configs, translation=True)