6.3 图的表示和图的同构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.3.5 图的同构
例.判断下面两个图是否同构 两个图都为6个顶点7 条边,4个2度顶点和 2个3度顶点。
使用同构的概念继续判断两图是否同构: 图G 图H
deg(u1)=2且u1与 2个3度顶点相邻 u2与u1相邻
只有v4和v6具备相同的特性,所以f(u1)= v4 或f(u1)= v6,可先取f(u1)= v6验证,若得不出 同构再验证f(u1)= v4 所以f(u2)= v3或f(u2)= v5,可先取f(u2)= v3验证
0
1 0
1
0 1
0
1 0
0
1
0
0
1
0
0
1
1
0
同构。 f(u1)= v1, f(u2)= v2, 则f(u3)= v3, f(u4)= v4, f(u5)= v6, f(u6)= v5
不同构。
6.3.4 关联矩阵
G = (V, E) 是无向图,顶点为v1, v2, … vn,边为 e1, e2, … em。相对于V 和E 的这个顺序的关联矩
阵是n × m 矩阵M = [mij], 其中
边ej关联vi时 边ej不关联vi时
6.3.4 关联矩阵
例.用关联矩阵表示下图
e1 e2 e3 e4 e5 e6
v1 v2 v3 v4 v5
6.3.4 关联矩阵
例.用关联矩阵表示下图 用各项相等的 列表示多重边
e1 e2 e3 e4 e5 e6 e7 e8
v1 v2 用恰有一项为 v 1的列表示环, 3 v4 此1对应于环 所关联的顶点 v5
用关联矩阵表示右图
6.3.5 图的同构
我们经常需要知道是否能以同样的方式画出两个图。 如:不同的化合物分子式相同但结构不同。
它满足性质:当vi 和vj 不相邻时第(i, j)项是0 ,即如 果AG = [aij], 则
若{vi , vj}是G的一条边 {vi , vj}不是G的一条边
6.3.3 邻接矩阵
例:用邻接矩阵表示下图。
a a b c d
0 1 1
b
1 0
c
1 1 0 0
d
1 0 0
1 0
1
0
6.3.3 邻接矩阵
6.3.3 邻接矩阵
当出现多重边时,邻接矩阵不再是0-1矩阵。
例.用邻接矩阵表示下图的伪图 顶点顺序为a,b,c,d的邻接矩阵为:
a
b
3 0 1 1
c
0 1
d
2 1 2 0
a b c d
0 3
0
2
1
2
6.3.3 邻接矩阵
邻接表和邻接矩阵的选择。
邻接表:
简单图包含的边相对较少,是稀疏图时
邻接矩阵:含有的边数超过总的所有可能边数的一 半,是稠密的简单图
邻。
6.3.5 图的同构
事实上,通过检验每一种对应来看它是否保持相邻关 系是不可行的,尤其在顶点数很多的时候。
判断两个图的属性 是否相同,如果某 个属性只有一个图 具备,那么这两个 图不同构 1.同构的简单图有相同的顶点数 2.有相同的边数 3.对应顶点的度相同(图G中的d 度顶点v对应图H中的d度顶点 f(v)) G的邻接矩阵与H的邻接 矩阵相同,即从图G的顶 点集到图H的顶点集的函 数f保持边的关系,就说 明f是同构的。
构判 分断 两两 步个 图 是 否 同
当两个图的以上三点属 性都相同时,使用同构 的概念或者邻接矩阵证 明两个图同构。
6.3.5 图的同构
例.判断下面两个图是否同构
所以两个图不同构
1.同构的简单图有相同的顶点数: 两个图都为5个顶点 2.有相同的边数: 两个图都有6条边 3.对应顶点的度相同: 图H有1度顶点e,而图G没有1度顶点
同构
f(u4)= v2, f(u5)= v4
u 1u 2u 3u 4u 5
u1 u2 ������1 = u 3 u4 u5
0
1 0
v 1v 3v 5v 2v 4 v1 v3 ������2 = v 5 v2 v4
0 1 1 0 0 1 0 0 1 0
1
0 1
0
1 0
0
0 1
1
0 0
0
0 1
1
0 0
定义1
6.3.5 图的同构
例.证明图G和图H同构
解: 图G中相邻的顶点: 图H中相邻的顶点:
u1与u2、u3 u 与u2、u3 u4 2 与u 4 u3 与 u4
v1与v3、v4 v2 与v3、v4
存在f(u1) = v1, f(u3) = v3,f(u2) = v4, f(u4) = v2
使得u1与u2、u3相邻时有f(u1)与f(u2) 、 f(u3) 相 邻,u4与u2、u3相邻时有f(u4)与f(u2) 、 f(u3) 相
6.3 图的表示和
图的同构
6.3.2 图的表示
不带多重边的图,可以使用邻接表表示。
顶点 相邻顶点
简单图 的表示
起点
终点
有向图 的表示
6.3.2 图的表示
6.3.3 邻接矩阵
图里有许多边时,用邻接矩阵表示图,易于执行图的 算法。
G = (V, E) 是简单图,其中|V| = n.
将G的顶点任意地排列成v1, v2, … , vn. 对这个顶点 表 来说,G的邻接矩阵AG 是一个n × n 的0-1矩阵。
6.3.5 图的同构
例.判断下面两个图是否同构
1.同构的简单图有相同的顶点数: 两个图都为8个顶点 2.有相同的边数: 两个图都有10条边 3.对应顶点的度相同: 都有4个2度顶点和4个3度顶点
使用同构的概念继续判断两图是否同构:
图G中deg(a) = 2,所以a必然对应图H中的2度顶点t, u, x,或y。 但a与两个3度顶点相邻,而t, u, x, y都有相邻的2度顶点,所 以两图的顶点集之间不存在同构的函数f。
如此以顶点的度和相邻关系为依据,寻找G的顶点集和H的顶点 集之间的一一对应关系。
6.3.5 图的同构
f(u1) = v6, f(u2) = v3, f(u3) = v4, f(u4) = v5 , f(u5) = v1, f(u6) = v2
接着通过G和H的邻接矩阵判断f是否保持边的关系。
同构
解:两图具有5个顶点,5条边, 5个2度顶点 u1与两个2度顶点u2、u5相邻, 若f(u1)= v1, v1与v3、 v4相邻 可先取f(u2)= v3, 则f(u3)= v5,
例:画出带有相对顶点顺序a,b,c,d的邻接矩阵的图。
a
a b c d
0 1 1 0
b
1 0 0 1
c
1 0 0 1
d
0 1 1 0
a
b
d
c
Biblioteka Baidu
注意: 图的邻接矩阵依赖于所选择的顶点的顺序, n 个顶点的图有n!个不同的邻接矩阵。 简单图的邻接矩阵是对称的,aij =aji, aii =0。
用邻接矩阵表示下图
应用
分析出新的化学合成 物时,可检查分子图 数据库,判断是否是 已知的化合物。
可以验证由自动化工 具设计的电路是否与 最初的设计一致。 通过寻找芯片的图 模型中的最大同构 字图,来判断是否 两个芯片具有相同 的知识产权。
6.3.5 图的同构
简 单 图 G 1 = ( V 1, E 1) 和 G 2 = ( V 2, E 2) 若 存 在 一 对 一 的 和 映 上 的 从 V 1到 V 2 的 函 数 f , f 具 有 如下性质: 对 V 1 里 的 所 有 a 和 b 来 说 , a 和 b 在 G 1里 相 邻 当 且 仅 当 f ( a ) 和 f ( b ) 在 G 2里 相 邻 , 就 说 G 1和 G 2 是同构的。 这样的函数f称为同构。
相关文档
最新文档