图论 同构图

同构是在数学对象之间定义的一类映射,它能揭示出在这些对象的属性或者操作之间存在的关系。若这两个数学结构之间存在同构映射,那么这两个结构叫做是同构的。一般来说,如果忽略掉同构的对象的属性或操作的具体定义,单从结构上讲,同构的对象是完全等价的                         ——Wikipedia

文章目录

  • 正文
    • 1. 简单同构的例子
    • 2. 复杂的同构图例子
    • 3、一个较为形象的理解

正文

1. 简单同构的例子

关于图的同构(Isomorphic),最简单的例子就是五边形和五角星了:
图论 同构图_第1张图片
注意:这里的abcde代表的是点,而e1,e1,r3,e4,e5代表的是边

上图中,G1和G2为同构的,因为:

  • 从G1的结点到G2的结点,存在一个一对一的映射函数 f()

  • 从G1的边到G2的边,存在一个一对一的映射函数 g()

G1中,边e1与结点a,b相关联,当且仅当(if and only if) G2中边 g(e) 与结点 f(a) 和 f(b) 相关联(E1和结点A,B相关联)。若满足此条件,函数 f 和 g 称为从G1到G2的同构映射(Isomorphism)

PS:这里的映射关系如下:
点和边小写对分别对应其大写的对应项

2. 复杂的同构图例子

上面的这个例子,较为简单,能够一眼看出来,再来看维基百科提供的一个例子

图论 同构图_第2张图片
为方便起见,两图中对应节点被染成了相同的颜色,要注意的一点是,在图论中,一幅图经常可以有多种不同的方式在纸上或屏幕上画出来,所以两个看起来很不同的图也可能是同构的。尤其当图的节点数比较大时,很难一眼从画出的图上判断它们是否同构。

3、一个较为形象的理解

简单总结一下理解图同构的两个“侧面”:

  1. 一个图我们可以把它想象成一些小球被绳子绑在了一起,小球就是顶点,绳子就是边。现在随意移动小球,小球可以去任何地方,绳子也会随着小球到处移动。在移动过程中每一个时刻所形成的图都是同构的。
  2. 假设图中每一个顶点都有一个名字,比如:1, 2, 3, … ,n。现在擦去这些顶点上的名字。擦完后随机给这些顶点写上新的名字,可以是任何的名字,相当于给它们换了一个“身份”。前后的两个图是同构的。

参考链接:
1、https://zh.wikipedia.org/wiki/%E5%9B%BE%E5%90%8C%E6%9E%84
2、https://www.zhihu.com/question/326620873/answer/1063169941
3、https://www.jianshu.com/p/c33b5d1b4cd9

你可能感兴趣的:(算法,同构图,图论)