同构是在数学对象之间定义的一类映射,它能揭示出在这些对象的属性或者操作之间存在的关系。若这两个数学结构之间存在同构映射,那么这两个结构叫做是同构的。一般来说,如果忽略同构的对象的属性或操作的具体定义,单从结构上讲,同构的对象是完全等价的。 ----Wikipedia
同构图:假设G=(V,E)和G1=(V1, E1)是两个图,假设存在一个双射m:V —> V1,使得对全部的 x,y∈V 均有 xy∈xy∈E 等价于 m(x)m(y)∈E1 ,则称G和G1是同构的。
上图中,G和G1是同构的,因为:
1.从G的结点到G1的结点,存在一个一对一的映射函数f(one-to-one onto function f)
2.从G的边到G1的边,存在一个一对一的映射函数g(one-to-one onto function g)
- 在图G中,边e1与结点a,b相关联,当且仅当G1中的边g(e)与节点f(a)和f(b)相关联(E1和结点A,B相关联)。若满足此条件,函数 f 和 g 称为从G到G1的同构映射(Isomorphism)。
判断两图同构 :对于某个顺序,如果两个图是同构的,则这两个图的邻接矩阵是相同的。一个图的邻接矩阵经过有限次的互换行或列的变换变成另一个图的邻接矩阵,则两个图同构。
判断两图不同构
- 找到一个特性,是G具有,而G1不具有的,这个特性称为不变量(invariant),或不变条件。
- 如果G和G1同构,则两个图都具有此特性,也就是说,如果G和G1同构,G具有某些特性,则G1也具有此性质。
以此图为例,这两个图是不同构的,因为G有5条边,G1有6条边。