グラフ

同義語:graph

概要

グラフ(graph)とは、頂点とよばれる対象の集合 $V$ と、相異なる 2 頂点の組(辺)の集合 $E\subset[V]^2$ からなる離散構造 $G=(V,E)$ のことであり、対象の中身を捨てて「どの 2 つの対象が結ばれているか」だけを残したものである。交通網、通信網、知人関係、分子構造などが同じ言葉で扱え、辺の長さや図の上の位置は構造の一部ではない。隣接・接続、歩道・道・閉路(長さ $3$ 以上)、連結性、補グラフ、同型といった基本語がグラフの上で定められ、完全グラフ $K_n$、閉路グラフ $C_n$、道グラフ $P_n$、二部グラフ、木が代表例である。向きを持つ辺を許す有向グラフ、平行辺を許す多重グラフはその変種であり、$n$ 頂点のグラフの辺数は $\binom{n}{2}$ 以下、固定した $n$ 元頂点集合上のグラフは $2^{\binom{n}{2}}$ 個ある。

$$\newcommand{AA}[0]{\mathscr{A}} \newcommand{abs}[1]{\left\lvert#1\right\rvert} \newcommand{Arg}[0]{\operatorname{Arg}} \newcommand{BB}[0]{\mathscr{B}} \newcommand{C}[0]{\mathbb{C}} \newcommand{CC}[0]{\mathscr{C}} \newcommand{floor}[1]{\left\lfloor#1\right\rfloor} \newcommand{ind}[0]{\operatorname{ind}} \newcommand{Ker}[0]{\operatorname{Ker}} \newcommand{mmod}[1]{\ \left(\mathrm{mod}\ #1\right)} \newcommand{Mod}[1]{\ \left(\mathrm{mod}\ #1\right)} \newcommand{N}[0]{\mathbb{N}} \newcommand{ord}[0]{\operatorname{ord}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{rank}[0]{\mathrm{rank}} \newcommand{SS}[0]{\mathscr{S}} \newcommand{TT}[0]{\mathscr{T}} \newcommand{UU}[0]{\mathscr{U}} \newcommand{wenvert}[1]{\left\lvert\left\lvert#1\right\rvert\right\rvert} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 集合, 写像, 二項関係

定義

集合 $V$ に対し、$V$ の相異なる 2 元からなる部分集合全体を $[V]^2:=\{\{u,v\}\mid u,v\in V,\ u\neq v\}$ と書く。単に「グラフ」というときは、通常は次の単純無向グラフを指す。向きを持つ辺、同じ頂点対を結ぶ複数の辺、頂点から自身への辺を許す変種は、後の def-graph-variants で扱う。

グラフの定義

グラフ(graph)、詳しくは単純無向グラフ(simple undirected graph)とは、集合 $V$ と $E\subset[V]^2$ の組 $G=(V,E)$ のことをいう。$V$ の元を $G$ の頂点(vertex)、$E$ の元を $G$ の辺(edge)といい、$V=V(G)$、$E=E(G)$ とも書く。辺 $\{u,v\}$ を $uv$ とも書く。$uv=vu$ である。
$|V|$ を $G$ の位数(order)といい $|G|$ とも書く。$|E|$ を $G$ の大きさ(size)といい $e(G)$ とも書く。位数が有限のグラフを有限グラフ、そうでないグラフを無限グラフという。頂点を持たないグラフ $(\emptyset,\emptyset)$ も許す。

「単純」とは、頂点から自身への辺(ループ)と、同じ頂点対を結ぶ複数の辺(平行辺)を持たないことをいい、「無向」とは $uv$ と $vu$ を区別しないことをいう。辺の集合 $E$ は $V$ 上の対称関係かつ非反射関係である二項関係と同じ情報を持つ。すなわち、$u\,R\,v\iff uv\in E$ と定めれば $R$ は対称($u\,R\,v\Rightarrow v\,R\,u$)かつ非反射的($u\,R\,u$ とはならない)であり、逆にそのような $R$ から $E:=\{\{u,v\}\mid u\,R\,v\}$ が定まる。本記事では特に断らない限り有限グラフを扱うが、定義自体は無限グラフでもそのまま通用する。

隣接と接続と近傍

$G=(V,E)$ をグラフとする。

  1. 頂点 $u,v$ が隣接する(adjacent)とは $uv\in E$ となることをいう。このとき $u$ と $v$ は辺 $uv$ の端点(end)であるという。
  2. 頂点 $v$ と辺 $e$ が接続する(incident)とは $v\in e$ となることをいう。
  3. 頂点 $v$ の近傍(neighbourhood)とは、$v$ に隣接する頂点全体の集合 $N_G(v):=\{u\in V\mid uv\in E\}$ のことをいう。$N_G(v)$ の元を $v$ の隣接頂点という。
  4. 2 本の辺が隣接するとは、共通の端点を持つことをいう。

頂点 $v$ に接続する辺の本数、すなわち $|N_G(v)|$ を $v$ の次数といい、$\deg_G(v)$ または $d_G(v)$ と書く。次数と、その総和が辺数の 2 倍に等しいという握手補題については 次数(グラフ) を参照する。

歩道・道・閉路の定義

$G=(V,E)$ をグラフとする。

  1. $G$ の歩道(walk)とは、頂点の有限列 $v_0,v_1,\dots,v_\ell$($\ell\ge0$)であって、各 $i=1,\dots,\ell$ について $v_{i-1}v_i\in E$ となるものをいう。$\ell$ をこの歩道の長さ(length)といい、歩道は $v_0$ と $v_\ell$ を結ぶという。$v_0$ を始点、$v_\ell$ を終点ともいう。$v_0=v_\ell$ のとき閉歩道(closed walk)という。
  2. 辺 $v_0v_1,\ v_1v_2,\ \dots,\ v_{\ell-1}v_\ell$ が相異なる歩道を小道(trail)といい、閉歩道である小道を閉小道(circuit)という。
  3. 頂点 $v_0,\dots,v_\ell$ が相異なる歩道を道(path)といい、$v_0,v_\ell$ をその端点という。長さ $0$ の道は 1 個の頂点だけからなる。
  4. $G$ の閉路(cycle)とは、閉歩道 $v_0,v_1,\dots,v_\ell$($v_\ell=v_0$)であって、$\ell\ge3$ かつ $v_1,\dots,v_\ell$ が相異なるものをいう。$\ell$ をこの閉路の長さといい、長さが奇数・偶数の閉路をそれぞれ奇閉路・偶閉路という。

単純グラフでは辺 $v_{i-1}v_i$ は頂点 $v_{i-1},v_i$ から定まるので、歩道は頂点の列だけで指定できる。閉路の定義にある条件 $\ell\ge3$ は本質的である。$\ell=1$ の閉歩道は $v_0v_0\in E$ を要するので単純グラフには存在せず、$\ell=2$ の閉歩道 $u,v,u$ は辺 $uv$ を往復するだけのものであって、閉路とはみなさない(ex-graph-counterexample-closed-walk)。したがって単純グラフの閉路の長さは常に $3$ 以上である。道は歩道であり、歩道が存在すれば同じ端点を結ぶ道が存在する(距離(グラフ) の補題「歩道からの道の取り出し」)。

連結性

グラフ $G=(V,E)$ が連結(connected)であるとは、$V\neq\emptyset$ であって、任意の 2 頂点 $u,v\in V$ に対し $u$ と $v$ を結ぶ道が存在することをいう。$V$ 上の関係「$u$ と $v$ を結ぶ道が存在する」は同値関係であり(prop-graph-connected-components)、その各同値類 $C$ に対し、$C$ の頂点と、両端点が $C$ に属する辺すべてからなるグラフ $G[C]:=(C,\ E\cap[C]^2)$ を $G$ の連結成分(connected component)という。

補グラフとグラフの和

グラフ $G=(V,E)$ の補グラフ(complement)とは、$G$ で隣接していない頂点対をすべて辺で結んだグラフ $\overline{G}:=(V,\ [V]^2\setminus E)$ のことをいう。$G^c$ とも書く。
頂点集合が交わらない 2 つのグラフ $G$、$H$ に対し、$G\cup H:=(V(G)\cup V(H),\ E(G)\cup E(H))$ を $G$ と $H$ の非交和(disjoint union)といい、これに $V(G)$ の各頂点と $V(H)$ の各頂点を結ぶ辺をすべて加えたグラフ
$$G+H:=\bigl(V(G)\cup V(H),\ E(G)\cup E(H)\cup\{\{v,w\}\mid v\in V(G),\ w\in V(H)\}\bigr)$$
を $G$ と $H$ の結合(join)という。

グラフの同型

グラフ $G=(V,E)$ から $G'=(V',E')$ への同型(isomorphism)とは、全単射 $f\colon V\to V'$ であって、任意の $u,v\in V$ について
$$uv\in E\iff f(u)f(v)\in E'$$
となるものをいう。同型が存在するとき $G$ と $G'$ は同型(isomorphic)であるといい、$G\cong G'$ と書く。

同型なグラフは頂点の名前だけが異なるグラフであり、グラフの構造を論じるときは同型なグラフを同一視することが多い。「$G$ が $K_3$ を含む」のような言い方も、通常は $K_3$ と同型な部分グラフを含むという意味である。
グラフ $H=(W,F)$ が $G=(V,E)$ の部分グラフであるとは $W\subset V$ かつ $F\subset E$ となることをいい、$H\subset G$ と書く。$F=E\cap[W]^2$ となるものが $W$ の誘導部分グラフ $G[W]$、$W=V$ となるものが全域部分グラフである。連結成分 $G[C]$ は誘導部分グラフの例である。これらの定義と性質の詳細は 部分グラフ に譲る。

向きと多重辺とループを許す変種

グラフの概念には次の変種がある。

  1. 有向グラフ(directed graph, digraph)とは、集合 $V$ と順序対の集合 $A\subset V\times V$ の組 $D=(V,A)$ のことをいう。$A$ の元 $(u,v)$ を $u$ から $v$ への有向辺(arc)といい、$u$ をその始点(tail)、$v$ を終点(head)という。$(v,v)$ の形の有向辺をループといい、これを許す流儀と許さない流儀がある。
  2. 多重グラフ(multigraph)とは、集合 $V$、集合 $E$、および写像 $\partial\colon E\to[V]^2$ の組 $(V,E,\partial)$ のことをいう。$\partial(e)$ を辺 $e$ の端点の対といい、$\partial(e)=\partial(e')$ かつ $e\neq e'$ である辺を平行辺(parallel edges)という。本サイトでは多重グラフは平行辺を許しループを許さないものとし、$\partial$ の値域を $[V]^2\cup\{\{v\}\mid v\in V\}$ に広げてループ($\partial(e)=\{v\}$)も許すものはループを許す多重グラフ(擬グラフ、pseudograph)とよんで区別する。
  3. 多重有向グラフ(directed multigraph)とは、集合 $V$、集合 $E$、および始点と終点を与える 2 つの写像 $i,t\colon E\to V$ の組 $(V,E,i,t)$ のことをいう。
  4. 辺の集合を $E\subset V\cup[V]^2$ とし、$\{v\}\in E$ となる元を頂点 $v$ におけるループとして扱うことで、平行辺は許さずループだけを許すループを許す単純グラフを考える流儀もある。

有向グラフ $D=(V,A)$ において、頂点の列 $v_0,\dots,v_\ell$ で各 $i$ について $(v_{i-1},v_i)\in A$ となるものを有向歩道といい、向きを無視して $(v_{i-1},v_i)$ または $(v_i,v_{i-1})$ が $A$ に属することだけを要求したものを向きを無視した歩道という。有向道・有向閉路、向きを無視した道・閉路も同様に定める。多重グラフでは歩道を頂点と辺の交互列 $v_0,e_1,v_1,\dots,e_\ell,v_\ell$($\partial(e_i)=\{v_{i-1},v_i\}$)として指定する必要があり、平行辺 $e\neq e'$ を持つ 2 頂点 $u,v$ について $u,e,v,e',u$ を長さ $2$ の閉路とみなす流儀がある。有向グラフの入次数・出次数は 次数(グラフ) で扱う。詳しくは 有向グラフ、多重グラフ を参照する。

直感

グラフとは、都市と道路、人と知人関係、計算機と通信路のように、「対象」と「2 つの対象の間の結びつき」だけを取り出した構造である。対象を頂点、結びつきを辺として表し、対象の中身や辺の長さ・位置はいったん忘れる。グラフは紙の上に点と線で描いて考えるが、線の長さや交差は構造の一部ではなく、頂点の名前を付け替えても接続関係が保たれるなら同型な同じ構造である。グラフ理論の基本的な問いは、次数のような各頂点の局所的な量と、連結性・閉路・彩色のような全体の構造とを結びつけることにある。

例と反例

完全グラフと空グラフ

$|V|=n$ とする。$E=[V]^2$ であるグラフ、すなわち相異なる 2 頂点がすべて隣接するグラフを $n$ 頂点の完全グラフ(complete graph)といい、$K_n$ と書く(完全グラフ)。その辺数は $|[V]^2|=\binom{n}{2}=n(n-1)/2$ であり、各頂点の次数は $n-1$ である。$E=\emptyset$ であるグラフを $n$ 頂点の空グラフ(empty graph)といい、$E_n$ と書く(空グラフ)。$\overline{K_n}=E_n$、$\overline{E_n}=K_n$ である。$K_1=E_1$ は 1 個の頂点だけからなり、$K_3$ は三角形である。$n\ge1$ のとき $K_n$ は連結であり、$n\ge2$ のとき $E_n$ は連結でない。

道グラフと閉路グラフ

$n\ge1$ に対し、頂点 $1,2,\dots,n$ と辺 $\{i,i+1\}$($1\le i\le n-1$)からなるグラフを道グラフ $P_n$ という。$P_n$ は連結で、$n-1$ 本の辺を持ち、列 $1,2,\dots,n$ はその中の長さ $n-1$ の道である。$n\ge3$ に対し、$P_n$ に辺 $\{n,1\}$ を加えたグラフを閉路グラフ $C_n$ という。$C_n$ は連結で、$n$ 本の辺を持ち、すべての頂点の次数は $2$ であり、列 $1,2,\dots,n,1$ はその中の長さ $n$ の閉路である。$C_3=K_3$ である。$C_n$ を $n$ 角形ともいう。

二部グラフと完全二部グラフ

頂点集合が、交わらない 2 つの部分集合 $A,B$ に分割され($\{A,B\}$ は頂点集合の集合の分割である)、すべての辺が $A$ の頂点と $B$ の頂点を結ぶグラフを二部グラフという。$A$ の各頂点と $B$ の各頂点をすべて辺で結んだ二部グラフが完全二部グラフであり、$|A|=m$、$|B|=n$ のものを $K_{m,n}$ と書く。$K_{m,n}=E_m+E_n$ であり、辺数は $mn$ である。$K_{1,n}$ を星グラフ(star)という。偶閉路 $C_{2k}$ と道グラフ $P_n$ は二部グラフであり、奇閉路 $C_{2k+1}$ は二部グラフでない(二部グラフ)。

木と森

閉路を持たないグラフを森(forest)、連結な森を木(tree)という。道グラフ $P_n$ と星グラフ $K_{1,n}$ は木である。$n$ 頂点の木はちょうど $n-1$ 本の辺を持つ(木、Die17 §1.5)。

反例:長さ 2 の閉歩道

辺 $uv$ を持つグラフにおいて、列 $u,v,u$ は長さ $2$ の閉歩道であるが、閉路ではない。満たす性質:閉歩道である($v_0=v_2=u$、$v_1=v$ は相異なる)。満たさない定義条件:長さが $3$ 以上である。破る含意:「始点以外の頂点が相異なる閉歩道 ⇒ 閉路」は成り立たない。この列は辺 $uv$ を 2 度使うので小道でもない。閉路の定義に $\ell\ge3$ を課すのは、この往復を閉路から除くためである。
また、頂点 $v$ を共有する 2 つの三角形 $v,a,b$ と $v,c,d$ を順に一周する列 $v,a,b,v,c,d,v$ は、辺をすべて相異なる 6 本使うので閉小道であるが、頂点 $v$ を途中で再訪するので閉路ではない。満たす性質:閉小道である。満たさない定義条件:$v_1,\dots,v_\ell$ が相異なる。破る含意:「閉小道 ⇒ 閉路」は成り立たない。

反例:3 頂点を同時に結ぶ辺

1 つの辺が 3 頂点 $\{u,v,w\}$ を同時に結ぶ構造は、辺が $[V]^2$ の元でないので本記事のグラフではない。辺として頂点集合の任意の部分集合を許す構造はハイパーグラフ(hypergraph)とよばれる。これは 3 本の辺 $uv,vw,wu$ を持つ三角形 $K_3$ とも異なる。満たす性質:頂点の集合と、頂点の部分集合の集合からなる。満たさない定義条件:各辺が相異なる 2 頂点からなる。

性質

単純グラフの辺数の上界

$n$ 頂点の有限グラフ $G$ について
$$0\le|E(G)|\le\binom{n}{2}$$
が成り立つ。右の等号が成り立つことと $G$ が完全グラフ $K_n$ であることは同値である。

$E(G)\subset[V]^2$ であり、$n$ 元集合 $V$ の 2 元部分集合の個数は二項係数 $\binom{n}{2}$ だから $|E(G)|\le|[V]^2|=\binom{n}{2}$ である。有限集合の部分集合 $E\subset[V]^2$ について $|E|=|[V]^2|$ となることは $E=[V]^2$ と同値であり、これは $G$ が完全グラフであることにほかならない。$\square$

ラベル付きグラフの個数

固定した $n$ 元集合 $V$ を頂点集合とするグラフは、ちょうど $2^{\binom{n}{2}}$ 個ある。

頂点集合 $V$ 上のグラフは辺集合 $E\subset[V]^2$ によって一意に定まるので、その個数は $[V]^2$ の冪集合の元の個数 $2^{|[V]^2|}=2^{\binom{n}{2}}$ に等しい。$\square$

これは頂点に名前を付けたまま数えた個数であり、同型なグラフを同一視した個数ではない。たとえば $n=3$ のとき $2^3=8$ 個のグラフがあるが、同型を除けば辺数 $0,1,2,3$ の 4 種類しかない。

同型の基本性質
  1. グラフの間の関係 $\cong$ は反射的・対称的・推移的である。
  2. $f\colon V\to V'$ が $G=(V,E)$ から $G'=(V',E')$ への同型ならば、$|V|=|V'|$、$|E|=|E'|$ であり、任意の $v\in V$ について $f$ は $N_G(v)$ から $N_{G'}(f(v))$ への全単射を与える。特に $\deg_G(v)=\deg_{G'}(f(v))$ である。
  3. $G\cong G'$ ならば $\overline{G}\cong\overline{G'}$ である。
  1. 恒等写像 $V\to V$ は $G$ から $G$ への同型である。$f$ が $G$ から $G'$ への同型なら、逆写像 $f^{-1}$ は全単射であり、$u'v'\in E'\iff f^{-1}(u')f^{-1}(v')\in E$ が $f$ の条件から従うので $G'$ から $G$ への同型である。$f\colon G\to G'$、$g\colon G'\to G''$ が同型なら、合成写像 $g\circ f$ は全単射であり、$uv\in E\iff f(u)f(v)\in E'\iff g(f(u))g(f(v))\in E''$ なので同型である。
  2. $f$ は全単射だから $|V|=|V'|$ である。写像 $\{u,v\}\mapsto\{f(u),f(v)\}$ は $[V]^2$ から $[V']^2$ への全単射であり($f$ が全単射なので $u\neq v\iff f(u)\neq f(v)$)、同型の条件はこの写像が $E$ を $E'$ の上に写すことを意味するから $|E|=|E'|$ である。$u\in N_G(v)\iff uv\in E\iff f(u)f(v)\in E'\iff f(u)\in N_{G'}(f(v))$ より、$f$ を $N_G(v)$ に制限したものは $N_{G'}(f(v))$ への全単射である。
  3. $f$ を同型とすると、$u\neq v$ について $uv\notin E\iff f(u)f(v)\notin E'$ だから、$f$ は $\overline{G}$ から $\overline{G'}$ への同型でもある。$\square$
