天赐范式第208天:+0.443 到 +0.003:突变率越大,种群的历史包袱越轻

+0.443 到 +0.003:突变率越大,种群的历史包袱越轻

滞回量 = 原生新环境 θ − 翻转而来 θ,同终点第150代 × σ_θ 五档

(σ_θ=0.01 档 5 seed 中 1 个滞回为负 −0.107,std 0.329;σ_θ≥0.10 档 std ≤0.048)

摘要

接 208-1 翻转效应,定义滞回量 = θ原生新环境(150) − θ翻转而来(150),同终点第 150 代比较。有遗传组滞回量随 σ_θ 衰减到 0:+0.443 → +0.453 → +0.143 → −0.002 → +0.003。σ_θ 越小滞回越大,但 σ_θ=0.01 档 std 0.329 超均值、含负滞回 −0.107(噪声盖过信号);σ_θ≥0.10 档 std ≤0.048(信号清晰)。无遗传组滞回量精确 +0.000(五档全同)------结构保证:θ 更新路径不经过 RHO。两个 ≈0 含义不同:无遗传「都不动」vs 大 σ_θ「都追上」,正文必须区分。上界饱和占比同步报告(0.4%→22.0%,flip_gen=0 口径;翻转而来配置为 21.4%),大 σ_θ 档读数被上界压缩。

一、接 208-1:从翻转效应到滞回

208-1 量了「翻转后能不能爬」(翻转效应),本篇量「先在旧环境待过是否拖慢最终响应」。滞回 = 同终点比较(非多轮衰减比)。

定义:

  • A「原生新环境」:第 0 代起就是惩罚环境(flip_gen=0),跑到第 150 代
  • B「翻转而来」:第 0-50 代加成环境,第 50 代翻转,跑到第 150 代
  • 滞回量 = θ_A(150) − θ_B(150),>0 表示先在旧环境适应过拖慢了最终响应

禁用多轮衰减比 Δθ轮4/Δθ轮2:噪声主导无单调(0.30/1.15/0.51/0.93/1.09),无遗传组分母≈0 得 2.90 属数值假象。此坑已在探针 E 踩过。

二、主实验:滞回量(有/无遗传 × σ_θ 五档 × 5 seed)

遗传 σ_θ θ原生 θ翻转 滞回量 std 极差 逐seed
有 0.01 0.678 0.235 +0.443 0.329 0.873 +0.551 +0.766 +0.445 +0.557 −0.107
有 0.02 0.749 0.297 +0.453 0.102 0.249 +0.400 +0.536 +0.464 +0.556 +0.308
有 0.05 0.827 0.684 +0.143 0.188 0.461 +0.406 +0.118 −0.055 +0.250 −0.004
有 0.10 0.777 0.778 −0.002 0.048 0.120 −0.013 −0.081 +0.021 +0.025 +0.039
有 0.20 0.725 0.722 +0.003 0.047 0.130 −0.004 −0.009 +0.077 −0.053 +0.004
无 五档全同 0.471 0.471 +0.000 0.000 0.000 全 0

滞回量随 σ_θ 衰减到 0(+0.443 → +0.453 → +0.143 → −0.002 → +0.003)。σ_θ=0.01 档 std 0.329 超均值,5 seed 中 1 个滞回为负(−0.107);σ_θ=0.05 档 std 0.188 同样超均值,5 seed 中 2 个滞回为负(−0.055/−0.004);σ_θ=0.02 局部反弹(+0.453 > +0.443)在前两档统计不可分(均值差 0.010 ≪ 档内极差 0.873)。

σ_θ 越小滞回越大(方向性),但 σ_θ=0.01 档噪声盖过信号;σ_θ≥0.10 档 std ≤0.048,信号清晰------突变足够多,历史不再拖累,能追上原生新环境的水平。

突变率不只决定「能不能响应」,还决定「历史是否拖累响应」------这是 208-1 的下半截。

三、两个 ≈0 含义不同

