Python 基于信任度匹配两组对象的最佳方法

Python 基于信任度匹配两组对象的最佳方法,python,algorithm,graph,Python,Algorithm,Graph,我搜索了一段时间这个问题,但没有找到任何相关的 假设我有两种类型的对象,我想在它们之间创建一对一的对应关系。假设我的第一组是整数,第二组是字母。我知道每个整数、字母对的置信度(权重/相关性等) 假设我有4个整数和3个字母。它们的对应关系是1-A、2-B、3-C、4-None。(我正在努力得到这个结果) 另外,我知道整数和字母之间的关系 1 -> (A, 0.9) 2 -> (B, 0.5), (C, 0.4) 3 -> (B, 0.2), (C, 0.4) 4 -> (B

我搜索了一段时间这个问题,但没有找到任何相关的

假设我有两种类型的对象,我想在它们之间创建一对一的对应关系。假设我的第一组是
整数
,第二组是
字母
。我知道每个整数、字母对的置信度(权重/相关性等)

假设我有4个整数和3个字母。它们的对应关系是
1-A、2-B、3-C、4-None
。(我正在努力得到这个结果)

另外,我知道整数和字母之间的关系

1 -> (A, 0.9)
2 -> (B, 0.5), (C, 0.4)
3 -> (B, 0.2), (C, 0.4)
4 -> (B, 0.1)
其余部分为零,例如,
2->(A,0)
,等等

在本例中,
1-A
是一对高置信度,
0.9
,没有其他整数与
A
匹配。因此,我将把这一对添加到匹配对列表中。现在,我需要选择
2-B
2-C
,而不是
3-B
3-C
。由于前者是一个更好的选择(与
0.6
相比,置信度总和为
0.9
),我们选择
2-B
2-C

分别将
1、2、3
分配给
A、B、C
后,
4
将不保留任何内容。因此,它将是零

我可以使用某种蛮力算法来实现这一点,但我正在寻找一种优雅的方法来实现这一点。对我来说,它看起来像一个图形算法,但不能想出比暴力更好的方法

有没有更优雅的方法可以用于此算法


语言在这一点上并不重要,但我正在使用python。

这就是所谓的。这解释了可以解决这个问题的算法之一,并提供了一些您应该能够复制和粘贴的C代码。

这就是所谓的。这解释了可以解决这个问题的算法之一,并提供了一些可以复制和粘贴的C代码。

注意:我愿意听取关于改进标题的建议。我不认为这是一个很好的描述。如果你想最大限度地增加你的自信,你可以看看匈牙利算法。注:我愿意接受关于改进标题的建议。我不认为这是一个很好的描述。如果你想最大限度地增加自信的总和,你可以看看匈牙利算法。很好,看起来这就是我想要的。让我再深入一点。太好了,看起来这就是我想要的。让我深入探讨一下。