← 数字生命:从第一性原理出发

05:所以我们故意造了个错的东西

在信任自己的检验之前,我们先造了一个故意简单的诱饵,用它们去攻击它。可见形态四处游荡,重的位置损伤无法干净地分离于普通涨落,而每一种精确关系都可被替换,却不产生可靠大于对照自身涨落的宏观态偏移。

上一章结尾给出了一份规格书:已知规则、可控干预、一次只变一个机制、可追踪的历史。那是我们最终需要的实验室,而建造它是大半尚未完成的工作。

建造之前,有个更便宜的问题:我们的检验行吗?

这不是多余的担心。上一章产生了本书第一个阳性结果——有边界的,但是真的。结构复现与因果血统相交,一个因果论断通过了我们并未为让它通过而设计的检验。

而这恰恰是标准滑落的时刻。一旦一个激动人心的论断通过了某项检验,下一个激动人心的论断到来时就自带了那项检验的名声。仪器获得了它并未单独挣得的权威,读数偏高时也更容易被放过。

标准的实验室回应是用本不该支撑你所关心解释的东西去挑战仪器。

于是本章我们造了一个自己都不相信的系统,用自己的证据去打它。它通过的检验比它配得上的多得多。剧烈的位置损伤没有可靠地把它推出测得的机制之外。替换系统里的每一种精确关系也没有。在此过程中它产生了一个漂亮的假结果,我们差点就信了。

这些都没告诉我们蜂群是活的。它告诉我们哪些检验太便宜。


诱饵

在实验生物学里这个动作是常规。用阴性对照(negative control):在你关心的样本旁边跑一个独立预期不含目标条件的制备,过同样的测定。若它报阳性,你就学到了关于测定本身的重要东西。同样的逻辑被借用到观察流行病学里检测混杂与偏倚。[1]

我们造不出数字生命的阴性对照。我们没有独立检验证明一个计算系统不是活的。

但我们可以借用这个逻辑。造一个故意简单、表观惊人但来自明确局域规则的系统,然后问:我们曾想当作有区分力的证据,能不能把它区分开。

于是我们造了一个诱饵。

它是一群粒子。每个粒子有一个位置和一个速度,一个指定的朋友和一个指定的敌人。朋友相吸。敌人相斥。微弱的中心拉力让世界有界,微弱的软核排斥防止病态坍缩。整个系统仅此而已。具体灵感是 Simon Woods 的朋友—敌人粒子模型,其中每个粒子向一个指定粒子运动、远离另一个。[2]我们的实现里没有任何东西表示蜂群、环、涡旋、有机体、身体、边界、个体、种群、繁殖或生命。

简单局域规则产生相干宏观秩序不是新观察。Reynolds 在分布式群集中展示过;Vicsek 等人在自驱动粒子中发现了集体有序。[3][4]

蜂群的地位必须保持精确。我们没有宣称证明它不是活的。我们没有能确立这一点的程序,为一个已有看法的情形发明一个,会违反本书的方法。它的角色更窄。

如果一个故意简单、完全明确的诱饵能表现出我们打算当作数字生命证据的性质,那么仅凭该性质区分不了我们关心的系统和诱饵。

蜂群因此不是生命的阴性对照。它是我们证据的对抗校准系统。

造它就是为了暴露太容易通过的检验。

第一个检验是存续。


四个分支

我们让蜂群运行到出现可见大尺度组织,取一个演化态,分成四个相同分支:对照、物质损伤、组织损伤、身份标签替换。

物质损伤剧烈挪动 30% 的粒子,而每一条朋友—敌人关系原封不动。若存续属于某种特定的物质可见排布,这一下该疼。

组织损伤反过来。位置速度原封不动,而 30% 的朋友—敌人关系重连。若存续要求精确的关系图,这一下该更疼。

身份标签替换是奇怪的那个。每个粒子带一个无因果作用的身份标签——更新律从不读它——我们渐进替换这些标签直到一个不剩。这不是组分替换;同样的动力学粒子、位置和速度贯穿全程。干预检验的是测量而非系统。若改动因果惰性的记账标签改变了我们的存续分数,那分数就是在暗中编码名义同一性。

它没有。分支紧贴未碰的对照,而原始标签消失殆尽。

我们的存续测量不依赖于因果惰性身份标签的保留。

这关于蜂群几乎什么都没确立。它只告诉我们测量没有暗中把记账标签当存续。

