【发布时间】:2017-08-12 13:50:33
【问题描述】:
在下页P=NP问题的官方链接中:
P=NP Problem Official Description
, 提到了一个为四百名大学生组织住宿的问题, 宿舍最多容纳 100 人, 而且院长给出了一个“不相容”的学生对的列表, 也就是说, 他们可以不能住在一起。该问题进一步表明,从头开始构建这样的列表将是困难的/困难的。但是,我做了一些思考并想出了以下解决方案:
我们继续计算可能的对的确切数量,可以按如下方式完成:
首先,我们从 400 个可用学生中选择 100 个学生。=(400C100) 种方式。
接下来,我们从 400 个可用学生中选择 2 个学生以 100C2 方式的 100 名学生中的每一个。
然后,对于每个集,如果该对将其“添加”到最终结果集中不存在于院长的一对不相容集中。
我知道这个制作清单的过程需要很长时间,因为清单本身很长。但是,如果我们考虑第一组 400 名学生中的 100 名学生,以便为少数幸运的学生提供运气(我的意思是,如果这是一种幸运抽奖,最终只选择了第一组 100 名学生),那么这将是一个完全简单的问题!
无论如何,我们可以在这个问题中“判断”解决方案集是否存在,因为我们可以通过查看院长的不相容学生列表直接说是否有任何对,因为所有这些,只有所有那些不应该在结果集,如果有 50 个这样的对,这意味着有 100 个不相容的学生,我们可以从这个列表中选择第一个 50 个,然后从剩下的 350 个学生中选择其他 50 个?这似乎不像 3SAT 问题那样“难”,只要告诉解决方案就足够了。 (在这种情况下,组合总数为 400C100 * [ 100C2 - 数量所选列表和院长列表中的对数]
(这也可以写成 400C100 * [ 100C2 MINUS 对dean's list],其中 MINUS 是数据库术语中的操作。
请阐明我的研究,我是对还是错?
谢谢
【问题讨论】:
标签: p-np