给出一个列表,其中对于每对元素(A,B),概率P(A> B),P(A
答案 0 :(得分:6)
让我们忽略P(A=B)
(我们可以说它会在<,>
之间平均分割并将其更改为<=,>=
)。
现在,让我们看一个类似但直观上更容易的问题:
P(arr[0]<arr[1])*...*P(arr[i]<arr[i+1])*...*P(arr[n-2]<arr[n-1])
是最大的。P(arr[0]<arr[n-1])
- 我们使用'较少'信息。[证据缺少atm]。现在,我们正在寻求最大化概率,这相当于最大化:
log{P(arr[0]<arr[1])} + ... + log{P(arr[n-2]<arr[n-1])}
反过来相当于最小化:
-log{P(arr[0]<arr[1])} - ... - log{P(arr[n-2]<arr[n-1])}
这是TSP,边缘有权重:
w(v,u) = -log(P(v<u))
然而,TSP是NP-Complete,除非缺失的证明假设是错误的(仍然在思考它......) - 这意味着没有已知的多项式解决方案来解决这个问题,或者至少是相邻的元素只有变异。
答案 1 :(得分:0)
我认为最简单的方法是将元素推送到优先级队列中。使用这3个概率,概率最高的概率始终位于最高位置。流行的那个和下一个最高的浮动。继续弹出直到你完成。我认为这种方法会起作用