0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

该猜测终于被实现:2个10亿位超级大整数相乘,仅需30秒!

DPVg_AI_era 来源:lp 2019-04-19 14:02 次阅读

自1971年以来,两位数学科学家猜测,超级大整数相乘极限速度将是N log (N),且无法被超越。近日,该猜测终于被实现:2个10亿位超级大整数相乘,仅需30秒!

超级大整数相乘极限速度实现了!

整数相乘是每个人必学的一个运算,我们通常采用的思路是:第一个数字的n位乘以第二个数字的n位,这就意味着要进行n2次的乘法运算。但当这两个整数大到一定程度时,这个过程的计算量是相当庞大且惊人的。

当然,前人们已经找到了一些解决方法来改善这一问题。早在1971年,两位德国数学家就猜测,两个大数相乘的可以达到一种令人难以置信的速度,即N log (N)。然而,这个聪明的想法几十年来一直只是假设。

直到现在,这个假设终于被证明了!

澳大利亚新南威尔士大学(UNSW)的数学家、副教授David Harvey近日声称,他和他的合著者首次破解了这个由Arnold Schönhage 和 Volker Strassen提出,存在近半个世纪之久的数学难题。

论文地址:

https://hal.archives-ouvertes.fr/hal-02070778/document

简单来说,这项研究采用了1,729维快速傅里叶变换(FFT),使得计算速度达到了N log (N)——目前理论上的极限值。

以前,两个十亿位的整数相乘,若是采用常规算法,大约需要几个月才能算出它们的结果。但是应用该新算法,仅需30秒!

数学处处充满惊喜,大数乘法速度屡破记录,或已至极限

两个整数相乘很简单对吧?

小学的时候我们就学过如何做整数的乘法运算,例如:

但是,若是整数长度大到了一定程度,这种方法真的是最好的吗?

在一般的乘法运算过程中,我们需要把第一个整数的每一位和第二个整数的每一位做乘法。如果这两个数都有N位,那就是N2(或N x N)相乘。在上面的例子中,N是3,所以我们要做32 = 9次乘法。

1956年前后,著名的苏联数学家安德烈·科尔莫戈罗夫(Andrey Kolmogorov)推测,这就是两个整数相乘的最好方法。

换句话说,不管你怎么安排计算,你要做的功至少与N2成正比。两倍的数字意味着四倍的工作量。

科尔莫戈罗夫认为,如果有更简便的方法,那肯定已经人们发现了,毕竟人类在“乘法”这件事儿上探索了千年之久。

被打脸,更快的方法诞生

然而,就在几年后,科尔莫戈罗夫就被打脸了。

1960年,23岁的俄罗斯数学系学生阿纳托利·卡拉苏巴(Anatoly Karatsuba)发现了一种代数技巧,可以减少所需的乘法次数。

例如,要乘四位数的数,不需要42 = 16的乘法,卡拉苏巴的方法只需要9次。当使用他的方法时,两倍的数字只意味着三倍的工作量。

而且随着数字位数的增大,这种方法的有效性越发显著,对于一千位数字的相乘,比之前的方法所需的乘法次数要少17倍。

大数字相乘在生活中的应用

有人会很好奇,谁会用到这么大的数字来做乘法呢?事实上,现实生活中由大量的应用是需要这么做的,最典型的就是密码学。

每次我们在互联网上进行加密通信时(例如,访问银行网站或执行网络搜索),我们的设备都会执行的乘法次数是非常恐怖的,涉及数百甚至数千位的数字。

对于一些更深奥的应用程序,数学家必须处理更大的数字,数百万、数十亿甚至数万亿的数字。对于如此庞大的数字,即使是卡拉苏巴的算法也是太慢了。

1971年,德国数学家阿诺德·绍哈格(Arnold Schonhage)和沃尔克·斯特拉森(Volker Strassen)的工作取得了真正的突破。他们解释了如何使用快速傅里叶变换(FFT)来有效地对“大数字”做乘法。今天的数学家经常使用他们的方法来处理数十亿位数的数字。

极限速度猜测

在他们1971年发表的论文中,他们也提到了一个惊人的猜测。

他们猜测的前半部分是,应该有可能使用最多与N log (N) (N乘以N的自然对数)成比例的一些基本运算来乘N位数字。但他们的算法并没有达到这个理想的结果,速度慢了一个log因子(log N)。

