打破线性方程求解速度极限,IOI金牌得主、华人学者新算法获顶会SODA 2021最佳论文奖

2021-03-09 22:14 960 阅读 ID:288
量子位
量子位

    还记得小时候被“鸡兔同笼”支配的恐惧吗?

    其实,当我们学习了二元一次方程,就知道这个问题并不复杂:



    不过,可别小看了这样的线性方程,试想一下,如果动物的种类不止2种,特征也不只头和脚呢?

    比如……



    这个时候,我们就只能求助矩阵乘法了。



    那么,问题来了,采用高斯消元法,求解的复杂度就是O(n3)

    也就是说,如果n从2增加到4,求解复杂度就会增加2³即8倍。

    n越来越大,计算的步骤就会以3次方的速度快速增加……

    想想机器学习、工程项目里极其复杂的矩阵乘法,是不是有点头皮发麻的感觉。

    好消息是,现在,这个困扰工程师们已久的基础问题,有了突破性进展。

    计算机理论顶会SODA 2021的最佳论文,用“猜”答案的方式,一口气把算法复杂度减小到了O(n2.3316)!

    论文作者,是来自佐治亚理工学院的两位数学家:彭泱和Santosh Vempala。



    这项研究具体是怎么一回事?快来一起研究研究。

    IOI金牌获得者,靠“猜”推动研究

    IOI金牌获得者、来自佐治亚理工学院的助理教授彭泱,和他的合作者Santosh Vempala共同提出了一种全新的思路。



    相比于此前,数学家们不停地改进矩阵乘法的算法,他们别出心裁,想到能否靠“”,来重新设计一种算法。

    这种方法就是:猜测每个未知数的值,把它们代入方程后,查看结果与实际值相差有多大。

    然后,修正未知数的值,再猜一次。

    这种方法,在计算机方向上被称为迭代法



    彭泱的这种迭代算法,在方程的数量变得极多、且每个方程涉及的未知数较少时,显示出了巨大的优势。

    也就是说,如果在一个系数矩阵属于“稀疏矩阵”——矩阵本身特别大,但相对地,系数为0的数量又非常多的时候,迭代法就会出现神奇的结果。



    此前,没有人能够证明,“迭代法”对于稀疏矩阵而言,是否会比“矩阵乘法”更快。

    当然,这种算法并不只靠“猜”。

    彭泱设计的算法中,他们还会在给出多组随机数的同时,将这些随机数组并行计算。

    这就像是数百个人同时在山林中搜索宝藏,肯定比一个人反复搜索要更快。

    但这种算法的设计,还面临两个难点:

    如何保证设计出来的数,足够随机、不偏向问题的任何一部分?

    如何保证设计出来的这些随机数组,全面覆盖每一种可能性?



    他们发现,正因为由随机数构造出的矩阵中,项数是随机的、且彼此之间有着某种关联,因此,这一矩阵本身就具有某种对称性。

    这就意味着,如果知道矩阵中某些具体的数值,就能推断出一整个矩阵的形状。

    这一发现,使得他们设计的算法,比未考虑矩阵对称性的那些算法,找到解的速度更快。

    事实证明,这种算法确实能够保证在O(n2.3316)复杂度以内,完成任何计算。

    这比之前的O(n2.37286),复杂度降低了不少,可以说是一个巨大的进步。



    这一新发现,让彭泱和他的合作者获得了ACM-SIAM离散算法研讨会SODA 2021的最佳论文奖。

    为什么要降低计算复杂度?

    解一个二元一次方程,也就是2×2的矩阵,靠中学知识就能轻松搞定。

    然而当n变得越来越大,求解方程的计算量就会以3次方的速度迅速增加。

    这是什么概念?

    意味着如果线性问题中,要求解的未知数达到100甚至10000,那么计算量复杂度就会增加1000000、甚至1012倍。

    目前,机器学习、动力学模拟等问题,都会遇到超大规模线性方程组,如何降低计算复杂度,一直是学者们致力于解决的问题。



    要是计算复杂度居高不下,对于计算机而言,将会是一个巨大而沉重的负担。

    因此,数学家们一直在想方设法将线性问题的复杂度弄得更小一点,也就是让O(nω)中的ω变小。

    哪怕ω减小的量只有0.00001,对于上百万未知数的方程组来说也是一个巨大的进步。

    通过不断改善矩阵乘法,ω先是从3降低到2.81,历经多次研究后,被MIT和哈佛的数学家们降低到2.37286。

    然而,到这个阶段,数学家们倾尽全力所设计的新算法,也只是将ω降低了0.00001而已。

    有数学家进行过预测,ω可以无限接近于2,也就意味着这种线性问题的计算复杂度还能尽力向O(n²)靠拢。

    因此,彭泱他们的新算法,可以说是将这一研究向前推动了一大步。

    关于作者

    论文作者彭泱,江苏南京人,现为佐治亚理工学院计算机科学系助理教授。

    他本科毕业于滑铁卢大学数学专业,其后在CMU拿下计算机科学博士学位。2013-2015年在MIT担任应用数学博士后。

    目前,他主要关注的研究方向是高效算法的设计、分析和实现。

    根据Google Scholar,彭泱的论文引用数为2788,h指数为28。



    他的名字,也频频见于FOCS、STOC、SODA等计算机理论顶会论文当中。



    彭泱与数学和计算机结缘很早,据中国侨网报道,他8年级时就曾参加10年级水平的美国数学比赛,并获得满分的成绩。还在2004年和2005年参加加拿大计算机竞赛,摘下金牌。

    2005年和2006年,彭泱代表加拿大队参加国际奥林匹克数学竞赛(IMO),分别获得银牌和铜牌。



    而在此期间,他还参与了2004、2005和2006年的国际奥林匹克信息学竞赛(IOI),并在2005年获得金牌。



    论文的另一位作者Santosh Vempala是著名计算机科学家,佐治亚理工学院计算机科学杰出教授。2015年,他入选“因对凸集和概率分布算法的贡献”入选ACM Fellow。



    他的主要研究方向是算法理论,用于抽样、学习、优化和数据分析的算法工具,高维几何,随机线性代数等。

    Santosh Vempala还是古根海姆奖、斯隆奖获得者。

    论文地址:
    https://arxiv.org/abs/2007.10254

    参考链接:
    [1]https://www.quantamagazine.org/new-algorithm-breaks-speed-limit-for-solving-linear-equations-20210308/
    [2]https://www.cc.gatech.edu/~rpeng/
    [3]http://www.arc.gatech.edu/
    [4]https://www.chinaqw.com/node2/node2796/node2882/node3156/userobject6ai253919.html
    [5]https://www.siam.org/conferences/cm/conference/soda21

    —完—

    @量子位 · 追踪AI技术和产品新动态

    深有感触的朋友,欢迎赞同、关注、分享三连վ'ᴗ' ի ❤

    免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
    反馈
    to-top--btn