无遗传组的 ≈0 与有遗传大 σ_θ 的 ≈0 含义不同,必须区分:

  • 无遗传 σ_θ=0.01 :滞回=+0.000(θ原生=0.471,θ翻转=0.471)------两个条件都不动
  • 有遗传 σ_θ=0.20 :滞回=+0.003(θ原生=0.725,θ翻转=0.722)------两个条件都追上

前者是「都不动」,后者是「都追上了」。只报数字会误导。

上界饱和占比同步报告(0.4%→22.0%,flip_gen=0 口径;翻转而来配置为 21.4%),大 σ_θ 档读数被上界压缩。

四、假设检验

H1 (滞回量随 σ_θ 衰减到 0------大趋势单调,σ_θ=0.01 档 std 超均值):σ_θ=0.01: +0.443(std 0.329),σ_θ=0.02: +0.453,σ_θ=0.05: +0.143,σ_θ=0.10: −0.002,σ_θ=0.20: +0.003。支持------大趋势衰减到 0,σ_θ=0.01 档 std 超均值。

H2 (无遗传滞回量=0------结构保证:θ 更新路径不经过 RHO):无遗传 σ_θ=0.01: +0.000。成立------结构保证:θ 更新路径不经过 RHO。

H3 (两个 ≈0 含义不同------无遗传「都不动」vs 大 σ_θ「都追上」):无遗传 σ_θ=0.01 滞回=+0.000(θ原生=0.471 θ翻转=0.471);有遗传 σ_θ=0.20 滞回=+0.003(θ原生=0.725 θ翻转=0.722)。支持------无遗传两 θ 都≈0.471=都不动;有遗传大 σ_θ 两 θ 都≈0.72=都追上。

五、诚实边界

Limitations:

  1. 5 seed 主实验,教学级。
  2. 滞回定义固定同终点比较,未扫中间终点。
  3. θ 上界 THETA_MAX=1.0 钉死,大 σ_θ 档读数被压缩。
  4. 两个 ≈0 含义不同,正文必须区分。

Future Work:

  1. 中间终点滞回曲线(第 60/70/80 代滞回量)。
  2. 翻转幅度 × σ_θ 联合滞回面。
  3. env 非对称下滞回是否对称。

本文未覆盖① 中间终点滞回曲线;② 翻转幅度 × σ_θ 联合滞回面。

附录:代码

python 复制代码
# -*- coding: utf-8 -*-
"""
天赐范式 第208天 第二篇
+0.443 到 +0.003:突变率越大,种群的历史包袱越轻

PID: TC-208B-V3.3.46.0
V3.3.46.0 · 2026-10-27

接 208-1 翻转效应。滞回量 = 原生新环境 θ − 翻转而来 θ,同终点第 150 代。
"""
import sys
import statistics

sys.stdout.reconfigure(encoding="utf-8")

sys.path.insert(0, r"C:\Users\Administrator\Desktop\20261021")
from tianci_202a import SEEDS, bar

sys.path.insert(0, r"C:\Users\Administrator\Desktop\20261026")
from tianci_207a import GAMMA_MAIN, LAMBDA_MAIN, FLOOR_MAIN

sys.path.insert(0, r"C:\Users\Administrator\Desktop\20261027")
from tianci_208a import (run_frtm_integrated, theta_mean_at,
                          saturation_ratio, SIGMA_THETA_SCAN,
                          N_GEN_208, FLIP_GEN, THETA_MAX, N)

