数学家仍然不知道最快的数字乘法

一名 23 岁学生推翻了关于数学最简单运算之一的古老猜想

来源:科学美国人

小学生可能会记住个位数的乘法表,但当老师要求三位数乘法时,记住并不能解决问题。这需要一种算法:教学生将一个数字堆叠在另一个数字之上,并将底部数字的每个数字乘以顶部数字的每个数字。几千年来,数学家们一直相信这是最快的乘法方法,直到 1960 年一位 23 岁的年轻人有了一个令人震惊的发现,这导致了一个至今仍未解开的谜团。

这个谜团对于任何参与数字世界的人来说都是至关重要的,因为乘法是计算机的基本运算。加密、机器人、人工智能、音频处理以及我们交给硅芯片的几乎所有其他任务都涉及乘法,有时需要多次乘法。在这种规模下,即使是简单的操作也会成为瓶颈,任何额外的效率都会对全球经济产生影响。

关于支持科学新闻

如果您喜欢这篇文章,请考虑通过订阅来支持我们屡获殊荣的新闻事业。通过购买订阅,您将有助于确保有关塑造当今世界的发现和想法的影响力故事的未来。

唐叶的天才之处在于,他意识到可以用昂贵、耗时的乘法来换取廉价、快速的加法。将两个 n 位数字相加只需要 O(n) 时间,因为它需要对数字进行一次扫描,而不是像乘法那样对底部数字的每个数字对顶部数字进行完整扫描。为了了解唐叶如何将乘法换成加法,让我们看一个小例子。对于这样一个简单的问题,该方法过于复杂,但当数字变大时,它可以节省大量时间。

在这个简单的例子中,我们来计算 12 × 34。

展开得到 100(ac) + 10(ad+bc) + (bd)。

(ad+bc) = ((a+b) × (c+d)) –ac–bd,

或者使用我们的具体数字: