§C5.5競技数学:グラフ・離散構造

最終更新

グラフとは、対象を頂点、対象同士の関係を辺で表す構造です。 組合せ問題の対象と関係をグラフの頂点と辺で表すと、場合分け・鳩の巣原理・不変量・極端原理を一つの図式で扱うことができることがあります。

1 グラフの仕様の明示

記事や解答では、次を必ず明示します。

  • 頂点は何を表すか
  • 辺はどの関係を表すか
  • 辺に向きがあるか
  • 同じ2頂点を結ぶ辺を重複して許すか
  • 頂点から自分自身へのループを許すか

本記事では、特に断らない限り有限単純無向グラフを扱います。頂点は有限個、辺に向きや重複はなく、ループもありません。

2 次数の総和

頂点vvに接続する辺の本数を次数d(v)d(v)とします。すべての頂点の次数を足すと、各辺が両端で2回数えられるので

∑vd(v)=2∣E∣\sum_{v}d(v)=2|E|

です。この等式を握手補題と呼びます。特に、奇数次数の頂点の個数は偶数です。

3 例1:知り合いの人数

5人の集団で、各人の知り合いの人数がすべて異なることはないことを示します。人を頂点、知り合い関係を辺とします。次数は0から4の5種類です。

もし5人の次数がすべて異なるなら、次数は0,1,2,3,40,1,2,3,4の全部です。しかし次数4の人がいると、全員がその人の知り合いなので、次数0の人は存在できません。矛盾です。したがって同じ次数の人が2人います。

この議論は単純な鳩の巣原理ですが、次数の最大値と最小値が同時には現れないというグラフの制約を使っています。

4 例2:彩色と二部グラフ

頂点を赤と青の2色に分け、同じ色の頂点同士を辺で結ばないようにできるグラフを二部グラフといいます。すべての閉路が偶数長、同値に奇閉路を含まないなら、各連結成分で始点を赤、隣を青と交互に塗ることができます。道そのものの長さは奇数でも構いません。

一方、奇閉路は二部グラフではありません。奇閉路を一周すると、交互に塗った最後の頂点が始点と同じ色になるべきなのに、辺で結ばれてしまうからです。この議論は彩色による不可能性証明の基本です。

5 例3:三角形を含まないグラフの辺数

頂点数nnの単純グラフが三角形を含まないなら、辺数mmは

m≤⌊n24⌋m\le \left\lfloor\frac{n^2}{4}\right\rfloor

を満たすことを示します。

辺uvuvの両端の次数をd(u),d(v)d(u),d(v)とします。もしd(u)+d(v)>nd(u)+d(v)>nなら、uuとvvの共通の隣接頂点が存在します。実際、uuの隣接頂点とvvの隣接頂点を合わせると、重複なしではd(u)+d(v)d(u)+d(v)個ありますが、u,vu,v自身を除くn−2n-2個程度しか置くことができません。したがって、共通点が生じます。その共通点とu,vu,vが三角形を作るので、三角形を含まないという仮定から

d(u)+d(v)≤nd(u)+d(v)\le n

です。

この不等式を全辺について足すと、各頂点の次数はd(v)d(v)回現れるため

∑uv∈E(d(u)+d(v))=∑vd(v)2≤mn\sum_{uv\in E}(d(u)+d(v))=\sum_v d(v)^2\le mn

が成り立ちます。コーシー・シュワルツの不等式より

∑vd(v)2≥(∑vd(v))2n=(2m)2n\sum_vd(v)^2\ge \frac{(\sum_vd(v))^2}{n}=\frac{(2m)^2}{n}

が成り立ちます。

したがって4m2/n≤mn4m^2/n\le mnです。よって、m≤n2/4m\le n^2/4です。mmは整数なので、主張が得られます。nnが偶数で、頂点を2つの同人数の組に分け、組内に辺を置かない完全二部グラフでは等号になります。

この問題では、グラフ化、次数の総和、不等式、等号構成が一続きになっています。

6 競技問題での翻訳

  • 「互いに関係がある」:辺を置きます。
  • 「関係がない」:補グラフの辺を考えます。
  • 「同時に選べない」:独立集合や彩色の問題に置き換えます。
  • 「全員が何人かと関係する」:最小次数を評価します。
  • 「最大の関係数」:辺数の極値問題にします。

