更改

第85行: 第85行:  
为了识别复杂网络中的因果涌现,需要对网络进行[[粗粒化]],然后比较宏观网络与微观网络的有效信息,判断能否发生因果涌现。粗粒化方法包括:[[贪婪算法]]、[[谱分解方法]]以及[[梯度下降]]方法。Klein等人<ref name=":0" />利用贪婪算法构建了宏观尺度的网络,发现对于大规模网络其效率很低。Griebenow 等人<ref>Griebenow R, Klein B, Hoel E. Finding the right scale of a network: efficient identification of causal emergence through spectral clustering[J]. arXiv preprint arXiv:190807565, 2019.</ref>提出了一种基于谱分解的方法,并应用于[[偏好依附网络]]。相较于贪婪算法以及梯度下降算法,谱分解算法的计算时间更少,同时找到的宏观网络也更好(EI更大)。
 
为了识别复杂网络中的因果涌现,需要对网络进行[[粗粒化]],然后比较宏观网络与微观网络的有效信息,判断能否发生因果涌现。粗粒化方法包括:[[贪婪算法]]、[[谱分解方法]]以及[[梯度下降]]方法。Klein等人<ref name=":0" />利用贪婪算法构建了宏观尺度的网络,发现对于大规模网络其效率很低。Griebenow 等人<ref>Griebenow R, Klein B, Hoel E. Finding the right scale of a network: efficient identification of causal emergence through spectral clustering[J]. arXiv preprint arXiv:190807565, 2019.</ref>提出了一种基于谱分解的方法,并应用于[[偏好依附网络]]。相较于贪婪算法以及梯度下降算法,谱分解算法的计算时间更少,同时找到的宏观网络也更好(EI更大)。
 
====贪婪算法====
 
====贪婪算法====
输入:具有N个节点的网络G,其邻接矩阵为:<math>A</math>;输出:经过粗粒化后的宏观网络G’,其节点数依赖于算法,其邻接矩阵为:<math>B</math>,以及从[math]A[/math]到[math]B[/math]的粗粒化方式
+
输入:具有N个节点的网络[math]G[/math],其邻接矩阵为:<math>A</math>;输出:经过粗粒化后的宏观网络[math]G'[/math],其节点数依赖于算法,其邻接矩阵为:<math>B</math>,以及从[math]A[/math]到[math]B[/math]的粗粒化方式
 
# 初始化一个节点的集合[math]V[/math],将[math]V[/math]中的每个节点所属的邻域([[马尔可夫毯]])也加入集合中;
 
# 初始化一个节点的集合[math]V[/math],将[math]V[/math]中的每个节点所属的邻域([[马尔可夫毯]])也加入集合中;
# 遍历G中的节点<math>\{v_i\}_{i=1}^N</math>(如果节点已经被合并成宏观节点则跳过),直到所有的节点遍历一遍停止:
+
# 遍历[math]G[/math]中的节点<math>\{v_i\}_{i=1}^N</math>(如果节点已经被合并成宏观节点则跳过),直到所有的节点遍历一遍停止:
 
# 初始化一个队列<math>Q</math>, 取出集合V中<math>v_i</math>对应的邻域,将其加入队列中;
 
# 初始化一个队列<math>Q</math>, 取出集合V中<math>v_i</math>对应的邻域,将其加入队列中;
 
# 初始时<math>v_{\mu}</math>=<math>v_i</math>,
 
# 初始时<math>v_{\mu}</math>=<math>v_i</math>,
786

个编辑