連結成分への分解

グラフ $G=(V,E)$ の頂点の関係「$u$ と $v$ を結ぶ道が存在する」は $V$ 上の同値関係である。各連結成分 $G[C]$ は連結であり、$G$ のすべての辺はちょうど 1 つの連結成分に属する。$G$ が連結であることと、連結成分がちょうど 1 個であることは同値である。

長さ $0$ の道 $v$ により関係は反射的である。$u$ と $v$ を結ぶ道 $v_0,\dots,v_\ell$ を逆順にした $v_\ell,\dots,v_0$ は $v$ と $u$ を結ぶ道なので対称的である。$u$ と $v$ を結ぶ道と $v$ と $w$ を結ぶ道を $v$ でつなぐと $u$ と $w$ を結ぶ歩道が得られ、歩道があれば道がある(距離(グラフ) の補題「歩道からの道の取り出し」)ので推移的である。
$C$ を同値類とし、$u,v\in C$ とする。$u$ と $v$ を結ぶ $G$ の道 $v_0,\dots,v_\ell$ の各頂点 $v_i$ は $u$ と道 $v_0,\dots,v_i$ で結ばれるので $C$ に属し、各辺 $v_{i-1}v_i$ は両端点が $C$ に属するので $G[C]$ の辺である。よってこの道は $G[C]$ の道であり、$C\neq\emptyset$ とあわせて $G[C]$ は連結である。辺 $uv\in E$ について、$u,v$ は長さ $1$ の道で結ばれるので同じ同値類 $C$ に属し、$uv\in E\cap[C]^2$ である。異なる同値類は交わらないので、$uv$ が属する連結成分は $G[C]$ に限る。
$G$ が連結なら、$V\neq\emptyset$ で任意の 2 頂点が同値なので同値類は $V$ の 1 個だけである。逆に同値類が $V$ の 1 個だけなら、$V\neq\emptyset$ で任意の 2 頂点が道で結ばれるので $G$ は連結である。$\square$