然后长运行暴露了短运行藏起的问题。


对照不肯待着不动

最初的运行以一种总该可疑的方式令人鼓舞。受损分支似乎回到可辨认的宏观形态。

然后我们跑得更长。在更长窗口里,未碰的对照也远离了参照构型——而我们一直在拿那个状态给别人的恢复打分。

有一阵这像实验失败了。

其实是实验在工作。它找到了一个我们从未声明、从未论证、从未察觉的假设:

我们把存续定义成了回到一张偏爱的照片。

没有任何东西许可这一点。对照连自己的照片都不回,而对照并未受损。一个未受损系统都通不过的存续定义不是严格定义,是坏定义。

于是问题变了。我们一直在问同一张照片回没回来。

存续凭什么要求这个?


存续可能不是形状

我们不再测量离特权构型的距离。改为用十九个宏观特征描述每个状态——尺寸、伸长、速度,以及一组距离统计——问另一个问题。

新问题是系统是否待在特征宏观态范围内,而非回到某一特定照片。

这个问题需要基线,因为对照自己会动。所以损伤任何东西之前,我们先量它动多少。把未碰运行切成时间块,问块之间相距多远。这就得到系统什么都不做时的变化量。

我们称这个基线为普通涨落。往后每次干预都拿它评判:受损蜂群走得比未碰蜂群自己通常走得更远吗?

同样的块回答第二个问题。对照是否在缓慢漂向新地方?若是,首尾块该比相邻块远得多。

相邻块的中位距离     2.397

首块到尾块            2.284

比值                  0.953 ×

没有:照片变得面目全非,而统计机制在观察窗口内没有相应的累积漂移。好。

同样的可见状态
≠
同样的动力学机制

测量现在能当作存续的不再是形状,而是系统穿行的宏观态区域。

精确特征表与计算见实验注记。上面两个数只回答一个问题:对照是否在渐进漂向新处。下面的干预结果用的是另一个普通涨落基线。


物质损伤消失在普通涨落里

把 30% 的粒子剧烈打出原位,产生中位偏移:

0.622 × 普通涨落

八次独立运行中一次超过普通涨落。没有一次超过两倍。

挪动 30% 的粒子,没有产生按此测量可靠大于对照普通涨落的长期宏观态偏移。

这不同于说形状恢复了。形状不必回来。按此测量,受损分支从未可靠分离于未碰蜂群自己产生的涨落。


我们想要的结果失败了

现在是有意思的分支,它背后的期望并非不合理。朋友—敌人指派直接参与动力学;那些对之间的吸引排斥生成了系统的每条轨迹。重连其中 30% 在位置速度原封不动的同时攻击因果结构。

效应也更大:

离对照的平均距离

物质损伤           1.84

组织损伤           2.72

组织损伤看起来比物质损伤更糟。这正是我们想要的结果。

可惜它不是我们声明的检验。声明的比较是对蜂群自己的普通涨落,按那个标准,表观分离不再干净:

中位      0.766 × 普通涨落

均值      0.949 ×

八次运行两次超过普通涨落。一次超过两倍。

于是漂亮的句子死了——*可见物质可被破坏,但存续住在关系图里。*近三分之一的精确关系指派被替换,所得宏观态分布按我们的测量仍不可靠分离于普通涨落。

这不是我们希望找到的结果,而这正是预先声明的比较有用之处。


我们太早定位了存续

模式已经很难忽视。一张特权的可见构型已经失败。30% 的位置损伤没能产生可靠偏离。现在实质的精确关系同一性看起来也太具体。

存续的候选居所 实验显示
身份标签 测量没用它
特定可见构型 不固定
精确位置 30% 位移没有产生可靠的机制偏离
精确关系 30% 边替换没有产生可靠的机制偏离
测得的动力学机制 目前存续

对最后一行有许多可用解释,它们不等价。我们不能因为好听就挑一个。实验挣得的是一个问题,不是答案:

精确关系图能替换多少,测得的动力学机制才改变?

这个问题可测,那就测它。


于是我们扫了整张图

八个种子,每个把同一演化蜂群克隆,重连其精确关系的 0%、10%、20%……直到 100%。其余全固定。只变重连量。

看任何数据之前,先定什么算破。某剂量算机制破坏,当且仅当:

中位归一化偏移 > 1.0

且

