天赐范式第188天·第二篇:让定价开始定量——σ_v*(v)的闭式近似与一阶条件
摘要
总fitness闭式近似F≈[ω/√(ω²+σ_x²)]·exp(−lag²/(2ω²)),一阶条件给出σ_v*(v)的可计算闭式近似。v=0时σ_v*≈0.020(187-2),v∈[0.001,0.01]理论0.037→0.093 vs 数值0.040→0.100(网格分辨率内相容),bet-hedging从定性方向给出定量公式。
一、接续187-2降调4:定性方向做完了,定量呢?
187-2确立了bet-hedging的方向:v越大σ_v*越大。但降调4白纸黑字——“bet-hedging是定性结论,σ_v*对v的定量关系(线性?幂律?)需要更多数据点。”
这篇把"方向"升级成"函数"。工具是187两台机器的合成:lag公式(187-1)给出滞后项,散布公式(187-2的解析收敛值)给出散布项,两者相乘是总fitness的闭式近似,对σ_v求极值的一阶条件给出σ_v*(v)。
这是继186-2之后,全链先验机器的第二次应用——186-2是第一次(Var(g)自洽→N*(σ_v)),188-2是第二次(lag×散布→σ_v*(v))。
二、总fitness闭式近似
散布项
种群均值在峰上时,平均fitness = ω/√(ω² + σ_x²),其中σ_x² = Var(g)*(σ_v) + σ_e²。这是187-2用的解析收敛值。
滞后项
种群均值偏离峰lag时,fitness额外乘exp(−lag²/(2ω²))(σ_x²≪ω²时近似;严格卷积分母含ω²+σ_x²,实测近似版更贴)。lag* = v·(1−c)/c,c = β·h²(σ_v)·K(σ_v)由σ_v决定。
总fitness
F(σ_v, v) ≈ [ω/√(ω² + σ_x²(σ_v))] × exp(−lag*(σ_v, v)² / (2ω²))
一阶条件
∂lnF/∂σ_v = 0:
−0.5·(dσ_x²/dσ_v)/(ω² + σ_x²) − lag·(dlag/dσ_v)/ω² = 0
数值求根找σ_v*(v)。Var(g)*由186-1自洽方程迭代求解,h²、K、c随之确定。代码验证:在σ_v*处数值求∂lnF/∂σ_v,四个v点的|∂lnF/∂σ_v|均<0.18,一阶条件近似满足(argmax网格步长0.001,精确求根需更细网格)。
三、σ_v*(v)理论曲线
| peak_v | σ_v*理论 | F*理论 |
|---|---|---|
| 0.0010 | 0.037 | 0.888 |
| 0.0020 | 0.048 | 0.835 |
| 0.0050 | 0.068 | 0.724 |
| 0.0100 | 0.093 | 0.593 |
σ_v*随v单调增——bet-hedging方向确认。增长是亚线性:σ_v*/v从37(v=0.001)降到9.3(v=0.01)。log-log斜率α≈0.40,即σ_v*∝v0.40(0.037≈0.58×0.0010.40,0.093≈0.58×0.01^0.40)。
四、加密网格数值验证
还187-2降调2(σ_v网格不够密):σ_v从6点加密到13点(含0.015/0.030/0.040/0.060/0.070/0.080/0.150)。
理论vs数值fitness对比
闭式近似精度由lag决定:lag≲ω时比值≈1.00,lag≳ω后比值随lag上升。低σ_v端(lag大)在F非零的点上比值1.12-4.20;F理论趋零的区域出现inf等极端比值,无意义。峰值附近比值1.00-1.05,足够定位σ_v*。
peak_v=0.0010:
| σ_v | F数值 | F理论 | 比值 |
|---|---|---|---|
| 0.005 | 0.000024 | 0.000000 | inf |
| 0.010 | 0.025303 | 0.006029 | 4.20 |
| 0.015 | 0.384406 | 0.344531 | 1.12 |
| 0.020 | 0.699822 | 0.684771 | 1.02 |
| 0.030 | 0.873290 | 0.872328 | 1.00 |
| 0.040 | 0.884198 | 0.885644 | 1.00 |
| 0.050 | 0.862104 | 0.864237 | 1.00 |
| 0.060 | 0.830338 | 0.832542 | 1.00 |
| 0.070 | 0.795027 | 0.797285 | 1.00 |
| 0.080 | 0.758953 | 0.761158 | 1.00 |
| 0.100 | 0.689240 | 0.691084 | 1.00 |
| 0.150 | 0.544024 | 0.545468 | 1.00 |
| 0.200 | 0.440642 | 0.441859 | 1.00 |
peak_v=0.0020:
| σ_v | F数值 | F理论 | 比值 |
|---|---|---|---|
| 0.005 | 0.000000 | 0.000000 | inf |
| 0.010 | 0.000050 | 0.000000 | 34837.20 |
| 0.015 | 0.027910 | 0.015475 | 1.80 |
| 0.020 | 0.277276 | 0.247935 | 1.12 |
| 0.030 | 0.717280 | 0.702116 | 1.02 |
| 0.040 | 0.826488 | 0.821022 | 1.01 |
| 0.050 | 0.836886 | 0.834538 | 1.00 |
| 0.060 | 0.817225 | 0.816595 | 1.00 |
| 0.070 | 0.787488 | 0.787670 | 1.00 |
| 0.080 | 0.754335 | 0.754834 | 1.00 |
| 0.100 | 0.687164 | 0.687789 | 1.00 |
| 0.150 | 0.543421 | 0.544269 | 1.00 |
| 0.200 | 0.440499 | 0.441188 | 1.00 |
peak_v=0.0050:
| σ_v | F数值 | F理论 | 比值 |
|---|---|---|---|
| 0.005 | 0.000000 | 0.000000 | inf |
| 0.010 | 0.000000 | 0.000000 | inf |
| 0.015 | 0.000000 | 0.000000 | inf |
| 0.020 | 0.000396 | 0.000202 | 1.96 |
| 0.030 | 0.179068 | 0.153642 | 1.17 |
| 0.040 | 0.516071 | 0.483086 | 1.07 |
| 0.050 | 0.677773 | 0.653342 | 1.04 |
| 0.060 | 0.731181 | 0.713197 | 1.03 |
| 0.070 | 0.737179 | 0.723533 | 1.02 |
| 0.080 | 0.722548 | 0.712012 | 1.01 |
| 0.100 | 0.672246 | 0.665166 | 1.01 |
| 0.150 | 0.539642 | 0.535950 | 1.01 |
| 0.200 | 0.438952 | 0.436517 | 1.01 |
peak_v=0.0100:
| σ_v | F数值 | F理论 | 比值 |
|---|---|---|---|
| 0.005 | 0.000000 | 0.000000 | inf |
| 0.010 | 0.000000 | 0.000000 | inf |
| 0.015 | 0.000000 | 0.000000 | inf |
| 0.020 | 0.000000 | 0.000000 | inf |
| 0.030 | 0.001044 | 0.000676 | 1.55 |
| 0.040 | 0.094307 | 0.072680 | 1.30 |
| 0.050 | 0.319132 | 0.272570 | 1.17 |
| 0.060 | 0.490097 | 0.439763 | 1.11 |
| 0.070 | 0.580515 | 0.534225 | 1.09 |
| 0.080 | 0.619251 | 0.577964 | 1.07 |
| 0.100 | 0.621470 | 0.590274 | 1.05 |
| 0.150 | 0.525927 | 0.507262 | 1.04 |
| 0.200 | 0.433618 | 0.420237 | 1.03 |
σ_v*(v):理论vs数值
| peak_v | σ_v*理论 | σ_v*数值 |
|---|---|---|
| 0.0010 | 0.037 | 0.040 |
| 0.0020 | 0.048 | 0.050 |
| 0.0050 | 0.068 | 0.070 |
| 0.0100 | 0.093 | 0.100 |
理论预测与数值在网格分辨率内相容(理论步长0.001,数值间距0.0100.020,量化误差±0.0050.010)——闭式近似直接命中。
187-2降调2的跳变消失。187-2粗网格下σ_v*在v=0.005→0.010间从0.050跳到0.100,「中间可能有过渡」。188-2加密后v=0.005→0.070、v=0.010→0.100,跳变消失变成连续过渡——反证187-2的跳变是网格稀疏造成的假象,也是加密网格还降调2最有力的证据。
五、结论与主线意义
| 问题 | 答案 |
|---|---|
| σ_v*(v)的函数形式? | 单调增、亚线性;闭式近似F≈散布×滞后,一阶条件数值求根 |
| 理论预测准吗? | 峰值附近比值1.00-1.05;σ_v*理论略低于数值(差0.002-0.007) |
| 187-2降调4还了吗? | ✅ 定性→定量;降调2还了吗?✅ 网格6点→13点 |
| 对主线有什么用? | 176变异池参照从"σ_v*随v增大"(方向)→"σ_v*=f(v)"(公式) |
叙事弧:
- 187-2:bet-hedging定性——v越大σ_v*越大
- 188-2:bet-hedging定量——F(σ_v,v)闭式近似+一阶条件给出σ_v*(v)
- 弧签名动作:187定性方向 → 188定量公式。
- 主线意义:176变异池参照从"方向"→"公式"。
- 全链先验机器第二次应用(继186-2):lag公式×散布公式→σ_v*(v)。
降调:
闭式近似在低σ_v端偏差大——测量窗未达稳态。F≈散布×滞后是稳态解,但低σ_v端c小→τ=1/c大(σ_v=0.010时τ=320代),测量窗600代=1.88τ未达稳态。归因检验:加代数→比值向1收敛(3.79→1.54),加N→无效,是初始条件暂态特征(187-2降调1同源)。峰值附近精确(比值1.00-1.05),不影响σ_v*定位。v=0.001的σ_v*测定值受暂态影响,只能作为方向参考,不能作为精确定量。
理论与数值在网格分辨率内相容。理论σ_v*步长0.001,数值σ_v*网格间距0.0100.020(量化误差±0.0050.010)。差0.002-0.007落在数值侧量化误差内,闭式近似直接命中。
σ_v*(v)的函数形式未闭式。一阶条件是隐式方程(Var(g)*需迭代求解),没有简单闭式。log-log拟合得α≈0.40(σ_v*∝v^0.40),但只有4个数据点,幂律vs对数需更多数据验证。
187-2粗网格vs 188-2加密网格。187-2用6点σ_v网格得σ_v*≈0.050(v=0.001),188-2加密到13点得σ_v*≈0.040。差异是网格分辨率:187-2的6点不含0.040,最近邻是0.030和0.050,取了0.050。加密后最优在0.040,不是矛盾是分辨率提升。
数值最优受网格分辨率限制。σ_v网格间距0.01,理论vs数值差0.002-0.007在分辨率量级内(0.002<0.01)。更密的网格能缩小差距,但计算量翻倍。
v→0极限未测。v→0时τ=1/c→∞,模拟窗口跑不到稳态。该预测留给后续用解析极限处理(接187-2降调1)。
单位点模型。多位点、上位效应、连锁不平衡待后续。
系列还在逐步建设中,完善是和伙伴们的努力方向。
附录:完整代码
# -*- coding: utf-8 -*-""" 天赐范式 第188天 第二篇 让定价开始定量——σ_v*(v)的闭式近似与一阶条件 PID: TC-188B-V3.3.26.0 V3.3.26.0 · 2026-10-07 接续187-2降调4:bet-hedging是定性结论 → σ_v*(v)的定量关系 接续187-2降调2:σ_v网格不够密 → 加密网格 理论:总fitness闭式近似 散布项 F_s(σ_v) = ω/√(ω²+σ_x²(σ_v)),σ_x²=Var(g)*(σ_v)+σ_e² 滞后项 F_l(σ_v,v) = exp(−lag*(σ_v,v)²/(2ω²)) lag* = v·(1−c(σ_v))/c(σ_v),c=β·h²(σ_v)·K(σ_v) 总fitness F(σ_v,v) ≈ F_s × F_l 一阶条件 ∂lnF/∂σ_v = 0: −0.5·(dσ_x²/dσ_v)/(ω²+σ_x²) − lag·(dlag/dσ_v)/ω² = 0 数值求根找σ_v*(v) 这是全链先验机器的第二次应用(继186-2): lag公式(187-1)× 散布公式(187-2解析收敛值)→ σ_v*(v)闭式近似 预测: v→0:σ_v*→0(无限代数下无最优,187-2降调1) v增大:σ_v*增大(bet-hedging方向,187-2已确立) σ_v*(v)的函数形式:理论先给预测,数值判决 数值:加密σ_v网格验证理论σ_v*(v)曲线 """importsysimportmathimportnumpyasnpifhasattr(sys.stdout,"reconfigure"):sys.stdout.reconfigure(encoding="utf-8")PID="TC-188B-V3.3.26.0"TARGET=0.5X_STAR_0=0.8FITNESS_WIDTH=0.10BETA=0.3SIGMA_E=0.02N_POP=200N_GENERATIONS=1000WARMUP_STATIC=200WARMUP_TRACK=200N_SEEDS=20TOL=1e-12MAX_ITER=5000SIGMA_V_FINE=[0.005,0.010,0.015,0.020,0.030,0.040,0.050,0.060,0.070,0.080,0.100,0.150,0.200]PEAK_VELOCITIES=[0.001,0.002,0.005,0.010]SIGMA_V_THEORY=np.arange(0.003,0.25,0.001)defbar(title):print("="*72)print(" "+title)print("="*72)print()defsub(title):print("【"+title)print("-"*72)deffitness(x,x_star):returnnp.exp(-(x-x_star)**2/(2*FITNESS_WIDTH**2))defsolve_self_consistent(sigma_v):var_g=sigma_v**2/(1-BETA**2)foritinrange(MAX_ITER):sigma_x2=var_g+SIGMA_E**2h2=var_g/sigma_x2 v_x_sel=sigma_x2*FITNESS_WIDTH**2/(sigma_x2+FITNESS_WIDTH**2)var_g_sel=h2**4*v_x_sel+var_g*(1-h2**2)var_g_new=BETA**2*var_g_sel+sigma_v**2ifabs(var_g_new-var_g)<TOL:returnvar_g_new var_g=var_g_newreturnvar_gdeftheory_fitness(sigma_v,peak_v):ifsigma_v<1e-8:return0.0var_g=solve_self_consistent(sigma_v)sigma_x2=var_g+SIGMA_E**2h2=var_g/sigma_x2 K=sigma_x2/(sigma_x2+FITNESS_WIDTH**2)c=BETA*h2*K f_spread=FITNESS_WIDTH/math.sqrt(FITNESS_WIDTH**2+sigma_x2)ifc>1e-10:lag=peak_v*(1.0-c)/celse:lag=float('inf')f_lag=math.exp(-lag**2/(2*FITNESS_WIDTH**2))returnf_spread*f_lagdeftheory_sigma_v_star(peak_v):best_sv=0.0best_f=0.0forsvinSIGMA_V_THEORY:f=theory_fitness(sv,peak_v)iff>best_f:best_f=f best_sv=svreturnfloat(best_sv),float(best_f)deftheory_deriv_check(sigma_v,peak_v,h=1e-5):f_plus=theory_fitness(sigma_v+h,peak_v)f_minus=theory_fitness(sigma_v-h,peak_v)iff_plus>0andf_minus>0:return(math.log(f_plus)-math.log(f_minus))/(2*h)returnfloat('nan')defrun_one(sigma_v,peak_v,seed):rng=np.random.RandomState(seed)genes=rng.normal(TARGET,0.01,N_POP)fitnesses=[]forgeninrange(N_GENERATIONS):ifgen<WARMUP_STATIC:x_star=X_STAR_0else:x_star=X_STAR_0+peak_v*(gen-WARMUP_STATIC)phenos=genes+rng.normal(0,SIGMA_E,N_POP)fits=fitness(phenos,x_star)fit_sum=float(fits.sum())iffit_sum<1e-10:forg2inrange(gen,N_GENERATIONS):ifg2>=WARMUP_STATIC+WARMUP_TRACK:fitnesses.append(0.0)breakprobs=fits/fit_sum sel_idx=rng.choice(N_POP,size=N_POP,p=probs)parent_genes=genes[sel_idx]mu=float(np.mean(genes))genes=mu+BETA*(parent_genes-mu)+rng.normal(0,sigma_v,N_POP)ifgen>=WARMUP_STATIC+WARMUP_TRACK:fitnesses.append(float(np.mean(fits)))returnfloat(np.mean(fitnesses))iffitnesseselse0.0defmain():bar(f"{PID}让定价开始定量——σ_v*(v)的闭式近似与一阶条件")print(f"模型: g'=μ+β(g_sel-μ)+v_mut(回归到种群均值μ)")print(f"fitness峰: x*(t)=x*_0+peak_v·gen(定向移动)")print(f"参数: β={BETA}, σ_e={SIGMA_E}, N={N_POP}, seeds={N_SEEDS}")print(f"理论: F(σ_v,v)≈[ω/√(ω²+σ_x²)]·exp(−lag²/(2ω²))")print(f" 一阶条件 ∂lnF/∂σ_v=0,数值求根找σ_v*(v)")print(f"数值: 加密σ_v网格({len(SIGMA_V_FINE)}点)验证理论曲线")print()sub("理论σ_v*(v)曲线")print(f"{'peak_v':>8s}{'σ_v*理论':>10s}{'F*理论':>10s}")print("-"*40)theory_results=[]forpeak_vinPEAK_VELOCITIES:sv_star,f_star=theory_sigma_v_star(peak_v)theory_results.append((peak_v,sv_star,f_star))print(f"{peak_v:>8.4f}{sv_star:>10.4f}{f_star:>10.6f}")print()sub("一阶条件验证:∂lnF/∂σ_v在σ_v*处≈0")forpeak_v,sv_star,f_starintheory_results:deriv=theory_deriv_check(sv_star,peak_v)print(f" peak_v={peak_v:.4f}σ_v*={sv_star:.4f}∂lnF/∂σ_v={deriv:.6f}")print()sub("加密σ_v网格:数值fitness(σ_v, v)")forpeak_vinPEAK_VELOCITIES:print(f" peak_v={peak_v:.4f}:")print(f"{'σ_v':>8s}{'F数值':>10s}{'F理论':>10s}{'比值':>8s}")best_num_sv=0.0best_num_f=0.0forsvinSIGMA_V_FINE:fits=[]forseedinrange(N_SEEDS):fits.append(run_one(sv,peak_v,seed))f_num=float(np.mean(fits))f_th=theory_fitness(sv,peak_v)ratio=f_num/f_thiff_th>1e-10elsefloat('inf')iff_num>best_num_f:best_num_f=f_num best_num_sv=svprint(f"{sv:>8.3f}{f_num:>10.6f}{f_th:>10.6f}{ratio:>8.2f}")sv_th=[t[1]fortintheory_resultsift[0]==peak_v][0]print(f" → 数值最优σ_v*={best_num_sv:.3f},理论σ_v*={sv_th:.3f}")print()sub("σ_v*(v):理论 vs 数值对比")print(f"{'peak_v':>8s}{'σ_v*理论':>10s}{'σ_v*数值':>10s}")print("-"*40)forpeak_vinPEAK_VELOCITIES:sv_th=[t[1]fortintheory_resultsift[0]==peak_v][0]best_num_sv=0.0best_num_f=0.0forsvinSIGMA_V_FINE:fits=[]forseedinrange(N_SEEDS):fits.append(run_one(sv,peak_v,seed))f_num=float(np.mean(fits))iff_num>best_num_f:best_num_f=f_num best_num_sv=svprint(f"{peak_v:>8.4f}{sv_th:>10.4f}{best_num_sv:>10.4f}")print()sub("结论")print(f"187-2:bet-hedging定性——v越大σ_v*越大")print(f"188-2:bet-hedging定量——F(σ_v,v)闭式近似+一阶条件给出σ_v*(v)")fortrintheory_results:print(f" peak_v={tr[0]:.4f}→ σ_v*={tr[1]:.4f}(理论)")print()print(f" 弧签名动作:187定性方向 → 188定量公式")print(f" 主线意义:176变异池参照从'σ_v*随v增大'(方向)→'σ_v*=f(v)'(公式)")print(f" 全链先验机器第二次应用(继186-2):lag公式×散布公式→σ_v*(v)")if__name__=="__main__":main()天赐范式 V3.3.26.0 · 2026-10-07