CN116680447A - 高效稳定的(子)图(矩阵)同构算法 - Google Patents

高效稳定的(子)图(矩阵)同构算法 Download PDF

Info

Publication number
CN116680447A
CN116680447A CN202010834164.XA CN202010834164A CN116680447A CN 116680447 A CN116680447 A CN 116680447A CN 202010834164 A CN202010834164 A CN 202010834164A CN 116680447 A CN116680447 A CN 116680447A
Authority
CN
China
Prior art keywords
graph
collision
isomorphism
vertices
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010834164.XA
Other languages
English (en)
Inventor
沈利兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Fange Network Technology Co ltd
Original Assignee
Shanghai Fange Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Fange Network Technology Co ltd filed Critical Shanghai Fange Network Technology Co ltd
Priority to CN202010834164.XA priority Critical patent/CN116680447A/zh
Priority to PCT/CN2020/134861 priority patent/WO2022036941A1/zh
Publication of CN116680447A publication Critical patent/CN116680447A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Abstract

发明了一个基于子图与图对撞(等价于建立约束条件方程组,然后解之)的高效稳定的图(矩阵)同构算法,理论上证明了对绝大多数图(矩阵),存在时间复杂度O(n^2),空间复杂度O(n)的多项式算法,其中n是图的顶点数。此算法能在普通微机上轻松处理10万个顶点的(正则)图。此算法可轻松扩展到矩阵同构(图是矩阵的特例),也可以扩展到某些类别的子图(矩阵)同构。本发明非常适合采用多线程并行技术。

Description

