计算力学
计算力学(Computational Mechanics)是一套用于量化涌现的框架。它以一种计算的视角,研究观察者识别涌现时,模型发生的变化。计算力学以信息论和生物进化的思想为基础,是目前最早的对涌现的定量化研究。在应用当中,该理论提出了对复杂性度量的新指标,并有一套实现涌现识别的机器重构算法。
问题背景
自然和社会现象
复杂系统的涌现问题由来已久[1][2][3][4]。鸟群以步调一致地形式飞行,鱼儿在没有领头带领以连贯的序列群组流转并突然共同转向的方式游动。蚊群形成复杂的社会,生存继承自特异化的社会分工。几个世纪前,木星大气中五彩斑斓的混沌运动形成了被称之为“大红斑”的巨大漩涡,至少已存在二百到三百五十年,期间还在不断地改变颜色和形状。
我们直觉中对这样的涌现现象的描述是有新东西冒出来了,比如社会、红斑等等。但是我们没有说明“新东西”是什么,以及它“新”在哪里。所以我们还需要更精确的语言对涌现进行区分和描述。
不同层次的涌现
对于一个由很多智能体构成的复杂系统,我们从直觉出发,从模糊到精确,可以划分出对不同层次涌现的定义:
- 对涌现的直觉定义:系统中出现任何可以被称为新颖的特征,即系统有宏观的特征;
- 斑图涌现(Pattern formation):某一个外在的观察者,用某种编码方式在系统中发现斑图。
- 内在涌现(Intrinsic emergence):系统本身(构成系统的智能体)捕捉并利用它自身出现的斑图。
下面我们用一些例子来说明对涌现不同层次的描述。
涌现通常被理解为一个过程,该过程导致出现的结构并未直接由控制系统的定义约束和瞬时力描述。随着时间的推移,“新特征”出现在运动方程直接指定的尺度之外。比如一堆随机运动的粒子,虽然瞬时力可以用运动方程描述,但是从宏观尺度上会表现出压强、体积以及温度等“新特征”。我们需要明确涌现的“特征”是什么以及它“新”在哪里。否则涌现这一概念几乎没有内容,因为几乎任何时间依赖的系统都会表现出宏观特征。
举两个例子来说明斑图涌现的特征,一个例子是确定性混沌,确定性运动方程随着时间的推移导致了看似不可预测的行为。系统从初始条件映射到后来的状态,变得极为复杂,以至于观察者既无法足够准确地测量系统,也无法以足够的计算能力预测未来的行为。这种混沌的涌现既是非线性动力学系统复杂行为的产物,也是观测者能力的限制。另一个例子是二维的自避免随机游走,粒子的逐步行为由随机方程直接规定:每次移动时,它朝随机方向移动,除非是刚刚离开的方向。经过一段时间,结果是路径描绘出一个自相似的分形结构。在这种情况下,分形结构从大部分随机的逐步运动中涌现出来。
第一个例子的新增特征是不可预测性;第二个例子则是自相似性。在这两种情况下的“新颖性”都因其涌现特征与系统的定义特征直接对立而加剧:完全的确定性在混沌下隐藏,而几乎完全的随机性下则显现出自相似性的有序性。但这种涌现发生在谁的眼中?更具体地说,这些涌现特征对谁而言是“新”的?混沌动力学系统的状态在应用确定性函数时总是移动到唯一的下一个状态。显然,系统状态并不知道它的行为是不可预测的。对于随机游走,“分形性”不在执行局部步骤的粒子“眼中”,这本身就是定义上的,两种情况下的新颖性都在于系统外的观察者眼中。
实际上,检测到的斑图通常是通过观察者选择的统计数据来隐含假定的,可能某些“斑图”的功能表现与现象的数学模型一致,但这些模型本身依赖于一系列理论假设。简而言之,在斑图形成领域,“斑图”通常是被猜测出来的,观察者通过固定的规律库预期这些结构,然后再进行验证。类似于通信频道的类比,观察者就像是一个已经手握密码本的接收者。任何未能通过密码本解码的信号本质上都是噪声,即观察者未能识别的斑图。
在系统内部的协调行为中,有一种斑图涌现变得重要,即这些斑图在系统的其他结构中显现其“新颖性”。由于没有外部的参照来定义新颖性或斑图,我们可以将这个过程称为“内在”涌现。在高效资本市场中,竞争性个体根据从集体行为中涌现出的最优定价控制其个人生产-投资和股票所有权策略。对于个体的资源配置决策而言,通过市场的集体行为涌现出的价格是准确的信号,“完全反映”了所有可用信息,这一点至关重要。内在涌现的独特之处在于形成的斑图赋予了额外的功能性,支持全局信息处理,如设定最优价格。这种方法的不同之处在于,它基于显式的方法来检测嵌入在非线性过程中的计算。更具体地说,以下假设是,在内在涌现过程中,内在计算能力的增加可以被利用,从而赋予系统额外的功能性。
进化的系统模型
可以用生物进化的思想来解释内在涌现的问题,一个高度有序系统是怎么从混沌中涌现的。但是它在解释目前生命形式的多样性方面所起的作用不那么具有预测性。因此将宇宙视为一个确定性动力系统(DS),并把它简化为包括一个环境和一组适应性的观察者或“智能体”。智能体(Agent)是一个随机动力系统(SDS),它试图构建和维持一个对其环境具有最大预测能力的内部模型。每个智能体的环境是其他智能体的集合。在任何给定的时刻,智能体的感知系统是当前环境状态的投影。也就是说,环境状态被智能体的感官装置所隐藏。随着时间的推移,感官装置产生一系列测量,这些测量引导智能体利用其可用资源(下图的基质)来构建内部模型。基于内部模型捕捉到的规律,智能体通过效应器采取行动,最终改变环境状态。如果智能体可以将测量结果尽可能划分随机和确定的部分,然后尽可能捕捉确定的规律,智能体就能利用环境中的更多规律,这种优势会提高智能体的生存能力。
复杂度量化
度规升维
计算复杂度也可认为是算术复杂度,理论上可以简化到二值计算。二值是符号里的0和1,是计算学所用的基本单位。通过组合0和1可以形成复杂的数学和逻辑,以及加入编解码器形成字符串。计算力学将经典复杂科学理论的部分核心“将自然过程二分为秩序和噪声”吸收了进来,也是相关文献[2]提到的创新方式。即我们可以利用复杂科学的粗粒化方法,将隐藏在自然现象中的过程压缩到极简的秩序(order,符号0)和随机(randomness,符号1),然后制定相应的运算法则,就能完成一种二值计算系统的建立,有兴趣的读者可以参阅布尔代数的相关内容。
在人工环境中使用二分法时,原始的随机过程,经过一定程度的累积,依赖于具体的粗粒化方法,有可能会呈现出一定的分布,导致计算复杂性的出现。这种计算复杂性经过抽象和形式化,使用不同的实体和规则,能形成不同的复杂度度量方法。但终究我们要具有将度规升维的能力,尊重现实,才能找到更佳的方案。
柯式复杂度
柯式复杂度是大家普遍公认的复杂度度量方法,在Jean-Paul Delahaye和Hector Zenil对复杂系统量化方法研究的工作中[5],认为最天然的计算设备的模型需要有一定的表达能力,并定义一个字符串s对于通用图灵机U的柯尔莫哥洛夫-蔡汀(Kolmogorov-Chaitin)复杂度[math]\displaystyle{ K_{u}(s) }[/math]为输出该字符串s的最短程序p的二进制长度。
[math]\displaystyle{ K_{u}(s) = min\{\lvert p \rvert, U(p) = s \} }[/math]
下标u是对应通用图灵机的代号,U是运行程序p的通用图灵机的实体。
为提高通用性,忽略各图灵机之间的差异,将柯氏复杂度定义进一步定义为:
[math]\displaystyle{ K(x) := C_m(x) = min\{ \lvert \lang M,w \rang \rvert: 通用计算机M在输入w时停机并输出x \} }[/math]
按照前式标准化为:
[math]\displaystyle{ K(x) := C_m(x) = min\{ \lvert \lang M,w \rang \rvert: M(w) = x \} }[/math]
这里的w等于前式的p,即输出x的程序源代码字符串。x等于前式的s,即待输出的字符串。
在文献[5]中确定柯式复杂度的定义时,使用了两种不同的计算模型:
- 确定性图灵机(deterministic Turing machines (TM))。能够模拟神经元,一般以串行方式运行代码。
- 一维元胞自动机(CA)。以并行方式同时更新单个时间步上的所有元胞。
做了计算性能的比较,实验结果显示两者有着很强的相互关联,而且两者均可将输出字符串构成支持反转和补余操作的对称群。
柯式复杂度的主要注解包括因为停机问题而导致的不可计算性,以及它高度依赖编程语言的选择。虽然柯式复杂度有上述问题,但仍能揭示计算和模拟的本质。不同的计算模型形成了复杂度的分水岭,又来到常量E的一处浅滩:
定理:总能找到一个常量E,对于任意的字符串s,两种计算模型U1和U2的柯式复杂度满足:
[math]\displaystyle{ \lvert K_{U_1}(s) - K_{U_2}(s) \rvert \lt E }[/math]
即,在误差条件E以内,有程序P能让计算模型U1模拟U2,智能体能借助程序P沿着复杂度的沟壑通向2050。
统计复杂度
定义及符号[math]\displaystyle{ C_{μ} }[/math]
下标μ依赖于测度和分布,同柯式复杂度[math]\displaystyle{ C_{u} }[/math]的下标u含义不完全相同,对应的计算模型M的分类和分布,也依赖于具体的理论实现。
统计复杂度可用于线性系统的复杂性量化,也可用于非线性动态系统中复杂系统因果涌现复杂性的量化。香农熵基于概率分布,但对于确定性混沌却有些不足,统计复杂度则能量化宏观态上出现的确定性混沌。
统计复杂度(statistical complexity)是复杂系统深度的量化方式之一,用[math]\displaystyle{ C_{\mu} }[/math]符号来表示。其中μ依赖于测度和分布。跟统计力学中的量化理论有关,基于测度系统的定义。在部分混沌物理学的文献中,也被记作α。
在1989年《Inferring Statistical Complexity》[1]这篇文献里,复杂度的阶次符号为α,在2001年文献[4]中的符号为μ,这里我们统一使用μ。
μ-阶图复杂度
μ-阶图复杂度即为μ-阶图的概率算术复杂度,[math]\displaystyle{ C_{μ=0}=\log \lvert \mathbf{V} \rvert }[/math]。其中[math]\displaystyle{ \mathbf{V} }[/math]为μ-阶图的顶点集合。
在集智俱乐部的《因果涌现读书会》因果几何上,会对连续系统的因果涌现做更详细的介绍,有兴趣的可以参考下。
0-阶图复杂度([math]\displaystyle{ C_{μ=0} }[/math])和蔡汀-柯尔莫哥洛夫复杂度不同,0-阶图复杂度带有概率分布且依赖带有随机整数寄存器的图灵机。
μ-阶图复杂度([math]\displaystyle{ C_{μ} }[/math])是区别于信息论的量化复杂度的方法,后者基于维度[math]\displaystyle{ d_μ }[/math]和熵[math]\displaystyle{ h_μ }[/math]。
拓扑复杂度
当μ-阶图复杂度的μ为零时,μ-阶图复杂度也称为拓扑复杂度。由ϵ-机器的特征值给出。
统计复杂度
μ-阶图复杂度的μ = 1时,复杂度的量化方式为统计复杂度,带有热力学的“高温限制”。这里的统计复杂度也是1-阶图复杂度,即为香农熵。由ϵ-机器的物征向量给出。 统计复杂度(statistical complexity)是复杂系统深度的量化方式之一,用[math]\displaystyle{ C_{\mu} }[/math]符号来表示。这里的对应于因果涌现量化(有效信息EI),统计复杂度[math]\displaystyle{ C_{\mu} }[/math]越小,有效信息EI越大。
我们按照文献[2]中对统计复杂度的研究,将统计复杂度描述为:
[math]\displaystyle{ C_μ(x)=min\{\lvert \langle BTM, w\rangle \rvert: BTM(w) = x \} \tag {5} }[/math]
其中,BTM是贝努利-图灵机器(Bernoulli-Turing Machine),w是贝努利-图灵机器的输入。
统计复杂度的下界,从周期行为和频段耦合中得出,是带二阶项的相位转换。
复杂度目标
经过演化,因果链能形成形式上的闭环(closure),这里闭环在后文的因果态里,是指因果态在所有有效态中,统计复杂度最小等特征和属性。在管理学中,类似于使用组织行为学的知识,构建特定的反应链,从而完成特定目标。
从图上最下面两个椭圆出发,右边的椭圆标注的周期可以是秩序,左边的椭圆标注的均质贝努利可以是随机,是最大熵状态,他们能结合出上方的有限型子移位吗?如果后文的“模式重构”也可应用于此处,显然也是可行的。原始文献[2]当中共介绍了24种计算模型,从有限和无限、描述性和能力范围4个维度做了刻画,完成了相应的复杂度目标绘制。
几乎所有自然当中的时间相关系统,经过复杂度的划分和优化,再通过计算力学对结构的检验和测量,能展现出多尺度的涌现属性和特征。
因果态
因果态的定义
在计算力学中,宇宙被视为一个确定性动力系统(DS),即使规则和初始条件是确定的,随着规模的增长,系统也会变得极为复杂。由于系统内的智能体的计算资源有限,无法测量和预测其内外部环境的所有行为,这些不能预测的部分对智能体来说就相当于是随机扰动,所以智能体被视为一个随机动力系统(SDS)。智能体试图构建和维持一个对其环境具有最大预测能力的内部模型,以提高其自身对环境的适应性和生存能力。
智能体对外部环境的测量精度一般都是有限的,测量结果只能描述外部环境的“模糊状态”,智能体需要对测量结果粗粒化后才能识别“模糊状态”中的模式。若将测量对象过去未来的所有信息视为限制在离散值、离散时间上的稳定随机过程,用双无限序列可数集合[math]\displaystyle{ \overleftrightarrow{S}=⋯s_{-2} s_{-1} s_0 s_1 s_2… }[/math]表示,则测量结果为[math]\displaystyle{ \overleftrightarrow{S} }[/math]中任意随机变量的序列。基于时间[math]\displaystyle{ t }[/math]可以将[math]\displaystyle{ \overleftrightarrow{S} }[/math]分为单侧前向序列[math]\displaystyle{ s_t^→=s_t s_{t+1} s_{t+2} s_{t+3}… }[/math]和单侧后向序列[math]\displaystyle{ s_t^←=⋯s_{t-3} s_{t-2} s_{t-1} }[/math]两个部分,所有可能的未来序列[math]\displaystyle{ s_t^→ }[/math]形成的集合记作[math]\displaystyle{ \overrightarrow{S} }[/math],所有可能的历史序列[math]\displaystyle{ \overleftarrow{s_t} }[/math]形成的集合记作[math]\displaystyle{ \overleftarrow{S} }[/math]。
按照一定的划分方法( partition)将[math]\displaystyle{ \overset{\leftarrow}{S} }[/math]划分为若干个互斥且全面的子集,那么每个子集就是一个有效态(effective state),这些有效态的集合记作[math]\displaystyle{ \mathcal{R} }[/math],划分方法可以是任意函数映射[math]\displaystyle{ η }[/math],用公式表示为[math]\displaystyle{ \eta{:}\overleftarrow{S}\mapsto\mathcal{R} }[/math],也可以将有效态理解为将[math]\displaystyle{ \overset{\leftarrow}{S} }[/math]中的某段序列粗粒化后得到的宏观态。
上图为某种划分方法的示意图,将集合[math]\displaystyle{ \overset{\leftarrow}{S} }[/math]划分为某类有效态[math]\displaystyle{ \mathcal{R}=\{\mathcal{R}_i:i=1,2,3,4\} }[/math],值得注意的是,[math]\displaystyle{ \mathcal{R}_i }[/math]不必形成紧致集,也可以是康托集或其他更特殊的结构,上图为了示意清楚才这样画的。
用来划分集合[math]\displaystyle{ \overset{\leftarrow}{S} }[/math]的映射可以有很多种,若某一种划分方法能够在预测能力最强的同时消耗的计算资源最少,那么它肯定是最优的划分。为了找到这种最优的划分,需要定义因果态的概念,因果态就是智能体对测量结果进行处理后,根据其内部模型(尤其是状态结构)识别出的模式,并且这种模式不随时间发生变化。形式化定义为:对于任意的时间点[math]\displaystyle{ t }[/math] 和[math]\displaystyle{ t^{'} }[/math],给定过去状态[math]\displaystyle{ s_t^← }[/math]的条件下,未来状态[math]\displaystyle{ s^→ }[/math]的分布与给定过去状态[math]\displaystyle{ s_{t^{'}}^← }[/math]的条件下,未来状态[math]\displaystyle{ s^→ }[/math]的分布相同。那么[math]\displaystyle{ t }[/math] 和[math]\displaystyle{ t^{'} }[/math]的关系就记作[math]\displaystyle{ t∼t^{'} }[/math],“[math]\displaystyle{ ∼ }[/math] ” 表示由等效未来状态所引起的等价关系,可以用公式表示为:[math]\displaystyle{ t∼t^{'} \triangleq Pr(s^→ |s_t^← )=Pr(s^→ |s_{t^{'}}^← ) }[/math],若[math]\displaystyle{ t }[/math] 和[math]\displaystyle{ t^{'} }[/math]对未来状态预测的分布相同,则定义他们具有相同的因果态(casual state)。
如上图所示,在[math]\displaystyle{ t_9 }[/math]和[math]\displaystyle{ t_{13} }[/math]时刻分别对应一个状态,这两个状态处于相同的因果态,因为对未来的预测具有相同的分布;在[math]\displaystyle{ t_{11} }[/math]时刻的状态,则与[math]\displaystyle{ t_9 }[/math]和[math]\displaystyle{ t_{13} }[/math]时刻处于不同的因果态。
因果态的主要性质
因果态是一种特殊的划分方法,它的划分函数记作[math]\displaystyle{ \epsilon }[/math],公式为[math]\displaystyle{ \epsilon{:}\overleftarrow{S}\mapsto2^{\overset{\leftarrow}{S}} }[/math],其中[math]\displaystyle{ 2^{\overset{\leftarrow}{S}} }[/math]是[math]\displaystyle{ \overleftarrow{S} }[/math]的幂集。根据因果态的定义,则存在如下关系:[math]\displaystyle{ \epsilon(\stackrel{\leftarrow}{s})\equiv\{\stackrel{\leftarrow}{s}^{\prime}|\mathrm{P}(\stackrel{\rightarrow}{S}=\stackrel{\rightarrow}{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s})=\mathrm{P}(\stackrel{\rightarrow}{S}=\stackrel{\rightarrow}{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s}^{\prime}),\mathrm{for~all~}\overrightarrow{s}\in\overrightarrow{S},\stackrel{\leftarrow}{s}^{\prime}\in\stackrel{\leftarrow}{S}\} }[/math],其中[math]\displaystyle{ \mathcal{S} }[/math]为因果态的集合,[math]\displaystyle{ \stackrel{\leftarrow}{s} }[/math]为历史序列的随机变量,[math]\displaystyle{ \mathcal{S} }[/math]是[math]\displaystyle{ \mathcal{R} }[/math]的一种最优形式,因为[math]\displaystyle{ \mathcal{S} }[/math]的如下性质。
(1)最大预测性————因果态集合[math]\displaystyle{ \mathcal{S} }[/math]在有效态集合[math]\displaystyle{ \mathcal{R} }[/math]的所有类型中,它的预测能力最强:对于所有有效态[math]\displaystyle{ \mathcal{R} }[/math]和正整数[math]\displaystyle{ L }[/math],都有[math]\displaystyle{ H[\stackrel{\rightarrow}{S}^L|\mathcal{R}]\geq H[\stackrel{\rightarrow}{S}^L|\mathcal{S}] }[/math],[math]\displaystyle{ \stackrel{\rightarrow}{S}^L }[/math]为[math]\displaystyle{ L }[/math]个长度的未来序列集合,[math]\displaystyle{ H[\stackrel{\rightarrow}{S}^L|\mathcal{R}] }[/math]和[math]\displaystyle{ H[\stackrel{\rightarrow}{S}^L|\mathcal{S}] }[/math]是[math]\displaystyle{ \stackrel{\rightarrow}{S}^L }[/math]的条件熵。它的证明过程如下:
[math]\displaystyle{ \epsilon(\stackrel{\leftarrow}{s})\equiv\{\stackrel{\leftarrow}{s}^{\prime}|\mathrm{P}(\stackrel{\rightarrow}{S}=\stackrel{\rightarrow}{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s})=\mathrm{P}(\stackrel{\rightarrow}{S}=\stackrel{\rightarrow}{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s}^{\prime}) }[/math]
[math]\displaystyle{ \mathrm{P}(\stackrel{\rightarrow}{S}=\stackrel{\rightarrow}{s} |\mathcal{S}=\epsilon(\stackrel{\leftarrow}{s}))=\mathrm{P}(\stackrel{\rightarrow}{S}=\stackrel{\rightarrow}{s}\mid\stackrel{\leftarrow}{S}=\stackrel{\leftarrow}{s}) }[/math]
[math]\displaystyle{ H[\stackrel{\rightarrow}{S}^L|\mathcal{S}]~=~H[\stackrel{\rightarrow}{S}^L|~\stackrel{\leftarrow}{S}] }[/math]
[math]\displaystyle{ H[\stackrel{\to}{S}^L|\mathcal{R}] \geq H[\stackrel{\to}{S}^L|\stackrel{\leftarrow}{S}] }[/math]
[math]\displaystyle{ H[\stackrel{\rightarrow}{S}^L|\mathcal{R}]\geq H[\stackrel{\rightarrow}{S}^L|\mathcal{S}] }[/math]
(2)最小复杂度————在相同预测能力的前提下,因果态集合[math]\displaystyle{ \mathcal{S} }[/math]在有效态集合[math]\displaystyle{ \mathcal{R} }[/math]的所有类型中,它的统计复杂度最小:设[math]\displaystyle{ \hat{\mathcal{R}} }[/math]为满足性质(1)中不等式等号成立的有效态,则对于所有的[math]\displaystyle{ \hat{\mathcal{R}} }[/math],都有[math]\displaystyle{ C_\mu(\hat{\mathcal{R}})\geq C_\mu(\mathcal{S}) }[/math]。
上文中已经介绍了柯式复杂度和统计复杂度的基本概念,如果[math]\displaystyle{ s^L }[/math]表示对过程的测量结果的前[math]\displaystyle{ L }[/math]个序列,那么它们之间的关系可以近似的表示为:
[math]\displaystyle{ K(s^L )≈C_μ (s^L )+h_μ L }[/math]
如果在已确定描述语言(程序)的情况下,柯式复杂度[math]\displaystyle{ K(s^L ) }[/math]可以理解为描述[math]\displaystyle{ s^L }[/math]所用的总信息量。
[math]\displaystyle{ h_μ }[/math]为香农熵率,是信息不确定性程度的归一化指标,信息的不确定性越高,香农熵率越大。[math]\displaystyle{ h_μ }[/math]在这里可以理解为误差率, 则[math]\displaystyle{ h_μ L }[/math]为允许损失的随机信息量。
统计复杂度[math]\displaystyle{ C_μ (s^L ) }[/math]可以理解为允许存在误差率[math]\displaystyle{ h_μ }[/math]的情况下,描述[math]\displaystyle{ s^L }[/math]所用的最少信息量。
结合本条性质,求[math]\displaystyle{ C_μ (s^L ) }[/math]就是求[math]\displaystyle{ s^L }[/math]对应的因果态的统计复杂度,也就是说想要计算[math]\displaystyle{ C_μ (s^L ) }[/math]需要先找到[math]\displaystyle{ s^L }[/math]对应的因果态。
那么公式可以解释为:序列[math]\displaystyle{ s^L }[/math]的总信息量≈被归纳的因果态信息量+放弃归纳的随机信息量
(3)最小随机性————在相同预测能力的前提下,因果态集合[math]\displaystyle{ \mathcal{S} }[/math]在有效态集合[math]\displaystyle{ \mathcal{R} }[/math]的所有类型中,它的随机性最小:设[math]\displaystyle{ \hat{\mathcal{R}} }[/math]和[math]\displaystyle{ \hat{\mathcal{R}}^{\prime} }[/math]为满足性质(1)中不等式等号成立的有效态,则对于所有的[math]\displaystyle{ \hat{\mathcal{R}} }[/math]和[math]\displaystyle{ \hat{\mathcal{R}}^{\prime} }[/math],都有[math]\displaystyle{ H[\hat{\mathcal{R}}^{\prime}|\hat{\mathcal{R}}]\geq H[\mathcal{S}^{\prime}|\mathcal{S}] }[/math],其中[math]\displaystyle{ \hat{\mathcal{R}}^{\prime} }[/math]和[math]\displaystyle{ \mathcal{S}^{\prime} }[/math]分别是该过程的下一时刻有效态和下一时刻因果态。
用互信息的角度去理解的话,上式等价于[math]\displaystyle{ I(\mathcal{S}^{\prime};\mathcal{S})\geq I(\hat{\mathcal{R}}^{\prime};\hat{\mathcal{R}}) }[/math],可以理解为任意有效态对它自己下一时刻的互信息中,其中因果态的互信息最大,若不考虑Do干预,因果态和因果涌现理论中最大化有效信息所得到的宏观态意义相同。
若想更深入的理解因果态的性质可以阅读James Crutchfield的两篇论文[1][6],里面有因果态更多的性质和对应的形式化证明过程。
模式重构机器
智能体如何处理测量结果才能识别其中因果态呢?为了解决这个问题,计算力学建立了名为模式重构机器(ϵ-machine)的模型,它可以重构测量结果中的序列,去除随机噪音后识别其中的因果态。模式重构机器的大小可以用统计复杂度衡量,它的形式化定义可以用公式表示为[math]\displaystyle{ M=(\mathcal{S},T) }[/math],其中[math]\displaystyle{ T }[/math]为状态到状态映射的集合,满足[math]\displaystyle{ S_{t+1}=TS_t }[/math],[math]\displaystyle{ S }[/math]为集合[math]\displaystyle{ \mathcal{S} }[/math]中的任意一个因果态,它类似于一个粗粒化后的宏观动力学。[math]\displaystyle{ T_{ij}^{\left ( s \right )} }[/math]为两个因果态[math]\displaystyle{ S_i }[/math]和[math]\displaystyle{ S_j }[/math]之间的因果态转移概率映射,[math]\displaystyle{ T_{ij}^{(s)}\equiv\mathrm{P}(\mathcal{S}'=\mathcal{S}_j,\stackrel{\to}{S}^1=s|\mathcal{S}=\mathcal{S}_i) }[/math]。每个[math]\displaystyle{ \mathcal{S} }[/math]都有[math]\displaystyle{ \epsilon }[/math]函数和[math]\displaystyle{ T }[/math]函数,这两个函数可以组成一个有序对[math]\displaystyle{ \left \{ \epsilon,T \right \} }[/math],通过学习[math]\displaystyle{ \epsilon }[/math]和[math]\displaystyle{ T }[/math]函数可以提高机器识别因果态的准确度。
如果将模型构建视为一个动态过程,那么在模型构建和完善过程中,有两个量度——香农熵率[math]\displaystyle{ h_μ }[/math]和统计复杂度[math]\displaystyle{ C_μ }[/math],可以分别用来监测智能体模型的预测能力和模型大小。由于外部环境实际熵率与智能体内部模型的熵率之间的绝对差异决定了智能体的预测误差率,因此模型的熵率越接近外部环境的熵率,智能体的生存机会就越高。但这种生存能力是有代价的,这个代价由智能体在进行预测时必须投入的计算资源决定的,这种代价的量度就是模型的统计复杂度。
模型分层重构法
模型创新
由于智能体的计算资源有限,若测量结果中的数据量超过模型的处理极限时,就需要对原有模型进行创新(重构模型)以保障在计算资源不变的情况下智能体对外界的有效预测,创新方法主要是通过寻找原有模型状态组之间的相似性,在原有模型识别到的因果态中抽象出更高层级的因果态组。下表中列举了一种模型创新的途径:
上表为因果时间序列建模层级,展示了可能的前四个层级,但这个过程是开放式的,可以不止四个层级,每个层级根据其模型类别定义。模型本身由状态(圆圈或方块)和转移(标记箭头)组成,每个模型都有一个独特的起始状态,由一个内嵌的圆圈表示。数据流本身是最低层级,通过将序列测量分组为重复子序列,从数据流中构建出深度为的树。下一个层级的模型,即具有状态和转移的有限自动机(FA),通过将树节点分组从树中重构。所示的最后一个层级,字符串生成机器(PM),通过将FA状态分组并推断出操控寄存器A中字符串的生成规则来构建。
考虑一个由[math]\displaystyle{ m }[/math]个测量结果构成的数据流[math]\displaystyle{ s }[/math],如果它是周期性的,那么第0级(Level 0),即测量结果本身,它的表示方法依赖于[math]\displaystyle{ m }[/math]。在极限[math]\displaystyle{ m\to\infty }[/math]情况下,第0级会产生一个无穷大的表示。当然,第0级是最准确的数据模型,尽管它几乎没有任何帮助,几乎不值得被称为“模型”。相比之下,一个深度为[math]\displaystyle{ D }[/math]的树将给出一个有限表示,即使数据流的长度是无限的,只要数据流具有周期小于等于[math]\displaystyle{ D }[/math]。这个树有长度为[math]\displaystyle{ D }[/math]的路径,由数据流的周期给出。这些路径中的每一个都对应于[math]\displaystyle{ s }[/math]中重复模式的一个不同阶段。如果[math]\displaystyle{ s }[/math]是非周期性的,那么树模型类将不再是有限的,并且与[math]\displaystyle{ m }[/math]无关。 事实上,如果数据流具有正熵([math]\displaystyle{ h_μ>0 }[/math]),那么树的大小将呈指数增长,[math]\displaystyle{ \approx\left\|\mathcal{A}\right\|^{Dh_{\mu}} }[/math] ,因为[math]\displaystyle{ D }[/math]的增加解释了[math]\displaystyle{ s }[/math] 中长度[math]\displaystyle{ D }[/math]不断增加的子序列。粗略地说,如果数据流具有随时间衰减得足够快的相关性,则下一级(随机)有限自动机将给出有限表示。状态数[math]\displaystyle{ \left\|\mathrm{V}\right\| }[/math]表示数据流中的内存量,因此表示[math]\displaystyle{ s }[/math]中测量值之间存在相关性的典型时间。但也有可能第 2 级不提供有限表示。那么就需要另一个级别(第 3 级)。
模型重构算法
上面介绍了模式重构机器,是智能体识别因果态的一种方式。若结合模型创新的概念,就可以给出模式重构机器的完整定义:模式重构机器(ϵ-machine)是能够用最少的计算资源对测量结果进行有限描述同时复杂度最小的模型。模型的算法步骤如下:
1. 在最低水平上,设定0级模型为描述数据本身,即[math]\displaystyle{ M_0=s }[/math],将初始层级[math]\displaystyle{ l }[/math]设置为比0级高一级,即[math]\displaystyle{ l=1 }[/math];
2. 从更低模型重构模型[math]\displaystyle{ M_l=M_{l-1}/∼ }[/math],其中[math]\displaystyle{ ∼ }[/math]表示[math]\displaystyle{ l }[/math]级上的因果等价类;操作的含义是,在[math]\displaystyle{ l-1 }[/math]级上被区别对待的状态在[math]\displaystyle{ l }[/math]级上可以被视为同一个因果态。此时[math]\displaystyle{ \mathcal{S} }[/math]和[math]\displaystyle{ T }[/math]都更新了;
3. 收集更多的数据,增大序列长度[math]\displaystyle{ L }[/math],得到更加精确的一系列模型[math]\displaystyle{ M_l }[/math];
4. 如果随着[math]\displaystyle{ L }[/math]增大,模型的复杂度发散,即[math]\displaystyle{ C_μ(M_l) = \lVert M_l \rVert \underset{ϵ \to 0}{\to} \infty }[/math],那么回到第二步,得到更高级模型[math]\displaystyle{ M_{l+1} }[/math];
5. 如果模型复杂度收敛,意味着重建好了一个合适的模式重构机器,程序退出。
混沌动力学实例
接下来将采用具体的方法来演示如何将计算力学的理论应用于实际案例,要演示的是混沌动力学中的逻辑斯谛映射(logistic map),特别是其周期倍增的混沌路径。用于重建模型的数据流来自逻辑斯谛映射的轨迹,轨迹是通过迭代映射[math]\displaystyle{ x_{n+1}=f(x_n) }[/math]生成的,迭代函数为[math]\displaystyle{ f(x) = rx(1-x) }[/math],其中非线性参数[math]\displaystyle{ \begin{matrix}r&\in&[0,4]\end{matrix} }[/math],初始条件[math]\displaystyle{ x_0\in[0,1] }[/math],迭代函数的最大值出现在[math]\displaystyle{ x_c = \frac12 }[/math]。
上图为迭代函数[math]\displaystyle{ f(x) = rx(1-x) }[/math]中[math]\displaystyle{ r }[/math]与[math]\displaystyle{ x }[/math]的关系图,当[math]\displaystyle{ r<3.5699... }[/math]时函数存在倍周期现象,当[math]\displaystyle{ r>3.5699... }[/math]时会出现混沌现象。若要识别混沌中的有序结构,就需要对[math]\displaystyle{ x }[/math]进行粗粒化操作,方法是通过二元分割观察轨迹[math]\displaystyle{ \mathbf{x}=x_0x_1x_2x_3\ldots }[/math] ,将其转换为离散序列[math]\displaystyle{ \mathcal{P}=\{x_n\in[0,x_c)\Rightarrow s=0,x_n\in[x_c,1]\Rightarrow s=1\} }[/math],这种划分是“生成”的,这意味着足够长的二进制序列来自任意小的初始条件间隔。因此,可以使用粗粒化的观测[math]\displaystyle{ \mathcal{P} }[/math]来研究逻辑斯谛映射中的信息处理。
子实例一
文献[2]中关于层次学习专门开了第五章,下面有4小节。前面两小节分别讲了混沌和不确定3-4个例子,都有着广泛的借鉴意义。
参考文献
- ↑ 1.0 1.1 1.2 James P. Crutchfield, Karl Young. Inferring Statistical Complexity. PHYSICAL REVIEW LETTERS, VOLUME 63, NUMBER 2. 10 JULY 1989
- ↑ 2.0 2.1 2.2 2.3 2.4 James P. Crutchfield. The Calculi of Emergence: Computation, Dynamics, and Induction. SFI 94-03-016. 1994
- ↑ James E. Hanson, James P. Crutchfield. Computational Mechanics of Cellular Automata: An Example. SFI WORKING PAPER: 1995-10-095
- ↑ 4.0 4.1 Cosma Rohilla Shalizi, James P. Crutchfield. Computational Mechanics: Pattern and Prediction, Structure and Simplicity. February 1, 2008
- ↑ 5.0 5.1 Jean-Paul Delahaye, Hector Zenil. Towards a stable definition of Kolmogorov-Chaitin complexity. Fundamenta Informaticae XXI 1–15. 2008
- ↑ Shalizi, C. R.. & Crutchfield, J. P. (2001). Computational Mechanics: Pattern and Prediction, Structure and Simplicity,Journal of Statistical Physics,104(3/4).817-879.
编者推荐
计算力学和因果涌现关系密切,计算力学借鉴了因果涌现大量的概念、算法以及模型,并提出了因果态和统计复杂度概念和涌现的量化方法。下面是一些链接能够帮助读者更好的了解因果涌现的相关信息:
因果涌现读书会
读书会通过阅读前沿文献,加深我们对因果、涌现等概念的理解;聚焦于寻找因果与涌现、多尺度等概念相结合的研究方向;并探索复杂系统多尺度自动建模的研究方向。并探索复杂系统多尺度自动建模的研究方向。分享近期发展起来的一些理论与工具,包括因果涌现理论、机器学习驱动的重整化技术,以及自指动力学正在发展一套跨尺度的分析框架等。
涌现与因果的结合创造了因果涌现的概念。这是一套利用因果性来定量刻画涌现的理论体系,本季读书会通过阅读前沿文献,加深我们对因果、涌现等概念的理解;聚焦于寻找因果与涌现、多尺度等概念相结合的研究方向;并探索复杂系统多尺度自动建模的研究方向。第二季读书会更加集中在探讨因果科学与因果涌现之间的关系,以及对涌现进行定量刻画,聚焦于寻找因果与涌现、多尺度等概念相结合的研究方向;并探索复杂系统多尺度自动建模的研究方向。
因果涌现第三季的读书会中,将进一步围绕因果涌现的核心研究问题『因果涌现的定义』以及『因果涌现的辨识』来进行深入的学习和讨论,对 Erik Hoel 提出的 Causal Emergence,Causal Geometry 等因果涌现的核心理论进行深入的探讨和剖析,并且详细梳理其中涉及到的方法论,包括从动力学约简、隐空间动力学学习等其他研究领域中学习和借鉴相关的研究思路,最后探讨因果涌现的应用,包括基于生物网络、脑网络或者涌现探测等问题展开扩展,发掘更多的实际应用场景。