而后的研究者们对此进行了不懈的深入挖掘,但直到2007年,Martin Furer的工作也只是接近N log (N)。

猜测的后半部分是,N log (N)应该就是速度的极限——没有任何可能的乘法算法能做得比这个更好。

乘法运算速度极限已经实现?

就在前几周,Joris van der Hoeven和David Harvey共同发表的一篇论文《Integer multiplication in time O(n log n)》描述了一种新的乘法算法,最终达到了N log(N)这一“圣杯”。

该算法突破性重点在于使用多维FFT,而不是仅仅使用一维FFT。自1971年以来,在很多领域都会涉及多维FFT的应用,例如JPEG格式图像依赖于二维FFT,而三维FFT在物理和工程中有很多应用。

而在这篇论文中,所用到的FFT维度高达1,729。

但是,以目前的形式来看,新算法实际上并不实用,因为论文中给出的证明只适用于非常大的数字。即使每个数字都写在氢原子上,在可观测的宇宙中也几乎没有足够的空间把它们写下来。

另一方面,作者还希望通过进一步的改进,使得该算法可以应用于只有数十亿或数万亿位数的数字。如果是这样,它很可能成为计算数学家“军火库”中不可或缺的工具。

若Schonhage-Strassen猜想是正确的,那么从理论的角度来看,新算法就是这条路的终点——不可能做得更好。

但论文作者也表示:“若猜想被证明是错误的,我会感到非常惊讶。但我们不应该忘记科尔莫戈罗夫的遭遇。”

毕竟,数学处处充满惊喜。

作者简介

David Harvey

新南威尔士大学数学与统计学院副教授和ARC未来研究员。研究领域包括计算数论与算术几何,多项式与整数算术。

所获奖项:

2017–2021: Counting points on algebraic surfaces ($805,054)ARC Future Fellowship, FT160100219

2015–2017: Fast algorithms for zeta functions of algebraic varieties ($325,500)ARC Discovery Project, DP150101689

2012–2014: Counting solutions to equations over fields of large characteristic ($375,000)ARC Discovery Early Career Researcher Award, DE120101293

主页地址:

https://web.maths.unsw.edu.au/~davidharvey/

Joris van der Hoeven

CNRS研究主任、MAX团队组长。主要研究集中在渐近微积分和复分析的自动化,以及快速算法。

曾与Matthias Aschenbrenner合作共同出版了《渐近微分代数与变级数模型理论》一书,证明了渐近微分代数的量词消去定理。另一个主要研究课题是具有特殊函数或更一般的微分方程解的复分析和计算的自动化。一方面,这导致了一些有趣的理论问题,如可计算性、零点测试、奇点等。另一方面,需要为多精度计算开发和实现快速、可靠和数值稳定的算法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4606

    浏览量

    92764
  • 傅里叶变换
    +关注

    关注

    6

    文章

    439

    浏览量

    42583

