| 第591行: |
第591行: |
| | | | |
| | | | |
| | + | ===基础概念=== |
| | | | |
| − | ===软件和硬件=== | + | ====软件和硬件==== |
| | | | |
| | 在这篇文章中,作者们使用‘软件’和‘硬件’来类比系统。比如说,当我们使用一台电脑计算“1+2”的时候,我们知道这台电脑会得出“3”的结果。这是因为我们知道软件的输入是“1+2”,而不会去想,把“1+2”翻译成一条二进制的机器码,交给软件的底层代码进行操作,得到“3”的机器码再翻译回来;更不会去想,计算机的硬件,比如CPU里各个组成中的晶片经过了什么样的变化来处理这条指令的。 | | 在这篇文章中,作者们使用‘软件’和‘硬件’来类比系统。比如说,当我们使用一台电脑计算“1+2”的时候,我们知道这台电脑会得出“3”的结果。这是因为我们知道软件的输入是“1+2”,而不会去想,把“1+2”翻译成一条二进制的机器码,交给软件的底层代码进行操作,得到“3”的机器码再翻译回来;更不会去想,计算机的硬件,比如CPU里各个组成中的晶片经过了什么样的变化来处理这条指令的。 |
| 第602行: |
第603行: |
| | | | |
| | | | |
| − | ===单尺度因果态=== | + | ====单尺度因果态==== |
| | | | |
| | 因果态是计算力学中的一个概念。它的意思是说,当我们在一个时序系统中,我们想要有一个ϵ-machine(ϵ-机器),能够根据当前时间步的状态和历史记忆,来预测未来状态。 | | 因果态是计算力学中的一个概念。它的意思是说,当我们在一个时序系统中,我们想要有一个ϵ-machine(ϵ-机器),能够根据当前时间步的状态和历史记忆,来预测未来状态。 |
| 第620行: |
第621行: |
| | | | |
| | | | |
| − | ===跨尺度因果态=== | + | ====跨尺度因果态==== |
| | | | |
| | 设我们对微观动力学 <math>X_t</math> 粗粒化成宏观动力学 <math>Z_t = f(X_t)</math>,<math>f</math> 为粗粒化函数。刚才的ϵ-机器只能处理在 <math>X</math> 空间上单一尺度的因果态,而作者们提出了另一种机器,υ-machine(υ-机器)来尝试定义跨尺度的因果态和计算机器。他们把因果态定义中的未来状态从微观的 <math>X</math> 改为宏观的 <math>Z</math>,并定义微观状态 <math>X</math> 中的等价关系为 | | 设我们对微观动力学 <math>X_t</math> 粗粒化成宏观动力学 <math>Z_t = f(X_t)</math>,<math>f</math> 为粗粒化函数。刚才的ϵ-机器只能处理在 <math>X</math> 空间上单一尺度的因果态,而作者们提出了另一种机器,υ-machine(υ-机器)来尝试定义跨尺度的因果态和计算机器。他们把因果态定义中的未来状态从微观的 <math>X</math> 改为宏观的 <math>Z</math>,并定义微观状态 <math>X</math> 中的等价关系为 |
| 第646行: |
第647行: |
| | | | |
| | | | |
| − | ===因果闭合=== | + | ===因果闭合 Causal Closure=== |
| | | | |
| | 因果闭合的定义为:<math>Z_t</math> 的ϵ-机器 与 <math>Z_t = f(X_t)</math> 之间的υ-机器 之间存在等价关系,即 <math>E'</math> 和 <math>U</math> 之间存在双射bijective投影关系(即两个空间内的因果态分组相互一一对应)。 | | 因果闭合的定义为:<math>Z_t</math> 的ϵ-机器 与 <math>Z_t = f(X_t)</math> 之间的υ-机器 之间存在等价关系,即 <math>E'</math> 和 <math>U</math> 之间存在双射bijective投影关系(即两个空间内的因果态分组相互一一对应)。 |
| 第658行: |
第659行: |
| | | | |
| | | | |
| − | ===信息闭合=== | + | ===信息闭合 Information Closure=== |
| | | | |
| | 上面所述的因果闭合的建模基于动力学的因果态,强调因果的概念。我们也可以关注计算力学的另一方面,即计算与预测。 | | 上面所述的因果闭合的建模基于动力学的因果态,强调因果的概念。我们也可以关注计算力学的另一方面,即计算与预测。 |
| 第670行: |
第671行: |
| | | | |
| | | | |
| − | ===计算闭合=== | + | ===计算闭合 Computational Closure=== |
| | + | |
| | + | 定义 <math>E_t</math> 和 <math>E'_t</math> 分别为 <math>X</math> 和 <math>Z</math> 的ϵ-机器的因果态。 |
| | + | |
| | + | 定义 <math>Z</math> 的ϵ-机器为计算闭合,如果满足:存在粗粒化函数 <math>f^*</math>使得 |
| | + | |
| | + | <math>E'_t = f^*(E_t)</math> |
| | + | |
| | + | 也就是说, <math>E_t</math> 和 <math>E'_t</math> 之间存在一个粗粒化的(一对一或多对一)映射关系。同样的,<math>X</math> 和 <math>Z</math> 之间也存在粗粒化的映射关系,所以我们可以看到这四个变量之间的关系可以归结于如下两条从 <math>X</math> 到 <math>E'</math> 的路径: |
| | + | |
| | + | # <math>X \stackrel{\epsilon}{\rightarrow} E \stackrel{f^*}{\rightarrow} E'</math> |
| | + | # <math>X \stackrel{f}{\rightarrow} Z \stackrel{\epsilon'}{\rightarrow} E'</math> |
| | + | |
| | + | 我们把 <math>f</math> 和 <math>f^*</math> 视作粗粒化算子,<math>\epsilon</math> 和 <math>\epsilon'</math> 视作因果态算子,那么我们看到两条路径中的粗粒化算子和因果态算子是可交换的。 |
| | + | |
| | + | 上面提到过ϵ-机器可以看作最小解释模型,描述了动力学的机制。所以,因果态空间 <math>E</math> 和 <math>E'</math> 可以看作是动力学的‘机制空间’。而计算闭合的一个意义就是指出,这种动力学不仅在本来的变量/状态空间中能够被粗粒化 <math>f</math> ,而且动力学的机制也能够被粗粒化 <math>f^*</math>。所以,当计算闭合时,宏观 <math>Z</math> 空间的机制能通过粗粒化微观 <math>X</math> 空间的机制而获得。 |
| | + | |
| | + | 计算闭合的提出是为了解决如下一个问题: |
| | + | |
| | + | 我们可以把一个确定性自动机(deterministic automata)定义为 状态集(如 <math>s_1, s_2, ...</math>)和 输入符号集(如 <math>a, b, ...</math>)构成。由于其确定性,每个“状态+输入”组合唯一确定下一个状态,例如 状态 <math>s_1</math> 和 输入 <math>a</math> 一定会跳转到 <math>s_2</math>。当我们对输入符号粗粒化(例如:<math>\{a,b\}</math> 合并为符号 A,<math>c</math> 映射为 1),原确定性可能丢失(状态 <math>s_1</math> 遇到输入 0(原 <math>a</math> 或 <math>b</math>)可能跳转到 <math>s_2</math> 或 <math>s_3</math> ,不再唯一。 |
| | + | |
| | + | 而计算闭合通过‘双重粗粒化’,对状态也进行一个粗粒化(从 <math>\{s_1, s_2, s_3\}</math> 到 <math>\{S_1, S_2\}</math>),以修复上述因输入符号被粗粒化后而破坏的确定性。它的目标是让新的状态空间 <math>\{S_1, S_2\}</math> 在宏观的输入 <math>\{A, B\}</math> 时仍有确定性的转移。 |
| | + | |
| | + | 满足计算闭合的关键条件为:原自动机中,被合并的状态对合并后的输入必须有相同行为。比如,所有粗粒化到状态 <math>S_1</math> 的微观状态,在面对宏观输入 <math>A</math> 时,在下一步必须跳转到同一宏观状态。而面对宏观输入 <math>B</math> 时,则会统一跳转到另一宏观状态 <math>S_2</math>。 |
| | | | |
| | =划分方法= | | =划分方法= |