来自芝加哥伊利诺伊大学厄巴纳-香槟分校的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伯克利西蒙思研究所、微软研究院工作过。本硕毕业于上海交通大学,后赴哥伦比亚大学攻读博士学位,研究方向为算法的设计与分析。
|
原创栏目
IT百科
网友评论
聚超值•精选