首页 » 算法技术手册 » 算法技术手册全文在线阅读

《算法技术手册》二部图匹配

关灯直达底部

匹配问题有多种形式。我们考虑如下这种情况,五个求职者会面试五个职位。每个求职者都已经列出了满足能力要求的职位。现在的任务就是将尽可能多地分配工作给求职者,但是每份工作只能提供给一位求职者。我们会非常惊讶地发现可以使用Ford-Fulkerson算法来解二部图匹配问题。在计算机科学中,这种方法叫做“问题归约”。我们将二部图匹配问题归约为在流网络上的最大流问题,同时会介绍(a)如何将二部图匹配问题的输入映射成最大流问题的输入,以及(b)怎么将最大流问题的输出映射成二部图匹配问题的输出。

输入/输出

输入

二部图匹配包含一个包含n个元素si的集合,si∈S;一个包含m个参与者tj的集合,一个包含p个可行的配对pk的集合(1≤k≤p,pk∈P),配对将元素si∈S和参与者tj∈T连接起来。S集和T集是不连通的,这就是二部图匹配名字的来历。

输出

原始可行配对集合中得到的一个配对集合(si,tj),P。这个集合的规模是最大能够匹配上的配对数目。算法保证不存在更多的匹配数(虽然会有其他的匹配方式能够得到同样多的匹配个数)。