図を描いたら、次数の総和、連結性、彩色、不変量のどれを用いることができるかを確認します。図を見て明らかに思えることも、最終解答では数式または論理によって示します。

7 演習

問題 7.1. 有限グラフの奇数次数の頂点数が偶数であることを握手補題から示せ。

解答.

頂点全体の集合を、次数が奇数の頂点の集合VoddV_{\mathrm{odd}}と、次数が偶数の頂点の集合VevenV_{\mathrm{even}}に分ける。握手補題により

∑v∈Voddd(v)+∑v∈Vevend(v)=2∣E∣\sum_{v\in V_{\mathrm{odd}}}d(v)+\sum_{v\in V_{\mathrm{even}}}d(v)=2|E|

であり、右辺は偶数である。左辺の第2項は偶数の和であるから偶数であり、したがって第1項∑v∈Voddd(v)\displaystyle\sum_{v\in V_{\mathrm{odd}}}d(v)も偶数である。この和は∣Vodd∣|V_{\mathrm{odd}}|個の奇数の和であり、奇数をmm個足した和の偶奇はmmの偶奇に等しい。よって∣Vodd∣|V_{\mathrm{odd}}|は偶数である。▨

問題 7.2. 6人の集団には、互いに知り合いである3人、または互いに知らない3人が必ず存在することを示せ。まず1人を選び、その人との関係を赤・青に分けて、鳩の巣原理を用いよ。

解答.

6人を頂点とし、どの2人の間にも辺を引いて、知り合いである2人を結ぶ辺を赤、知り合いでない2人を結ぶ辺を青に塗る。互いに知り合いである3人は3辺がすべて赤の三角形に、互いに知らない3人は3辺がすべて青の三角形に対応する。

1人vvを選ぶ。vvから他の5人へ出る5本の辺は赤と青の2色に塗られているので、鳩の巣原理により、同じ色の辺が3本以上ある。その色を赤として議論する(青の場合は、以下の議論で赤と青を入れ替える)。vvと赤の辺で結ばれた3人をa,b,ca,b,cとする。

a,b,ca,b,cのうちのある2人を結ぶ辺が赤なら、その2人とvvの3人を結ぶ3辺はすべて赤であり、互いに知り合いである3人が得られる。そうでなければ、a,b,ca,b,cのどの2人を結ぶ辺も青であり、a,b,ca,b,cは互いに知らない3人である。いずれの場合も、求める3人が存在する。▨

問題 7.3. 三角形を含まない頂点数8のグラフの辺数の最大値を求め、等号が成り立つグラフを構成せよ。

解答.

最大値は1616である。

上からの評価を、本文で三角形を含まないグラフの辺数を評価した方法と同じ方法で、n=8n=8について行う。三角形を含まない頂点数8の単純グラフの辺数をmmとする。辺uvuvを一つ取る。uuに隣接する頂点のうちvv以外のものはd(u)−1d(u)-1個、vvに隣接する頂点のうちuu以外のものはd(v)−1d(v)-1個あり、どちらもu,vu,v以外の6個の頂点のうちにある。共通の頂点wwがあれば、u,v,wu,v,wは三角形をなすので、共通の頂点はない。したがって(d(u)−1)+(d(v)−1)≤6(d(u)-1)+(d(v)-1)\le6、すなわちd(u)+d(v)≤8d(u)+d(v)\le8である。この不等式をすべての辺について足すと、各頂点vvの次数d(v)d(v)はvvを端点とするd(v)d(v)本の辺で一回ずつ現れるので

∑vd(v)2=∑uv∈E(d(u)+d(v))≤8m\sum_{v}d(v)^2=\sum_{uv\in E}\bigl(d(u)+d(v)\bigr)\le8m

である。一方、握手補題∑vd(v)=2m\sum_{v}d(v)=2mを用いると

0≤∑v(d(v)−2m8)2=∑vd(v)2−2m4∑vd(v)+8⋅m216=∑vd(v)2−m220\le\sum_{v}\left(d(v)-\frac{2m}8\right)^2=\sum_{v}d(v)^2-\frac{2m}4\sum_{v}d(v)+8\cdot\frac{m^2}{16}=\sum_{v}d(v)^2-\frac{m^2}2

