算法 - 最大二分匹配的一种变体

时间:2017-03-29 06:50:07

标签: algorithm matching bipartite

我正在处理最大二分匹配问题的变体。 最初的问题如下:

有M个求职者和N个工作。每个申请人都有他/她感兴趣的工作子集。每个职位空缺只能接受一个申请人,而就业申请人只能被指定为一个工作。找到申请人的工作分配,以便尽可能多的申请人获得工作。

enter image description here

附加约束是:

每个申请人属于某个群体。现在,我们希望最大化幸福群体数量,而不是最大化申请人数量。一个快乐的小组是所有申请人都可以找到工作的小组

欢迎任何想法/讨论!

1 个答案:

答案 0 :(得分:2)

与永恒的联系

如果你能解决这个问题,你可以在Eternity puzzle上赢得一百万英镑。

在这个难题中,你必须将209个多边形放在一块板上。

减少是为每个组合和位置组合一组。

每个小组都有一位领导者,他只对与演奏相关的工作感兴趣。

每个小组还有一个人在棋子中的每个方格:该人只对填充游戏板上相应方块的工作感兴趣。

如果你能找到209个幸福小组的解决方案,那么你就找到了解决这个难题的解决方案了!

连接到Independendent集

这是NP难的,因为它可以用于解决maximum independent set这是一个已知的NP难问题。

假设我们有一个图表,我们想在其中找到最大的独立集合。

为每一条边做一份工作。

为每个顶点创建一个组。

假设顶点x连接到三个边a,b,c。我们会在x组中添加3个人。每个人只对一份工作感兴趣。第一个是对工作a感兴趣,第二个是工作b,第三个是工作c。

找到最大幸福组相当于最大的独立集。