至少 75% 重复超过普通涨落

预先定死是对实验工作里最普通的自我欺骗的防御:看完数据再选哪个分析算数。[5]

于是冻住它,跑扫描。

若图真的承载机制,预期模式很简单:重连越多,偏离越大。

一个剂量通过。


50% 看起来像阈值

在 50% 重连处:

中位归一化偏移                   1.430

超过普通涨落的比例                0.75

超过 2 × 普通涨落的比例            0.375

两条都满足。元数据记下第一个操作性破坏剂量 50%。

值得体会这句话本来会多好看。若只测那一个剂量——而只测一个中间剂量是完全合理听起来的实验——我们就能报道该系统的组织破坏点,背后还有预先声明的判据撑腰。它会是本章最可引用的结果。

即使当时也有两件事该让我们慢下来。

第一,判据恰好卡在边界上过:八次重复六次超过普通涨落,而规则要求六次。一次运行反向就改变分类。预先声明让阈值诚实,不让结果稳健。

第二个问题更简单:我们还有其他九个剂量。


然后我们看了整条曲线

若重连在摧毁维系机制的东西,效应该随图的消失而增长——机制一破,更强的损伤不该让效应消失。

实际发生的是这样。

Increasing relationship damage did not produce an increasing departure from the swarm’s ordinary variation. The isolated 50% crossing disappears as a threshold interpretation when the full dose-response curve is examined.

曲线也不是干净地在基线之下。几个剂量产生约一个普通涨落单位或更大的偏移,所以数据不支持"重连无效应"的更强论断。

它们没显示的是剂量反应。

扫描没有找到单调的图破坏阈值。

50% 处孤立的判据越线不应被拔高为机制论断,因为更强的干预没有保留该效应。

注意:这里的 30% 与前面 30% 结果不可直接比,因为两次实验对不同的对照基线归一。比较本扫描内部的剂量;构造见实验注记。

预先冻结判据防的是一种特定失败:看完答案再选检验。它防不了另一种:把一次判据越线当作描述了机制。

预先声明的阈值能告诉你一个结果越线了。它不能告诉你系统经历了相变。后者要看整个干预序列,而这里序列不支持。


每一种关系都被替换

剩下最强的干预。

在 100% 重连处,没有一条原始朋友—敌人指派残留。精确图相似度从零重连的 1.0 降到全重连的 0.0——这是操作检查而非发现,因为干预的算术决定了它。它确认干预做了所声称的事。

中位归一化宏观态偏移是:

0.949 × 普通涨落

八次重复四次超过普通涨落。没有超过两倍的。

蜂群里的每一种精确关系都被替换,测得的长期偏离仍在普通涨落之内。

Late control states and late states after complete relationship rewiring projected into the same control-derived macrostate space. The projection is illustrative; the quantitative claim uses the full nineteen-feature energy-distance measurement.

在此配置、此宏观态测量下,替换全部每一种朋友—敌人关系,没有产生可靠大于对照普通涨落的长期宏观态偏移。


结果实际说什么

它不意味着关系不重要,区别很要紧。

我们摧毁的是哪个粒子连哪个。构建朋友—敌人网络的规则原封不动。即使 100% 重连,每个粒子仍恰好有一个朋友一个敌人;吸引排斥规则、相互作用强度、微观更新律全保留。

摧毁的:   哪个具体粒子连哪个

保留的:   相互作用律与网络形式

所以结果比关系不重要要窄。

按此测量,替换全部原始关系仍与同一测得机制相容。

更精确地:

此配置下,测得动力学机制的存续不要求精确边同一性。

支撑存续的东西因此不系于保留特定边。它可能在更粗的图结构里,可能在相互作用律里,也可能是两者的组合。

本实验区分不了这些可能。它们留给另一个干预,是开放问题。

结果提示了显而易见的下一步实验。我们没做。


造错东西为什么值得

造蜂群是为了暴露太容易通过的证据,它做到了。

它看起来有组织。它耐受重的位置损伤。可见形态游荡而测得机制有界。即使替换全部精确关系图,长期偏离仍不可靠大于普通涨落。

单凭这些性质,没有一条能把候选系统与一个专为产生复杂集体行为而造的简单系统区分开。稳健仍是真实现象,但作为数字生命证据变弱了。

