判断两个图是否同构可以从两个方面考虑
- 当两个图的节点数量不一样时(如下图),显然这两个图是不同构的。那么,是否为同构图首先可以通过节点的数目来进行简单的评定
- 当两个图的节点的数量一样时(如下图),左边的两个图是同构的,而最右边的图与左边的两个图是不一样的,也就是非同构的。
这里,三个图的邻接矩阵分别为:
[ 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 ] \begin{bmatrix} 0 &1 &0 &1 &0 &1 \\ 1 &0 &1 &0 &0 &0 \\ 0 &1 &0 &1 &0 &0 \\ 1 &0 &1 &0 &1 &0 \\ 0 &0 &0 &1 &0 &1 \\ 1 &0 &0 &0 &1 &0 \end{bmatrix} 010101101000010100101010000101100010 , [ 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 ] \begin{bmatrix} 0 &1 &0 &0 &0 &1 \\ 1 &0 &1 &0 &1 &0 \\ 0 &1 &0 &1 &0 &0 \\ 0 &0 &1 &0 &1 &0 \\ 0 &1 &0 &1 &0 &1 \\ 1 &0 &0 &0 &1 &0 \end{bmatrix} 010001101010010100001010010101100010 , [ 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 ] \begin{bmatrix} 0 &1 &0 &1 &0 &1 \\ 1 &0 &1 &0 &1 &0 \\ 0 &1 &0 &1 &0 &1 \\ 1 &0 &1 &0 &1 &0 \\ 0 &1 &0 &1 &0 &1 \\ 1 &0 &1 &0 &1 &0 \end{bmatrix} 010101101010010101101010010101101010 ,
以及相应的特征值分别为:
[2.4142, 2.4142, 1.0000, 1.0000, 0.4142, 0.4142],[2.4142, 2.4142, 1.0000, 1.0000, 0.4142, 0.4142],[3.0000e+00, 3.0000e+00, 4.6467e-16, 1.1490e-16, 3.4346e-33, 1.0494e-34]。
虽然左边两个邻接矩阵不相等,但是它们邻接矩阵的特征值相等。因此在节点数目相等的情况下,我们可以根据邻接矩阵的特征值判断同构图问题。也就是说,两个图的邻接矩阵特征值不同,那么它们就是非同构的。
综上,我们可以通过同时考虑子图的节点数目以及邻接矩阵的特征值来区分两个图是否同构。
对于给定的图
G
=
(
V
,
A
)
\text{G}=(\text{V},\text{A})
G=(V,A),
V
\text{V}
V是节点集合,
A
\text{A}
A是邻接矩阵。我们可以得到用于判断子图是否同构的’子图特定因子(Subgraph-specific Factor,简称SG-Factor)':
F ( G ) = Hash ( ∣ V ∣ , Hash ( Eig(A)) ) \mathcal{F}(G)=\texttt{Hash}(|\text{V}|,\texttt{Hash}(\text{Eig(A))}) F(G)=Hash(∣V∣,Hash(Eig(A)))
其中, ∣ V ∣ |\text{V}| ∣V∣表示节点的数量, Hash \texttt{Hash} Hash为可以将集合映射到实数空间的单设函数。至此,得到的子图特定因子 F ( G ) \mathcal{F}(G) F(G)可以唯一的表示一个图结构。
如果以上内容对于您的研究工作有帮助,我们将非常感激您可以引用我们的文章:[1].
1. Chen K., Liu S., Zhu T., et al. Improving Expressivity of GNNs with Subgraph-specific Factor Embedded Normalization[C]. ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD’23), 237–249. [link]