在图上随机游走中访问节点的概率

时间:2013-03-11 02:43:28

标签: graph graph-theory random-walk

我有一个有限的无向图,其中一个节点被标记为“开始”而另一个被标记为“目标”。

最初将代理放置在起始节点处,并且它随机地导航图形,即在每个步骤中,它随机地均匀地选择邻居节点并移动到该节点。 当它到达目标节点时,它就会停止。

我正在寻找一种算法,该算法针对每个节点,在从开始到目标的过程中,给出关于代理访问它的概率的指示。 谢谢。

1 个答案:

答案 0 :(得分:11)

与图表的情况一样,只需知道描述问题的适当方式。

编写图表的一种方法是adjacency matrix。如果图表G =(V,E)具有| V |节点(其中| V |是顶点数),该矩阵将为| V | x | V |。如果在一对顶点之间存在边,则将邻接矩阵中的项设置为1,如果不存在则设置为0.

这是weighted graphs的自然延伸。这里,邻接矩阵不是0或1,而是有一些权重概念。

在您描述的情况下,您有一个加权图,其中权重是从一个节点转换到另一个节点的概率。这种类型的矩阵有一个特殊的名称,它是stochastic matrix。根据您排列矩阵的方式,此矩阵将具有分别为1,左右随机矩阵的行或列。

随机矩阵和图之间的一个链接是Markov Chains。在马尔可夫链文献中,您需要的关键事项是转移矩阵(邻接矩阵的权重等于一个时间步后的转换概率)。我们称之为转换矩阵 P

计算k个时间步后从一个状态转换到另一个状态的概率由 P ^ k给出。如果你有一个已知的源状态i,那么 P ^ k的第i行将为你提供转换到任何其他状态的概率。这使您可以估计短期内处于给定状态的概率

根据您的来源graph,可能 P ^ k达到稳定状态分布 - 即 P ^ k = 对于k的某个值,P ^(k + 1)。这使您可以估计长期处于给定状态的概率

顺便说一句,在你做任何这些之前,你应该能够看一下你的图表,然后说一些关于在某个时间处于特定状态的概率的事情。

  1. 如果您的图表具有不相交的组件,那么您在未启动的组件中的概率为零。
  2. 如果您的图表有一些absorbing状态,也就是说,一旦您输入了某些状态(或状态组),那么您就需要考虑到这一点。 如果你的图表是树状的,可能会发生这种情况。