であるから、m22≤∑vd(v)2≤8m\dfrac{m^2}2\le\sum_{v}d(v)^2\le8mである。m>0m>0なら両辺をmmで割ってm≤16m\le16を得る。m=0m=0でもm≤16m\le16である。

等号が成り立つグラフとして、8頂点を4頂点ずつの組X,YX,Yに分け、XXの各頂点とYYの各頂点を辺で結び、組の中には辺を置かないグラフ(完全二部グラフK4,4K_{4,4})を取る。辺数は4×4=164\times4=16である。どの3頂点を選んでも、そのうちの2頂点は同じ組に属し、辺で結ばれていないので、このグラフは三角形を含まない。したがって、辺数の最大値は1616である。▨

問題 7.4. 奇閉路を含まないグラフが二部グラフであることを、連結成分ごとに距離の偶奇で彩色して示せ。

解答.

辺は同じ連結成分の頂点どうしを結ぶので、各連結成分を辺の両端が異なる色になるように赤と青で塗ることができれば、グラフ全体も同じ条件で塗ることができる。そこで、奇閉路を含まない連結なグラフGGについて示す。

頂点rrを一つ選び、各頂点xxについて、rrとxxを結ぶ道の長さの最小値をδ(x)\delta(x)とする。GGは連結であるからδ(x)\delta(x)は定まる。δ(x)\delta(x)が偶数の頂点を赤、奇数の頂点を青に塗る。

辺xyxyの両端が異なる色であることを示す。rrからxxへの長さδ(x)\delta(x)の道に辺xyxyを加えるとyyへ至る長さδ(x)+1\delta(x)+1の経路が得られるのでδ(y)≤δ(x)+1\delta(y)\le\delta(x)+1であり、同様にδ(x)≤δ(y)+1\delta(x)\le\delta(y)+1である。両端が同じ色であると仮定すると、δ(x)\delta(x)とδ(y)\delta(y)は偶奇が等しく、差が11以下であるから、δ(x)=δ(y)=k\delta(x)=\delta(y)=kである。

rrからxxへの長さkkの道をPP、rrからyyへの長さkkの道をQQとする。PPの頂点をr=p0,p1,…,pk=xr=p_0,p_1,\ldots,p_k=x、QQの頂点をr=q0,q1,…,qk=yr=q_0,q_1,\ldots,q_k=yと書く。P,QP,Qはともに最短の道であるから、pip_iとqiq_iはどちらもδ\deltaの値がiiの頂点である。実際、rrからpip_iまでのPPの部分は長さiiの道であるからδ(pi)≤i\delta(p_i)\le iであり、δ(pi)<i\delta(p_i)<iならxxへ至る長さkk未満の経路が得られてδ(x)=k\delta(x)=kに反する。qiq_iについても同じである。

PPとQQに共通する頂点のうち、PPでの番号が最大のものをpjp_jとする(p0=q0=rp_0=q_0=rが共通なので存在する)。δ(pj)=j\delta(p_j)=jであり、QQの頂点でδ\deltaの値がjjのものはqjq_jだけであるから、pj=qjp_j=q_jである。番号がjjより大きいPPの頂点はQQに現れない。また、番号がjjより大きいQQの頂点qiq_iがPPに現れるなら、δ\deltaの値を比べるとそれはpip_iであり、i>ji>jはjjの最大性に反する。したがって、pj,pj+1,…,pkp_j,p_{j+1},\ldots,p_kとqj+1,…,qkq_{j+1},\ldots,q_kは相異なる頂点である。x≠yx\ne yであるからj<kj<kである。

すると、pjp_jからPPに沿ってxxへ進み、辺xyxyを通り、QQを逆にたどってqj=pjq_j=p_jへ戻る閉路が得られる。この閉路の長さは(k−j)+1+(k−j)=2(k−j)+1(k-j)+1+(k-j)=2(k-j)+1で奇数であり、k−j≥1k-j\ge1から33以上である。これはGGが奇閉路を含まないことに反する。よって辺の両端は異なる色であり、GGは二部グラフである。▨

前提記事