八十年以前,已知的乘法运算方式只有一种,就是在课本上所学到的常规竖式计算方法。
当进行位数少的数字相乘时,竖式计算方法是非常快捷、方便的,但若是计算数百万位数或数十亿位数的乘数之间的相乘时,竖式计算方法就显得无能为力了,例如,计算圆周率或者寻找更大的质数。
后来出现了‘Karatsuba算法’,将数字的乘数分解成更小的部分,并重新组合这些部分,这种方式可以用少量的加法和减法来代替大量的乘法。
这一算法完成两个n位数的乘法计算,只需要‘n的1.58次方’次个位数的相乘,而不是之前的‘n的平方’次。
后来又有两位科学家一起,利用‘引入快速傅立叶变换’的方式,来对大数相乘算法进行改进,只需要‘n×logn×log(logn)’次个位数的相乘,就可以完成大数相乘计算,其中logn是n的对数。
这一改进是跨越式的创新,后续大数相乘算法的持续改善,都是以这种方法为基础进行。
王浩的研究成果也同样是以‘引入快速傅立叶变换’的方式进行,才会用‘是改善、也是创新’来形容自己的成果,他的讲解也是从‘傅立叶变换算法’开始的。
以‘傅里叶变换算法’展开,辅助其他的计算手段,构建出一个包含‘结果’数字区域。
这就是创新的地方。
他的研究并不是正常进行一步步的计算,而是划定了‘可能成为结果的数值集合’,比如,25*25,就可以简单划定结果在400到900的区间,通过一些必要的筛选,比如‘尾数是5’,把集合里面的数字一个個划去,直到最后只剩下一个数字,就确定为最终结果。
当然,超大数相乘要复杂的多,引入‘快速傅里叶变换’并辅助其他计算方法,划定的范围会更加精准。
如果是计算‘25乘25’,可以直接圈定范围就是在‘725、625、525’三个数字之间,而后可以迅速排除725和525,最终得到结果625。
“在对比每一个位数的数字后,就可以把范围继续缩小……”
“每一个进位数相乘的结果,都可以帮助继续排除范围内的数字,越是高位数,排除的范围就越大,我们可以看到,当接近最高位数时……”
“涉及到更精准的筛选,就需要用到……”
随着讲解慢慢的展开,台下众人都变得非常认真,同时也非常的感兴趣,因为他们听到的是一个非常新颖的计算方式。
在此之前,所有的乘法计算方式,都是按部就班、一步步的进行计算,而不是圈定一个集合去做筛选,新的方式更像是‘人脑思维’、‘模糊数学’的手法。
类似于‘人脑’、‘模糊数学’只是最开始圈定范围的部分,后来的一步步筛选,则都是详细的计算。
第一排的评委席上,一头白发的约瑟夫-斯发基斯小声对沃尔夫冈-基利安说道,“我看了他的论文,知道这种方法,只不过不清楚是否准确,也不清楚计算次数是否和论文上说的一样少。”
“现在,我确定了。”
约瑟夫-斯发基斯说着有些得意,“是我坚持留下了这篇论文。”
沃尔夫冈-基利安笑道,“确实很有意思,方法很新奇,逻辑非常严谨,应该是没有问题的。这会是乘法的一次创新,非常有意义的创新。”
台上。
王浩讲解的非常细致,又用了半个多小时,才把所有的‘筛选步骤’一一讲解完毕。
随后,他双手撑着讲桌,面带微笑的总结道,“通过这一套筛选流程,最终只会得到一个数字。那就是最终结果。”
“按照这个方法,当计算超大位数乘法时候,需要的计算次数,少于‘三分之n×logn’次计算,应该已经是目前已知最快的方法之一了。”
台下安静了一下。
随后,稀稀拉拉的掌声响起,接近着掌声越来越大,快速充斥了整个报告厅,并持续了很长时间。
第二排中间,有个人没有鼓掌。
是戈尔利克斯。
昨天戈尔利克斯的报告被王浩证实是错误的,他回去以后审视了整个过程,就像是王浩当场指出的那样,确实是存在错误的。
但是,戈尔利克斯可不会因此感激王浩,或者说,只要不是传说中的圣人,都不可能在被当众指出错误后,会对指出错误的人心生感激。
戈尔利克斯是丢了个大脸,走在路上还被其他人指指点点。
当然主要原因是他的报告错误,但也不由得对于王浩暗中生恨,千万不要指望顶尖的学者会心胸宽广、会包容、会审视自己的错误之类。