原文标题:极限速度!10亿位超级大整数相乘仅需30秒,半个世纪的猜测终被证明

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    鸿蒙原生应用元服务开发-仓颉基础数据类型整数类型

    范围为:。下表列出了所有整数类型的表示范围: 程序具体使用哪种整数类型,取决于程序中需要处理的整数的性质和范围。在 Int64 类型适合的情况下,首选 Int64 类型,因为 Int
    发表于 09-13 14:55

    RISC-V基础整数指令集

    。 ARM-32指令集12的立即字段不仅仅是一常量,而是一函数的输入,此函数根据12立即数的输入来产生一常量:8
    发表于 07-27 22:25

    ADS1204 4110MHz、2阶、Δ-Σ调制器数据表

    电子发烧友网站提供《ADS1204 4110MHz、2阶、Δ-Σ调制器数据表.pdf》资料免费下载
    发表于 07-26 09:48 0次下载
    ADS1204 4<b class='flag-5'>个</b>1<b class='flag-5'>位</b>、<b class='flag-5'>10</b>MHz、<b class='flag-5'>2</b>阶、Δ-Σ调制器数据表

    RV32I 基本整数指令集(2.0版本)简介

    用于实现对小的运行时库的快速调用。 条件分支 所有分支指令使用SB类指令格式。12B立即数编码了以2字节倍数的有符号偏移量, 并加到当前pc上,生成目标地址。条件分支范围是±4KB
    发表于 06-24 17:27

    气密性检测设备等30的意义是什么

    气密性检测设备做为工业制造行业的关键设备,用于检测产品是否具有较好的密封性,以确保产品质量和生产安全。使用这种设备的过程中,我们通常发觉设备在测试上有一段等待时长,其中常见的是等待30。那样,为何气密性检测设备必须等待这30
    的头像 发表于 06-13 13:53 237次阅读
    气密性检测设备等<b class='flag-5'>30</b><b class='flag-5'>秒</b>的意义是什么

    十五充满电并循环逆天神器 什么是超级电容器? 

    )彼此分开。一电容器不会同时使用所有三种介电材料,而只会使用其中一种。超级电容器使用不同的电介质材料。活性炭是在超级电容器的两电极之间形成屏障的。
    的头像 发表于 06-04 09:40 432次阅读
    十五<b class='flag-5'>秒</b>充满电并循环逆天神器 什么是<b class='flag-5'>超级</b>电容器? 

    AD630可以用作这种乘法器吗?怎么使用AD630实现信号相乘呢?

    AD630芯片可以用作这种乘法器吗?怎么使用AD630芯片实现信号相乘呢?
    发表于 05-30 08:26

    10,一次性完成210读码任务

    在工业生产中,生产商常常需要对生产的时间地点、焊料温度、元件批号和测试数据等生产信息进行编码,形成二维码印在物料上;在电子行业中,PCB线路板上的二维码往往非常小,但由于生产过程中的质检、追溯等需求,需要在较大的视野范围内快速准确地读取这些码。类似需求的场景非常多,本期小明就来分享明治智能读码器在大视野托盘读码场景中的应用~检测需求移动读取托盘上的DM码选型
    的头像 发表于 05-07 08:24 327次阅读
    <b class='flag-5'>仅</b><b class='flag-5'>需</b><b class='flag-5'>10</b><b class='flag-5'>秒</b>,一次性完成210<b class='flag-5'>个</b>读码任务

    谷歌计划投资30亿美元建数据中心

    谷歌公司近日宣布了一项雄心勃勃的投资计划,将斥资30亿美元用于建设和扩展其数据中心园区。其中,弗吉尼亚州的数据中心将追加10亿美元的投资,用于扩建现有的三
    的头像 发表于 05-06 11:30 539次阅读

    传特斯拉马斯克将在印度公布20亿-30亿美元投资

    特斯拉(Tesla)CEO马斯克(Elon Musk)将于下周访问印度,两知情人士称,马斯克将在访问印度期间,宣布投资20亿30亿美元在当地建设新工厂。
    的头像 发表于 04-22 11:25 897次阅读

    基于FPGA的并行ADC与DAC Verilog实现案例

    转换的依据是一简单的运算关系:“补码的整数值”+“原码绝对值的整数值”=2^B,B为宽。比如带符号数原码1110的补码为1010:111
    发表于 03-21 12:19 2216次阅读
    基于FPGA的并行ADC与DAC Verilog<b class='flag-5'>实现</b>案例

    IIS328DQ响应滞后5~30是什么原因造成的?

    水平放置,移动为垂直放置,传感器需要延迟5~30+后,传感器的加速度数据才会变化。请问这是正常指标吗?还是哪个地方未正确操作。 采用IIC总线,每1读取一次传感器加速度数据(XY
    发表于 03-21 07:48

    Adobe提出DMV3D:3D生成只需30!让文本、图像都动起来的新方法!

    因此,本文研究者的目标是实现快速、逼真和通用的 3D 生成。为此,他们提出了 DMV3D。DMV3D 是一种全新的单阶段的全类别扩散模型,能直接根据模型文字或单张图片的输入,生成 3D NeRF。在单个 A100 GPU 上,
    的头像 发表于 01-30 16:20 835次阅读
    Adobe提出DMV3D:3D生成只需<b class='flag-5'>30</b><b class='flag-5'>秒</b>!让文本、图像都动起来的新方法!

    Firefox长达21年的 “陈年老bug”,终于修复了!

    Firefox 的工单记录页面显示,一在 21 年前发现的 bug 终于修复了。
    的头像 发表于 01-25 11:08 387次阅读
    Firefox长达21年的 “陈年老bug”,<b class='flag-5'>终于</b><b class='flag-5'>被</b>修复了!

    小米汽车屏幕供应商曝光

    设备即插即用,1.49就能启动应用,3分钟内即可完成整包升级,全车整包升级30 分钟,
    的头像 发表于 01-03 10:30 850次阅读