頂点とそれらを結ぶ辺だけからなる構造は、道路網のように対象どうしのつながりを表す場面に幅広く現れます。こうした構造でしばしば問題になるのは、各頂点がいくつの相手と隣接しているかという局所的な情報から、全体がひとつにつながっているか、迂回のない形をしているか、すべてのつながりを一筆書きでたどることができるかといった大域的な性質がどこまで決まるかです。この局所と大域の関係を扱う対象がグラフであり、次数、連結性、木、オイラー回路がその基本的な道具となります。グラフは、これまで数え上げを通じて調べてきた有限の対象と同じ枠組みに属する題材であり、以降の学習でも基礎として繰り返し参照されます。本記事では、次数や連結性に関する基本的な性質、および木とオイラー回路について解説します。
1 グラフと次数
定義 1.1 (単純無向グラフ・隣接・次数). (単純無向)グラフ (graph) とは、対であって、が空でない有限集合、がの相異なる2元からなる部分集合の集合であるものをいう。の元を頂点 (vertex)、の元を辺 (edge) とよび、を位数 (order)、を辺数 (size)(サイズ)という。辺をとも書き、このときとは隣接する (adjacent) といい、はの端点 (endpoint)、はに接続する (incident) という。頂点に接続する辺の本数
をの次数 (degree) という。次数の最大値を、最小値をと書く。次数の頂点を孤立点 (isolated vertex) という。
この定義では、同じ2頂点を結ぶ辺は高々1本であり(多重辺 (multiple edge) を許さない)、両端点が一致する辺(ループ (loop))も許さない。両端点を結ぶ辺を複数許す構造を多重グラフ (multigraph)、辺に向きを付けとする構造を有向グラフ (directed graph) という。以下、断りなくグラフといえば単純無向グラフを指す。
握手補題は、局所量である次数の総和が大域量である辺数で表せることを述べる、最初の基本定理です。
定理 1.2 (握手補題). 任意のグラフに対し
証明. 接続する頂点と辺の対の集合
の要素の個数を二通りに数える。まず各頂点を固定すると、となるの個数はちょうどである(次数の定義)。ゆえに。次に各辺を固定すると、はちょうど2個の端点をもつから(単純グラフではループがなく端点は相異なる2頂点)、となるの個数はちょうどである。ゆえに。同一の集合を数えた二つの式を等号で結んで結論を得る。▨
系 1.3. 任意のグラフにおいて、奇数の次数をもつ頂点の個数は偶数である。
証明. 頂点集合を次数の偶奇で分け、、とおく。定理 1.2より
であり、右辺は偶数である。左辺第1項は偶数の和だから偶数である。したがって左辺第2項も偶数でなければならない。これは奇数を個加えた和であり、奇数の和が偶数になるのは加える個数が偶数のとき、かつそのときに限る。ゆえには偶数である。▨
2 歩道・道・連結性
定義 2.1 (歩道・小道・道・閉路・部分グラフ). グラフにおいて、頂点と辺の交互列
を、からへの長さの歩道 (walk) という。単純グラフでは辺は端点で決まるので、歩道を頂点列で表してよい。歩道が
- 相異なる辺のみを用いるとき小道 (trail)、
- 相異なる頂点のみを用いるとき道 (path)(このとき辺も自動的に相異なる)
という。の歩道を閉じた歩道 (closed walk) という。長さの閉じた歩道でが相異なるものを閉路 (cycle) という(単純グラフではループ・多重辺がないため閉路の長さは以上)。
グラフがの部分グラフ (subgraph) であるとは、かつで、の各辺の端点がに属することをいう。
道と歩道は、始終点が同じであれば一方が存在すれば他方も存在します。次はその基本事実であり、連結性の議論で繰り返し使います。
補題 2.2.からへの歩道が存在すれば、からへの道が存在する。
証明.からへの歩道は少なくとも一つ存在するから、その中で長さが最小のものをとする(長さは非負整数で下に有界だから最小値をとる歩道が存在する)。もしが同じ頂点を二度通れば、()となる添字があり、部分列を取り除いた
は再びからへの歩道であって長さがだけ短い。これはの最小性に反する。ゆえには相異なる頂点のみを通り、道である。▨
定義 2.3 (連結性・連結成分・到達可能性). グラフの頂点について、からへの歩道が存在するとき、はから到達可能 (reachable) であるといいと書く。の任意の2頂点が互いに到達可能であるとき、は連結 (connected) であるという。到達可能性関係の各同値類について、の頂点と両端点がに属する辺からなる部分グラフをの連結成分 (connected component) という。
命題 2.4. 到達可能性は上の同値関係であり、の各連結成分は連結なグラフである。特には連結であることと、の同値類がただ一つであることが同値である。
証明.が§D2.5 定義 2.1の3条件を満たすことを示す。反射律:各に対し長さの歩道がからへの歩道を与えるので。対称律:とし歩道をとると、辺は無向だから逆順の列も歩道であり。推移律:、とし、からへの歩道とからへの歩道をとってで連結するとからへの歩道を得るので。
以上よりは同値関係である。をの同値類とし、をとる。であるから、からへの歩道が存在する。上の各頂点は、のからまでの部分歩道によりを満たすのでに属する。したがってのすべての頂点と辺はが定める連結成分に属し、この連結成分は連結である。が連結であることは全頂点が互いに到達可能、すなわちの同値類がただ一つであることと同値である。▨
同値関係と分割の一対一対応(§D2.5 命題 2.5)により、頂点集合は連結成分へと過不足なく分割されます。
3 木と全域木
定義 3.1 (木・森). 連結かつ閉路をもたないグラフを木 (tree) という。閉路をもたない(連結とは限らない)グラフを森 (forest) という。森の各連結成分は命題 2.4により連結であり、森の部分グラフとして閉路をもたないから木である。
木の構造を引き出す出発点は、端に必ず次数の頂点(葉)があることです。
補題 3.2. 少なくとも2頂点をもつ木は、次数の頂点(葉)を少なくとも2つもつ。
証明.を頂点の木とする。は連結で頂点が2個以上あるから辺を少なくとも1本もち、長さ以上の道が存在する。の道のうち長さ最大のものを一つとり()とする(道の長さは頂点数未満で上に有界だから最大値をとる道が存在する)。両端がともに葉であることを示す。
が次数以上と仮定する。上でのの隣はのみだから、にはと異なる隣接頂点が存在する。
- が上にないとき、は道であって長さをもち、の最大性に反する。
- が上にあるとき、(、とは仮定より異なる)であり、は長さの閉路となって、が閉路をもたないことに反する。
いずれも矛盾だから。についても同様に。道の両端は相異なるから、ゆえに葉が少なくとも2つある。▨
木の特徴づけの証明は、連結グラフの辺数についての下からの評価を繰り返し用います。先にこれを独立した補題として示します。
補題 3.3.を連結グラフとし、をを満たす頂点とする。からとに接続する辺を除いて得られる部分グラフは連結である。
証明.の任意の2頂点をとる。は連結であるから、からへの道が存在する。がを通るならば、であるからはの内部頂点であり、はに接続する相異なる2辺を用いる。これはに反する。したがってはを通らず、に含まれる。ゆえには連結である。▨
補題 3.4.を連結グラフとし、をの閉路に属する辺とする。からだけを除いて得られる部分グラフは連結である。
証明.の任意の2頂点をとる。は連結であるから、からへの道が存在する。がを用いなければ、はに含まれる。がを用いるならば、を含む閉路からを除いて得られるからへの道で、の辺を置き換える。これによりに含まれるからへの歩道を得るので、補題 2.2によりに含まれるからへの道が存在する。ゆえには連結である。▨
補題 3.5.頂点の連結グラフの辺数は以上である。
証明. 頂点数についての帰納法による。なら辺数。の連結グラフをとる。連結で頂点が2個以上あるから孤立点はなく。
- ある頂点がをもつなら、とその唯一の辺を除いたを考える。補題 3.3によりは頂点の連結グラフである。帰納法の仮定よりは本以上の辺をもち、はそれにの1辺を加えて本以上。
- すべての頂点がなら、定理 1.2より、すなわち。
いずれの場合も。▨
定理 3.6.頂点のグラフについて、次の4条件は同値である。
- は木である(連結かつ閉路をもたない)。
- は連結で、辺数はである。
- は閉路をもたず、辺数はである。
- の任意の2頂点は、ちょうど一つの道で結ばれる。
証明.(1)(2)を示す。が木なら連結である。辺数がであることをに関する§A3.10 定理 1.1で示す。のとき木は辺をもたず。のとき、補題 3.2より葉が存在する。補題 3.3によりは連結であり、閉路のないの部分グラフだから閉路をもたない。したがっては木である。帰納法の仮定よりは本の辺をもち、の1辺を戻しては本。
(2)(3)を示す。が連結で辺数とする。閉路をもたないことを背理法で示す。が閉路をもつと仮定し、の辺を1本除く。補題 3.4によりは連結である。は頂点・辺の連結グラフとなり、補題 3.5に反する。ゆえには閉路をもたない。
(3)(1)を示す。が閉路をもたず辺数とする。連結であることを示せば木である。の連結成分をとし、の頂点数をとすると。各は命題 2.4により連結であり、の部分グラフとして閉路をもたないから木である。既に示した(1)(2)を各に適用すると辺数は。ゆえに
したがって、すなわちは連結で木である。
(1)(4)を示す。が木なら連結だから、任意の2頂点は少なくとも一つの道で結ばれる(補題 2.2)。相異なる2つの道があると仮定して矛盾を導く。両者はを共有するので、から出発してとが一致する最長の初期部分の最後の頂点をとする。であり両道の終点はともにであるからであり、の直後でとが用いる辺は相異なる。より後でとが最初に共有する頂点をとする。両道は遅くともで共有するので、このようなが存在する。からまでのの部分道との部分道は、両端以外に共有点をもたず、の直後で異なる辺を用いるから相異なる。両部分道がともに長さならば、いずれも辺となって相異性に反するので、両部分道をつないで得る閉じた歩道の長さは以上である。その内部頂点は相異なるから、この閉じた歩道は閉路である。これはが木で閉路をもたないことに反する。ゆえに道は一意である。
(4)(1)を示す。任意の2頂点がちょうど一つの道で結ばれるとする。特に道が存在するので連結である。閉路()があれば、とは辺による道と、という道の、相異なる2つの道で結ばれ、一意性に反する。ゆえに閉路をもたず、は木である。▨
例 3.7 (木の特徴づけにおける二条件の必要性). 互いに頂点を共有しない三角形と孤立点からなるグラフをとする。は頂点と本の辺をもつが、連結でなく、三角形を閉路として含むので木ではない。したがって、辺数がであることだけでは木であると結論することができない。一方、三角形は連結であるが、頂点と本の辺をもち、閉路を含むので木ではない。したがって、連結性だけでも木であると結論することができない。
定義 3.8 (全域木). グラフに対し、の部分グラフが木であるとき、をの全域木 (spanning tree) という。
命題 3.9. 任意の連結グラフは全域木をもつ。
証明.を頂点集合とするの連結な部分グラフ全体を考える。自身がその一つだから空でなく、辺数は非負整数で下に有界だから、辺数が最小の連結全域部分グラフが存在する。が木であること、すなわち閉路をもたないことを示す。が閉路をもつと仮定し、の辺を1本除く。補題 3.4により、からだけを除いて得られる部分グラフはなお連結で、を頂点集合にもつ。これはより辺数が1少ない連結全域部分グラフとなり、の最小性に反する。ゆえには閉路をもたず、連結だから全域木である。▨
例 3.10 (閉路グラフの全域木). 頂点集合を、辺集合をとする閉路グラフを考える。辺を除いた部分グラフは、すべての頂点を含む道であり、連結かつ閉路をもたない。したがって、この部分グラフはもとのグラフの全域木である。同様に、四つの辺のいずれを一つ除いても全域木を得る。
4 オイラー回路
定義 4.1 (オイラー小道・オイラー回路). グラフのオイラー小道 (Euler trail) とは、のすべての辺をちょうど一度ずつ通る小道をいう。始終点が一致するオイラー小道をオイラー回路 (Euler circuit)、一致しないものを開いたオイラー小道 (open Euler trail) という。
オイラー回路の存在は、次数の偶奇という純粋に局所的な条件で完全に判定することができます。ここが、後述のハミルトン路と決定的に異なる点です。
定理 4.2 (オイラーの定理). 少なくとも1本の辺をもつ連結グラフについて、次が成り立つ。
- がオイラー回路をもつのは、すべての頂点の次数が偶数であるとき、かつそのときに限る。
- が開いたオイラー小道をもつのは、奇数の次数をもつ頂点がちょうど2個であるとき、かつそのときに限る。
証明.(1)を示す。必要性を示す。がオイラー回路をもつとする。各頂点について、がを通過するたびにに入る辺と出る辺の2本を使う。は閉じており、各辺をちょうど一度ずつ用いるから、に接続するすべての辺はにおける「通過」に2本ずつ組になって現れる。ゆえには偶数である(始点についても、出発の1本と帰着の1本が組になり偶数)。
十分性を示す。すべての頂点が偶数次数の連結グラフ(辺数)を考える。の閉じた小道のうち長さ(辺数)が最大のものをとする(閉じた小道は少なくとも一つ存在する:偶数次数で辺があるのでの非自明成分をたどれば閉路がとれ、閉路は閉じた小道である。長さは辺数で上に有界だから最大値をとる)。がすべての辺を用いることを示す。
が用いない辺があると仮定する。上に現れる頂点の集合をとおく。このとき、が用いない辺での頂点に接続するものが存在する。実際、ならの連結性よりとその補集合をまたぐ辺があり、その辺は外に端点をもつのでには現れず、の頂点に接続する。の場合、用いない辺はすべて端点がにあり、やはりの頂点に接続する。いずれの場合も、が用いずに接続する辺が存在する。
の辺をすべて除いた部分グラフを考える。は閉じた小道だから、各頂点でが用いる辺の本数は偶数である(各通過で2本)。ゆえににおける各頂点の次数は(もとの偶数から偶数を引いて)偶数である。はで辺をもつのでにおける次数は以上の偶数である。
からの中で小道を伸ばす。を出て、まだ用いていない辺を選んで進む。以外の頂点に入るたび、のにおける次数は偶数であり、に入るまでに用いたの辺は奇数本になるから、まだ用いていないの辺が必ず残り、進み続けられる。有限グラフゆえこの過程は止まり、止まれる頂点は入ったきり出られない頂点、すなわちに限る。こうしての中にを始終点とする閉じた小道(長さ)を得る。とは辺を共有せず、ともにを通るから、でを挿入して一つの閉じた小道につなげられ、その長さはより真に大きい。これはの最大性に反する。ゆえにはすべての辺を用い、オイラー回路である。
(2)を示す。必要性を示す。開いたオイラー小道が始点、終点をもつとする。中間で通過する頂点では上と同様に辺が2本ずつ組になり偶数次数、始点では最初の出発の1本が余って奇数次数、終点では最後の帰着の1本が余って奇数次数となる。ゆえに奇数次数の頂点はちょうどの2個である。
十分性を示す。奇数次数の頂点がちょうど2個であるとする。に新しい頂点を1個加え、辺を追加したグラフをとする。の次数は(偶数)、は次数が1増えて偶数になり、他は不変で偶数のまま、は連結である。(1)の十分性よりはオイラー回路をもつ。から辺と頂点を取り除くと、で切れてからへ至る小道が残り、これはのすべての辺をちょうど一度ずつ通る開いたオイラー小道である。▨
例 4.3 (ケーニヒスベルクの橋). ケーニヒスベルクの七つの橋を四つの陸地を頂点、橋を辺として表すと、同じ二つの陸地を結ぶ橋が複数あるため、得られる構造は本記事の定義する単純グラフではなく多重グラフである。四つの陸地に接続する橋の本数はそれぞれである。各橋をちょうど一度通る歩き方では、中間の陸地に入る橋と出る橋が対になるので、中間の陸地に接続する橋の本数は偶数でなければならない。始点と終点が異なる場合でも奇数本の橋が接続する陸地はその二つだけである。実際には四つの陸地がすべて奇数本の橋をもつので、七つの橋をちょうど一度ずつ通る歩き方は存在しない。この偶奇の必要性は多重辺を区別して数えても成り立つが、定理 4.2の主張自体は単純グラフを対象としている。
例 4.4 (連結性を外した反例). 互いに頂点を共有しない二つの三角形からなるグラフを考える。すべての頂点の次数はであるが、一方の三角形の辺から他方の三角形の辺へ歩道で移ることができない。したがって、このグラフはすべての辺を通る一つのオイラー回路をもたない。これは定理 4.2から連結性の仮定を外すことができないことを示す。
例 4.5 (上のオイラー回路(検算つき)).頂点の完全グラフ(任意の2頂点が隣接)を考える。各頂点は他の頂点と隣接するので、辺数は。握手補題の検算:が成り立つ。全頂点が偶数次数だから定理 4.2によりオイラー回路が存在する。実際、
を検算する。用いる辺を順に並べると
の本で、これはの全辺をちょうど1本ずつ含み、重複がない。始点と終点はともに。したがってこれはオイラー回路である。
5 二部性とハミルトン路
二部性の証明は、閉じた歩道から閉路を取り出す議論を用います。先にこれを独立した補題として示します。
定義 5.1 (二部グラフ・二部分割). グラフが二部グラフ (bipartite graph) であるとは、空集合であることも許す部分集合で、を満たし、すべての辺がの頂点との頂点を結ぶものが存在することをいう。このとき、をの二部分割 (bipartition) という。
補題 5.2. グラフが奇数長の閉じた歩道をもつならば、は奇数長の閉路をもつ。
証明. 閉じた歩道の長さに関する帰納法による。をの奇数長の閉じた歩道とする。が始終点以外に重複頂点をもたなければ、自身が閉路であり長さは奇数である(長さは単純グラフではループがなく起こらないので長さ)。重複頂点(、で始終点の一致以外の重複)があれば、をで2つの閉じた歩道とに分ける。両者の長さの和はの奇数長に等しいから、少なくとも一方は奇数長であり、それはより短い。帰納法の仮定よりその中に奇数長の閉路がある。はその閉路をもつ。▨
定理 5.3. グラフが二部グラフであるのは、が奇数長の閉路をもたないとき、かつそのときに限る。
証明. 必要性.がへの二部分割をもつとし、閉路()をとる。各辺はとを結ぶから、閉路を進むたびに属する側がと交互に入れ替わる。とするとであることとが偶数であることが同値になる。閉路はで閉じるからは偶数であり、閉路の長さは偶数である。ゆえに奇数長の閉路はもたない。
十分性.が奇数長の閉路をもたないとする。まず、二部分割は各連結成分ごとに構成して合併すればよいので、は連結としてよい。頂点を一つ固定し、をからへの最短の道の長さ(からへの歩道の最小長さ、連結性より有限)とする。
とおく。これが求める分割、すなわちすべての辺がとを結ぶことを示す。
まず、辺に対しである(からへの最短道に辺を継ぐとからへの長さの歩道ができ、対称に)。
いま辺の両端が同じ側にあると仮定するととは同じ偶奇をもち、と合わせてを得る。からへの最短道(長さ)、からへの最短道(長さ)をとり、、辺、の逆順、を継ぐとを始終点とする長さ
の閉じた歩道ができ、これは奇数長である。補題 5.2よりは奇数長の閉路をもち、仮定に反する。ゆえに辺の両端が同じ側にあることはなく、すべての辺はとを結ぶ。は二部グラフである。▨
例 5.4 (二部グラフと非二部グラフ). 三つの頂点からなる集合と三つの頂点からなる集合をとり、の各頂点との各頂点を辺で結び、同じ集合に属する二頂点は辺で結ばない。この完全二部グラフではが二部分割である。偶数に対する長さの閉路も、頂点を閉路に沿って交互に二つの集合へ入れることで二部分割を得る。さらに、頂点集合をとし、一方の座標だけが異なる頂点を辺で結ぶ有限格子グラフは、座標の和の偶奇によって二部分割を得る。一方、三角形は奇数長の閉路そのものであるから、定理 5.3により二部グラフではない。
注意 5.5 (ハミルトン路には簡明な判定条件がない).のハミルトン路とはすべての頂点をちょうど一度ずつ通る道、ハミルトン閉路とはすべての頂点をちょうど一度ずつ通る閉路をいう。名称の類似にもかかわらず、オイラー小道(辺をすべて通る)とハミルトン路(頂点をすべて通る)は性質が大きく異なる。定理 4.2のように次数の偶奇だけで判定できる必要十分条件は、ハミルトン路・閉路には得られない。たとえば同じ次数列をもつグラフでもハミルトン閉路の有無は異なりうるため、次数だけでは判定できない。ハミルトン閉路を判定する手続きと計算量は、後続の計算量理論へ委ねる。
6 演習
問題 6.1 (木の二部性). 任意の木が二部グラフであることを証明せよ。
解答.
木の頂点を一つ固定し、各頂点に対してをからへの一意な道の長さとする。この道は定理 3.6 (4)により存在して一意に定まる。、とおく。
辺をとり、からへの一意な道をとする。が上にある場合、からまでのの部分道と辺が閉路を作らないためには、が上での直前の頂点でなければならず、である。が上にない場合、に辺を継いだ頂点列はからへの道であり、道の一意性からこの道の長さがに等しいのでである。いずれの場合もとの偶奇は異なる。したがって、すべての辺はとを結び、は二部グラフである。▨
問題 6.2 (から一辺を除いたグラフ). 頂点集合をとする完全グラフから辺を除いたグラフについて、奇数次数の頂点を求め、開いたオイラー小道を一つ構成せよ。
解答.
頂点の次数はであり、頂点の次数はである。したがって、奇数次数の頂点はである。頂点列
が用いる辺は順にであり、これらはグラフの全辺をちょうど一度ずつ尽くす。始点と終点は相異なるので、この頂点列は開いたオイラー小道である。▨
問題 6.3 (閉路グラフの全域木).とし、頂点集合と辺集合をもつ閉路グラフを考える。このグラフの全域木の個数を求め、その答えを証明せよ。
解答.
閉路の辺を一つ除くと、すべての頂点を含む道が残るので全域木を得る。除く辺の選び方は通りあり、異なる辺を除けば異なる全域木を得る。
逆に、この閉路グラフの全域木は頂点の木であるから、定理 3.6 (2)により本の辺をもつ。もとのグラフの辺数はであり、はその部分グラフであるから、はもとの辺をちょうど一つ除いて得られる。したがって、全域木の個数はである。▨