数学 图论与组合

图论习题 1.4:有向图与 de Bruijn 图

画出二进制 de Bruijn 图,构造正则竞赛图,并证明强连通、拓扑排序和有向欧拉图的判据。

本页目录8 节

1.4 #

1.4.6 #

画出 de Bruijn 图 D2D_2D4D_4.

答案

采用本课程的定义DnD_n 的顶点是长度为 n1n-1 的二进制串。每条边将当前串左移一位,再在末尾追加 b{0,1}b\in\{0,1\};边上的标号就是追加的位 bb

D2:两个顶点、四条有向边 #

D2 的顶点为 0、1。0 经标号 0 回到自身、经 1 到达 1;1 经 0 到达 0、经 1 回到自身。

起点追加 0 后的终点追加 1 后的终点
001
101

D4:八个顶点、十六条有向边 #

D4 的八个顶点为全部三位二进制串。每点有两条出边,分别左移并追加 0 或 1;完整转移关系见下表。

图中虚线标号为 0,实线标号为 1;交叉处没有顶点。箭头指示方向,000111 各有一个自环。

起点追加 0 后的终点追加 1 后的终点
000000001
001010011
010100101
011110111
100000001
101010011
110100101
111110111

两个图中,每个顶点的入度和出度都为 22,自环对入度、出度各贡献 11。例如 D4D_4 中边 010101010\to101 的标号为 11,对应四位串 01010101。因此 DnD_n2n2^n 条边与全部 nn 位二进制串一一对应,而不是要求欧拉回路中的顶点互不相同。

这一编号约定也见于 MIT 18.314 的 de Bruijn 图讲义,例 2.8

1.4.8 #

证明: 存在一个 nn-顶点的竞赛图使得其中每个顶点的入度等于出度当且仅当 nn 是奇数.

证明

n1n\geqslant 1。必要性:竞赛图中每个顶点都满足 d(v)+d+(v)=n1d^-(v)+d^+(v)=n-1,故入度等于出度时,n1n-1 必为偶数。

充分性:写成 n=2r+1n=2r+1,用 0,1,,n10,1,\ldots,n-1 编号,对每个 ii 加入如下所有有向边:

i(i+s)modn,s=1,2,,r.i\longrightarrow (i+s)\bmod n,\qquad s=1,2,\ldots,r.

对任意不同顶点 i,ji,j,令 d=(ji)modn{1,,2r}d=(j-i)\bmod n\in\{1,\ldots,2r\}。若 1dr1\leqslant d\leqslant r,就有 iji\to j;否则 1ndr1\leqslant n-d\leqslant r,就有 jij\to i。两种情况互斥且穷尽,故每对不同顶点恰好有一个方向,构成竞赛图。

每个顶点的出邻点为后续 rr 个模 nn 顶点,入邻点为前面的 rr 个模 nn 顶点,因此 d+(i)=d(i)=rd^+(i)=d^-(i)=r。当 n=1n=1 时偏移集合为空,单顶点无边图也满足条件。

1.4.10 #

证明: 一个有向图强连通当且仅当将顶点集任意划分成非空集合 SSTT 后, 均存在一条从 SSTT 的边.

证明

必要性:任取 uS,vTu\in S,v\in T。强连通性给出一条从 uuvv 的有向路径。沿路径取第一次进入 TT 的顶点,其前一个顶点仍在 SS,两者之间的边即从 SS 指向 TT

充分性:固定顶点 uu,令 SS 为从 uu 可达的所有顶点的集合,包含 uu 自身。若 T=V(G)ST=V(G)\setminus S 非空,则假设保证存在边 xyx\to y,其中 xS,yTx\in S,y\in T。从 uuxx 的路径接上这条边,就说明 yy 也可达,与 ySy\notin S 矛盾。

所以从每个 uu 都可到达所有顶点,图强连通。只有一个顶点时,以零长路径到达自身,结论同样成立。

1.4.14 #

GG 是一个无环的 nn-顶点有向图. 证明: GG 的顶点可以被排序为 v1,,vnv_1,\ldots,v_n 使得如果 vivjE(G)v_iv_j\in E(G) 则必有 i<ji<j.

证明

因为是有向无环图, 那么一定存在入度为 00 的点, 否则所有点入度都不为零一定存在环.

那么我们就将这个入度为 00 的点加入最终序列里, 并删除这个点及其出边.

注意到, 删除这样的点和边后, 剩余的图仍是有向无环图, 所以可以重复上述操作直到所有点被取出.

下证上述操作得到的序列满足条件.

对于边 vivjE(G)v_iv_j\in E(G), 考虑这条边什么时候被删除, 当且仅当删除点 viv_i 的时候删除这条边, 而将点 viv_i 加入序列后 vjv_j 仍在图中, 所以 viv_i 的位置一定在 vjv_j 前面, 故满足 i<ji<j.

1.4.19 #

用引理对边数归纳来证明 一个有向图是欧拉图当且仅当 d+(v)=d(v)d^+(v)=d^-(v) 对每个顶点 vv 成立, 并且其底图最多有一个非平凡的连通分量.

证明

"\Rightarrow": 如果是欧拉图, 那么存在一个闭合的迹遍历边集. 所以显然底图除了孤立点是连通的. 又点 vv 在迹中每次出现都会有一条入边, 一条出边即入度和出度分别加 1, 故总数上有 d(v)=d+(v)d^-(v)=d^+(v).

"\Leftarrow": 考虑数学归纳法, 对边数 ll 归纳.

l=0l=0 时, 显然成立.

lkl\leqslant k 时成立.

l=k+1l=k+1 时,只考虑含边的连通部分,其中每个顶点至少有一条入边和一条出边。反复沿出边前进,有限性保证出现重复顶点,从而找到有向环 CC(也允许自环)。

删去 CC 的边,每个顶点的入度与出度仍相等。余图的每个含边的弱连通分量都比原图少边,可分别用归纳假设得到欧拉回路。

每个这样的分量都与 CC 有公共顶点:否则,沿原底图中通向 CC 的路径,第一条离开该分量的边既不能是余图的边,也不能是两端都在 CC 上的边,矛盾。在各公共顶点处将分量的欧拉回路插入 CC,便得到遍历所有边一次的闭合有向迹。孤立顶点不影响结论。

讨论

评论

正在加载评论…

输入关键词开始搜索。