设为首页 收藏本站 English

当前位置: 迅展机械网 >> 最新文章

哈维和范德霍芬提出两个非常大的数字相乘洗地毯机迄今最快算法

发布时间:2019-07-29 14:46:23

哈维和范德霍芬提出两个非常大的数字相乘洗地毯机迄今最快算法

据国外媒体报导,4千年前,塑料机巴比伦人发明了乘法,而最近数学家们又对乘法进行了完善,两位研究人员描写了迄今为止发现的将两个非常大的数字相乘的最快方法。这篇论文具有重要的意义,标志着长时间以来寻觅最高效乘法步骤的努力到达了新的高度。

“基本上,每一个人都认为你在学校学习的(相乘)方法是最好的,但实际上这是1个活跃的研究领域,”法国国家科学研究中心的数学家、论文合著者约里斯·范德霍芬说道。该论文发表在法国的国家开放存取文献数据库Archive ouverte HAL(https://hal.archives-ouvertes.fr/hal-02070778/document)上。

从计算圆周率的新位数到寻觅大质数,许多计算问题的复杂性都可以归结为乘法运算的速度。依照范德霍芬的描写,他们的研究结果实际上是为许多其他类型的问题的求解速度设定了1种数学极限。

“在物理学中,有1些重要的常数,比如光速,可以用来描写各种现象,”范德霍芬说,“如果你想知道计算机解决某些数学问题的速度能有多快,那末就能够将整数乘法视为某种基础,你可以用它来表示这些速度。”

大多数人都用一样的方法学习乘法。我们把两个数分两排写,用下面发热管数字的每位乘以上面数字的每位,最后排列好再做加法。如果是两个两位数的数相乘,藤桌椅那振动马达你1共要做4个较简单的乘法来得到终究的乘积。

这类小学中所教的方法或称“进位”法需要n^2个步骤,其中n是每一个相乘数字的位数。所以机米螺丝3位数需要9次乘法,而100位数需要10000次乘法。

这类进位法适用于只有几个位数的数字,但是当我们将具有数百万或数10亿位数的数字相乘(比如计算机精确计算圆周率,或寻觅大型质数)时,这类方法就会堕入停滞。两个10亿位数的数字相乘需要运行10^18次(10亿的平方)的乘法——这将花费现代计算机大约30年的时间。

几千年来,人们普遍认为没有更快的相乘方法。1960年,23岁的俄罗斯数学家安纳托利·海洋平台卡拉苏巴参加了由20世纪最伟大数学家之1的安德烈·科尔莫戈罗夫主持的研讨会。柯尔莫戈罗夫在会上断言,没有少于n^2个步骤的通用乘法进程。卡拉苏巴认为并墙面砖不是如此。经过1周的努力,他找到了更快进行乘法运算的新方法。

卡拉苏巴的方法触及将数字按数位分解,并以1种新颖的方式重新组合它们,允许使用少许的加法和减法替换大量的乘法。该方法可以节省时间,由于加法只需2n步,而不是n^2步。

“如果用加法的话,你可以在学校里提早1年就使用这1方法,由于它容易很多。你可以连续地相乘,几近就像从右到左浏览数字1样快,”宾夕法尼亚州立大学的数学家马丁·富勒说道。他在2007年短裙建立了当时最快的乘法算法。

当处理梳理机大数时,你可以重复卡拉苏巴的进程,将原始数字分解为几近与数位一样多的部份。每进行1次拆分,就能够用加法和减法来代替乘法,从而锌锰电池减少很多步骤。澳大利亚新南威尔士大学的数学家、这篇新论文的计价秤合著者大卫·哈维说:“你可以把1些乘抹泥板法转化为加法,重点在于,对电脑来讲,做加法的速度会更快。”

卡拉苏巴的方法使得仅使用n^1.58个1位数乘法就能够进行大数汽车凉垫的相乘。然后在1971年,德国数学家阿诺德·肖恩哈格和沃克尔·斯特拉森发表了1种方法,可以在n×log n×log(log n)个步骤内完成的大数乘法,其中log n是n的对数。对两个10亿位数的数字,卡拉苏巴的方法需要大约额外运算165万亿个步骤。

肖恩哈格和斯特拉森的方法主要是关于计算机如何运算大数乘法,对未来的研究产生了两个重要的长时间影响。首先,该方法引入了1种来自信号处理领域的技术,即快速傅里叶变换。该技术1直是所有快速乘法算法的基础。

其次,在同1篇论文中,肖恩哈格和斯特拉森推测应当有1种更快的算法,1种只需要n×log n个单位数运算的方法,而且这类算法多是最快的。他们的推测基于1种直觉,即像乘法这样的基本运算必须有1个比n×log n×log(log n)更优雅的极限。

欧式家具

“人们普遍认为,乘法运算是1项非常重要的基本运算,以致于从美学的角度来看,这么重要的运算需要1个很好的复杂度边界,”富勒说,“从1般经验来讲,基本事物的数学终究总是优雅发箍的。”

肖恩哈格和斯特拉合金线森提出的n×log n×log(log n)方法直立体车库到36年后才被取代。2007年,富勒提出了新的方法,闸门打开了。在过去的10年里,数学家们相继发现了更快的砼搅拌站乘法算法,每种算法都在1点点逼近n×log n,但都没有完全到达。终究在上个月,哈维和范德霍芬做到了。

他们的方法主要是对前人工作进行了改进,包括拆分数字,使用改进版的快速傅里叶变换,并利用了过去40年获得的其他进展。范德霍芬说:“我们以更加频繁的方式使用(快速傅里叶变换),而不是只使用1次,并且用加法和减法取代更多的乘法手机排线。”

哈维和范德霍芬的算法证明了乘法可以在n×log n步内完成,但这其实不能证明没有更快的方法。要肯定这是可能的最好方法要困难很多塑料扎带。今年2月底,丹麦奥尔胡斯大学的1个计算机科学家小组发表了1篇论文,认为如果另外一个未经证实的料想也是正确的话,那末哈维和范德霍芬确切提出了最快的乘法运算方法。

虽然新算法在理论上具有重要意义,但在实践中还不会带来太大的变化,由于它只比已有的算法好1点点。“我们所期望的是,这类方法的运算速度能比现在快3倍,”范德霍芬说,“不会太过惊人。”

另外,鲟鱼养殖计算机硬件的设计也产生了变化。20年前,计算机的加法运算比乘法运算快很多。经过过去20年的发展,乘法理瓶机和加法之间的速度差距已大大缩小,在1些芯片架构中,乘法乃可视电话至可以比加法更快。哈维表示,利用1些硬件,“你实际上可以通过让计算机做乘法来加快排气装置做乳制品加法的速度,这简直太疯狂了。”

硬件会随着时期而改变,但1流的算法是永久的。不管未来的计算机是甚么模样,哈维和范德霍芬的算法依然是最高效的乘法算法。

友情链接