图的同构:假设G=(V,E)和G1=(V1,E1)是两个图,如果存在一个双射m:V→V1,使得对所有的x,y∈V均有xy∈E等价于m(x)m(y)∈E1,则称G和G1是同构的,这样的一个映射m称之为一个同构,如果G=G1,则称他为一个自同构。
简单来说,同构图的结点数必须相同,结构必须相同。
再换句话说:图同构是指两个图具有相同的结构,即它们的节点之间的连接关系完全一致。具体而言,如果两个图可以通过重新排序节点或重新标记节点的方式,使得它们的结构完全匹配,则这两个图被认为是同构的。
假设有两个图G1和G2如下所示:
G1:
A
/ \
B---C
G2:
X
/ \
Y---Z
这两个图具有相同的节点数和边数。节点A对应节点X,节点B对应节点Y,节点C对应节点Z。它们之间的连接关系也是相同的,即A与B、A与C相连,B与C相连;同样,X与Y、X与Z相连,Y与Z相连。
通过重新标记节点的方式,我们可以将G1中的节点重新命名为X、Y、Z,即将节点A重命名为X,节点B重命名为Y,节点C重命名为Z。重新标记后的G1如下所示:
G1':
X
/ \
Y---Z
现在,G1'和G2的结构完全一致,它们具有相同的节点连接关系。因此,可以通过对G1进行节点重新标记,使得G1'和G2的结构完全匹配。
根据图同构的定义,G1和G2是同构的,因为它们的结构相同。尽管节点的标签不同,但在图同构的概念下,我们关注的是节点之间的连接关系(用的是节点的标识)而不是节点的标签或属性。
这个例子说明了图同构的概念,即通过重新排序节点或重新标记节点的方式,使得两个图的结构完全一致。它强调了图同构与节点标签或属性无关,而仅关注节点之间的连接关系。
图同态(Graph Homomorphism):
- 图同态是一种从一个图到另一个图的映射,它保持了图的结构和边缘关系。具体来说,对于两个图G和H,如果存在一个映射f:V(G) -> V(H),使得对于G中的任意一条边(u, v),都有对应的边(f(u), f(v))在H中,那么这个映射f被称为一个图同态。
- 图同态可以将图G中的节点映射到图H中的节点,并保持边的连接关系。但并不要求图同态必须是一对一映射,一个节点可以映射到多个节点。
总结:
- 图同构是图同态的特殊情况,它要求映射必须是双射。图同态是一种松弛的关系,它只要求保持图的结构和边的连接关系,不要求一一对应的映射。而图同构是一种更严格的关系,要求两个图具有相同的结构,包括节点数和边的连接关系。
- 因此,所有的图同构都是图同态,但并非所有的图同态都是图同构。
其他的图论的基础知识可以参考这里:图论——第一章2 同构与子图 - 知乎