高效稳定的(子)图(矩阵)同构算法
技术领域
(子)图(矩阵)同构算法属于数学和计算机领域。
背景技术
现在世界上有5种以上实际使用的图同构方法,但都不是多项式时间算法,故程序运行总时间不可预测,对内存需求巨大,当图较大时,比如有100000个顶点的(正则)图,即使用超算中心,也无能为力。是否存在多项式算法,是个未解的数学问题,具有极大的理论和实用价值。数学家和计算机专家多数预测:图同构应该存在多项式时间算法,而子图同构则相反。目前,理论上最好的结果是2015年的一篇89页的论文:存在准多项式的图同构算法,目前还没有通过同行审核。
发明内容
发明了一个基于图对撞使得图顶点分裂的高效稳定的图同构算法,理论上证明了对绝大多数图,存在时间复杂度O(n^2),空间复杂度O(n) 的多项式算法,其中n是图的顶点数。经过实测,性能远远超过现有的算法,具体请参看下文中的对比试验数据。此算法可轻松扩展到矩阵同构(图同构只是矩阵同构的特例), 也可以扩展到子图(矩阵)同构。
定义
G 或者K : 简单连通图
d(G): G 的顶点度序列(从大到小排列)
G(v,w,...): G 中的顶点v,w,...
n(G): G的顶点个数
正则图:任意点的顶点度都是相同的图
Gr,n : 顶点个数为n的正则图 G,r 为G 中任意点的顶点度
G/(v,w...) : G删除顶点v,w...后的导出子图
算法介绍
如果 K ≌ G , 那么必有 d(G) = d(K)。
从一个简单的例子开始
假设 d(K) = [ 10, 10 , 9 , 9 , 9 , 9 , 8 , 8, 7, 5 , 3, 2] = d(G), 且K, G的顶点都分别标记为0到11中的一个数字(K一共有12个顶点),并且
d(K)映射到 K的顶点: [ 5, 1, 2, 3, 4, 6, 9, 0, 8, 7, 11, 10 ]
d(G)映射到 G的顶点 : [ 0, 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10, 11]
K中的顶点按照顶点度的相同与否,必然可以分为数个数组, 比如 K(5,1), K(2,3,4,6) 等。
G中的顶点按照顶点度的相同与否,必然可以分为数个数组, 比如 G(0,1), G(2,3,4,5) 等。
如果K ≌ G,必然有K(5,1) 映射到G(0,1), K(2,3,4,6)映射到 G(2,3,4,5) 等,即有下面的数组上下一一对应:
K: [(5,1), (2,3,4,6), (9,0), (8), (7), (11),(10)]
G: [(0,1), (2,3,4,5), (6,7), (8), (9), (10),(11)] ----- (1)
但目前不知道 K(5) 映射到 G(0) 还是 G(1),也不知道K(9)映射到G(6)还是G(7)等等,即有不确定性存在。
令 K1 = K/(8,7,11,10)
令 G1 = G/(8,9,10,11)
如果 K ≌ G , 必有 K1≌ G1,故必有d(K1) = d(G1) 。
假设: d(K1) = d(G1) = [7,7,6,6,5,5,4,4]
映射到K1顶点 : [(5,2),(1,3),(4,9),(6,0)]
映射到G1顶点 : [(0,4),(1,2),(5,6),(3,7)] ----- (2)
结合 (1) and (2),即等价于K1和K碰撞,G1和G碰撞, 必然有如下的一一对应:
K: [(5),(1),(3),(4),(2),(9),(6),(0),(8),(7),(11),(10)]
G: [(0),(1),(2),(5),(4),(6),(3),(7),(8),(9),(10),(11)] -----(3)
结果是每个数组的维度都是1, 故不确定性完全消失了!
即经过一次碰撞,立刻建立了唯一可能的映射关系,效率惊人的高!
因为(3)式是G和K 同构的必要条件,故需要验证是否真的同构(此步骤很容易)。
如果经过一次碰撞,不能建立合法的映射关系,就可以判定K和 G不同构。
碰撞理论类似于两个原子高速迎面对撞,互相撞的粉碎,如果这两个原子同构,则撞出来的粒子必然要一一对应,若无合法的对应关系,则不同构。
但生活不会如此美好,不可能每次都能一次碰撞就能彻底解决对应关系。好消息是,随机选取不同的子图,经过不超过20次碰撞(理论上非常粗糙的估计,设能被分开的数组碰撞后分开的概率是p ,1/2 ≤ p < 1, 那么经过20次碰撞,没有被分开的概率为(1-p)^20,几乎为0,若仔细分析,p 取值往往非常接近于1,当数组的维度大于2时)会来到一个不太可能再被分割的状态,即无论将来产生何种子图与母图对撞,对应关系都不太可能发生变化: 此时要么已经建立了唯一可能的完全确定的对应关系(好消息),要么是有未确定的(表面看上去是坏消息)。后者可能真的是坏消息,但也有可能是意想不到的好消息:任意数组中的点是等价的!换句话,我们找到了所有的可能的自同构!
例如, 如果d(G) = [5,5,5,5,5,5,5,5,4,4], d(G1)= [0,0] 或 [4,4,4,4,4,4,4,4], 它要么是好消息,即顶点度为5的8个点彼此等价,顶点度为4的2个点彼此等价, 要么是坏消息。
乐观主义者基于好消息假设可以直接给予一个随机映射,并检验是否同构。若不同构,则进入悲观主义者的行动。
悲观主义者在顶点度为4 (或者5,实际上为了节约计算时间,往往选择数组维度小的)的顶点上做两次试探性测试:假设 G(3,4) 和K(1,2)顶点度都是 4,映射G(3) 到 K(1) 或 K(2) (没有其它可能性), 然后继续碰撞,不超过20次,就进入下一个不可分割状态!
需要进入试探性阶段的图,都具有特殊的结构。虽然容易构造出特殊图,但当n 足够大时(比如n > 99),在所有同阶图中的比例是非常小的,几乎可忽略不计。很特殊的一个例子是正则图Gr,n,可能需要n次试探,才能判定同构与否。
可喜点的是,绝大多数图(矩阵)是不需要进入任何试探阶段的,往往在10次(而不是理论预期的20次)碰撞后就消除了任何不确定性,或者在1-2次碰撞后就被判定为不同构。所以这是一个非常高效且稳定的算法。对绝大多数图(矩阵)而言,此算法的时间复杂度为O(n^2), 空间复杂度为O(n)。
极端情况下的算法复杂度,目前还不清楚,可能需要群论的知识来分析。可以合理的猜测,极端情况下的多数判定,时间复杂度为O(n^3),空间复杂度依然为O(n),最坏情况下,时间复杂度可能是O(n^log(n)),空间复杂度可能是O(nlog(n))。这个问题,值得在理论上进一步探讨。希望在广泛的实际应用中,能找到一个最坏案例,加深对特殊图结构的理解。
对比测试结果
在MACBOOK PRO,CPU i7, 内存16G,SageMath 8.7测试环境下。
以每三行为一组
第一行:新方法测试10个随机图所花时间(以秒为单位),图顶点数,新方法所花时间总和 / 系统本有方法所花时间总和。
第二行:系统本有方法测试10个随机图所花时间。
第三行:新方法碰撞次数。
非正则图测试对比:
[1.5, 1.5, 1.5, 1.5, 1.5, 2.0, 1.5, 2.0, 1.5, 1.5] 2000 比例 0.25
[8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0]
[6, 7, 6, 6, 6, 8, 6, 8, 7, 7]
[6, 5, 4, 6, 5, 5, 5, 5, 5, 5] 4000 比例 0.132812500000000
[39, 39, 38, 39, 38, 38, 39, 38, 38, 38]
[6, 6, 6, 6, 6, 6, 7, 6, 6, 6]
[11, 13, 16, 12, 16, 12, 11, 10, 12, 14] 6000 比例 0.122942884801549
[102, 103, 104, 104, 104, 104, 104, 103, 102, 103]
[6, 7, 8, 6, 8, 6, 6, 6, 7, 8]
[21, 26, 22, 19, 20, 21, 18, 19, 19, 26] 8000 比例 0.103431372549020
[202, 202, 204, 204, 210, 204, 203, 203, 204, 204]
[6, 8, 7, 6, 6, 6, 6, 6, 6, 8]
正则图测试对比:
[1, 1, 2, 1, 1, 1, 1, 1, 1, 1] 500 比例 0.550000000000000
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
[8, 10, 8, 9, 10, 8, 10, 8, 8, 8]
[13, 12, 12, 12, 11, 16, 12, 12, 11, 12] 1000 比例 0.288056206088993
[46, 42, 42, 42, 42, 42, 44, 43, 42, 42]
[10, 10, 8, 8, 8, 8, 8, 8, 8, 8]
[98, 96, 99, 94, 96, 98, 98, 109, 99, 97] 2000 比例 0.139455782312925
[702, 699, 698, 711, 709, 704, 706, 704, 710, 713]
[10, 8, 9, 10, 8, 9, 8, 8, 8, 9]
对正则图,新方法的效率即使在单线程的测试环境下,也达到很高的程度,比如2000个顶点时,比例 0.139455782312925,而非正则图,比例 0.25。如果开n个线程,效率将得到几乎n倍速的提高。
对子图(子矩阵)判定,因为有强大的概率论和顶点度序列对应这两个高效工具,故可以提供很强的剪枝能力,减少搜索空间。
结论
此算法不仅实用性非常强,而且理论上也非常重要,可能是证明P≠NP的一个切入点。

