独立集合(independent set)とは、グラフの頂点の集合で、どの 2 頂点も辺で結ばれていないもののことであり、その最大の大きさを独立数 $\alpha(G)$ という。独立集合は補グラフのクリークであり、その補集合は頂点被覆なので、独立数と頂点被覆の最小の大きさの和は頂点数 $n$ に等しい。二部グラフでは独立数は $n$ から最大マッチングの大きさを引いたものに等しく、どんな有向グラフも独立数以下の本数の互いに交わらない道で覆える(Gallai–Milgram の定理)。一般のグラフで独立数を求めることは計算が難しいが、森では葉から順に選ぶだけで最大独立集合が得られる。
グラフの頂点の集合で、どの 2 つも辺で結ばれていないものを 独立集合 という。互いに衝突するものを辺で結んでおけば、独立集合は「同時に選んでも衝突しない」ものの集まりであり、その最大の大きさ(独立数)を求めることは、組合せ最適化の基本的な問題の 1 つである。
独立集合は、補グラフをとれば クリーク に、補集合をとれば頂点被覆に移る。頂点彩色の各色の頂点は独立集合なので、彩色数 とも結びつく。この記事では、独立集合の基本的な性質を述べたあと、二部グラフで独立数がマッチングで決まること(Gallai の等式と König の定理)、どんな有向グラフも独立数以下の本数の道で覆えること(Gallai–Milgram の定理)、木では独立数がすぐに求まることを証明する。
この記事のグラフは、とくに断らない限り有限な単純グラフ $G=(V,E)$ で、$n:=\lvert V\rvert$ とする。
頂点の集合 $I\subset V$ のどの 2 頂点も隣接しないとき、$I$ を $G$ の 独立集合(independent set)または 安定集合(stable set)という。
空集合と 1 点集合は独立集合なので、$n\ge1$ なら $\alpha(G)\ge1$ である。最大独立集合は極大であるが、極大独立集合は最大とは限らない(ex-ind-maximal)。
頂点の集合 $K\subset V$ が、$G$ のどの辺についても少なくとも一方の端点を含むとき、$K$ を $G$ の 頂点被覆(vertex cover)という。頂点被覆の大きさの最小値を $\beta(G)$ と書く。
辺についての対応する概念は、どの 2 本も端点を共有しない辺の集合(マッチング)と、どの頂点もいずれかの辺の端点になっている辺の集合(辺被覆)である。マッチングの大きさの最大値を $\alpha'(G)$(マッチング の記事の $\nu(G)$)、辺被覆の大きさの最小値を $\beta'(G)$ と書く。辺被覆は孤立点がないときに限って存在する。
頂点を人、辺を「仲が悪い」関係とすれば、独立集合は仲の悪い組を含まない班であり、独立数は作れる班の最大の人数である。逆に頂点被覆は、すべての「仲の悪い組」の少なくとも一方を含むように選んだ人の集まりで、独立集合のちょうど補集合になる(prop-ind-basic)。独立集合を大きくとることと、頂点被覆を小さくとることは同じ問題の表と裏である。
| グラフ | $n$ | $\alpha$ | 最大独立集合の例 |
|---|---|---|---|
| 完全グラフ $K_n$ | $n$ | $1$ | 1 頂点 |
| 辺のないグラフ $E_n$ | $n$ | $n$ | 全体 |
| 道 $P_n=1\,2\cdots n$ | $n$ | $\lceil n/2\rceil$ | 奇数番目の頂点 |
| 閉路 $C_n$($n\ge3$) | $n$ | $\lfloor n/2\rfloor$ | $1,3,\dots,2\lfloor n/2\rfloor-1$ |
| 完全二部グラフ $K_{p,q}$ | $p+q$ | $\max(p,q)$ | 大きい方の部 |
| Petersenグラフ | $10$ | $4$ | $12,13,14,15$ |
| 正二十面体のグラフ | $12$ | $3$ | 北極と下の環の 2 頂点 |
閉路 $C_n$ の頂点を $1,\dots,n$ と巡回的に並べる。独立集合 $I$ の各頂点 $i$ とその次の頂点 $i+1$($n$ の次は $1$)の組は、$I$ の異なる頂点について互いに交わらない($i+1\in I$ なら $i,i+1$ が隣接してしまう)ので、$2\lvert I\rvert\le n$ である。$\{1,3,\dots,2\lfloor n/2\rfloor-1\}$ は独立集合なので $\alpha(C_n)=\lfloor n/2\rfloor$ である。道 $P_n$ では、頂点を $\{1,2\},\{3,4\},\dots$($n$ が奇数なら最後は $\{n\}$)の $\lceil n/2\rceil$ 組に分けると、各組から独立集合に入るのは高々 1 頂点なので $\alpha(P_n)\le\lceil n/2\rceil$ であり、奇数番目の頂点で等号が成り立つ。$K_{p,q}$ では、両方の部の頂点を含む集合は辺を含むので、独立集合は一方の部に含まれる。
Petersen グラフ $P$ は、$\{1,\dots,5\}$ の 2 元部分集合を頂点とし、交わらないものどうしを結んだグラフである($ij$ で $\{i,j\}$ を表す)。$P$ の独立集合は、どの 2 つも交わる 2 元集合の族である。$\{12,13,14,15\}$ は独立集合なので $\alpha(P)\ge4$ である。逆に、どの 2 つも交わる族 $\mathcal F$ が 2 つ以上の集合をもつとし、その 2 つを $ab,ac$ とする。$\mathcal F$ の他の集合は $ab$ とも $ac$ とも交わるので、$a$ を含むか $bc$ である。$bc\in\mathcal F$ なら、どの集合も $ab,ac,bc$ のすべてと交わるので $\{a,b,c\}$ に含まれ、$\lvert\mathcal F\rvert\le3$ である。そうでなければ $\mathcal F$ の集合はすべて $a$ を含み、$\lvert\mathcal F\rvert\le4$ である。よって $\alpha(P)=4$ である。
星 $K_{1,3}$(中心 $c$ と葉 $\ell_1,\ell_2,\ell_3$)では、$\{c\}$ は極大な独立集合である(どの葉も $c$ に隣接する)。しかし $\{\ell_1,\ell_2,\ell_3\}$ も独立集合なので、$\{c\}$ は最大でない。極大な独立集合を 1 つ見つけるのは、頂点を順に見て、すでに選んだ頂点に隣接しなければ加える、という手順で簡単にできるが、得られる大きさは最大とは限らない。
1:$\overline G$ では、相異なる 2 頂点が隣接することと $G$ で隣接しないことが同値である(補グラフ)。
2:$I$ が独立集合であることは、両端点とも $I$ に属する辺がないこと、すなわちどの辺も $V\setminus I$ に端点をもつことと同値である。$I$ を最大独立集合とすると $V\setminus I$ は頂点被覆なので $\beta(G)\le n-\alpha(G)$ であり、$K$ を最小の頂点被覆とすると $V\setminus K$ は独立集合なので $\alpha(G)\ge n-\beta(G)$ である。
3:$v\notin I$ について、$I\cup\{v\}$ が独立集合でないことは、$v$ が $I$ のある頂点に隣接することと同値である($I$ 自身は独立集合だから)。$\square$
2 は BM76 Theorem 7.1・Corollary 7.1(pp. 101–102)にある。1 により、独立集合についての主張はクリークについての主張に翻訳できる。たとえば $n$ 頂点のグラフの極大独立集合の個数は、補グラフの極大クリークの個数に等しく、クリーク の記事の定理「極大クリークの個数の上界」の上界をもつ。
独立数の下からの評価は、ほかの記事の結果から得られる。
$n$ 頂点の平面グラフ $G$ について $\alpha(G)\ge n/4$ である。四色定理を使わずに、五色定理から $\alpha(G)\ge n/5$ が得られる。
正二十面体のグラフ $I$ を、北極 $t$、上の環 $a_0,\dots,a_4$、下の環 $b_0,\dots,b_4$、南極 $s$ で表す(辺は $ta_i$、$a_ia_{i+1}$、$a_ib_i$、$a_ib_{i+1}$、$b_ib_{i+1}$、$sb_i$、添字は $5$ を法とする)。正二十面体の回転で任意の頂点を $t$ に移せるので、$t$ を含む独立集合 $J$ を考えれば十分である。$J$ は $a_i$ を含まず、$s$ を含めば $b_i$ を含まないので $J\subset\{t,s\}$、$s$ を含まなければ $J\setminus\{t\}$ は閉路 $b_0\cdots b_4$ の独立集合で 2 頂点以下である。よって $\alpha(I)=3$ で、$\{t,b_0,b_2\}$ が最大独立集合である。$n=12$ なので $\alpha(I)=n/4$ となり、cor-ind-planar の評価 $n/4$ は改良できない。
独立集合と頂点被覆の関係(prop-ind-basic の 2)と同じ形の関係が、マッチングと辺被覆の間にも成り立つ。ただし、こちらは補集合をとるだけでは済まない。
孤立点をもたないグラフ $G$ について $\alpha'(G)+\beta'(G)=n$ である。
$M$ を最大マッチングとし、$M$ のどの辺の端点にもならない頂点の集合を $U$ とすると $\lvert U\rvert=n-2\lvert M\rvert$ である。孤立点がないので、$U$ の各頂点 $u$ について $u$ を端点とする辺 $e_u$ を 1 本選べる。$M$ と $\{e_u\mid u\in U\}$ を合わせた辺の集合はどの頂点も覆うので辺被覆であり、
$$
\beta'(G)\le\lvert M\rvert+\lvert U\rvert=\alpha'(G)+\bigl(n-2\alpha'(G)\bigr)=n-\alpha'(G)
$$
である。
逆に、$L$ を最小の辺被覆とし、辺集合 $L$ だけからなる $V$ 上のグラフ $H$ の最大マッチング $M$ をとる。$M$ のどの辺の端点にもならない頂点の集合を $U$ とすると $\lvert U\rvert=n-2\lvert M\rvert$ である。$U$ の 2 頂点を結ぶ $L$ の辺があれば、それを $M$ に加えて $H$ のより大きいマッチングができるので、そのような辺はない。$L$ は辺被覆なので、各 $u\in U$ は $L$ のある辺 $f_u$ の端点であり、$f_u\notin M$ で、$f_u$ のもう一方の端点は $U$ に属さない。よって $u\mapsto f_u$ は $U$ から $L\setminus M$ への単射であり、$\lvert L\rvert-\lvert M\rvert\ge\lvert U\rvert=n-2\lvert M\rvert$ である。$M$ は $G$ のマッチングでもあるので
$$
\alpha'(G)+\beta'(G)\ge\lvert M\rvert+\lvert L\rvert\ge n
$$
となる。2 つの不等式から等式を得る。$\square$
この等式は Gallai(1959 年)による(BM76 Theorem 7.2、p. 102)。二部グラフでは、最大マッチングの大きさと最小の頂点被覆の大きさが等しい(König の定理、マッチング の記事の定理「二部グラフの最大マッチングと最小頂点被覆」)。これと組み合わせると、二部グラフの独立数はマッチングで決まる。
$G$ を二部グラフとする。
König の定理により $\beta(G)=\alpha'(G)$ である。prop-ind-basic の 2 から $\alpha(G)=n-\beta(G)=n-\alpha'(G)$ であり、1 が従う。孤立点がなければ thm-ind-gallai により $n-\alpha'(G)=\beta'(G)$ なので 2 が従う。$\square$
2 は BM76 Theorem 7.3(p. 103)である。マッチングは増加道を使って効率よく求められるので、二部グラフでは最大独立集合も効率よく求められる。一般のグラフではこうはいかない(rem-ind-hardness)。
有向グラフ(ループのないもの)の 有向道 とは、相異なる頂点 $x_0,\dots,x_k$ と、各 $i< k$ について $x_i$ から $x_{i+1}$ への辺からなるものであり、$x_k$ をその 終点 という($k=0$ の 1 頂点の道も含める)。互いに頂点を共有しない有向道の集合で、すべての頂点を含むものを 道被覆 という。道被覆 $\mathcal P$ の道の終点の集合を $\operatorname{ter}(\mathcal P)$ と書く。有向グラフの頂点の集合が 独立 であるとは、そのどの 2 頂点の間にもどちら向きの辺もないことをいう。
有限な有向グラフ $G$ には、道被覆 $\mathcal P$ と、各道 $P\in\mathcal P$ から 1 頂点 $v_P$ を選んで得られる独立集合 $\{v_P\mid P\in\mathcal P\}$ が存在する。とくに、$G$ の頂点は $\alpha(G)$ 本以下の互いに交わらない有向道で覆える。
道被覆はある(1 頂点の道だけからなるもの)。$\operatorname{ter}(\mathcal P)$ が包含について極小な道被覆 $\mathcal P$(終点の集合が $\operatorname{ter}(\mathcal P)$ の真部分集合になる道被覆がないもの)について主張を示せばよい。頂点数についての帰納法で示す。頂点が 1 個なら明らかである。
$\mathcal P=\{P_1,\dots,P_m\}$ とし、$P_i$ の終点を $v_i$ とする。$\{v_1,\dots,v_m\}$ が独立なら $v_{P_i}:=v_i$ とすればよい。そうでなければ、番号を付け替えて $v_2$ から $v_1$ への辺があるとしてよい。$P_1$ が 1 頂点 $v_1$ だけなら、$P_1$ を除き $P_2$ の後ろに $v_1$ をつないだ道被覆の終点の集合は $\{v_1,v_3,\dots,v_m\}$ となり、極小性に反する。よって $P_1$ は 2 頂点以上で、$P_1$ で $v_1$ の直前の頂点を $v$ とする。$G':=G-v_1$ の道被覆 $\mathcal P':=\{P_1-v_1,P_2,\dots,P_m\}$ の終点の集合は $\{v,v_2,\dots,v_m\}$ である。
$\operatorname{ter}(\mathcal P')$ が $G'$ で極小であることを示す。$G'$ の道被覆 $\mathcal P''$ で $\operatorname{ter}(\mathcal P'')\subsetneq\operatorname{ter}(\mathcal P')$ となるものがあるとする。
この定理と証明は Die25 Theorem 2.5.1(pp. 55–56)に従った。
1:各辺を両向きの 2 本の有向辺に置き換えた有向グラフに thm-ind-gallai-milgram を使う。有向道は $G$ の道であり、独立集合は同じである。2:トーナメントの独立集合は 1 頂点以下なので、thm-ind-gallai-milgram により 1 本の有向道で覆える。$\square$
有限半順序集合の要素を、$x< y$ のとき $x$ から $y$ へ辺を引いた有向グラフと見ると、有向道は鎖、独立集合は反鎖である。したがって thm-ind-gallai-milgram から、半順序集合は最大の反鎖の大きさ以下の個数の鎖で覆えることが従う。これは Dilworthの定理 の主要な向きである(Die25 Corollary 2.5.2、p. 56)。
木 や森(閉路をもたないグラフ)では、葉から順に選んでいくだけで最大独立集合が得られる。
$F$ を森とする。
1:最大独立集合 $I$ をとる。$\ell\in I$ ならよい。$\ell\notin I$ なら、$I$ の極大性(prop-ind-basic の 3)から $\ell$ の唯一の隣接頂点 $p$ が $I$ に属する。$I':=(I\setminus\{p\})\cup\{\ell\}$ は、$\ell$ の隣接頂点が $p$ だけなので独立集合で、$\lvert I'\rvert=\lvert I\rvert$ だから最大独立集合であり、$\ell$ を含む。
2:$F-\ell-p$ の最大独立集合に $\ell$ を加えたものは $F$ の独立集合なので $\alpha(F)\ge1+\alpha(F-\ell-p)$ である。逆に、1 の最大独立集合 $I\ni\ell$ は $p$ を含まないので、$I\setminus\{\ell\}$ は $F-\ell-p$ の独立集合であり、$\alpha(F)-1\le\alpha(F-\ell-p)$ である。
3:森の部分グラフは森であり、頂点をもつ森には孤立点か葉がある(閉路のない有限グラフで辺があれば、最長の道の端点は葉である)。孤立点 $u$ については、$u$ を含む最大独立集合があり(最大独立集合は極大なので孤立点を含む)、$\alpha(F)=1+\alpha(F-u)$ である。葉については 2 による。頂点数についての帰納法で、手順が選ぶ頂点の個数は $\alpha(F)$ に等しく、選んだ頂点は互いに隣接しない(選んだ頂点の隣接頂点はそのたびに除かれる)。$\square$
道 $P_5=1\,2\,3\,4\,5$ では、葉 $1$ を選んで $1,2$ を除き、残る道 $3\,4\,5$ で葉 $3$ を選んで $3,4$ を除き、孤立点 $5$ を選ぶ。$\{1,3,5\}$ が得られ、$\alpha(P_5)=3=\lceil5/2\rceil$ である。星 $K_{1,3}$ では、葉 $\ell_1$ を選んで $\ell_1$ と中心を除くと孤立点 $\ell_2,\ell_3$ が残り、$\{\ell_1,\ell_2,\ell_3\}$ が得られる。
根付き木の上で子から親へ順に計算する方法(動的計画法)でも木の最大独立集合が求められる(Eri19 §3.10、p. 121)。
一般のグラフで最大独立集合(あるいは独立数)を求める問題は NP 困難である(Eri19 §12.7、pp. 390–392。充足可能性問題 3SAT からの帰着による。この記事では証明しない)。prop-ind-basic の 1 と 2 により、最大クリークと最小の頂点被覆を求める問題も同じく難しい(Eri19 §12.9、p. 394)。一方、二部グラフ(cor-ind-bipartite)や森(prop-ind-leaf)では効率よく求められる。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 「最大」(極大にする) | 星 $K_{1,3}$ の $\{c\}$ | 極大な独立集合の大きさが $\alpha(G)$ に等しいこと |
| cor-ind-bipartite の二部性 | 三角形 $K_3$ | $\alpha(G)=n-\alpha'(G)$ |
| thm-ind-gallai の「孤立点をもたない」 | 辺 1 本と孤立点 1 個のグラフ | 辺被覆が存在すること |
| cor-ind-planar の平面性 | 完全グラフ $K_6$ | $\alpha(G)\ge n/5$ |
| thm-ind-gallai-milgram の不等号を等号にする | 星 $K_{1,3}$ | 覆うのに要る道の最小本数が $\alpha(G)$ に等しいこと |
1 行目:ex-ind-maximal のとおり、$\{c\}$ は極大で大きさ $1$ だが、$\alpha(K_{1,3})=3$ である。
2 行目:$K_3$ では $n=3$、$\alpha=1$、最大マッチングは 1 本で $\alpha'=1$ なので、$n-\alpha'=2\ne1$ である。$K_3$ は奇閉路なので二部グラフでなく、König の定理 $\beta=\alpha'$ が $\beta(K_3)=2\ne1$ として破れている。
3 行目:孤立点はどの辺の端点でもないので、辺被覆が存在せず $\beta'$ が定まらない。このとき Gallai の等式も cor-ind-bipartite の 2 も意味をもたない。
4 行目:$K_6$ では $\alpha=1<6/5$ である。$K_6$ は $K_5$ を含むので平面グラフでない。
5 行目:$K_{1,3}$ の頂点は、道 $\ell_1\,c\,\ell_2$ と 1 頂点の道 $\ell_3$ の 2 本で覆えるが、$\alpha(K_{1,3})=3$ である。thm-ind-gallai-milgram は道の本数の上界を与えるだけである。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する