Price 方程是恒等式,所以它判不了「选择发生在哪一层」
【锚点】这一篇只钉一个判断:Price 方程是恒等式,不是理论。正因为它是恒等式,它没法裁决「自然选择发生在个体、群体还是基因层」——那个「层」是建模者的分区选择,不是自然界的事实。
一、【显式】方程先摆出来
Price (1970, Nature 227:520):
Δz̄ = Cov(w, z)/w̄ + E(w·Δz)/w̄
第一项是选择(性状与适应度的协方差),第二项是传递偏差(繁殖过程中的保真度)。它对任何种群、任何性状、任何适应度取值都恒成立——不需要任何演化假设。这是它的力量,也是它的病灶。
二、手算一个例子【显式】
4 个个体,性状 z = [1,1,0,0],适应度 w = [3,3,1,1]。 w̄ = 2,z̄ = 0.5。 Cov(w,z) = E[wz] − w̄·z̄ = 1.5 − 1 = 0.5。 假设完美遗传(Δz=0),选择响应 = 0.5/2 = 0.25,z̄ 从 0.5 升到 0.75。
【流程节点链路】:给定 (z,w) → 算 E[wz]=1.5 → 减 w̄z̄=1 → 得 Cov=0.5 → 除以 w̄=2 → 响应 0.25 → z̄’=0.75。
三、【隐式】同一份数据,两种合法分区
把这 4 个个体分成两组 G1={1,1}、G2={0,0}。组均值:G1 (z̄=1,w̄=3),G2 (z̄=0,w̄=1)。 组间协方差 = E[w̄_g·z̄_g] − w̄z̄ = 1.5 − 1 = 0.5,组内协方差 = 0。 于是这次选择 100% 是「组间」的——你可以理直气壮地说「群体选择」。
但把「组」定义成每个个体一组,同一份数据立刻变成 100% 个体选择。数字没变,叙事全变。
【流程节点链路】:同一份 (z,w) → Cov=0.5 → 按「两组」分区 → 组间 0.5 / 组内 0 → 结论「群体选择」;换「每人一组」分区 → 结论「个体选择」。终点是同一个 0.5,两个名字。
四、【细微】亲缘选择 = 群体选择,是代数等价
Hamilton 规则 rb > c 里的回归系数 β,既可以写成 r(亲缘度),也可以写成组间方差占比。Queller (1992, Evolution 46:376) 证明这两者是同一个协方差的恒等重排。这不是「两种机制」,是「一条方程,两种读法」。所以 2010 年代那场 group selection 大辩论,很多火力打在空气上——双方算的是同一个数,只是给协方差贴了不同的标签。
五、【极难发现】恒等式的病:动态不充分性
van Veelen 等 (2012, JTB 299:64) 的「dynamic insufficiency」:因为 Price 方程对任何 w 都成立,它不能预测下一代 z 怎么变,除非你另外指定 w 和遗传规则从哪来。它是一个记账恒等式,像「资产 = 负债 + 权益」——永远对,但不会替你赚钱。把恒等式误当因果模型,是演化生物学里最优雅的一类范畴错误。
结尾,一个值得吵的问题:如果一个「选择层次」的判定完全取决于你如何分区,那我们还能不能说「自然选择了群体」?还是说,「层次」从来只是我们为了压缩数据而选的坐标系——跟物理学里「选哪个参考系」是同一个问题?







0 Comments