Claims (2)

1.一种突破性的稳定高效的图(矩阵)G,K同构算法,即基于子图和母图的碰撞,导致母图极度分裂,从而在G,K的顶点中建立必要的一一对应。
定义:
G 或者K : 简单连通图
d(G): G 的顶点度序列(从大到小排列)
G(v,w,...): G 中的顶点v,w,...
正则图:任意点的顶点度都是相同的图
G/(v,w...) : G删除顶点v,w...后的导出子图
算法介绍:
如果 K ≌ G , 那么必有 d(G) = d(K)。
从一个简单的例子开始
假设 d(K) = [ 10, 10 , 9 , 9 , 9 , 9 , 8 , 8, 7, 5 , 3, 2] = d(G), 且K, G的顶点都分别标记为0到11中的一个数字(K一共有12个顶点),并且
d(K)映射到 K的顶点: [ 5, 1, 2, 3, 4, 6, 9, 0, 8, 7, 11, 10 ]
d(G)映射到 G的顶点 : [ 0, 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10, 11]
K中的顶点按照顶点度的相同与否,必然可以分为数个数组, 比如 K(5,1), K(2,3,4,6) 等。
G中的顶点按照顶点度的相同与否,必然可以分为数个数组, 比如 G(0,1), G(2,3,4,5) 等。
如果K ≌ G,必然有K(5,1) 映射到G(0,1), K(2,3,4,6)映射到 G(2,3,4,5) 等,即有下面的数组上下一一对应:
K: [(5,1), (2,3,4,6), (9,0), (8), (7), (11),(10)]
G: [(0,1), (2,3,4,5), (6,7), (8), (9), (10),(11)] ----- (1)
但目前不知道 K(5) 映射到 G(0) 还是 G(1),也不知道K(9)映射到G(6)还是G(7)等等,即有不确定性存在。
令 K1 = K/(8,7,11,10)
令 G1 = G/(8,9,10,11)
如果 K ≌ G , 必有 K1≌ G1,故必有d(K1) = d(G1) 。
假设: d(K1) = d(G1) = [7,7,6,6,5,5,4,4]
映射到K1顶点 : [(5,2),(1,3),(4,9),(6,0)]
映射到G1顶点 : [(0,4),(1,2),(5,6),(3,7)] ----- (2)
结合 (1) and (2),即等价于K1和K碰撞,G1和G碰撞, 必然有如下的一一对应:
K: [(5),(1),(3),(4),(2),(9),(6),(0),(8),(7),(11),(10)]
G: [(0),(1),(2),(5),(4),(6),(3),(7),(8),(9),(10),(11)] -----(3)
结果是每个数组的维度都是1, 故不确定性完全消失了!
即经过一次碰撞,立刻建立了唯一可能的映射关系,效率惊人的高!
因为(3)式是G和K 同构的必要条件,故需要验证是否真的同构(此步骤很容易)。
如果经过一次碰撞,不能建立合法的映射关系,就可以判定K和 G不同构。
碰撞理论类似于两个原子高速迎面对撞,互相撞的粉碎,如果这两个原子同构,则撞出来的粒子必然要一一对应,若无合法的对应关系,则不同构。
但生活不会如此美好,不可能每次都能一次碰撞就能彻底解决对应关系。好消息是,随机选取不同的子图,经过不超过20次碰撞(理论上非常粗糙的估计,设能被分开的数组碰撞后分开的概率是p ,1/2 ≤ p < 1, 那么经过20次碰撞,没有被分开的概率为(1- p)^20,几乎为0,若仔细分析,p 取值往往非常接近于1,当数组的维度大于2时)会来到一个不太可能再被分割的状态,即无论将来产生何种子图与母图对撞,对应关系都不太可能发生变化:此时要么已经建立了唯一可能的完全确定的对应关系(好消息),要么是有未确定的(表面看上去是坏消息)。后者可能真的是坏消息,但也有可能是意想不到的好消息:任意数组中的点是等价的!换句话,我们找到了所有的可能的自同构!
例如, 如果d(G) = [5,5,5,5,5,5,5,5,4,4], d(G1)= [0,0] 或 [4,4,4,4,4,4,4,4],它要么是好消息,即顶点度为5的8个点彼此等价,顶点度为4的2个点彼此等价, 要么是坏消息。
乐观主义者基于好消息假设可以直接给予一个随机映射,并检验是否同构。若不同构,则进入悲观主义者的行动。
悲观主义者在顶点度为4 (或者5,实际上为了节约计算时间,往往选择数组维度小的)的顶点上做两次试探性测试:假设 G(3,4) 和K(1,2)顶点度都是 4,映射G(3) 到 K(1) 或K(2) (没有其它可能性), 然后继续碰撞,不超过20次,就进入下一个不可分割状态!
需要进入试探性阶段的图,都具有特殊的结构。虽然容易构造出特殊图,但当n 足够大时(比如n > 99),在所有同阶图中的比例是非常小的,几乎可忽略不计。很特殊的一个例子是正则图Gr,n,可能需要n次试探,才能判定同构与否。
可喜点的是,绝大多数图(矩阵)是不需要进入任何试探阶段的,往往在10次(而不是理论预期的20次)碰撞后就消除了任何不确定性,或者在1-2次碰撞后就被判定为不同构。所以这是一个非常高效且稳定的算法。对绝大多数图(矩阵)而言,此算法的时间复杂度为O(n^2), 空间复杂度为O(n)。
极端情况下的算法复杂度,目前还不清楚,可能需要群论的知识来分析。可以合理的猜测:极端情况下的多数判定,时间复杂度为O(n^3),空间复杂度依然为O(n),最坏情况下,时间复杂度可能是O(n^log(n)),空间复杂度可能是O(nlog(n))。这个问题,值得在理论上进一步探讨。
2.碰撞的思想,也可以用于子图(子矩阵)同构判定,虽然目前还没有找到子图(子矩阵)同构的多项式算法,但碰撞的这个思想,可以大大的增强剪枝能力,减少搜索空间。
此算法对内存要求极低,且天然适合多线程并行,尤其是对正则图或子图同构。
CN202010834164.XA 2020-08-18 2020-08-18 高效稳定的(子)图(矩阵)同构算法 Pending CN116680447A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010834164.XA CN116680447A (zh) 2020-08-18 2020-08-18 高效稳定的(子)图(矩阵)同构算法
PCT/CN2020/134861 WO2022036941A1 (zh) 2020-08-18 2020-12-09 高效稳定的图(矩阵)同构算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010834164.XA CN116680447A (zh) 2020-08-18 2020-08-18 高效稳定的(子)图(矩阵)同构算法