if __name__ == "__main__":
    bar("天赐范式 第208天 第二篇  "
        "+0.443 到 +0.003:突变率越大,种群的历史包袱越轻")
    print()

    bar("Part 0  设计")
    print("  接 208-1 翻转效应。滞回 = 同终点比较(非多轮衰减比)。")
    print("  A「原生新环境」:第 0 代起就是惩罚环境,跑到第 150 代。")
    print(f"  B「翻转而来」:第 0-{FLIP_GEN} 代加成环境,第 {FLIP_GEN} 代翻转,跑到第 {N_GEN_208} 代。")
    print("  滞回量 = θ_A(150) − θ_B(150),>0 表示先在旧环境适应过拖慢了最终响应。")
    print(f"  扫 σ_θ∈{SIGMA_THETA_SCAN},5 seed,{N_GEN_208} 代。")
    print("  禁用多轮衰减比(噪声主导无单调;无遗传组分母≈0 得 2.90 数值假象)。")
    print()

    bar("Part 1  主实验:滞回量(有/无遗传 × σ_θ 五档 × 5 seed)")
    print()
    print(f"  {'遗传':3s} {'σ_θ':6s} {'θ原生':6s} {'θ翻转':6s} "
          f"{'滞回量':5s} {'std':8s} {'极差':6s}  逐seed")
    results = {}
    for inherit in [True, False]:
        for sht in SIGMA_THETA_SCAN:
            theta_native_list = []
            theta_flip_list = []
            sat_list = []
            hyst_list = []
            for seed in SEEDS:
                r_native = run_frtm_integrated(
                    seed, GAMMA_MAIN, sht, LAMBDA_MAIN, 'neighbor',
                    n_gen=N_GEN_208, flip_gen=0, flip_mode='rho',
                    inherit_theta=inherit)
                r_flip = run_frtm_integrated(
                    seed, GAMMA_MAIN, sht, LAMBDA_MAIN, 'neighbor',
                    n_gen=N_GEN_208, flip_gen=FLIP_GEN, flip_mode='rho',
                    inherit_theta=inherit)
                th_native = theta_mean_at(r_native[8], N_GEN_208)
                th_flip = theta_mean_at(r_flip[8], N_GEN_208)
                theta_native_list.append(th_native)
                theta_flip_list.append(th_flip)
                hyst_list.append(th_native - th_flip)
                sat_list.append(saturation_ratio(r_native[2], r_native[3],
                                                  r_native[6]))
            mean_native = statistics.mean(theta_native_list)
            mean_flip = statistics.mean(theta_flip_list)
            hysteresis = mean_native - mean_flip
            hyst_std = statistics.stdev(hyst_list) if len(hyst_list) > 1 else 0.0
            hyst_range = max(hyst_list) - min(hyst_list)
            mean_sat = statistics.mean(sat_list)
            results[(inherit, sht)] = {
                'native': mean_native, 'flip': mean_flip,
                'hysteresis': hysteresis, 'hyst_std': hyst_std,
                'hyst_list': hyst_list, 'sat': mean_sat,
            }
            label = "有" if inherit else "无"
            seed_str = " ".join(f"{h:+.3f}" for h in hyst_list)
            print(f"  {label:4s} {sht:6.2f} {mean_native:8.3f} {mean_flip:8.3f} "
                  f"{hysteresis:+8.3f} {hyst_std:8.3f} {hyst_range:8.3f}  {seed_str}")
    print()

    bar("Part 2  预注册假设检验")
    print()
    h_001 = results[(True, 0.01)]['hysteresis']
    h_002 = results[(True, 0.02)]['hysteresis']
    h_005 = results[(True, 0.05)]['hysteresis']
    h_010 = results[(True, 0.10)]['hysteresis']
    h_020 = results[(True, 0.20)]['hysteresis']
    h_no = results[(False, 0.01)]['hysteresis']
    std_001 = results[(True, 0.01)]['hyst_std']
    print(f"  H1(滞回量随 σ_θ 衰减到 0------大趋势单调,σ_θ=0.01 档 std 超均值):")
    print(f"    σ_θ=0.01: {h_001:+.3f}(std {std_001:.3f})  σ_θ=0.02: {h_002:+.3f}  "
          f"σ_θ=0.05: {h_005:+.3f}  σ_θ=0.10: {h_010:+.3f}  "
          f"σ_θ=0.20: {h_020:+.3f}")
    h1 = h_001 > 0.3 and abs(h_020) < 0.05 and h_005 < h_001
    print(f"    → {'支持' if h1 else '不支持'}"
          f"({'大趋势衰减到 0,σ_θ=0.01 档 std 超均值' if h1 else '未衰减'})")
    print()
    print(f"  H2(无遗传滞回量=0------结构保证:θ 更新路径不经过 RHO):")
    print(f"    无遗传 σ_θ=0.01: {h_no:+.3f}")
    h2 = abs(h_no) < 0.01
    print(f"    → {'成立' if h2 else '不成立'}"
          f"({'结构保证:θ 更新路径不经过 RHO' if h2 else '非 0'})")
    print()
    h3 = abs(h_no) < 0.01 and abs(h_020) < 0.01
    print(f"  H3(两个 ≈0 含义不同------无遗传「都不动」vs 大 σ_θ「都追上」):")
    print(f"    无遗传 σ_θ=0.01: 滞回={h_no:+.3f}(θ原生={results[(False,0.01)]['native']:.3f}"
          f" θ翻转={results[(False,0.01)]['flip']:.3f})")
    print(f"    有遗传 σ_θ=0.20: 滞回={h_020:+.3f}(θ原生={results[(True,0.20)]['native']:.3f}"
          f" θ翻转={results[(True,0.20)]['flip']:.3f})")
    print(f"    → {'支持' if h3 else '不支持'}"
          f"({'无遗传两 θ 都≈0.471=都不动;有遗传大 σ_θ 两 θ 都≈0.72=都追上' if h3 else '区分失败'})")
    print()

    bar("Part 3  诚实边界")
    print("  Limitations:")
    print(f"    1. 5 seed 主实验,教学级。")
    print(f"    2. 滞回定义固定同终点比较,未扫中间终点。")
    print(f"    3. θ 上界 THETA_MAX={THETA_MAX} 钉死,大 σ_θ 档读数被压缩。")
    print(f"    4. 两个 ≈0 含义不同,正文必须区分。")
    print()
    print("  Future Work:")
    print("    1. 中间终点滞回曲线(第 60/70/80 代滞回量)。")
    print("    2. 翻转幅度 × σ_θ 联合滞回面。")
    print("    3. env 非对称下滞回是否对称。")
    print()
