| 第1行: |
第1行: |
| | | | |
| | '''计算力学(Computational Mechanics)'''是一套数学框架,试图从历史序列中寻找、总结规律,并预测未来这一“智能活动”背后的一般规律。计算力学从信息论出发,定义出模式,因果态,各态之间的转换等重要概念,并将智能抽象为所谓的ϵ-机器。有学者从理论上证明,ϵ-机器可以展现出极大的预测能力和极小的复杂性。 | | '''计算力学(Computational Mechanics)'''是一套数学框架,试图从历史序列中寻找、总结规律,并预测未来这一“智能活动”背后的一般规律。计算力学从信息论出发,定义出模式,因果态,各态之间的转换等重要概念,并将智能抽象为所谓的ϵ-机器。有学者从理论上证明,ϵ-机器可以展现出极大的预测能力和极小的复杂性。 |
| − |
| |
| − | 此研究领域由圣塔菲研究所的詹姆斯.P.克拉奇菲尔德(James P. Crutchfield)所开创,北京师范大学系统科学学院教授[[张江|张江]],在参加圣塔菲研究所2007暑期夏令营(SFI 2007 Beijing Summer School)的过程中,结识了克拉奇菲尔德和他的同伴Shalizi,并对计算力学展开了讨论,互相向在座的各位提供了洞察力。此后十多年的一段时间该领域文献的解读和出版相对沉寂,而张江老师仍致力于复杂性科学、人工智能领域的知识服务工作。最终张江老师不忘科研初心,立志建立复杂系统科研的新高地,于是在2021年底在成功注册“集智俱乐部”实体的基础上,连续举办了一系列复杂系统相关的读书会。而计算力学的若干文献则在《因果涌现读书会》得到解读,相关研究者趋之若鹜。借着《因果涌现读书会》的春风,计算力学也迎来新的历史发展机遇。
| |
| − |
| |
| − | 计算力学的早期工作涉及“量化涌现(The Calculi of Emergence)”,试图对复杂系统、统计物理、热力学的某个尺度进行度量。随后克拉奇菲尔德和他的同伴,发现并证明用因果态表征<math>\epsilon-machine</math>定义下的深度(热力学复杂度或统计复杂度),能提供计算力学范畴的最小复杂度和最佳预测性,是复杂度理想化的一处浅滩。若想了解更多,请加入《因果涌现读书会》参与相关课题的研究和讨论。
| |
| | | | |
| | == 历史渊源 == | | == 历史渊源 == |
| 第16行: |
第12行: |
| | 这些文献使用了[[信息论|信息论]]当中各式熵的定义,包括信息熵、联合熵、条件熵和互信息熵。各个熵之间存在一定的计算关系,其中条件熵即为联合熵减去作为条件变量的熵。另外还引用了熵率的概率,熵率是指字符串长度逐渐趋于∞时,字符串的平均信息熵的极限值。在此基础上,计算力学大量使用了信息论的基本公式做了一些证明,还做了一定的扩展。在2001年的一篇文献中,证明过程相对完整。 | | 这些文献使用了[[信息论|信息论]]当中各式熵的定义,包括信息熵、联合熵、条件熵和互信息熵。各个熵之间存在一定的计算关系,其中条件熵即为联合熵减去作为条件变量的熵。另外还引用了熵率的概率,熵率是指字符串长度逐渐趋于∞时,字符串的平均信息熵的极限值。在此基础上,计算力学大量使用了信息论的基本公式做了一些证明,还做了一定的扩展。在2001年的一篇文献中,证明过程相对完整。 |
| | | | |
| − | 北京集智科学研究中心的张江老师2022年借助《因果涌现读书会》的机会,将克拉奇菲尔德的计算力学领域相关论文和读书会成员共同解读,其中一位讲者使用了拉普拉斯守护者的语言来作为开场白,阐述了作为观测者对环境的感知的相关内容。其中有两场读书会对计算力学的文献做了深度解读,并结合复杂科学的相关领域展开了讨论。
| + | 北京集智科学研究中心的[[张江]]老师2022年借助《因果涌现读书会》的机会,和读书会成员共同解读了克拉奇菲尔德的计算力学领域相关论文。针对复杂度的度量进行了深入分析,整理了层次机器重构算法,并结合复杂科学的相关领域展开了讨论。 |
| − | | |
| − | == 简介 ==
| |
| − | | |
| − | === 研究对象 ===
| |
| | | | |
| − | 自然和人工之物当中,存在偶然与必然的成分。在其之外,存在与环境交互的机制。计算力学研究事物和斑图形成的原因,以极大的能力和极小的复杂性,有效预测事物和模式的演变。
| + | == 问题背景 == |
| | | | |
| − | === 问题背景 === | + | === 人工智能时代 === |
| | | | |
| | 众所周知,自然界中广泛存在各种物质及其运动,物质本身和运动轨迹,都呈现出一定程度的模式和斑图。在十七世纪,牛顿力学是关于物质、力与运动的基本原理;而人工智能时代,科学爱好者们需要理解信息、计算与预测背后的基本原理。**计算力学**这门结合了[[复杂网络]]、[[信息论]]的理论框架,有助于解决抽象提取各类现象背后的基本原理的问题。 | | 众所周知,自然界中广泛存在各种物质及其运动,物质本身和运动轨迹,都呈现出一定程度的模式和斑图。在十七世纪,牛顿力学是关于物质、力与运动的基本原理;而人工智能时代,科学爱好者们需要理解信息、计算与预测背后的基本原理。**计算力学**这门结合了[[复杂网络]]、[[信息论]]的理论框架,有助于解决抽象提取各类现象背后的基本原理的问题。 |
| | | | |
| − | === 理论框架 === | + | === 复杂科学发展 === |
| − | | |
| − | 定义一:厄普西隆机器(ϵ\epsilon - Machine),可用于捕捉斑图和模式。
| |
| − | | |
| − | <math>\epsilon - machine = \{\mathbfcal{S}, \mathbf{T}\}</math>
| |
| − | | |
| − | 其中,<math>\mathbfcal{S}</math>是因果涌现里粗粒化后的宏观态,即计算力学里的因果态;<math>\mathbf{T}</math>是状态转换概率分布张量,在因果科学的马尔科夫转移矩阵的基础上,再联合微观态的单步跃迁,共同耦合构成跨层级的概率分布张量。
| |
| − | | |
| − | 如果用于预测,ϵ-机器的统计复杂度<math>C_1(\mathbfcal{S})</math>极小。
| |
| − | 在符号上,<math>label/index</math>为当前位置,<math>\overset{\to}{\mathbf{S}}</math>为符号串未来的预测结果,详见因果态和统计复杂度部分内容。
| |
| − | | |
| − | == 科学生态 ==
| |
| − | | |
| − | 本篇文章在于系统介绍和讲解计算力学方方面面的内容,对其他学科有相互引用和论证的地方,甚至是直接使用其他复杂科学已研究得出的结论。这篇文章并不假设读者已熟知相关内容,所以作者在此将所需各学科关键知识点列出,供读者在阅读本篇计算力学介绍文章时,随时查阅。相信各位科学和理论爱好者,在各研究机构的鼎力帮助下,能够一定程度掌握计算力学所需的[[复杂科学]]知识,并建立自己的理论体系。
| |
| − | | |
| − | 本文有对计算力学的一般性介绍,读者可以用这部分内容对计算力学做一般性了解。特别地,本文也包含了计算力学整体理论更为严谨的论证过程。为了阐明这些论证过程,并使其严格化,作者们引用了论证过程形式化的框架,包括网络科学和符号与整数对应的哥德尔数。最终在这些形式化框架上,我们会完成计算力学整个体系较为完整的理论认证。
| |
| − | | |
| − | 在实例部分,我们也试图分三步走。第一步:先分析实例的具体问题,做相应层次的掌握,把握好关键点之间的前后关系,并使用对应量化方法采集数据。第二步:对先前采集的数据的关系做一定的抽象,提取核心知识体系,完成实例对应的理论上形式化方法。第三步:在此理论状态空间对实例的具体问题开展演算,识别其涌现出的斑图。如有必要,就在理论层面做一些预测。
| |
| − | | |
| − | === 计算机科学 ===
| |
| − | | |
| − | ==== 有限状态自动机====
| |
| − | | |
| − | === 网络科学 ===
| |
| − | | |
| − | === 复杂科学 ===
| |
| − | | |
| − | 牛顿力学解决了2个物体间相互作用力问题,而更多物体间的相互作用,则难以回答,况且不同尺度和视角下的物体组分和相互作用并不完全相同。[[复杂系统_Complex_Systems|复杂科学]]则和[[人工智能]]一起,并称为二十一世纪的科学,对生物系统和社会经济系统,都有着至关重要的作用。
| |
| − | | |
| − | ==== 因果涌现 ====
| |
| − | | |
| − | ===== 宏观态 =====
| |
| − | | |
| − | ===== 微观态 =====
| |
| − | | |
| − | ===== 粗粒化 =====
| |
| − | | |
| − | === 数学 ===
| |
| − | | |
| − | ==== 离散数学 ====
| |
| − | ==== 近世(抽象)代数 ====
| |
| − | | |
| − | 群的同构
| |
| − | | |
| − | ==== 形式语言 ====
| |
| − | | |
| − | 符号f,g是函数,也可理解成映射和变换,它作用到输入x或y或z上,形式化成f(x)或g(y)。左右小括号()表示函数的作用范围,作用范围内,可以填入运行参数。前述操作可以是更高阶的,即对于相同的输入,可以作用多次。多次且相同的作用,我们称为指数次或幂次,记为<math>f^n, n \in \Z^+</math>。
| |
| − | 例如:
| |
| − | | |
| − | <math>
| |
| − | f_3(f_2(f_1(x))) \tag {1}
| |
| − | </math>
| |
| − | | |
| − | 其中<math>f_1,f_2,f_3</math>为相同的作用,数学上之所以没有写成<math>f_1 = f_2 = f_3</math>,估计是因为一般函数接受输入作为参数,带给我们的主要印象是变化。
| |
| − | | |
| − | 可以记为
| |
| − | | |
| − | <math>
| |
| − | f^3(x)^3, \tag {2}
| |
| − | </math>
| |
| − | | |
| − | 也可以记为
| |
| − | | |
| − | <math>
| |
| − | f^n(x)^n, n=3. \tag {3}
| |
| − | </math>
| |
| − | | |
| − | 对于不同的函数(映射、变换)和作用,一般习惯使用不同的符号,比同f和g。它们可以先后依次作用于某种输入,作为形式语言的参数,比如有输入x待被5次映射:
| |
| − | | |
| − | <math>
| |
| − | \Box_5(\Box_4(\Box_3(\Box_2(\Box_1(x)^5 \tag {4}
| |
| − | </math>
| |
| − | | |
| − | 我们可以填空并实例化为
| |
| − | | |
| − | <math>
| |
| − | f_5(f_4(g_3(f_2(f_1(x)^5 \tag {5}
| |
| − | </math>
| |
| − | | |
| − | 再整理成:
| |
| − | | |
| − | <math>
| |
| − | f^2(g^1(f^3(x)^3)^1)^2 \tag {6}
| |
| − | </math>
| |
| − | | |
| − | 以上是函数的形式化。对于输入同样可以形式化,即输入也可以有多位,且可以不断拆分和聚合。这时我们一般用大写的X表示输入整体,输入的每个元素用小写的x,并且将元素赋予下标(索引),从而得出:
| |
| − | | |
| − | <math>
| |
| − | f(x_1x_2x_3) \tag {7}
| |
| − | </math>
| |
| − | | |
| − | 令<math>X=x_1x_2x_3</math>,7式也可写为:
| |
| − | | |
| − | <math>
| |
| − | f(X) \tag {8}
| |
| − | </math>
| |
| − | | |
| − | 这只是形式语言的基本内容,后续会补充相应文字和公式。
| |
| − | | |
| − | ===== 形式论证 =====
| |
| − | ===== 哥德尔数(<math>G\ddot{o}del\ number</math>)=====
| |
| − | | |
| − | === 信息论 ===
| |
| − | | |
| − | == 状态空间 ==
| |
| − | | |
| − | 微观态的粒子经过粗粒化,投射到观测者的时空图中,每个点是一个状态,附带着无限历史和热力学深度。这样一个高维多尺的抽象我们称为状态空间。
| |
| − | 划分(映射)
| |
| − | | |
| − | μ-阶划分(映射)
| |
| − | | |
| − | 倍周期
| |
| − | 编码、解码
| |
| − | | |
| − | 因果态是理想,具有良好的性质,证明过程基于信息论和数学中的等式和不等式。无论等式或不等式,都可以形式证据链条,从而触发层次机器重构,形成涌现。
| |
| − | | |
| − | === 数理空间 ===
| |
| − | | |
| − | ==== 欧几里德空间 ====
| |
| − | | |
| − | ==== 狭义和广义相对论空间 ====
| |
| − | | |
| − | ==== 函数空间 ====
| |
| − | | |
| − | ==== 集合空间 ====
| |
| − | | |
| − | ===== 幂集 =====
| |
| − | | |
| − | ===== 关系 =====
| |
| − | | |
| − | === 状态空间 ===
| |
| − | | |
| − | 计算力学将符号动力系统微观态的符号,划分成有效态、因果态、和竞争态。我们将对这个划分操作做详细一些的介绍。
| |
| − | | |
| − | ==== 符号串的拆分 ====
| |
| − | | |
| − | 符号动力系统微观态的符号,先拆分到幂集。
| |
| − | | |
| − | ==== 符号串的聚合 ====
| |
| − | | |
| − | 符号串被拆分到幂集后,按对未来的预测分布,重新聚合,整个过程称为划分(粗粒化)。
| |
| − | | |
| − | [[文件:计算力学-对比图片-202408111.png|替代=因果态的性质|无框|611x611像素]]
| |
| − | | |
| − | ===== 有效态(effective state) =====
| |
| − | | |
| − | 有效态(effective state)能捕捉斑图和模式,在统计复杂度意义上没有因果态(Causal State)简洁。
| |
| − | | |
| − | ===== 因果态(causal state) =====
| |
| − | | |
| − | 因果态(causal state)蕴涵有非常优良的秉性。因果态来自于计算力学的划分方法的结果,要求是先对符号做幂集,对幂集中的每个元素,如果对未来预测相同,则聚合成同一个集合,命名为因果态。因果态是符号(最小元素)的集合的集合。在计算力学框架中,因果态也是一种有效态。
| |
| − | | |
| − | 在[[因果涌现]]和[[NIS]]框架中,有类似的方法。其框架中,先对微观态使用最小化EI做粗粒化。严格的对应过程,我们需要先将二者进行理论上的抽象,进行算法的形式化。验证通过后,再将计算力学的最小元素(符号串)输入到[[NIS+]]框架中,看各自算法的输出结果。二者输入输出的张量结构可能会有差异,具体内容有待进一步讨论。
| |
| − | | |
| − | ===== 竞争态(prescient rival) =====
| |
| − | | |
| − | 是预测能力和因果态相当的一种状态粒粗化方法,经证明他们只能是因果态的进一步细化。
| |
| − | | |
| − | === 状态转换 ===
| |
| − | | |
| − | ==== 概率分布张量 ====
| |
| − | | |
| − | 计算力学的状态空间包含状态转换概率分布张量,标签化的状态转换概率<math>T_{ij}^{(s)}</math>被定义为宏观态由S<sub>i</sub>转换到S<sub>j</sub>,同时微观态转换到s的概率。
| |
| − | | |
| − | <math>T_{ij}^{(s)} \equiv P(\mathcal{S}' = \mathcal{S}_j, \overset{\to 1}{S} = s \vert \mathcal{S} = \mathcal{S}_i)</math>
| |
| − | | |
| − | 转换概率分布张量还可以加入阶次,那么转换概率分布张量T的属性可以是有序对(μ,i,j,s)。在状态转换图中,连接概率矩阵(张量)可以用符号<math>\mathbf{T}_{μ,ij}^{(s)}=\{P_{s,ij}^μ\}</math>代替。
| |
| − | | |
| − | 转换概率分布张量的阶次为0时,且仅考虑宏观态的状态转换,即一个宏观态的所有微观态(s)汇聚到一起,转换概率分布张量也可以理解为有向图的连接矩阵。
| |
| − | | |
| − | ==== 迭代与递归 ====
| |
| − | | |
| − | ==== 移位映射 ====
| |
| | | | |
| − | ==== 伯努利移位映射 ==== | + | == 统计复杂度 == |
| | | | |
| − | ==== 随机变量转确定过程 ==== | + | === 定义及符号<math>C_{μ}</math> === |
| − | | |
| − | 微观视角:<math>\omega_1\omega_2\omega_3\dots</math>
| |
| − | | |
| − | <math>\sigma : \Omega \mapsto \Omega</math>
| |
| − | | |
| − | <math>\sigma(\omega_1\omega_2\omega_3\dots) \mapsto \omega_2\omega_3\omega_4\dots</math>
| |
| − | | |
| − | 宏观视角:确定过程
| |
| − | | |
| − | | |
| − | == 复杂度 ==
| |
| − | | |
| − | === 符号<math>C_{μ}</math> ===
| |
| | | | |
| | μ依赖于测度和分布 | | μ依赖于测度和分布 |
| 第226行: |
第33行: |
| | | | |
| | 在1989年《Inferring Statistical Complexity》<ref name=":0"></ref>这篇文献里,复杂度的阶次符号为α,在2001年《Computational Mechanics: Pattern and Prediction, Structure and Simplicity》<ref name=":3"></ref>中的符号为μ,这里我们统一使用μ。 | | 在1989年《Inferring Statistical Complexity》<ref name=":0"></ref>这篇文献里,复杂度的阶次符号为α,在2001年《Computational Mechanics: Pattern and Prediction, Structure and Simplicity》<ref name=":3"></ref>中的符号为μ,这里我们统一使用μ。 |
| − |
| |
| − | === Renyi信息和熵 ===
| |
| | | | |
| | === μ-阶图复杂度 === | | === μ-阶图复杂度 === |
| 第277行: |
第82行: |
| | 学过编程的,书上都有教计算复杂度,符号一般用O(n)。可以简单地表示为此算法调用的基本计算单元的次数。如果一个程序对基本计算单元的调用次数不可控,有可能该程序的计算复杂度是指数型的,记为O(n<sup>x</sup>),其中x为指数项。软件工程师结合一些计算机和数学方法,通常能将计算复杂度降为O(log(n))型。使用计算机器生成相应序列的复杂程度,[[计算力学]]和[[因果涌现]]对应的物理过程考虑二类机器:一类是图灵机,一类是ϵ-机器。ϵ-机器带有扰动,在[[NIS+]]框架中,扰动由用作编码器的可逆神经网络的丢弃维度和用作解码器的可逆神经网络引入的维度所构成。 | | 学过编程的,书上都有教计算复杂度,符号一般用O(n)。可以简单地表示为此算法调用的基本计算单元的次数。如果一个程序对基本计算单元的调用次数不可控,有可能该程序的计算复杂度是指数型的,记为O(n<sup>x</sup>),其中x为指数项。软件工程师结合一些计算机和数学方法,通常能将计算复杂度降为O(log(n))型。使用计算机器生成相应序列的复杂程度,[[计算力学]]和[[因果涌现]]对应的物理过程考虑二类机器:一类是图灵机,一类是ϵ-机器。ϵ-机器带有扰动,在[[NIS+]]框架中,扰动由用作编码器的可逆神经网络的丢弃维度和用作解码器的可逆神经网络引入的维度所构成。 |
| | | | |
| | + | == 因果态 == |
| | | | |
| − | == 层次机器重构 == | + | === 定义 === |
| | | | |
| − | === 模式识别 === | + | === 性质 === |
| | | | |
| − | 因果涌现识别
| + | === 生成算法 === |
| | | | |
| − | === 模式预测 === | + | == 厄普西隆(ϵ)机器 == |
| | | | |
| − | 因果涌现预测
| + | 厄普西隆机器(ϵ-machine) |
| | + | 此机器可以有效捕获模式,形式为有序对<math>\left \{ \epsilon, \mathbf{T} \right \}</math>。可以是信息源的生成机器,也可以是信息目的地重构出的机器。 |
| | | | |
| − | === 机器学习 ===
| + | ϵ-机器和图灵机不同,简单的图灵机是一种完全抽象的计算模型,它被实例化为冯·诺依曼架构,是现代计算机的理论模型。ϵ-机器可以通过和环境的互动,不断理解环境,更新自己的内秉属性,引入固定和随机变量而重构出来。 |
| − | 随着数据的增长,计算机器也会越来越复杂,逐渐突破原有层级,达到新的层级。当今OpenAI的ChatGPT可以当作是字符生成器。
| |
| | | | |
| − | === 厄普西隆(ϵ)机器 === | + | == 层次机器重构算法 == |
| | + | |
| | + | === 层次机器形式 === |
| | | | |
| − | 此机器可以有效捕获模式,形式为有序对<math>\left \{ \epsilon, \mathbf{T} \right \}</math>。可以是信息源的生成机器,也可以是信息目的地重构出的机器。
| |
| | | | |
| − | ϵ-机器和图灵机不同,简单的图灵机是一种完全抽象的计算模型,它被实例化为冯·诺依曼架构,是现代计算机的理论模型。ϵ-机器可以通过和环境的互动,不断理解环境,更新自己的内秉属性,引入固定和随机变量而重构出来。
| + | === 算法步骤 === |
| | | | |
| − | ==== 厄普西隆(ϵ)机器的统计力学描述 ====
| |
| | | | |
| | == 实例 == | | == 实例 == |
| − | === 混沌动力学 ===
| |
| | | | |
| − | ==== 逻辑斯谛(Logistic)映射 ==== | + | === 逻辑斯谛映射 === |
| | | | |
| | [[Logistic映射|逻辑斯谛(Logistic)映射]]求取迭代函数的极值,此极值可能呈现单周期、倍周期等现象。 | | [[Logistic映射|逻辑斯谛(Logistic)映射]]求取迭代函数的极值,此极值可能呈现单周期、倍周期等现象。 |
| | | | |
| − | ==== 元胞自动机 ====
| + | === 元胞自动机 === |
| | | | |
| | 元胞自动机的复杂度的量化可使用0-阶图复杂度,即算术复杂度。 | | 元胞自动机的复杂度的量化可使用0-阶图复杂度,即算术复杂度。 |
| | | | |
| − | ==== 数字经济 ====
| + | === 数字经济 === |
| | | | |
| | 链接全球创新网络资源,构建世界各地科研矩阵,助力探索超大型城市可持续发展创新政策、路径和在地解决方案,共同构建更智慧、更绿色、更有韧性、更可持续的数字未来。 | | 链接全球创新网络资源,构建世界各地科研矩阵,助力探索超大型城市可持续发展创新政策、路径和在地解决方案,共同构建更智慧、更绿色、更有韧性、更可持续的数字未来。 |