要点是......我们有两组点A和B。集合A和B具有相同数量的点n。
正式问题:
在A和B中的点之间构造最小成本完全二分匹配。匹配(a, b)的成本是距离 (a, b)。是否存在比O(n^3)更快的算法?
笔记:
- A中的每个点a和B中的每个点b都在匹配(a, b)中。
- A或B中的每个点a都恰好在一个匹配中。
- sum( 每一个(a, b)匹配的距离(a, b ) )被最小化。
例子:
- 点 a (0,0)
- b 点 (2,0)
- 点 c (0,1)
- 点 d (-2,2)
- 设置 Z {a, d}
- 设置 Y {b, c}
解决方案:
匹配1:(a,b)(d,c)
sum (距离(a, b),距离(d, c)) = 2 + sqrt(5) ~ 4.23
匹配2:(a,c)(d,b)
sum (距离(a, c),距离(d, b)) = 1 + sqrt(20) ~ 5.47
匹配 1 (a, b) (d, c) 是最小成本完全二分匹配!