P vs. NP 五十年:AI正在解决不可解问题(5)

4. 解决困难问题

2016年,Bill Cook和他的同事决定挑战一个问题,就是如何以最短的距离访问英国的每一家酒吧。他们列出了已知的24727家酒吧,并且迈开腿,真的去走遍这些酒吧。这是一次跨越45495239米,大概28269英里的步行之旅,比绕地球一圈还要长。

其实Cook做了个弊,他没有真的走去每一家酒吧,他忽略了其中一些酒吧来让这次步行没那么夸张。这个事情在英国的媒体中宣传了之后,很多人在底下留言说:你没有来我家旁边的这个酒吧呀。于是,Cook和他的公司重新开始计划,将酒吧的名单增加到49687个,整体的旅行长度就达到了惊人的63739687米,也就是39606英里。但其实,相对于之前的那个旅行,这趟新的寻酒之旅其实只需要多走40%的距离就能达到两倍多数量的酒吧。

遍历英国49687家酒吧的全览图

这种酒吧遍历之旅在某种程度上就是旅行商问题的变种,也就是最著名的NP完全问题之一。通过所有49687家酒吧的可能游览次数约等于3加上后面211761个零这个量级。当然了,Cook的计算机不会搜索整个集合,而是使用了多种优化的技术。更令人印象深刻的是,这次旅行带有基于线性程序对偶性的最优性证明。

除了旅行商问题之外,我们还看到了求解可满足性和混合整数规划方面的重大进步,也就是线性规划的一种变体,其中一些变量的解要求是整数。当我们使用高精度的启发式算法,使用快速的处理器、专用的硬件系统和分布式的云计算进行辅助的时候,人们通常可以解决实际中出现的具有好几万个变量和几十上百万个约束的问题。

面对NP问题时,人们通常可以将NP问题表述为可满足性或混合整数规划问题,并将其扔给目前最好的求解器来借助计算机的力量,自动找到答案。这些工具已经成功用于电路和代码的验证、自动化测试、计算生物学、系统安全、产品和包装设计、金融交易,甚至是一些困难的数学问题求解之中了。


No post found!

文章转载

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注