全ての辺をちょうど一回通る回路が存在するとき、そのグラフはオイラーグラフであるといいます。また、そのような回路をオイラー回路といいます。慣習的にオイラー閉路と呼ばれることがありますが、閉路は各頂点の次数が2の連結グラフですから語義としては誤りだと思います。
オイラーグラフの特徴づけ
オイラーグラフであることの必要十分条件は、次の通りです:
証明しましょう。
(\(\Leftarrow\)の証明)辺の数 \(||G||\) に対する数学的帰納法で示します。\(||G||=0\) つまり辺が存在しなければ、1頂点のオイラー回路が取れます。\(||G||\geq 1\) とします。各頂点の次数が偶数なので、DFSにより回路 \(W\) が取れます。\(G-W\)の各頂点は次数が偶数なので、帰納法の仮定より、各連結成分でオイラー回路が取れます。元のグラフ \(G\) の連結性より、各連結成分のオイラー回路は、回路 \(W\) と繋ぎ合わせることで、一つの回路にできます。これはオイラー回路そのものです。
この証明はオイラー回路を求めるアルゴリズムも示しています。DFSで極大な回路として \(W\) を取ると、通った辺の全てを \(W\) に使えます(まだ通っていない辺が接続している限り、小道を閉じずにその辺を通ります)。各辺を一度しか通らず、回路の合体も \(O(1)\) なので、\(O(||G||)\) でオイラー回路が構築できます。
無向グラフにおけるオイラーグラフの母関数
頂点集合 \(\{1, 2, \ldots, n+1\}\) 上の偶次数のグラフ(オイラーグラフから連結性を落としたグラフ)と、 \(\{1, 2, \ldots, n\}\) 上のグラフの個数は等しいです。次の二つの操作が全単射になっています。
- \(n+1\) 頂点オイラーグラフから頂点 \(n+1\) を削除する。
- \(n\) 頂点連結グラフ \(G\) に頂点 \(n+1\) を追加し、\(G\) の奇点と頂点 \(n+1\) に辺を張る。奇点は偶数個あるので、頂点 \(n+1\) の次数は偶数になる。
あるグラフの指数型母関数を \(f\), そのうち連結グラフに限った指数型母関数を \(f_{conn}\) とすると、\(f = \exp(f_{conn})\) の関係にあるので、\(f_{conn} = \log(f)\) となる。グラフ全体の指数型母関数は\(g = \sum_n 2^{{n \choose 2}} x^n/n!\) なので、オイラーグラフの指数型母関数は \(\log((g-1)/x)\) となる。
有向グラフのオイラーグラフの数え上げ:BEST定理
\(G\) を有向オイラーグラフとする。このとき、\(G\)のオイラー回路の個数は、根 \(v\) へ向きづけられた有向全域木の個数を \(t(G)\) として、$$t(G) \prod_{u \in V(G)} (d^+(u)-1)!$$に等しい。ただし \(d^+(u)\) は \(u\) の出次数である。オイラー回路の個数はは根 \(v\) の選び方に依らないことから、\(t(G)\) の値も \(v\) に依らない。
\(t(G)\) の数え上げは行列木定理によって \(O(|V|^3)\) でできます。
関連記事
- Noga Alon の二部グラフの辺彩色
- オイラー回路が一つのカギになったアルゴリズムです。
参考文献
[1] A First Course in Graph Theory
[2] グラフ理論(R. Diestel)
Comments