半个世纪没有进展的问题,如今终于有了新突破!而且是一位华人科学家,单枪匹马搞定。
来自芝加哥伊利诺伊大学厄巴纳-香槟分校的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伯克利西蒙思研究所、微软研究院工作过。本硕毕业于上海交通大学,后赴哥伦比亚大学攻读博士学位,研究方向为算法的设计与分析。