我今天发了一条朋友圈



大家看后纷纷表示不明觉厉。42是个很好玩的梗,是全世界geeks经常开玩笑的一个数字,我带大家漫游一下到底为什么好玩。

 

如果你在Google里输入:“Answer to Life, the Universe, and Everything”

 

你会看到Google告诉你这样的答案:



如果你去google image搜同样的问题,可以看到这样的答案

我朋友圈文字里的星号*它的ASCII码是42,也叫通配符,意思就是,是所有问题的答案。

 

101010142的二进制码,它是10交替产生的,自带一种对称而有仪式感的美。


42是宇宙终极答案这句话最早来自于英国作家Douglas Adams写的一部非常著名的小说:银河系漫游指南The Hitchhiker's Guide to the Galaxy在小说里有个超级计算机叫Deep Thought(所以你知道为什么发明阿尔法狗的团队叫Deep Mind了),它用了750万年来思考Answer to Life, the Universe, and Everything。大家以为会是什么复杂的结果,但是经过了无数人翘首等待,超级计算机吐出了一个数字:42

 

这个和我们现在用的深度学习非常暗合:它告诉你一个答案,而它不告诉你为什么。小说里为了得到这个“为什么”,Deep Thought又造了一台更厉害的超超超级电脑(小声剧透:也就是地球),经过了800万年(听着跟要开蟠桃会一样)马上就要出答案了,结果因为地球的位置在宇宙高速公路上,就被毁灭了。

 

这本书影响太大了,后人无数次致敬它。举个例子: 我很喜欢的MIT经济系教授Joshua Angrist写了一本关于计量经济学的书:Mostly Harmless Econometrics: An Empiricist's Companion每一章开头都引用一段这本小说里的一句话。


今天写这个是因为两个数学家(一个是母校MIT的)刚刚发现了42可以拆成三个立方数的和。




这是100之内最后一个在之前还不知道怎么拆的自然数。所以数学圈和数学爱好者圈大家认为是里程碑的一个结果。巧合的是这个数是42,和小说里的终极答案一样。


这个很难是因为如果用一个一个数遍历的方法去找的话,即便是现在最快的计算机也要算到宇宙终结了,所以数学家一直在想办法用一个算法来解决这个问题。(这个和拆分素数一样,把一个数拆成三个立方数之和很难,但是反过来知道答案就非常容易验证,这样的数学特点支撑了我们现在的整个计算机加密理论,包括网上购物和区块链比特币后面的算法。)


这一类的问题都很有趣,可以和哥德巴赫猜想扯上关系:如果有两个集合,集合A是所有大于6的偶数,集合B是所有素数,那么哥德巴赫问的问题是能否用集合B中的两个数求和得到任何集合A中的数。


我发完朋友圈,得到了wangpeng教授的回复,他真的用MATLAT去算了一下。


于是我和可爱的王教授有了如下的对话:


哈,工程计算的硬核工具Matlab竟然算不对!


这三个立方数无疑都是非常大的:


我在python里算了一下,最大的那个数的量级是1050次方。

 


而后来王教授用mathematica得到了正确的答案。



(-80538738812075974)^3 + 80435758145817515^3 + 12602123297335631^3



继续阅读
阅读原文