在本节中,我们看到了描述和关联系统可能行为的各种方法。在许多方面,最通用的是组合的多路进化和多路因果图。
对于规则
从AA开始,此图的形式为:
资源函数[“多路系统”][{“A”->“AB”},“AA”,3,“EvolutionCausalGraph”]//ResourceFunction[“LayeredGraphPlot3D”]
继续下一步,我们有:
资源函数[“多路系统”][{“A”->“AB”},“AA”,4,“演化因果图结构”]//资源函数[“LayeredGraphPlot3D”]
我们可以从这个图中得到几种不同的描述。标准多路图给出了状态之间的演化关系:
图[ResourceFunction[“MultiwaySystem”][{“A”->“AB”},“AA”,4,“状态图”],顶点坐标->{{0,0}, {-1, -1}, {1, -1}, {-2, -2}, {0, -2}, {2, -2},{-3, -3}, {-1, -3}, {1, -3}, {3, -3}, {-4, -4}, {-2, -4}, {0, -4}, \{2, -4}, {4, -4}}]
通过此图的每个可能路径对应于系统的可能演化历史。
多路因果图给出了任何分支上可能发生的所有事件之间的因果关系。此处显示的规则的完整多路因果图是无限的。但如果截断以仅显示上图中包含的部分,则会得到:
资源函数[“多路系统”][{“A”->“AB”},“AA”,4,“因果图”]
继续执行更多步骤可以得到:
带边框[GraphicsRow[子图[ResourceFunction[“MultiwaySystem”][{“A”->“AB”},“AA”,6,“因果图结构”],#]和/@({连接[#[[1]],#[[3]]],加入[#[[2]],#[[4]]]}&@连接的组件[无方向图[资源函数[“多路系统”][{“A”->“AB”},“AA”,6,“因果图结构”]]])],框架样式->浅灰色]
从多路因果图中,可以为每个可能的进化历史投影出特定的因果图,对应于多路系统中的每个可能分支。但对于像这里所示的具有因果不变性的规则,这些特定因果图中的每一个(至少如果扩展到足够远的话)必须具有完全相同的结构。对于此处显示的特定规则,此结构非常简单:
资源函数[“替换系统因果图”][{“A”->“AB”},“A”,6]
(实际上,这里的节点是系统中的“通用事件”,可以仅通过底层本地规则的副本进行标记。)
多路图和多路因果图有效地给出了原始图的两个不同的“垂直视图”—分别使用状态作为节点和事件作为节点。但另一种方法是根据“水平切片”查看图形。要得到这样的切片,我们必须做叶理。
但现在,如果我们查看与状态相关的水平切片,我们会得到鳃部图,对于这个具有初始条件的规则来说,这是相当琐碎的:
前缀[表[图[ResourceFunction[“MultiwaySystem”][{“A”->“AB”},“AA”,t,“分支图”],图像大小->{400,30}],{t,2,4}],带框[图形[资源函数[“多路系统”][{“A”->“AB”},“AA”,1,“BranchialGraph”],图像大小->缩放[1],图像大小->{400,30},框架样式->无,框架边距->无]]//列
原则上,我们还可以询问与事件相关的水平切片。但通过构造,分支图的事件模拟必须仅由完整图的集合组成。
然而,通过任何特定因果图的特定切片序列定义了底层系统的实际状态序列,从而定义了可能的演化历史,例如:
作为一个具有类似行为的稍微清晰的示例,请考虑以下规则:
在这种情况下,组合的多路进化和多路因果图是
资源函数[“多路系统”][{“A”->“AB”,“A”->“BA”},“A”,4,“进化因果图”]
单个多路进化图和因果图都是规则的2D网格:
图形[ResourceFunction[“MultiwaySystem”][{“A”->“AB”,“A”->“BA”},“A”,9,#],图形布局->“分层DigraphEmbedding”,纵横比->1/2,图像大小->300]&/@{“StatesGraphStructure”,“因果图结构”}
到目前为止,我们用作示例的规则的行为在某种意义上相当琐碎。但现在考虑一下行为稍微不那么琐碎的相关规则:
对于该规则,组合的多路进化和因果图的形式如下:
图[ResourceFunction[“MultiwaySystem”][{“A”->“AB”,“B”->“A”},“A”,6,“演化因果图结构”],图形布局->“LayeredDigraphEmbedding”,纵横比->1/2]
状态演化图和事件因果图本身具有以下形式:
图[ResourceFunction[“MultiwaySystem”][{“A”->“AB”,“B”->“A”},“A”,6,#],图形布局->“分层DigraphEmbedding”,纵横比->1/2,图像大小->230]&/@{“StatesGraphStructure”,“因果图结构”}
鳃图的顺序为:
表[图表[资源函数[“多路系统”][{“A”->“AB”,“B”->“A”},“A”,t、 “分支图结构”],图像大小->80],{t,2,6}]
这个规则是因果不变量,因此对于所有可能的进化路径,多路因果图分解成许多相同的因果图副本。在这种情况下,这些图形都具有以下形式:
TreePlot[资源函数[“替换系统因果图”][{“A”->“AB”,“B”->“A”},“A”,6] ,居中]
但是,即使多路因果图可以分解成相同的部分,它仍然包含比任何部分都多的信息。因为实际上,它不仅描述了发生在基本字符串中不同位置的事件之间的“空间”因果关系,还描述了发生于多路系统不同分支的事件之间“分支”因果关系。
和其他图一样,我们可以研究多路因果图的大规模结构。我们可以定义数量它是圆锥体积的多路模拟C类t吨对于个别因果图。对于此处显示的规则,各种图形增长率(根据我们的标准叶理计算)的形式如下:
GraphicsGrid[分区[列表线条图[大多数[ResourceFunction[“RaggedMeanAround”][值[ResourceFunction[“GraphNeighborhoodVolumes”][#[[1]]]]]],帧->真,尾声->文本[Style[TtraditionalForm[#[[2]]],灰度[2],12,斜体,FontFamily->“Source Serif Pro”],缩放[{0.12,0.85}]],打印样式->资源函数[“WolframPhysicsProjectStyleData”][“GenericLinePlot”,“PlotStyles”]]&&@{{资源函数[“多路系统”][{“A”->“AB”,“B”->“A”},{“A”{,12,“状态图”],下标[“M”,“t”]},{资源函数[“多路系统”][{“A”->“AB”,“B”->“A”},{“A”{,12,“分支图”],下标[“B”,“B”]},{资源函数[“替换系统因果图”][{“A”->“AB”,“B”->“A”},“A”,8],下标[“C”,“t”]},{资源函数[“多路系统”][{“A”->“AB”,“B”->“A”},{“A”{,10,“因果图”],子超脚本[“C”,“t”,“M”]},2],ImageSize->400]
作为另一个示例,考虑“排序”规则
从BABABABA开始。组合的多路进化和因果图具有(终止)形式:
图[ResourceFunction[“MultiwaySystem”][{“BA”->“AB”},StringJoin[表[“BA”,4]],10,“演化因果图结构”],图形布局->“LayeredDigraphEmbedding”,纵横比->1/2]
多向进化和因果图本身是:
图[ResourceFunction[“MultiwaySystem”][{“BA”->“AB”},StringJoin[表[“BA”,4]],10,#],GraphLayout->“LayeredDigraphEmbedding”,纵横比->1/2,图像大小->230]&/@{“状态图结构”,“因果图结构”}
鳃图是
表[图表[资源函数[“多路系统”][{“BA”->“AB”},StringJoin[表[“BA”,4]],t,“BranchialGraphStructure”],图像大小->60],{t,1,8}]
单一(有限)进化路径的因果图为:
TreePlot[资源函数[“替换系统因果图”][{“BA”->“AB”},StringJoin[表[“BA”,4]],12],居中]
在本节早些时候,我们查看了所有12个不等2:1生成的多路进化图2, 11条规则。下面的图片现在将这些结果与相同规则的多路因果图进行比较(从所有可能的As和B的3个字符串长度开始,运行我们的标准多路叶理的4个步骤):
函数[r,图形行[资源函数[“多路系统”][r,资源函数[“StringTuples”][“AB”,3],4,#]&/@{“状态图结构”,“因果图结构”},ImageSize->200,Frame->All,FrameStyle->LightGray]]/@ResourceFunction[“EnumerateSubstitutionSystemRules”][{1->2,1 -> 1}, 2]
多路因果图在某种程度上是多路进化图的对偶—导致上述图片中的图形之间存在许多相似之处。喜欢M(M)t吨对于多路进化图,对于多路因果图,通常看起来要么是多项式增长,要么是指数增长。
但即使在像规则这样的情况下
其中单个进化的因果图具有相当规则的形式
资源函数[“SubstitutionSystemCausalGraph”][“AA”->“AAA”,“AA”,11]
完整的多路因果图相当复杂。这显示了它是如何在最初的几个步骤中形成的(在我们的标准多路叶理中):
表[图表[资源函数[“多路系统”][{“AA”->“AAA”},“AA”,t,“因果图”],图形布局->“SpringElectricalEmbedding”],{t,1,5}]
以下是8步和9步后的3D渲染:
Graph3D[ResourceFunction[“MultiwaySystem”][{“AA”->“AAA”},“AA”,#,“因果图结构”],图形布局->“SpringElectricalEmbedding”,图像大小->260]&/@{8,9}