来源:机器之心本文约2300字,建议阅读5分钟人类首次将42写成3个整数的立方和,100内自然数已全部被攻破。

三立方数和一直是困扰数学家的难题之一,一些数字的求解非常简单,例如 29 可以写成 3^3+1^3+1^3 (27 + 1 + 1)。2019 年,MIT 数学家 Andrew Sutherland 和布里斯托大学教授 Andrew Booker 不仅首次攻克了 100 以内自然数的最后一个关卡——42,还找到了自然数 3 的第 3 组三立方和解。近日,相关研究在《美国国家科学院院刊》(PNAS)上发表。

1992 年,数学家罗杰希思 - 布朗(Roger Heath-Brown)提出猜想,所有自然数都可以被写成 3 个数立方之和。

2019 年,数学家 Andrew Sutherland 和 Andrew Booker 首次将 42 写成 3 个整数的立方和,这意味着 100 以内自然数全部被攻破。

Andrew Sutherland(左)和 Andrew Sutherland(右)。

但是,两人并未停止探索的脚步,而是「挥刀向更强」:找出自然数 3 的下一个解。在发现 42 的立方和解之后数周,他们即解决了这个难题。近期,Sutherland 和 Booker 的相关研究文章发表在了《美国国家科学院院刊》(PNAS)上。

文章链接:

https://www.pnas.org/content/118/11/e2022377118

三立方数和问题

1957 年,英国数学家莫德尔(Louis Mordell)提出一个问题:哪些正整数可以写成三个立方数之和?(这三个数可正、可负,也可以等于 0。)这就是著名的「三立方数和问题」。

1992 年,英国牛津大学的罗杰 · 西斯–布朗提出了一个猜想:除了 9n±4 型自然数外,所有自然数都可以用无穷多种不同方式写成三个立方数的和。