次数の総和については握手補題
$$\sum_{v\in V(G)}\deg_G(v)=2|E(G)|$$
が成り立ち、その系として次数が奇数の頂点は偶数個である。証明は 次数(グラフ) に譲る。

補足

グラフの定義には流儀の差がある。Die17 §1.1 は本記事と同じく単純無向グラフを「グラフ」とよび、平行辺やループを許すものを多重グラフとして区別する。Bol02 第 I 章も同様である。一方 BM08 は最初から平行辺とループを許す一般のグラフを扱い、単純グラフを特別な場合として位置づける。本サイトでは def-graph を既定とし、制約を外すときは有向グラフ・多重グラフ・ループを許す多重グラフと明記する。無限グラフも標準的な対象であり、Die17 第 8 章で扱われている。有限性を用いる定理では仮定を明示する。
閉小道と閉歩道の名称にも流儀の差がある。文献によっては本記事の閉小道(circuit)を「閉歩道」、本記事の閉路(cycle)を「サイクル」「回路」とよぶことがある。本記事では、すべての辺をちょうど 1 度ずつ通る閉小道を Euler 閉路(Euler閉路)、すべての頂点を通る閉路を Hamilton 閉路(Hamilton閉路)とよぶ。
グラフは多くの分野で用いられる。組合せ論では彩色・マッチング・木・平面グラフ・極値問題を頂点と辺の有限構造として研究し、アルゴリズムでは幅優先探索・深さ優先探索・最短路問題・最大流最小カット定理によって到達可能性や最適経路を計算する。代数学・幾何学ではCayleyグラフや隣接行列を通じて群やグラフのスペクトルに接続し、確率論ではランダムグラフにおいて連結性や巨大成分の出現する閾値を調べる。

関連項目

参考文献

[1]
Reinhard Diestel, Graph Theory, Graduate Texts in Mathematics 173, Springer, 2017, §1.1(グラフ、次数、同型)、§1.3(道と閉路)、§1.4(連結性)、§1.5(木)、§1.10(多重グラフ・有向グラフ)、第 8 章(無限グラフ)
[2]
Béla Bollobás, Modern Graph Theory, Graduate Texts in Mathematics 184, Springer, 2002, 第 I 章(基本的な定義、道・閉路・連結性、多重グラフと有向グラフ)
[3]
J. A. Bondy, U. S. R. Murty, Graph Theory, Graduate Texts in Mathematics 244, Springer, 2008, 第 1 章(グラフの定義、平行辺とループを許す流儀、同型、有向グラフ)

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する