Publications (1)

Publication Number Publication Date
CN116680447A true CN116680447A (zh) 2023-09-01

Family

ID=80323420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010834164.XA Pending CN116680447A (zh) 2020-08-18 2020-08-18 高效稳定的(子)图(矩阵)同构算法

Country Status (2)

Country Link
CN (1) CN116680447A (zh)
WO (1) WO2022036941A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559125B (zh) * 2013-10-25 2015-12-09 北京广利核系统工程有限公司 一种利用图同构验证编译器的方法
CN104636560B (zh) * 2015-02-12 2018-06-05 西安科技大学 一种基于子图同构的高风险区域自动识别方法
CN111125453B (zh) * 2019-12-27 2023-03-28 中国电子科技集团公司信息科学研究院 基于子图同构的社交网络中意见领袖角色识别方法及存储介质

Also Published As

Publication number Publication date
WO2022036941A1 (zh) 2022-02-24

Similar Documents

Publication Publication Date Title
Çatalyürek et al. On two-dimensional sparse matrix partitioning: Models, methods, and a recipe
Kane et al. Counting arbitrary subgraphs in data streams
Kiveris et al. Connected components in mapreduce and beyond
Arzelier et al. Mixed LMI/randomized methods for static output feedback control design
Xu et al. Optimal projective three-level designs for factor screening and interaction detection
Djidjev et al. Scalable and accurate graph clustering and community structure detection
Wang et al. A multi-step backward cloud generator algorithm
Yamashita et al. Predictability of network robustness from spectral measures
CN116680447A (zh) 高效稳定的(子)图(矩阵)同构算法
Ishida A critical phenomenon in a self-repair network by mutual copying
Kunaseth et al. A scalable parallel algorithm for dynamic range-limited n-tuple computation in many-body molecular dynamics simulation
Rao et al. An approach to merging of two community subgraphs to form a community graph using graph mining techniques
Amestoy et al. A parallel matrix scaling algorithm
Buš et al. Towards auction algorithms for large dense assignment problems
Deng et al. The Lovász local lemma and its applications to some combinatorial arrays
Stauffer Classification of square lattice cellular automata
Kaveh et al. Analysis of space truss towers using combined symmetry groups and product graphs
Ball et al. The impact of graph symmetry on clustering
Ramawat et al. Improved Padé-pole clustering approach using genetic algorithm for model order reduction
Savio et al. A novel enumeration strategy of maximal bicliques from 3-dimensional symmetric adjacency matrix
Uno et al. Ambiguous frequent itemset mining and polynomial delay enumeration
Angelovski et al. Interpolation Search in Edgelists of graphs
Hou et al. Exhaustive Search for Costas Arrays Using Distributed Computing System
Lin et al. Efficient mining of weighted frequent itemsets in uncertain databases
Mane A comparative study of Spam and PrefixSpan sequential pattern mining algorithm for protein sequences

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination