网站图标 美妙的工程

编写一个代码来解决这个简单的难题,赢得100万美元

图片来源:Julian Finney/Getty

“女王谜题”是一个非常著名的谜题,于1850年被设计出来。美国克莱数学研究所为能够编写计算机代码来解决这个难题的程序员提供了100万美元的奖金。圣安德鲁斯大学的研究人员认为,解决这个问题的代码可以改变整个IT行业。

皇后之谜本身并不复杂。你必须在棋盘上放置8个皇后,这样它们就不会互相攻击。这意味着没有两个皇后共享同一行、同列,甚至一条对角线。如果你有一点耐心,你就能解开这个谜题。然而,计算机却不是这样。

图片:在上面

在解决问题时,计算机会遍历解决问题的所有可能选项;选项越多,复杂度越高。这篇发表在《人工智能杂志》(Journal of Artificial Intelligence)上的论文指出,当棋盘的大小超过1000 * 1000时,计算机就无法应对了。该研究的主要作者伊恩·金特教授在一份声明中表示,

“如果你能编写一个能够快速解决问题的计算机程序,你就可以用它来解决许多日常影响我们所有人的最重要的问题。这包括一些微不足道的挑战,比如在你的Facebook上找到最大的一群互不认识的朋友,或者一些非常重要的挑战,比如破解保证我们所有在线交易安全的密码。”

这个谜题是基于著名的计算机问题P对NP,至今仍未解决。简而言之,这个问题问的是:“是否有任何可以快速验证的问题也可以快速解决?”“验证13、17和19是4199的唯一因数会更快,但要找到这些因数需要更长的时间。

许多研究人员和科学家已经开始研究N vs. NP问题,许多人认为并不是每个问题都能像它的解决方案被验证一样快地被解决。你可以写一个算法来解决这个问题,也可以证明它是不可能的。

图片来源:埃默里大学数学系

杰斐逊博士宣布,

“谁能证明皇后谜题能否快速解决,谁就能获得100万美元的奖金,所以奖金很高。”

如果你认为你能做到,100万美元的奖金在等着你!最好测试一下你的编程技能。

出境手机版