third review round: mathematical corrections + operator separation + headline calibration
The five priority fixes, in the PNAS draft and propagated to the
long-form document and results documentation:
1. The averaging proposition now proves what it claims: a FIRST-ORDER
cancellation of the multi-parent retention gain under output-mean
inheritance in the rare-item regime (n·p/K << 1), with the convexity
boundary stated (averaging's variance reduction can reduce extinction
outside that regime — the reviewer's argument) and the union
operator's renormalisation + oracle requirement explicit. "Adding
parents cannot help" deleted everywhere.
2. Grounding: g*~=0.05 restated as an operational threshold (equilibrium
smooth in g — no phase transition); m·p floor restated as
1−exp(−m·p) per-batch observation probability with
retention/occupancy/reintroduction distinguished; the deep-tail rule
de-categoricalised (stratified sampling; recombination recovers only
what parents retain).
3. Grounded INHERITANCE (data channel) separated from grounded
EVALUATION (fitness channel) in the society section; retitled to
"complementary contributions"; general joint necessity disclaimed.
Table 1 + v6 ledger updated.
4. Alignment contradiction removed everywhere ("cannot be an alignment
failure" -> the reviewer's formulation); abstract says "remaining
after permutation-and-rescaling alignment"; group = search space,
control recovery != global optimality; "specialisation is merge-safe"
-> "do not treat divergence/specialisation alone as evidence of
incompatibility".
5. Significance headline matched to the bounded evidence; seed-
dependence sensitivity added (per-seed rho stable +0.37..+0.53 for
functional measures, ~0 for geometry, gradient alignment
seed-UNSTABLE −0.11..−0.55 — reported as its own caveat; LOSO ranges
in stats script).
Presentation: review-process meta-language stripped; "exact" reserved
for closed forms ("analytic model" labels); headroom rule qualitative;
directed-sex phrasing per review; ratchet = consequence-level
correspondence; compact results table (Table 2) added. Response letter:
paper/response-to-review-3.md. Both PDFs rebuilt; 151 tests green.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
This commit is contained in:
parent
bf4b1c077c
commit
6b5591c92f
9 changed files with 322 additions and 138 deletions
|
|
@ -96,6 +96,18 @@ def main() -> None:
|
|||
for p, (rho, pv, rmse) in loco(df).items():
|
||||
print(f"{p:>11}: LOCO rho={rho:+.3f} (p={pv:.3g}) rmse={rmse:.3f}")
|
||||
|
||||
# Shared task-data seeds create dependence ACROSS conditions within a seed, which
|
||||
# condition-clustering does not capture; per-seed and leave-one-seed-out correlations are the
|
||||
# sensitivity check (3 seeds -> a range, not an estimate).
|
||||
print("\n== seed sensitivity (per-seed rho; leave-one-seed-out range) ==")
|
||||
for p in PREDICTORS:
|
||||
per = [spearmanr(df[df.seed == s][p], df[df.seed == s]["pen_oracle"])[0]
|
||||
for s in sorted(df.seed.unique())]
|
||||
loso = [spearmanr(df[df.seed != s][p], df[df.seed != s]["pen_oracle"])[0]
|
||||
for s in sorted(df.seed.unique())]
|
||||
print(f"{p:>11}: per-seed " + " ".join(f"{v:+.2f}" for v in per)
|
||||
+ f" | LOSO [{min(loso):+.3f}, {max(loso):+.3f}]")
|
||||
|
||||
print("\n== between- vs within-axis ==")
|
||||
print("mean penalty by axis:", df.groupby("mode")["pen_oracle"].mean().round(3).to_dict())
|
||||
c_df = df[df["mode"] == "conflict"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue