跳到主要内容

大阪大学 情報科学研究科 情報工学 2022年8月実施 離散構造

Author

祭音Myyura

Description

グラフ (graph) G=(V,E)G = (V, E) は、 nn 個の頂点 (vertex) の集合 V={v1,v2,...,vn}V = \{ v_1, v_2, ..., v_n \} と、頂点のペアにより定義される辺 (edge) の集合 EE により構成される無向グラフ (undirected graph) である。 また、グラフ GG は同じ頂点を結ぶ辺を持たず、かつ、任意の2つの頂点間を結ぶ辺は高々一つであるとする。

頂点 viv_ivjv_j の間に辺が存在するとき、頂点 viv_ivjv_j は隣接する (adjacent) と呼ぶ。 次の規則で定義される (i,j)(i, j) 成分 aija_{ij} を持つ n×nn \times n 行列 AGA_G をグラフ GG の隣接行列 (adjacency matrix) と呼ぶ。

aij={1(vivjの間に辺が存在する)0(その他のとき)a_{ij} = \begin{cases} 1 & (v_i と v_j の間に辺が存在する) \\ 0 & (その他のとき) \end{cases}

また、隣接する頂点の系列 vx0vx1vxhvxmv_{x_0} \to v_{x_1} \to \cdots \to v_{x_h} \to \cdots \to v_{x_m} (0hm0 \leq h \leq m, 1xhn1 \leq x_h \leq n) を、長さ mm の歩道 (walk) と呼ぶ。 歩道は同じ頂点を複数含んでも良い。 例えば、下図グラフ G1G_1 において、 v1v2v4v2v3v_1 \to v_2 \to v_4 \to v_2 \to v_3 は長さ 4 の歩道である。

以下の各問に答えよ。

(1) 上図グラフ G1G_1 の隣接行列 AG1A_{G_1} を示せ。

(2) グラフ GG における、頂点 viv_i から vjv_j の長さ kk (k1k \geq 1) の歩道の総数を、fG(k,i,j)f_G(k, i, j) で表すこととする。

  • (2-1) 上図グラフ G1G_1 について考える。グラフ G1G_1 において、fG1(3,3,2)f_{G_1}(3, 3, 2) の値を答えよ。
  • (2-2) 上図グラフ G1G_1 において、1k3fG1(k,4,3)\sum_{1 \leq k \leq 3} f_{G_1}(k, 4, 3) の値を答えよ。
  • (2-3) グラフ GG における隣接行列 AGA_Gkk 乗を AGkA_G^k で表す。行列 AGkA_G^k(i,j)(i, j) 成分を aij(k)a_{ij}^{(k)} と表現すると、aij(k)=fG(k,i,j)a_{ij}^{(k)} = f_G(k, i, j) になることを証明せよ。

(3) 頂点数が nn の完全グラフ (complete graph) を KnK_n とする。

  • (3-1) 完全グラフ KnK_n の辺の数を nn を用いて示せ。
  • (3-2) 一般に、n3n \geq 3 のグラフが K3K_3 を含むかどうかは、隣接行列を用いて判定することができる。隣接行列 AGA_G(i,j)(i, j) 成分を aija_{ij}, AG2A_G^2(i,j)(i, j) 成分を bijb_{ij} としたときに、aija_{ij}bijb_{ij} を用いて、グラフ GGK3K_3 を含むかどうかを判定する方法を理由とともに説明せよ。

(4) n2n \ge 2 のグラフ GG が連結である (connected) とは、行列    α   \boxed{\ \ \ \alpha\ \ \ } がそのいずれかの成分にも 0 を持たないことを調べることで確認できる。InI_nn×nn \times n の単位行列 (identity matrix) としたときに、隣接行列 AGA_G, InI_n, nn を用いて空間の α\alpha を示せ。

题目描述

G=(V,E)G=(V,E) 为有 nn 个顶点的简单无向图,顶点集 V={v1,,vn}V=\{v_1,\ldots,v_n\}。其邻接矩阵 AG=(aij)A_G=(a_{ij})vi,vjv_i,v_j 相邻时取 1,否则取 0。相邻顶点序列称为游走,允许重复顶点。

  1. 写出题图 G1G_1 的邻接矩阵。
  2. fG(k,i,j)f_G(k,i,j) 为从 viv_ivjv_j、长度为 kk 的游走总数。
    1. fG1(3,3,2)f_{G_1}(3,3,2)
    2. 1k3fG1(k,4,3)\sum_{1\le k\le3}f_{G_1}(k,4,3)
    3. 证明 AGkA_G^k(i,j)(i,j) 元等于 fG(k,i,j)f_G(k,i,j)
  3. nn 阶完全图为 KnK_n
    1. KnK_n 的边数;
    2. AGA_G(i,j)(i,j) 元为 aija_{ij}AG2A_G^2 的相应元素为 bijb_{ij}。说明如何利用 aij,bija_{ij},b_{ij} 判断 GG 是否含三角形 K3K_3,并解释原因。
  4. n2n\ge2,用 AGA_G、单位矩阵 InI_nnn 写出矩阵 α\alpha,使“α\alpha 的所有元素均非零”等价于图 GG 连通。

考点

  • 邻接矩阵:由图构造对称的 0–1 矩阵。
  • 矩阵幂与游走计数:通过归纳和矩阵乘法解释长度为 kk 的游走数。
  • 三角形检测:一条边两端若存在共同邻点,则形成 K3K_3
  • 图的连通性:用 I+A++An1I+A+\cdots+A^{n-1} 汇总有限长度可达关系。

Kai

(1)

AG1=(0110010110110110110100110)A_{G_1} = \begin{pmatrix} 0 & 1 & 1 & 0 & 0 \\ 1 & 0 & 1 & 1 & 0 \\ 1 & 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 0 & 1 \\ 0 & 0 & 1 & 1 & 0 \end{pmatrix}

(2)

(2-1)

v3v2v3v2v3v2v1v2v3v2v4v2v3v1v3v2v3v4v3v2v3v5v3v2v3v5v4v2\begin{aligned} v_3 \to v_2 \to v_3 \to v_2 \\ v_3 \to v_2 \to v_1 \to v_2 \\ v_3 \to v_2 \to v_4 \to v_2 \\ v_3 \to v_1 \to v_3 \to v_2 \\ v_3 \to v_4 \to v_3 \to v_2 \\ v_3 \to v_5 \to v_3 \to v_2 \\ v_3 \to v_5 \to v_4 \to v_2 \end{aligned}

よって、fG1(3,3,2)=7f_{G_1}(3, 3, 2) = 7 である。

(2-2)

1k3fG1(k,4,3)=10\sum_{1 \leq k \leq 3} f_{G_1}(k, 4, 3) = 10

(2-3)

行列 AGA_G を二乗したとき、その (i,j)(i, j) 成分 aij(2)a_{ij}^{(2)} は、次のように計算される

aij(2)=(AG2)ij=taitatja_{ij}^{(2)} = (A_G^2)_{ij} = \sum_{t} a_{it} a_{tj}

ここで、aitatj0a_{it} a_{tj} \neq 0 となるのは ait=atj=1a_{it} = a_{tj} = 1 の時のみである。 隣接行列の定義より、頂点 viv_i から vtv_t への辺が存在し、かつ、頂点 vtv_t から vjv_j への辺が存在することがわかる。 よって、長さ 2 の歩道 vivtvjv_i \to v_t \to v_j が存在する。

従って、aij(2)a_{ij}^{(2)} は、全ての可能な中間頂点 vtv_t を通って viv_i から vjv_j への長さ 2 の歩道の個数となることがわかる、すなわち、aij(2)=fG(2,i,j)a_{ij}^{(2)} = f_{G}(2, i, j) である。

次に、aij(k1)a_{ij}^{(k-1)} は頂点 viv_i から vjv_j の長さ k1k-1 の歩道の総数を表すと仮定する。

同様に、aij(k)a_{ij}^{(k)} は、次のように計算すると、

aij(k)=(AGk)ij=(AGk1AG)ij=tait(k1)atja_{ij}^{(k)} = (A_G^k)_{ij} = (A_G^{k-1}A_G)_{ij} = \sum_{t} a_{it}^{(k-1)} a_{tj}

aij(k)a_{ij}^{(k)} は頂点 viv_i から vjv_j の長さ kk の歩道の個数となることがわかる。

(3)

(3-1)

n(n1)2\frac{n(n-1)}{2}

(3-2)

以下の条件を満たす i,j,ki, j, k が存在するとき、

aij=1,aik=1,ajk=1a_{ij} = 1, a_{ik} = 1, a_{jk} = 1

グラフ GG が完全グラフ3 (V={vi,vj,vk},E={vivj,vivk,vjvk})(V=\{v_i, v_j, v_k\}, E=\{v_iv_j, v_iv_k, v_jv_k\}) を含むから、各成分 (i,j)(i, j) について、

aij=1 かつ bij2a_{ij} = 1 \text{ かつ } b_{ij} \ge 2

であるかどうかをチェックすれば、グラフ GGK3K_3 を含むかどうかはわかる。

(4)

(The idea is to check the value of aij(k)a_{ij}^{(k)} for each k{1,2,,n1}k \in \{1, 2, \ldots, n-1\})

AG+AG2++AGn1A_G + A_G^{2} + \cdots + A_G^{n-1}

or

(In+AG)n1(I_n + A_G)^{n-1}