我有一组具有一组概率的非对称有向图(因此一个人从A点移动到B点,或从A点移动到C点等的可能性)。给定通过所有点的路线,我想计算在路线中做出的每个选择的可能性是一个好的选择。
举个例子,假设只有2个点的图表。
//In a matrix, the probabilities might look like
//A B
[ 0 0.9 //A
0.1 0 ] //B
因此从A移动到B的概率是0.9,从B到A的概率是0.1。给定路线A-> B,第一点(A)的正确程度如何,以及第二点(B)的正确程度如何。
假设我有一个更大的矩阵,其路线为A-> B-> C-> D.所以,我想知道的一些例子:
基本上,在每个点上,我想知道先前点在当前点之前的可能性以及后续点之后的可能性。我不需要统计上合理的东西。只是我可以用于相对比较的指标。有任何想法吗?
更新:我看到这个问题对每个人都没用,但答案对我来说非常有用,所以我试图让问题的描述更加清晰,并且很快就会包含我的回答万一它可以帮助某人。
答案 0 :(得分:0)
我认为这不可能有效。如果有一个算法来计算一个点处于错误位置的概率,你可以简单地找出每个点的哪个位置最不错,从而计算出正确的顺序。问题与寻找最佳路线基本相同。
附属问题是概率是''的',这里。概率可以是100%吗?你怎么知道的?
旅行商问题困难的部分原因是,除了查看所有解决方案并发现它是最短的解决方案之外,没有办法知道您有最佳解决方案。
答案 1 :(得分:0)
用-log(p)替换概率矩阵(p),找到该矩阵中的最短路径可以解决您的问题。
答案 2 :(得分:0)
经过深思熟虑,我想出了一些适合我需要的东西。它仍然有同样的问题,在哪里获得准确的答案需要检查每个可能的路线。但是,在我的情况下,只检查直接和第一个间接路由就足以让我知道我的答案是如何“正确”的。
首先,我需要对每个概率都有信心。这是一个单独的计算,包含在一个单独的矩阵中(将1到1映射到概率矩阵)。我只为每个概率采用1.0-confidenceInterval。
如果我有路线A-> B-> C-> D,我计算一个点的“正确性指标”。看起来我正在获得某种直接路线和第一级间接路线的平均值。
一些例子:
将P(A,B)表示为A在B之前的概率 将C(A,B)表示为A在B之前的概率的置信度 基于间接路线A-> B-> C
将P'(A,C)表示为A在C之前的置信度。在B点,A出现在它之前的可能性:
指标= P(A,B)* C(A,B)/ C(A,B)
在C点,可能是A& B来之前:
P (A,C) = P(A,B)*P(B,C)
C
(A,C)= C(A,B)* C(B,C)
指标= [P(A,C)* C(A,C)+ P(B,C)* C(B,C)+ P'(A,C)* C'(A,C)] / [C(A,C)+ C(B,C)+ C'(A,C)]
因此,这给了我一些始终在0和1之间的指标,并将第一级间接路线考虑在内(从 - > indirectPoint->到)。它似乎提供了我正在寻找的粗略估计。这不是一个很好的答案,但它确实提供了一些估计,因为没有别的东西可以提供更好的东西,它是合适的