ボロノイ図とその3つの性質

ボロノイ図の意味

点(母点)がいくつか与えられたとき,どの点に一番近いかによって平面を分割したものをボロノイ図(Voronoi diagram)と言う。

ボロノイ図について,意味と性質をわかりやすく説明します。特に3つめの性質がおもしろいです。

ボロノイ図の例

図は母点の数が 66 個であるボロノイ図の例です(フリーハンドで書いたので誤差はご勘弁ください)。辺は垂直二等分線の一部,交差点は外心になります。

ボロノイ図の例

ボロノイ図は「各母点の勢力範囲を表す」と解釈できます。実際にいろいろな問題に応用されています。

今回は平面+通常の距離(ユークリッド距離)の場合のみを考えますが,別の空間や距離でボロノイ図を考えることもできます。

ボロノイ図は凸

性質1

ボロノイ図の各領域は凸である。

ここで,領域 SS が凸とは,二点 A,BSA,B\in S なら線分 ABABSS に含まれることを言います。へこんでいないという意味です。

証明

母点 P1P_1 のボロノイ領域に属する二点 A,BA,B を取ってくる。

また,他の母点の一つを PiP_i とする。

PiP_i よりも P1P_1 に近い点の集合」は半平面をなす(境界は P1PiP_1P_i の垂直二等分線)。この半平面に A,BA,B が属しているので,線分 ABAB 全体もこの半平面に属す。

つまり,線分 ABAB 上の任意の点は「PiP_i よりも P1P_1 に近い」を満たす。以上の議論は各 ii について成立するので,線分 ABABP1P_1 のボロノイ領域に含まれる。

ボロノイ図の空円性

以下,ボロノイ図の辺をボロノイ辺,頂点をボロノイ点と言います。

ボロノイ点には三本以上のボロノイ辺が接続しています(もし二本しか接続していないと隣接するボロノイ領域のいずれかが凸でなくなる)。

性質2

ボロノイ点を中心とし,その点に隣接する領域(三つ以上ある)の母点を通る円は,(内部に)他の母点を含まない。

証明

ボロノイ図の空円性

背理法で証明する。ボロノイ点を VV,その点に隣接する領域の母点の一つを PP とする。 VV を中心とし VPVP を半径とする円の中に別の母点 QQ が含まれるとすると,VP>VQVP > VQ となる。

よって,VV のすぐ近くの点は PP よりも QQ が近くなるため,VV に隣接する領域の母点の一つが PP であることに矛盾。

ボロノイ点,ボロノイ辺の数

少し難しいですが,一番おもしろいです!

性質3

母点の数を nn,ボロノイ点の数を vv,ボロノイ辺の数を ee とすると,v2n2,e3n3v\leq 2n-2,\:e\leq 3n-3

ボロノイ図の点や辺の数は母点の数の数倍でおさえられる,つまりボロノイ図はそんなに複雑にならないということですね。証明には平面グラフにおけるオイラーの多面体定理を用います。

証明

ボロノイ図を十分大きな円でカットした平面グラフ GG を考える。 GG の頂点数を VV ,枝数を EE ,面の数を FF とおくと,オイラーの多面体定理から VE+F=2V-E+F=2 である。

ボロノイ図の点の数

円周上の点の個数を kk とすると,V=v+kV=v+kE=e+kE=e+k である。また,一番外側の領域も面数 FF にカウントされているので F=n+1F=n+1 である。

以上より,(v+k)(e+k)+(n+1)=2(v+k)-(e+k)+(n+1)=2 ,つまり ve+n=1v-e+n=1

また,各ボロノイ点には三本以上の枝が接続しているので,3v2e3v\leq 2e

ただし,ボロノイ辺は一つまたは二つのボロノイ点に接続する(無限遠に伸びるものは一つの点のみと接続)ことを使った。

以上二つの式から ee を消去すると v2n2v\leq 2n-2

vv を消去すると,e3n3e\leq 3n-3 を得る。

性質3の証明は,データ構造とアルゴリズム(杉原厚吉著)という本を参考にしました。

性質3の証明で kk が消えるとこが素晴らしいですね!