20 世纪,三立方数和问题的研究进展(图源:https://math.mit.edu/~drew/Waterloo2019.pdf)

2000 年,美国哈佛大学的诺姆 · 埃尔吉斯提出了一个实用的算法,成功找到了许多较小整数的立方和算式。

2015 年,数学家蒂姆 · 布朗宁发布了一段解释该问题的视频。当时小于 100 的整数几乎都被解决,只剩下 33、42 和 74 这三个数。

2019 年 9 月,数学家 Andrew Sutherland 和 Andrew Booker 破解了 100 以内自然数的最后一个难关——42。

之后短短数周时间,他们又解决了一个更大的难题:找到了自然数 3 的第 3 个三立方数和解。

自然数 3 的又一个三立方数和解

对于 x^3+y^3+z^3 = 3,恐怕连高中生都能给出 x、y、z 的解:

那么,还有没有其他解呢?

这个问题困扰了数学家几十年。1953 年,数学家莫德尔提出问题:对于自然数 3,是否存在其他解?

Sutherland 表示:「这更像是莫德尔发起的一个挑战。解决这个问题的有趣之处并不是求出特定解,而是更好地了解这些公式的求解难度。这是我们用来衡量自己的标准。」

自 1953 年莫德尔抛出这个问题后,60 多年都没人发现答案。直到 2019 年,Andrew Sutherland 和 Andrew Booker 破解了 42 的三立方数和解,并很快找到了 3 的第三个解。

这一发现直接回答了莫德尔的问题。或许更重要的是,这个包含 21 位数字的解直到 2019 年才被发现,说明对于 3 或其他自然数还存在更多解。

「莫德尔的问题太难了,因此数学和计算社区对此曾经存在严重怀疑。」Sutherland 说道,「解包含的数字如此之大。但是找到这个解之后,我相信肯定存在更多其他解。」

如何求解?

为了找出 42 和 3 的解,该团队一开始使用现有的算法,将三立方数和方程转换为他们认为更易于求解的形式:

这一算法最初由英国数学家罗杰希思 - 布朗提出,根据他的猜想,每个适当的 k 应该有无限多个解。该团队通过将 x+y 表示为单个参数 d 进一步修改了这一算法。然后他们将两边都除以 d 并保留余数,进一步简化了问题表示。

牛津大学数学家罗杰希思 - 布朗。

Sutherland 解释道:「你现在可以将 k 视为 z 的立方根,并对 d 进行取模运算。因此,想象一下在算法系统中只关心对 d 取模运算后的余数会怎么样。我们尝试计算 k 的立方根。」

有了这个更简洁的方程,要想找到 k=3 时 x, y 和 z 的最终解,研究人员只需找到 d 和 z 的值即可。但是,他们必须搜索的数字空间无限大。因此,研究人员使用数学「筛分」法大大减少 d 的可能解的空间,进而优化了该算法。

Sutherland 表示:「这涉及一些非常先进的数论。使用我们已知的数域结构,来避免搜寻我们不需要考虑的空间。」

全球 40 多万台计算机助力 42 和 3 的三立方数和解

该团队还开发了一些可以将算法搜索高效地分解为数十万个并行处理流的方法。如果仅在一台计算机上运行该算法,则需要花费数百年的时间才能找到 k=3 的解。而将该求解过程分割为数百万个较小任务后,每个任务可以在单个计算机上独立运行,这样该团队可以进一步加速搜索进程。

2019 年 9 月,研究人员通过 Charity Engine 项目将他们的计划付诸实践,该项目旨在利用闲置的家庭计算机来共同求解数学难题,任何个人计算机都可以免费下载该项目。当时,Charity Engine 网格涵盖全球超 40 万台计算机。作为 Charity Engine 新软件平台的测试,Booker 和 Sutherland 可以在该网格上运行其算法。

Charity Engine 项目。图源:https://thenextweb.com/apps/2011/12/14/charity-engine-donate-spare-pc-power-and-stand-a-chance-to-win-a-1m-invites/

Sutherland 表示:「Charity Engine 网格中每台计算机的任务是寻找素因数在此范围内的 d 值,但受到其他条件的约束。此外我们必须搞清楚如何将求解过程分解为大约 400 万个任务,每台计算机大约花费 3 个小时来完成一个任务。」

很快,全球网格返回了 K=42 的首个解,并在两周后,研究人员证实找到了 k=3 的第 3 个解。他们在 T 恤上打印出了这一里程碑式的解。

K=3 存在第 3 个三立方和解的事实表明,Heath-Brown 最初的猜想是正确的,除了这一最新解之外,还有无穷多个解。罗杰希思 - 布朗还预测,解之间的空间随搜索范围呈指数增长。例如,x, y 和 z 的第 4 个解可能不再是 21 位数,可能是难以置信的 28 位数。

对此,Sutherland 表示:「每个新解所需的工作量会增加 1000 万倍。因此,第 4 个解或许需要 1000 万 ×40 万台计算机才能找到,甚至还不一定够。我不知道能否找到第 4 个解,但我确信它始终就在那里。」

参考链接:

https://news.mit.edu/2021/solution-3-sum-cubes-puzzle-0311

https://math.mit.edu/~drew/Waterloo2019.pdf

https://www.ituring.com.cn/book/tupubarticle/34408

编辑:王菁

校对:汪雨晴

3的三个整数立方和有多少个解?全球40万台计算机助力,MIT研究登上PNAS相关推荐

  1. x³+y³+z³=3第三组整数解是多少,这个58年难题被40万台电脑算出来了

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 你在看到标题的时候,一定会想: 这个问题我知道答案:x.y.z都等于1. 如果再多算几步,你还能发现4.4.-5也是一组整数解. 注意审题 ...

  2. 高清还原破损视频,参数和训练时间减少三分之二,台大这项研究登上了BMVC 2019...

    郭一璞 发自 凹非寺  量子位 报道 | 公众号 QbitAI 小刺猬的视频,被泼了墨. 用AI"清洗"一下,就干净了. 支离破碎的滑板视频. 这下变了回来. 一位黑哥哥在撸巨型老 ...

  3. 如果将计算机网络划分为,计算机网络:如果将192.12.66.128/25划分为三个子网,其中子网1可以容纳50台计算机,...

    满意答案 暖暖100200 推荐于 2017.12.16 采纳率:59%    等级:9 已帮助:1164人 ~~子网1(可容纳50台): 掩码:192.168.66.192 IP地址范围:192.1 ...

  4. 第一台计算机晶体管数量,一个CPU上到底有多少的晶体管呢?

    电子元器件中晶体管是一种半导体器件,常用的是放大器或电子控制开关.晶体管是调节计算机.移动电话和所有其他现代电子线路运行的基本构件.由于晶体管的快速响应和高精度,它可以用于各种数字和模拟功能,包括放大 ...

  5. 香港科大三项研究登榜2020年度香港十大创科新闻

    由京港学术交流中心举办,获得香港八所大学响应支持的"2020年度香港十大创科新闻"近日完成评选.经过院校推选.十余位在港两院院士组成顾问小组协助筛选名单,然后由两千名公众选出&qu ...

  6. 42 可写成成三个整数的立方和

    42,可写成三个整数的立方和!这是数学界的一大突破. 由布里斯托大学的 Andrew Booker 和来自麻省理工学院的Andrew Sutherland共同发现, 他们以"生命.宇宙以及一 ...

  7. matlab求一个数的位数字,matlab求一个三位整数各位数字的立方和等于该数本身则称为...

    用C语言随机产生一个三位整数 思路:分别产生个.十.百位上的随机数,依次组合在一起#include#include#includeintmain(){inti,tmp;num=0;srand((uns ...

  8. ACMNO.36输入三个整数,按由小到大的顺序输出。

    题目描述 输入三个整数,按由小到大的顺序输出. 输入 三个整数 输出 由小到大输出成一行,每个数字后面跟一个空格 样例输入 2 3 1 样例输出 1 2 3 来源/分类 C语言 题目截图: 思路: 借 ...

  9. ACMNO.3 有三个整数a b c,由键盘输入,输出其中的最大的数。 输入 一行数组,分别为a b c 输出 a b c其中最大的数 样例输入 10 20 30 样例输出 30

    基于平台Dev-C++ 5.11 题目描述 有三个整数a b c,由键盘输入,输出其中的最大的数. 输入 一行数组,分别为a b c 输出 a b c其中最大的数 样例输入 10 20 30 样例输出 ...

最新文章

  1. [20160608]自治事务引起死锁.txt
  2. 进行将多张CAD图纸转换成高清WMF格式的操作是什么?
  3. jBPM4.4:分配任务的几种方式
  4. Mysql: SQL JOIN 子句详解
  5. 201671010423 词频统计软件项目报告
  6. php sql跳过前四条数据,mysql实现每组取前N条记录的sql,以及后续的组数据量限制...
  7. 【2016年第1期】从政策驱动到技术践行:大数据开辟可持续发展研究新途径
  8. 怎么打开Windows Server 2008 图片预览的功能
  9. 8s保留cpu设置_使用资源设置控制CPU资源
  10. JavaScript 代码的加入
  11. 苹果mac微软windows远程连接工具:microsoft remote desktop
  12. StructureMap 作为 ASP.NET MVC 的 DI 框架的使用实例
  13. 总结了一份嵌入式相关开源项目、库、资料
  14. 如何只用HTML创建一个时间计划表?
  15. Excel数据分析—饼图/圆环图
  16. 程序员怒批996背后的支持者,刘强东和马云哑口无言!
  17. Graylog单机版安装,Graylog安装脚本一键实现在线离线安装
  18. RecyclerView的全能适配器,带有header和bottom
  19. 基于51单片机智能温度控制器温控系统(毕设课设)
  20. 《Javascript高级程序设计》--读书笔记(二)

热门文章

  1. 【c语言】蓝桥杯算法训练 乘法表
  2. linux vim 高级,Vim命令高级用法
  3. 使用angularJs ng-repeat做表格合并行效果
  4. 博客园自定义页面风格设计 后续篇(页面设计模式及代码高亮 鼠标点击效果升级)...
  5. 一个很简单小数正负数行转列问题
  6. Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库
  7. 序列化和反序列化(转)
  8. 【转载】mysql慢查询
  9. WebLogic集群配置
  10. Beep()之我迷糊了……