这让早先的结果更锋利,而不是抹掉它们。Physarum 确实经历了真实的人口更替,但稳健独自告诉我们的比看起来少。因果分叉繁殖经受比较的能力更强:这个蜂群没有可操作的后代关系,伪造不了那个结果。

诱饵的价值是抬高证据门槛。

往后任何被提议为证据的性质,都必须能把一个专为伪造它而造的系统比下去。

我们仍不知道存续由什么承载。现在知道了若干不是的东西。


实验注记

蜂群结果来自一个实现。

简称。普通涨落是本章对普通对照自涨落的简称。每次实验内,它是该种子对照轨迹指定块之间的中位能量距离。归一化干预偏移以该基线为单位表达。

**配置。**四分支损伤研究与后来的重连扫描共享微观配置:256 粒子,10,000 步 burn-in,干预后 12,000 步,每 20 步采样,八个独立种子。每个种子的每条分支都从同一 burn-in 后检查点克隆。Burn-in 只是稳定期;不声称达到定态。

**宏观态。**宏观态是十九特征向量:回转半径对数、各向异性对数、平均速度,以及径向距离、两两距离、朋友距离、敌人距离的分位数。除回转半径自身外所有距离都相对该半径表达,所以描述按构造是尺度相对的。特征表示不含粒子身份标签,不含节点身份特征。度量因此不能靠跟踪名义同一性来给存续打分,精确关系指派可自由变化而不被直接编码为特征。

**距离与归一化。**特征向量用只在 pooled 对照态上拟合的标准化器做 z-score。分布距离是两条轨迹后半段之间在确定性子采样点上的多变量能量距离。归一化偏移是该距离除以对照自身内部 spread。

**两个分母。**四分支研究与重连扫描构造分母的方式不同:前者用对照后半段切三块;后者用全对照轨迹切六块。比值因此在每次实验内可比,跨实验数值不可比。这就是四分支研究里 30% 组织损伤比值与扫描里 30% 行不是彼此复现的原因。章内报告的相邻块与首尾值是累积漂移的单独诊断,不是干预比值的分母。

**100% 重连下保留的。**每个粒子仍有一个朋友一个敌人;吸引规则、排斥规则、相互作用强度、粒子数、网络类别、微观更新律全不变。干预摧毁边同一性,不摧毁网络形式或相互作用律。

**操作检查。**图相似度值由干预算术固定而非经验结果:重连操作禁止指派回原目标,所以精确相似度由剂量决定。扫描中相似度从 0% 重连的 1.0 降到 100% 的 0.0。

**预先声明。**破坏判据——中位归一化偏移大于 1.0 且至少 75% 重复超过普通涨落——在检查扫描前冻在配置里。

**论断边界。**本章关于机制存续的每个论断都以十九特征表示、所选归一化、能量距离度量为条件。另一种表示可能分开此表示分不开的分支。在此未检测到偏离不是底层状态相同或无因果变化的证据。

**样本量。**每剂量八重复是小样本。剂量反应曲线支持的是在此分析下未检测到单调剂量依赖;不应读作效应量的精确估计。每剂量中位比值的 bootstrap 置信区间随每剂量结果放在附录。

完整参数、特征定义、标准化器构造、干预协议、每种子结果、丢弃运行见附录。


参考文献

[1] Lipsitch, M., Tchetgen Tchetgen, E. & Cohen, T. Negative Controls: A Tool for Detecting Confounding and Bias in Observational Studies. Epidemiology 21(3), 383–388 (2010). doi:10.1097/EDE.0b013e3181d61eeb

[2] Woods, S. Dancing with friends and enemies: boids’ swarm intelligence. Wolfram Community (2012).

[3] Reynolds, C. W. Flocks, Herds, and Schools: A Distributed Behavioral Model. Computer Graphics 21(4), 25–34 (1987). doi:10.1145/37402.37406

[4] Vicsek, T., Czirók, A., Ben-Jacob, E., Cohen, I. & Shochet, O. Novel Type of Phase Transition in a System of Self-Driven Particles. Physical Review Letters 75(6), 1226–1229 (1995). doi:10.1103/PhysRevLett.75.1226

[5] Simmons, J. P., Nelson, L. D. & Simonsohn, U. False-Positive Psychology: Undisclosed Flexibility in Data Collection and Analysis Allows Presenting Anything as Significant. Psychological Science 22(11), 1359–1366 (2011). doi:10.1177/0956797611417632