【问题标题】:Probability to visit nodes in a random walk on graph在图上随机游走中访问节点的概率
【发布时间】:2013-03-11 02:43:28
【问题描述】:

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

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

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

【问题讨论】:

  • 是的,但到目前为止我还没有找到算法或对这个特定问题的解释。我在图表中找到了一些关于概率的书籍,但内容很多,我会花一些时间仔细查看它,所以任何关于在哪里查看的提示都非常感谢。
  • 我认为 NetworkX python 库的 current_flow_betweenness_centrality 函数做了我想要的,但我无法让它工作,正如这个问题中所解释的 [stackoverflow.com/questions/15451289/…

标签: graph graph-theory random-walk


【解决方案1】:

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

编写图表的一种方法是使用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 = P^(k+1) 对于某个 k 值。这可以让您估计长期处于给定状态的概率

顺便说一句,在您执行任何此操作之前,您应该能够查看您的图表,并说出在某个时间处于给定状态的概率是多少。

  1. 如果您的图表包含不相交的组件,则出现在您未开始的组件中的概率为零。
  2. 如果您的图表中有一些状态是absorbing,也就是说,一些状态(或状态组)在您输入后是不可避免的,那么您需要考虑这一点。 如果您的图表是树状的,这可能会发生。

【讨论】:

    猜你喜欢
    • 2021-08-09
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    相关资源
    最近更新 更多