相关推荐
天赐范式2 天前
天赐范式第205天:断的是规模不是基因流——退出率 × 补位扫描
数字生命·天赐范式·动态运行时·种群动力学·种群瓶颈·生态演化·演化仿真
天赐范式9 天前
天赐范式第198天:让策略开始起源 —— 突变翻转类型下的自发起源
数字生命·天赐范式·动态运行时·奖励外置·自发起源·突变翻转·演化动力学
武科大许志伟13 天前
GPX:TSP中的两条好路线,怎样拼成一条更好的路线?
人工智能·演化计算·组合优化
天赐范式16 天前
天赐范式第192天:让接口开始能调 —— v0.2.0 落地与三仓库最小复现
数字生命·天赐范式·动态运行时·能读能调·三仓库复现·反向方案·可调用包
天赐范式18 天前
天赐范式第190天·第二篇:让债务开始偿还 —— 不立新债,还旧债:v→0 极限的解析闭式,与一根被捡起来的绳子
数字生命·复杂系统·天赐范式·动态运行时·解析闭式·网格钉点·暖启动
天赐范式20 天前
天赐范式第188天:让环境开始轮回——周期峰的低通滤波响应
低通滤波·数字生命·复杂系统·天赐范式·动态运行时·周期驱动·频率响应
天赐范式20 天前
天赐范式第187天:让峰开始移动——lag load定量
数字生命·复杂系统·天赐范式·动态运行时·lag load·移动峰·测量滞后
天赐范式21 天前
天赐范式第187天:让变异开始定价——动态环境下最优变异率
数字生命·复杂系统·天赐范式·动态运行时·最优变异率·bet-hedging·初始条件暂态
天赐范式22 天前
天赐范式第186天:让方差开始自洽——Bulmer效应的闭式验证
python·数字生命·天赐范式·动态运行时·遗传方差·bulmer效应