我遇到了以下问题:
A
和B
a
,b
)(a
属于集A
,其中b
属于集B
)事先知道概率pij
。它表示a
匹配b
的概率(确定性级别),或者换句话说,a
与b
的匹配程度(反之亦然),因为{{1} } == pij
)。pji
,a
)下面描述了一个需要这种算法的简单实例(实际上这不是我要解决的问题!):
b
,a
),我们运行模式匹配器以确定由人b
写的字母a
代表字母{{1}的概率由人A
写的。这给了我们
表达某种相似性相关性的概率矩阵
对于每对字母(b
,B
)a
人写的每封信,
我们需要找到相应的
由人b
目前的方法:
我想知道我是否可以只分配与确定性水平/概率的对数成比例的权重,来自集合A
的元素B
与集合a
中的元素A
匹配然后运行最大加权二分匹配以找到最大总和。对数是因为我想最大化多次匹配的总概率,并且因为单个匹配(表示为匹配元素对b
- B
)形成一系列事件,这是概率的乘积通过取对数,我们将其转换为概率之和,然后使用加权二分匹配算法(如匈牙利算法)轻松实现最大化。但我怀疑这种方法可以确保在统计预期最大值方面达到最佳匹配。
搜索了一下之后,我发现的最接近的问题是两阶段随机最大加权匹配问题,这是NP难的,但我实际上需要某种“一阶段”随机最大加权匹配问题。
答案 0 :(得分:1)
我想知道你是否可以使用MaxFlow / MinCut。我现在无法证明它是最优的,但无论如何你的问题可能是NP难的。当你有一个V =(A,B)的二分图时,你可以使用MF / MC找到一个完美的匹配,方法是创建一个连接到A中所有节点的源,权重为1,接收器连接到B中的所有节点重量1.我建议你让从A到B交叉的边的权重是你上面提到的概率。你觉得怎么样?