一杯咖啡的“表观复杂性”

就我们的调查研究,我们对一杯咖啡所谓的“表观复杂性”(apparent complexity)特别感兴趣。这与电脑科学家所称的位元串之“演算复杂性”(algorithmic complexity)或“柯尔莫哥洛夫复杂性”(Kolmogorov complexity)相关(任何图像都能以位元串来呈现,好比资料档就是)。这个想法是选用某种能输出这种位元串(好比01001011011101)的电脑语言。位元串的演算复杂性,其实就是运算时输出该位元串的最短程式之长度。简单模式具有低复杂度,完全随机的位元串则有高复杂度—输出那些位元串的唯一做法,就是直接写进一个“列印”述句,并把该位元串完整地复制在里面。

就我们的目的(对奶精与咖啡混合图像的特性描述),随机噪音可以算是“单纯的”,而非复杂的。所以,依循波兹曼处理熵的做法,我们以粗粒化作用来定义“表观复杂性”。我们不观测模拟中所有个别粒子的位置,而是检视小范围空间里的粒子平均数。于是表观复杂度就是奶精和咖啡之粗粒化分布的演算复杂度。这是将我们“某图像看来有多复杂”的直觉概念化的好做法。高表观复杂性就相当于包含许多有趣结构的粗粒化(模糊的)图像。

不幸的是,一个图像的表观复杂度没办法直接计算得知。不过有种极好的近似做法:把图像塞进档案压缩演算法即可。每个人的电脑都有能执行这功能的程式,所以我们可以开跑了。

模拟开始时,表观复杂度很低;完整描述只是“奶精位于顶部,咖啡在底部”。到最后,表观复杂度又变得很低:我们只需说明,每处定点都有等量的奶精和咖啡。而混合作用进行的期间,就是事情变得有趣的时候。我们发现,复杂度不见得会发展出来—至于会不会,取决于奶精和咖啡如何交互作用。

大体说来,若奶精和咖啡分子只与邻近其他分子交互作用,你就不会看到复杂性的大幅发展。所有事情只会平滑地调合在一起,而不会形成条条卷须的尖突图案。

若我们引进长程作用—类似搅拌咖啡的汤匙—这时事情就变得有趣了。奶精和咖啡的分界面会呈现碎形模样,但不是完全混杂在一起。这样形成的图像具有高度表观复杂性;为了准确描述,你必须具体说明奶精/咖啡分界面的繁复外形,这就会需要较大量的资讯。

“碎形”和“复杂”的关系,不只是就装饰上而言。碎形是不论就任何倍率看来,基本上都完全相同的几何图案。就奶精和咖啡而言,我们见到分子组态中出现大致呈碎形的图案,到最后才终于消失至均衡态势。这是复杂性的一个标志特征:当我们仔细端详系统,而且一次就把全貌看透,这时就会持续发生有趣的事,而且当中只具有少数会移动的部件。

对于物理学和生物学来说,复杂性往往会以层级式的风格出现:细小片段凝聚成较大单元,接着各单元又凝结成更大单元,以此类推。较小单元保持它们的完整性,同时又共同在整体里面交互作用。于是从简单的基础规则出发,便突现建构出能显现出复杂整体行为的种种网络。咖啡杯自动机系统太过简单,没办法忠实模塑出这种历程,不过碎形造型外观却提醒我们,复杂性可以既确凿又自然。

继续推展下去,表观复杂性就会消失。所有奶精和咖啡都会完全混合在一起。只要我们等待够久,所有隔离系统都会达成平衡,到时就完全不会发生有趣的事了。

来源:《诗性的宇宙》
作者:萧恩‧卡罗尔
翻译:蔡承志

You may also like...