我的计算机科学老师给我们指派了这个问题,我们班上的每个人都对这个问题的复杂性大吼大叫。我们只是在高中的计算机科学的高级课题,我们谁也不知道从哪里开始,使用什么算法或什么。我们已经确定,直走每一个可能的组合,将有2^50个组合运行,这是一个大的方式,为真正的我们任何人寻找。我只是好奇,在我们计算机技术水平较低的情况下,这是否可能做到,是否有人个人认为这是一个公平的问题,因为我们的老师仍然没有找到解决自己问题的办法。
谢谢!
最佳答案
解空间实际上不是2^50。平局(假设只有两名候选人)意味着269比269只有一个州(甚至只有少数几个州)就不能达到269,因此可以立即抛出所有的小子集和所有的大子集(赢得每个州也不起作用)。此外,您只需要查找总数为269的子集(因为总共有538个,这意味着每个子集的补码也是269)。
也就是说,这仍然可以归结为子集和问题:(https://en.wikipedia.org/wiki/Subset_sum_problem),因此任何解决方案都不能很好地伸缩(除非您知道如何在多项式时间内完成它,在这种情况下,您可以索赔1000000美元)不过,你的问题不是扩大规模;就美国选举团的结构而言(包括一些州的选票分配),要想在合理的时间内(如你所说,少于10分钟)计算出来,规模并不太大。