【发布时间】:2012-05-29 14:16:00
【问题描述】:
我有一个连通的有向加权图。边权重表示顶点之间移动的概率;从顶点发出的所有边的权重总和为 1。该图包含两个汇点:A 和 B。对于图中的每个顶点,我想知道从那里开始的步行到达 A 的概率,对于 B 也是如此。这是什么问题?我该如何解决?
【问题讨论】:
标签: theory graph-theory random-walk
我有一个连通的有向加权图。边权重表示顶点之间移动的概率;从顶点发出的所有边的权重总和为 1。该图包含两个汇点:A 和 B。对于图中的每个顶点,我想知道从那里开始的步行到达 A 的概率,对于 B 也是如此。这是什么问题?我该如何解决?
【问题讨论】:
标签: theory graph-theory random-walk
这个问题属于代数问题。对于从顶点开始的路径,到达 A 的概率是从其每个相邻顶点到达 A 的概率的平均值,由边权重加权。让我们用更具体的术语来表达。
令 P 为图的邻接矩阵。即Pi,j是从顶点i移动到顶点j的概率。设置 PA,A = 1。如果我们将分配给每个顶点的概率向量乘以 P,则得到的向量包含每个顶点的邻居的加权平均值。我们正在寻找的是一个向量 v,使得 P v = v 和 vA = 1。
这个向量v就是P的特征向量对应1的特征值。P总是有这样的特征值吗?幸运的是,Perron-Frobenius theorem 告诉我们确实如此,这是 P 的最大特征值。那么解决方法就是形成邻接矩阵P,找到其最大特征值对应的特征向量。
还有一个近似的解决方案。如果我们取一个顶点概率向量x,其中xA = 1,其他元素设置为0,那么P当 k 趋于无穷时,k x 将收敛到 v。对于 k 的小值,Pk 可能比特征向量更容易计算。
我们来看下面这个简单的图表:
如果我们按字母顺序对顶点进行排序,那么图对应的矩阵P为:
这个矩阵的特征值等于1,对应的特征向量是:[1 0 70/79 49/79]。也就是说,从C到达A的准确概率是70/79,从D到达A的准确概率是49/79。如果您计算出 B 的答案,结果是 9/79 和 30/79,这正是我们所期望的。
P16 [1 0 0 0] 的值约为 [1 0 0.886 0.62],精确到小数点后 6 位。
【讨论】: