1-2 距離・直径・中心

$$\newcommand{abs}[1]{\left\lvert #1 \right\rvert} \newcommand{cG}[0]{\mathcal{G}} \newcommand{diam}[0]{\operatorname{Diam}} \newcommand{la}[0]{\leftarrow} \newcommand{lt}[0]{\left} \newcommand{Mod}[1]{\ \left(\mathrm{mod}\ #1\right)} \newcommand{mR}[0]{\mathbb{R}} \newcommand{p}[0]{\prime} \newcommand{ra}[0]{\rightarrow} \newcommand{rad}[0]{\operatorname{rad}} \newcommand{rt}[0]{\right} $$

前提知識:同型・部分グラフ・補グラフ

辺に長さ1を与える

交通網で二地点がつながっているかだけでなく、最短で何本の道路を通るかを知りたいことがあります。単純graphの各辺に長さ1を与え、pathの辺数を長さとすれば、最短path長が頂点間の距離になります。
距離を導入すると、「最も遠い頂点まで何歩か」「graph全体で最大何歩か」「最悪距離を最小にする拠点はどこか」を正確に定義できます。

graph距離

graph距離とgeodesic

連結graph $G$ の頂点 $u,v$ に対し、$u$ から $v$ へのpathの長さの最小値を
$$ d_G(u,v) $$
と書き、グラフ距離|graph距離という。
長さが $d_G(u,v)$ に等しい $u$–$v$ pathを測地路 (グラフ理論)|geodesicまたは最短路|最短pathという。

有限連結graphでは $u$–$v$ pathが少なくとも一つ存在し、その長さは非負整数です。従って長さの集合には最小値があり、定義は正当です。
同じ頂点にとどまる長さ0のpathを許すので $d_G(u,u)=0$ です。異なる頂点間の距離は少なくとも1です。

graph距離はmetric

連結graph $G$ で、任意の $u,v,w\in V(G)$ に対して次が成り立つ。

  1. $d_G(u,v)\ge0$ であり、$d_G(u,v)=0$ と $u=v$ は同値。
  2. $d_G(u,v)=d_G(v,u)$。
  3. 三角不等式
    $$ d_G(u,w)\le d_G(u,v)+d_G(v,w). $$

path長は非負整数であり、長さ0のpathは始点と終点が同じ場合に限るので1が従います。
無向graphでは $u$–$v$ pathを逆順にたどれば同じ長さの $v$–$u$ pathになります。最短値を両方向で比較すれば2を得ます。
最短 $u$–$v$ pathと最短 $v$–$w$ pathを続けると、$u$ から $w$ へのwalkが得られ、その長さは
$$ d_G(u,v)+d_G(v,w) $$
です。このwalkが頂点を繰り返すなら、その間の閉じた部分を削除すると、より短いか同じ長さの $u$–$w$ pathが得られます。最短 $u$–$w$ pathの長さはその長さ以下なので三角不等式が従います。□

同型は距離を保存する

graph同型はisometry

$\varphi:G\to H$ が連結graph間の同型なら
$$ d_H(\varphi(u),\varphi(v)) =d_G(u,v) $$
がすべての $u,v\in V(G)$ で成り立つ。

長さ $k$ の $u$–$v$ pathは、同型により長さ $k$ の $\varphi(u)$–$\varphi(v)$ pathへ移ります。従って
$$ d_H(\varphi(u),\varphi(v)) \le d_G(u,v). $$
逆同型 $\varphi^{-1}$ に同じ議論を適用すると逆向きの不等式を得るため、等号です。□

離心率・半径・直径・中心

離心率・半径・直径

有限連結graph $G$ の頂点 $v$ の離心率 (グラフ理論)|離心率を
$$ \operatorname{ecc}_G(v) =\max_{u\in V(G)}d_G(v,u) $$
と定める。
$G$ の半径 (グラフ理論)|半径と直径 (グラフ理論)|直径を
$$ \operatorname{rad}(G) =\min_{v\in V(G)}\operatorname{ecc}_G(v), $$
$$ \operatorname{diam}(G) =\max_{v\in V(G)}\operatorname{ecc}_G(v) =\max_{u,v\in V(G)}d_G(u,v) $$
と定める。
離心率が半径に等しい頂点全体をグラフの中心|中心、離心率が直径に等しい頂点全体を周辺という。

有限集合上の最大・最小なので、これらは必ず存在します。

基本例

  • 完全graph $K_n$、$n\ge2$:すべての相異なる頂点間距離が1なので、半径も直径も1、全頂点が中心。
  • path $P_n$:直径は $n-1$。中央の一頂点、または中央の隣接二頂点が中心。
  • cycle $C_n$:各頂点の離心率は $\lfloor n/2\rfloor$。従って全頂点が中心で、半径と直径はともに $\lfloor n/2\rfloor$。
  • star $K_{1,m}$、$m\ge2$:中心頂点の離心率は1、葉の離心率は2。半径1、直径2。
半径と直径の不等式

有限連結graph $G$ に対して
$$ \operatorname{rad}(G) \le\operatorname{diam}(G) \le2\operatorname{rad}(G). $$

半径は離心率の最小値、直径は最大値なので
$$ \operatorname{rad}(G)\le\operatorname{diam}(G) $$
です。
中心頂点 $c$ を一つ取り、任意の $u,v$ に三角不等式を使うと
$$ \begin{aligned} d_G(u,v) &\le d_G(u,c)+d_G(c,v)\\ &\le\operatorname{ecc}(c)+\operatorname{ecc}(c)\\ &=2\operatorname{rad}(G). \end{aligned} $$
すべての $u,v$ について最大を取れば
$$ \operatorname{diam}(G)\le2\operatorname{rad}(G) $$
を得ます。□

左の等号は完全graphやcycleで、右の等号はstarや奇数個の頂点をもつpathで起こります。

距離層

距離層と球

頂点 $s$ と整数 $i\ge0$ に対し
$$ L_i(s)=\{v\in V(G)\mid d_G(s,v)=i\} $$
を $s$ からの第 $i$ 距離層という。
$$ B_r(s)=\{v\in V(G)\mid d_G(s,v)\le r\} $$
を半径 $r$ の球 (グラフ理論)|閉球という。

辺は距離層を一段より多く飛ばない

$uv\in E(G)$ なら
$$ |d_G(s,u)-d_G(s,v)|\le1. $$

$s$ から $u$ への最短pathの後に辺 $uv$ を加えると、$s$ から $v$ への長さ $d(s,u)+1$ のwalkが得られます。従って
$$ d(s,v)\le d(s,u)+1. $$
$u,v$ を交換して
$$ d(s,u)\le d(s,v)+1 $$
も得ます。二式を合わせれば主張が従います。□

従って辺は同じ層の内部、または隣り合う二層の間にしかありません。「幅優先探索と深さ優先探索」のbreadth-first searchは、$L_0,L_1,L_2,\ldots$ を順に発見することで最短距離を計算します。

非連結graphの補graph

距離は連結graphで定義しましたが、補graphを取ると非連結性が強い連結性へ変わります。

非連結graphの補graph

$G$ が二頂点以上をもつ非連結graphなら、$\overline G$ は連結で
$$ \operatorname{diam}(\overline G)\le2. $$

相異なる頂点 $u,v$ を取ります。
$u,v$ が $G$ の異なる連結成分に属するなら、$G$ では隣接しません。従って $\overline G$ では隣接し
$$ d_{\overline G}(u,v)=1. $$
$u,v$ が同じ成分に属するなら、非連結性から別の成分の頂点 $w$ を取れます。$G$ では $uw,vw$ のどちらも辺でないため、$\overline G$ では
$$ u-w-v $$
が長さ2のpathです。従って任意の二頂点間距離は高々2で、$\overline G$ は連結かつ直径高々2です。□

この命題から、$G$ と $\overline G$ が同時に非連結になることはありません。

木では最遠点は葉

木の中心構造を調べる準備をします。

木の最遠点は葉

二頂点以上をもつ木 $T$ で、頂点 $x$ から最も遠い頂点 $y$ は葉である。

$x$ から $y$ へのpathは木のpath一意性によりただ一つです。$y$ が葉でないと仮定すると、$y$ にはpath上で $y$ の直前にある頂点以外の隣接頂点 $z$ があります。
木にcycleはないので $z$ は $x$–$y$ path上にはありません。従って一意な $x$–$z$ pathは $x$–$y$ pathへ辺 $yz$ を加えたもので
$$ d_T(x,z)=d_T(x,y)+1. $$
これは $y$ が最遠であることに矛盾します。ゆえに $y$ は葉です。□

最長pathの両端も葉です。一方の端から見て、もう一方へさらに延ばせないことからも分かります。

葉を同時に剥がす

$T$ の全葉を削除して得る誘導部分graphを $T^\circ$ と書きます。

葉削除後も木

$T$ が3頂点以上の木なら、$T^\circ$ は空でない木である。

木には少なくとも二つの葉がありますが、3頂点以上ならすべての頂点が葉になることはありません。従って少なくとも一頂点が残ります。
$T^\circ$ は木の部分graphなのでcycleをもちません。残った二頂点 $u,v$ を取ります。$T$ の一意な $u$–$v$ pathの内部頂点は、path上で二つの隣接頂点をもつため $T$ の葉ではありません。端点 $u,v$ も残った頂点です。従ってpath全体が $T^\circ$ に残り、$u,v$ は $T^\circ$ で結ばれます。ゆえに $T^\circ$ は連結で、木です。□

葉削除と離心率

$T$ が3頂点以上の木で、$x\in V(T^\circ)$ なら
$$ \operatorname{ecc}_T(x) =\operatorname{ecc}_{T^\circ}(x)+1. $$
また $T$ の葉は中心ではない。

補題により、$x$ から最遠の頂点 $\ell$ は $T$ の葉です。$\ell$ の隣接頂点を $y$ とすると、3頂点以上の木では $y$ は葉でなく $T^\circ$ に残ります。従って
$$ \operatorname{ecc}_T(x) =d_T(x,\ell) =d_{T^\circ}(x,y)+1 \le\operatorname{ecc}_{T^\circ}(x)+1. $$
逆に、$T^\circ$ で $x$ から最遠の頂点 $z$ を取ります。$T^\circ$ が一頂点だけなら、その頂点 $z=x$ は元の木で少なくとも一つの葉と隣接しています。
$T^\circ$ が二頂点以上なら、$T^\circ$ 内で $x$ から最遠の $z$ は $T^\circ$ の葉です。$z$ は $T$ では葉でないため、$T^\circ$ での唯一の隣接頂点以外に、削除された葉 $\ell$ と隣接しています。どちらの場合も
$$ d_T(x,\ell) =d_{T^\circ}(x,z)+1 =\operatorname{ecc}_{T^\circ}(x)+1. $$
従って逆向きの不等式も成り立ち、離心率の式を得ます。
最後に $T$ の葉 $\ell$ とその隣接頂点 $y$ を取ります。$\operatorname{ecc}_T(\ell)\ge2$ です。$\ell$ 以外の任意の頂点 $z$ へのpathは $y$ を通るので
$$ d_T(y,z)=d_T(\ell,z)-1. $$
また $d_T(y,\ell)=1$ です。従って
$$ \operatorname{ecc}_T(y) =\operatorname{ecc}_T(\ell)-1 <\operatorname{ecc}_T(\ell). $$
葉は離心率を最小化しないため中心ではありません。□

木の中心定理

木の中心

有限木の中心は、ちょうど一頂点、または互いに隣接する二頂点からなる。
全葉を同時に削除する操作を繰り返すと、最後に残る一頂点または一辺の両端が中心である。

1頂点の木ではその頂点が中心です。2頂点の木では両頂点の離心率が1で、二頂点とも中心です。
3頂点以上の木 $T$ では、直前の補題により葉は中心でありません。従って中心候補はすべて $T^\circ$ にあります。また $x\in T^\circ$ について
$$ \operatorname{ecc}_T(x) =\operatorname{ecc}_{T^\circ}(x)+1 $$
なので、$T$ で離心率を最小にする頂点と $T^\circ$ で離心率を最小にする頂点は同じです。すなわち
$$ \operatorname{Center}(T) =\operatorname{Center}(T^\circ). $$
葉削除のたびに頂点数は減り、残るgraphは木なので、この操作は有限回で1頂点または2頂点になるまで続きます。中心は各段階で変わらないため、最後に残る頂点集合が元の木の中心です。2頂点残る場合、残ったgraphは連結な木なので二頂点は隣接しています。□

木の直径の中央

木 $T$ の直径が偶数なら中心は一頂点、奇数なら中心は隣接二頂点である。任意の直径pathの中央が中心である。

二頂点以上の木で最長pathの両端は葉です。全葉を一度削除すると、最長pathの両端が一つずつ削られ、その内部に長さ $\operatorname{diam}(T)-2$ のpathが $T^\circ$ に残ります。従って
$$ \operatorname{diam}(T^\circ)\ge\operatorname{diam}(T)-2. $$
$T^\circ$ が一頂点だけなら、$T$ の全頂点はその一頂点またはそれに隣接する葉です。$T$ は3頂点以上なので異なる葉が二つあり、直径は2です。従ってこの場合は
$$ \operatorname{diam}(T^\circ)=0=\operatorname{diam}(T)-2. $$
$T^\circ$ が二頂点以上なら、その直径pathの両端は $T^\circ$ の葉です。各端点は $T$ では葉でないため、削除された葉と少なくとも一つ隣接しています。両端でその葉を一つずつ付けると、$T$ に長さ $\operatorname{diam}(T^\circ)+2$ のpathが得られます。従って
$$ \operatorname{diam}(T)\ge\operatorname{diam}(T^\circ)+2. $$
二つの不等式を合わせ、3頂点以上では
$$ \operatorname{diam}(T^\circ) =\operatorname{diam}(T)-2. $$
この操作を繰り返すと、直径が偶数なら長さ0の一頂点へ、奇数なら長さ1の一辺へ到達します。木の中心定理により最後に残る頂点が中心であり、元の任意の直径pathから両端を同数ずつ削った中央と一致します。□

演習

pathとcycleの距離

$P_8$ と $C_9$ の半径、直径、中心を求めよ。

解答

$P_8$ の端点間距離は7で、これが直径です。中央の二頂点は端点までの最大距離が4で、他の頂点はそれより大きい離心率をもちます。従って
$$ \operatorname{diam}(P_8)=7,\qquad \operatorname{rad}(P_8)=4, $$
中心は第4・第5頂点です。
$C_9$ では各頂点から最遠の頂点までの距離は $\lfloor9/2\rfloor=4$ です。従って
$$ \operatorname{rad}(C_9) =\operatorname{diam}(C_9)=4, $$
全9頂点が中心です。□

半径と直径の組

次の各組 $(r,d)$ をもつ連結graphを一つずつ与えよ。

  1. $(1,1)$
  2. $(1,2)$
  3. $(2,3)$
  4. $(2,4)$
解答

1は $K_2$。半径・直径とも1です。
2は3頂点以上のstar。中心の離心率1、葉どうしの距離2です。
3は $P_4$。中央二頂点の離心率2、端点間距離3です。
4は $P_5$。中央頂点の離心率2、端点間距離4です。□

距離層の辺

頂点 $s$ からの距離層を $L_i$ とする。$L_i$ と $L_j$ の間に辺があり得る $i,j$ の条件を求め、$|i-j|\ge2$ なら辺がないことを証明せよ。

解答

$u\in L_i$、$v\in L_j$ が隣接するとします。距離層の命題から
$$ |d(s,u)-d(s,v)|=|i-j|\le1. $$
従って辺があり得るのは $i=j$ または $|i-j|=1$ の場合だけです。特に $|i-j|\ge2$ なら辺は存在しません。□

非連結graphの補

$G=K_3\cup K_2$ とする。$\overline G$ を同定し、その直径と半径を求めよ。

解答

元の各成分内では全頂点が隣接するので、補graphでは成分内に辺がありません。異なる二成分間には元の辺がないので、補graphではすべての交差辺があります。従って
$$ \overline G=K_{3,2}. $$
異なる側の頂点間距離は1、同じ側の相異なる頂点間距離は2です。各側に少なくとも二頂点あるため全頂点の離心率は2で
$$ \operatorname{rad}(\overline G) =\operatorname{diam}(\overline G)=2. $$
□

木の中心を葉削除で求める

頂点集合
$$ \{a,b,c,d,e,f,g\} $$
と辺
$$ ab,\ bc,\ cd,\ de,\ cf,\ fg $$
をもつ木の中心、半径、直径を求めよ。

解答

最初の葉は $a,e,g$ です。これらを削除すると、残る辺は
$$ bc,\ cd,\ cf $$
で、中心 $c$ と葉 $b,d,f$ からなるstarです。さらに $b,d,f$ を削除すると $c$ だけが残ります。従って中心は $\{c\}$ です。
$c$ から最遠の葉 $a,e,g$ までの距離はいずれも2なので半径は2です。葉 $a$ から $e$、または $a$ から $g$、$e$ から $g$ の距離は4なので直径は4です。□

自己同型と中心

連結graph $G$ の自己同型が中心集合を自分自身へ写すことを証明せよ。頂点推移graphでは全頂点が中心であることを導け。

解答

自己同型 $\varphi$ は距離を保存します。従って
$$ \begin{aligned} \operatorname{ecc}(\varphi(v)) &=\max_{w\in V(G)}d(\varphi(v),w)\\ &=\max_{u\in V(G)}d(\varphi(v),\varphi(u))\\ &=\max_{u\in V(G)}d(v,u)\\ &=\operatorname{ecc}(v). \end{aligned} $$
二行目では $\varphi$ が全単射なので $w=\varphi(u)$ と書けることを使いました。離心率が半径に等しいという性質が保存されるため、中心集合は自分自身へ写ります。
頂点推移graphでは、一つの中心頂点を任意の頂点へ送る自己同型があります。中心性が保存されるので任意の頂点が中心です。□

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

前ページへ
グラフ理論 ― 連結性・木・マッチング・フロー・平面性・彩色の表紙
次ページへ