6.6 接受现实

有时候一个问题天生排斥任何可能解决它的方法,对此你能做的只有放弃,然后去干点别的。

理查德偶然发现了一种超级药物的化学式,这种药能让他主宰世界,或者至少是主宰大辛辛那提区。他制定了一个向米勒市水处理厂投放药物的计划,喝了水的居民将失去警惕,变得非常容易被操控。到那时,理查德就能“挺身而出”,接管他们的社会。

只要收集到足够多的合适的化学品,理查德就能实现他的梦想。不幸的是,以前发生的某次事件导致政府禁止了供应商直接向任何个人出售这些化学品。于是理查德开始分析如何分解各种日用品,然后从原料中制备这些化学品。理查德往笔记本电脑里输入了各种参数:购买日用品的成本,从大辛辛那提区的20个沃尔玛和14个Targets超市能够安全购买而不引起怀疑的每种日用品的数量,运输和仓储的成本(他需要好几个仓库来放买来的东西)。有好多种日用品的组合可供选择。他把这些参数输入电脑,但是需要检查的可能性数量太多了,计算机无法找到符合他的时间和资金限制的方案。他打心眼里觉得一定存在满足所有条件的方案,但不管他怎么尝试,用尽了所有他从网上能找到的启发式方法和估计算法,就是找不到这样一个能凑齐所需化学品的方案。最终理查德放弃了,回到他在本地牙膏厂的保安岗位上。

就这样,NP问题的复杂性拯救了辛辛那提。