华裔学者出手!50年零进展算法难题被突破

半个世纪没有进展的问题,如今终于有了新突破!而且是一位华人科学家,单枪匹马搞定。

来自芝加哥伊利诺伊大学厄巴纳-香槟分校的Xiaorui Sun,提出了一种新方法,能够更快速确定群同构。

要知道,让计算机确定群同构、图同构是一个非常复杂的问题。

一方面同构问题的解空间通常非常庞大,随着规模增加、需要考虑的可能性也会翻倍增加。另一方面即便在某些情况下两个结构同构,但是表现形式也会有所不同,给判断和比较增加了困难。

2015年,来自芝加哥大学的学者突破了图同构的计算加速,但是群同构算法的加速,在过去五十年里都没有明显进展。

而Sun的最新工作解决了群同构中被视为最难处理的一部分。

什么是群同构?

首先来理解什么叫做同构。

按照定义来说,就是两个数学结构之间存在一种一一对应的映射,它们包含相同的元素,并且元素之间也处于相同的关系中。

比如下面两个图虽然看起来不同,但它们是同构的,因为它们的顶点和边相同,并且点和边之间的关系一样。

群同构更加抽象一些。

一个群是由元素(如数字)组成的集合,这些元素可以根据某种运算相互组合,计算的和也包含其中。

举例如下,在下面两个群里,任意两个整数相加,结果总是另一个整数。

两个群包含两个元素,用同样的特定操作方式,所以它们是同构的。

同构是数学中的一个重要概念,同样也是计算机科学的基础。

图同构和群同构算法目前也都有非常广泛的应用。

比如图同构算法可以监测网络中的恶意攻击、能分析社交网络结构关系、用于推荐系统、构建语义图等。

群同构算法则在密码学、数学分析与挖掘、图像处理与CV等领域有重要应用。

而在实际应用场景里,不仅需要确定两个对象是否同构,还要保障计算速度。

算法的运行时间往往和处理对象中包含多少元素有直接关系,元素越多、时间越长,但是时长并不一定是线性增长的。

假设有两对群,一对包含5个元素,一对包含10个元素。确定10个元素的群同构问题,花费的时间是5个元素群的两倍?5的平方?还是2的五次方?

这和使用什么算法有一定关系。

1970年左右,普林斯顿大学的罗伯特·塔尔詹(Robert Tarjan)教授提出了一种方法,它的运行时间为n的log n次方(n为元素数量)。

此后半个世纪里,确定群同构的算法速度就停留在这里了。由于工具不够高效,这在一定程度上也影响了群同构的创新拓展。

Sun提出的方法,正是在这一基础上,实现了更快的运行时间:

怎么实现的?Sun提出的方法,主要针对类为2的p群且指数为p。

它们类似于群,其中两个元素的乘积是另一个元素,并且乘积结果不受乘法顺序改变而改变。

他首先将群转换为了矩阵,由此将群同构问题转化为矩阵是否完全相似问题。

而且这里处理的矩阵具有特殊性质,任意两个矩阵组合等于另一个矩阵。

这样一来就将问题转化为判断两个矩阵空间是否为等距。

与此同时,方法中还引入了独创性的一步,将矩阵空间分为两个部分。一部分划定为核心,其中所有的矩阵都是简单的;其余部分中的矩阵则特别复杂。

这一步相当于将一个群划分为只有部分元素的子群。

然后Sun将不同算法应用在这些部分里。处理原则有点像做数独时的步骤。

先找到最简单的部分(矩阵空间的核心)解决,然后在难以判断的部分尝试所有可能的值——只要这部分不是非常多,处理时间也不会很长。

这样一来,Sun就在原有计算速率的基础上实现了加速,让群同构计算的速度范畴从指数时间向多项式时间逼近了一些。

更进一步,他的工作还提高了所有群同构算法加速的可能。

据个人官网介绍,Xiaorui Sun目前是伊利诺大学芝加哥分校计算机系的助理教授。

在此之前,他曾在UC伯克利西蒙思研究所、微软研究院工作过。本硕毕业于上海交通大学,后赴哥伦比亚大学攻读博士学位,研究方向为算法的设计与分析。

返回顶部