算法:打造满足要求的最佳儿童棒球队

时间:2012-04-02 19:45:57

标签: algorithm graph

尝试编写算法,但我不太了解图论,所以我现在所拥有的只是分支定界和遗传算法。不是很强大,但我在这里学习。

这是我的问题: 我们已经有一组n个孩子被投入到k队中,每队有L队员。每个孩子都要求最多3个朋友在他们的团队中玩耍。每个孩子都保证满足他们的一个要求。

我希望最大化团队组合,以便最大限度地满足已完成的请求数量,但每个团队都有L个玩家的约束,并且每个孩子至少有一个已完成的请求。

我应该研究什么类型的算法?我想这是图理论的一些应用,每个玩家都是一个节点,每个请求都是一个边缘......但这就是我的图形知识的范围。

1 个答案:

答案 0 :(得分:1)

您可以做的是按照您的描述创建图形,然后应用Prim的算法(最小生成树)以确保满足每个玩家的请求中的至少一个,然后从终端节点开始并遍历图形来计算团队(确保你打破那些将完成两项请求的球员的队伍。

这假定不会有多个子图(即两组玩家相互请求但另一组没有)。但是,至少通过运行Prim's,您可以缩小哪个玩家与哪些朋友配对的区域。