对抗知识焦虑,从看懂这条开始
App 下载对抗知识焦虑,从看懂这条开始
App 下载
计算极限|大O符号|银河算法|理论最优复杂度|整数乘法算法|应用数学|数理基础
2019年,两位数学家宣布解决了一个困扰学界60年的难题:找到了整数乘法的理论最优算法,复杂度达到O(n log n)——这意味着当数字足够大时,它能把乘法速度提升到现有方法的极限。但紧接着他们补充了一句:这个算法需要处理的数字位数,得比宇宙中的原子总数还多才能体现优势。换句话说,在地球的任何一台计算机上,它永远都跑不过你小学就学过的竖式乘法。这种只存在于理论中的算法,有一个浪漫又残酷的名字:银河算法(Galactic Algorithm)。为什么科学家要花几十年研究一种永远用不上的东西?
你可以把算法复杂度的「大O符号」想象成汽车的百公里油耗——它告诉你的是极限状态下的效率,却不会告诉你启动时要烧多少油、空调开着会多费多少油。银河算法的问题,就藏在这个被忽略的「启动油耗」里:那些被大O符号省略的常数因子,大到离谱。
比如AKS素性测试,它是第一个能在多项式时间内确定性判断素数的算法,解决了素性测试依赖概率的百年难题。但它的时间复杂度是O(log⁶n),这个看似温和的多项式背后,隐藏的常数大到什么程度?判断一个100位的素数,用AKS需要的时间,比用普通的米勒-拉宾概率算法多几百万倍。现实中,哪怕是银行密码用的2048位大素数,米勒-拉宾算法也能在毫秒级给出结果,AKS却要算上几年。

直给的逻辑链是这样的:
没人会真的用银河算法去算乘法或判断素数,但它们绝非毫无意义的数学游戏。2008年,奥默·莱因戈尔德提出的无向图连通性算法,把空间复杂度从多项式级降到了对数级,成为复杂度理论的里程碑。这个算法同样是银河级的——现实中任何一个图问题,用几十年前的深度优先搜索都比它快得多,但它证明了一个关键猜想:无向图连通性属于对数空间复杂度类L。这个结论直接改写了复杂度理论的边界,为后续所有相关研究指明了方向。
更现实的例子是LDPC码(低密度奇偶校验码)。它最初是1960年由加拉格尔提出的,因为解码复杂度太高,在当时的硬件条件下完全无法实现,被雪藏了36年。直到1996年,随着FPGA和ASIC技术的成熟,LDPC码的解码效率终于能被硬件承载,如今它已经成为5G通信、卫星通信的核心编码方案。当年的银河算法,在技术进步的推动下,成了改变通信行业的关键技术。

更值得关注的是,银河算法的研究过程中诞生的数学工具,往往比算法本身更有价值。Harvey和van der Hoeven的整数乘法算法,用到了1729维离散傅里叶变换和数论中的Mersenne素数分布,这些技术后来被用到了密码学和数值计算的优化中。
银河算法的「无用」,往往只是暂时的。斯特拉森矩阵乘法算法在1969年被提出时,因为数值稳定性差、实现复杂,被视为典型的银河算法——当时的计算机算力,要处理几千阶的矩阵才能体现优势,而现实中几乎没有这么大的矩阵需求。但随着深度学习的兴起,如今的神经网络动辄需要处理几十万甚至上百万阶的矩阵,斯特拉森算法已经成了GPU加速库中的标准选项。

还有一个更极端的假设:如果有人找到了一个复杂度为O(n^2^100)的多项式时间SAT算法,它的运行时间长到宇宙热寂都算不完,但它会直接解决P与NP问题——这个被称为计算机科学皇冠上的明珠的千年难题。仅仅是证明P=NP这个结论,就会彻底改变密码学、优化理论、人工智能的研究方向,哪怕这个算法永远都跑不起来。
现在的计算机算力,每隔18个月就会翻倍,按照摩尔定律的速度,今天的银河算法,可能在几十年后就会变成日常工具。就像1960年的人想象不到,当年需要用大型计算机算几个小时的问题,今天的手机就能在瞬间完成。
我们总习惯用「有用没用」来衡量科技的价值,但银河算法告诉我们,科学的边界,往往是由那些「没用」的探索定义的。它们就像天文学中的望远镜,指向的是人类暂时无法触及的宇宙边缘,却能让我们看清自己所处的位置。
理论与现实的鸿沟,从来不是科学的终点,而是它的起点。那些今天看起来遥不可及的银河算法,或许就是未来技术革命的第一缕星光。
无用之探索,方有大用之未来。