多面体

同義語:polyhedronpolyhedral set

概要

多面体(polyhedron)とは、$\mathbb{R}^n$ の有限個の閉半空間の共通部分、すなわち有限個の 1 次不等式 $Ax\le b$ をすべて満たす点の集合のことで、有界なものを凸多面体という。点 $v$ が頂点(端点)であることは、$v$ で等号の成り立つ不等式の係数ベクトルが $\mathbb{R}^n$ を張ることと同値であり、頂点は有限個で、空でない多面体が頂点をもつのは直線を含まないときに限る。Fourier–Motzkin の消去法により多面体の射影はまた多面体であり、これと頂点の議論から、有界な多面体はちょうど有限個の点の凸包である(Minkowski–Weyl の定理)。立方体・正四面体・正八面体などの立体はその 3 次元の例であり、多面体は線形計画法の実行可能領域として現れる。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 凸集合, 凸包, 超平面, 行列の階数

立方体や正四面体のように、平らな多角形の面で囲まれた立体を多面体という。立方体 $[-1,1]^3$ は 6 つの不等式 $-1\le x_i\le1$ で表され、頂点は 8 個ある。このように、凸な多面体には「有限個の 1 次不等式をすべて満たす点の集合」という外側からの記述と、「有限個の頂点の凸結合の全体」という内側からの記述の 2 通りがある。大学数学では、凸な多面体を有限個の閉半空間の共通部分として定め、次元を 3 に限らずに扱う。
この記事の中心は、2 つの記述が一致すること、すなわち有界な多面体はちょうど有限個の点の凸包であること(Minkowski–Weyl の定理の有界な場合)である。そのために、頂点を「そこで等号の成り立つ不等式の係数ベクトルが空間を張る点」として特徴づけ、頂点から頂点へ動く議論と、変数を 1 つずつ消す Fourier–Motzkin の消去法を証明する。これらは線形計画法の理論の土台である。

定義

以下、$\mathbb{R}^n$ の点を縦ベクトルとみなし、内積を $a\cdot x$ と書く。$m\times n$ 行列 $A$ の第 $i$ 行を $a_i^{\mathsf T}$($a_i\in\mathbb{R}^n$)とし、$b\in\mathbb{R}^m$ について $Ax\le b$ は $m$ 個の不等式 $a_i\cdot x\le b_i$ がすべて成り立つことを表す。

半空間と多面体

$a\in\mathbb{R}^n$($a\ne0$)と $\beta\in\mathbb{R}$ について、$\{x\in\mathbb{R}^n\mid a\cdot x\le\beta\}$ を 閉半空間 という。有限個の閉半空間の共通部分、すなわち行列 $A\in\mathbb{R}^{m\times n}$ と $b\in\mathbb{R}^m$ を用いて
$$ P=\{x\in\mathbb{R}^n\mid Ax\le b\} $$
と書ける集合を 多面体(polyhedron)という。有界な多面体を 凸多面体(convex polytope)という。

等式 $a\cdot x=\beta$ は 2 つの不等式 $a\cdot x\le\beta$、$-a\cdot x\le-\beta$ で書けるので、アフィン部分空間(点・直線・平面など)も多面体である。$m=0$ のときは $P=\mathbb{R}^n$ と読む。空集合も多面体である($x_1\le0$ と $-x_1\le-1$)。閉半空間は凸な閉集合なので、その共通部分である多面体も凸な閉集合である。
有界とは限らない多面体を polyhedron、有界なものを polytope と呼ぶのは BV04 §2.2.4(p. 31)の流儀で、同書は逆の呼び方をする文献もあると注意している。凸包 の記事では有限集合の凸包を凸多面体と呼んでいる。この 2 つの定義が一致することは下の thm-polyh-minkowski-weyl で示す。単体複体の幾何学的実現 $|K|$ も多面体と呼ばれるが、これは別の概念である(多面体(単体複体))。
多面体 $P=\{Ax\le b\}$ の点 $x$ について、等号の成り立つ不等式の番号の集合
$$ I(x):=\{i\mid a_i\cdot x=b_i\} $$
を $x$ での 活性な制約 の集合という。

面・頂点・辺・ファセット

$P\subset\mathbb{R}^n$ を多面体とする。$c\in\mathbb{R}^n$ と $\delta\in\mathbb{R}$ が「すべての $x\in P$ について $c\cdot x\le\delta$」を満たすとき、
$$ F=P\cap\{x\mid c\cdot x=\delta\} $$
を $P$ の 面(face)という。面を含む最小のアフィン部分空間の次元を面の次元という。$0$ 次元の面($1$ 点からなる面)を 頂点(vertex)、$1$ 次元の面を 辺(edge)、$P$ の次元より $1$ 小さい次元の面を ファセット(facet)という。

$c=0$、$\delta=0$ とすると $F=P$ なので $P$ 自身も面であり、$c=0$、$\delta=1$ とすると空集合も面である。$\{v\}$ が面であることは、ある $c$ について「$P$ のどの点 $x\ne v$ でも $c\cdot x< c\cdot v$」が成り立つことと同じである。面 $F$ は $P$ を表す不等式に $c\cdot x\le\delta$ と $-c\cdot x\le-\delta$ を加えた多面体なので、それ自身も多面体である。
凸集合 $C$ の点 $x$ が、$C$ の異なる 2 点を結ぶ線分の内部の点にならないとき、$x$ を $C$ の 端点(extreme point)という(凸包 の記事の定義「端点」)。多面体では頂点と端点は同じものである(thm-polyh-vertex)。

直感

$P$ の面は、超平面 $\{c\cdot x=\delta\}$ を $P$ に外から押し当てたとき、超平面に触れる部分である。立方体に平面を押し当てると、平面の傾きに応じて 1 つの頂点、1 本の辺、1 枚の面のどれかで触れる。
頂点 $v$ では、$P$ を表す不等式のうち少なくとも $n$ 個で等号が成り立ち、しかもそれらの方程式だけで $v$ が決まる。立方体の頂点 $(1,1,1)$ では $x_1=1$、$x_2=1$、$x_3=1$ の 3 つの等号がそろい、それで点が 1 つに決まる。逆に、等号の成り立つ不等式が足りない点では、それらの等号を保ったまま前後に動ける方向が残り、その点は線分の内部にある。この「動ける方向が残るなら動き、新しい不等式にぶつかるまで進む」という操作が、この記事の証明の多くに現れる。

例

立方体・単体・正八面体
  1. 立方体 $Q_n=[-1,1]^n=\{x\mid -1\le x_i\le1\ (i=1,\dots,n)\}$ は $2n$ 個の不等式 $\pm x_i\le1$ で表される凸多面体である。頂点は、成分がすべて $\pm1$ の $2^n$ 個の点である(ex-polyh-vertices-cube)。
  2. 単体 $\Delta_n=\{x\mid x_i\ge0\ (i=1,\dots,n),\ x_1+\dots+x_n\le1\}$ は $n+1$ 個の不等式で表される。頂点は $0,e_1,\dots,e_n$($e_i$ は標準基底)で、$\Delta_n=\operatorname{conv}\{0,e_1,\dots,e_n\}$ である。実際、$x\in\Delta_n$ は $x=\bigl(1-\sum_ix_i\bigr)\cdot0+\sum_ix_ie_i$ と係数が $0$ 以上で和が $1$ の結合に書ける。
  3. 正八面体($n$ 次元では cross-polytope)$O_n=\{x\mid \varepsilon\cdot x\le1\ (\varepsilon\in\{\pm1\}^n)\}$ は $2^n$ 個の不等式で表される。$\max_{\varepsilon}\varepsilon\cdot x=\sum_i\lvert x_i\rvert$ なので $O_n=\{x\mid \sum_i\lvert x_i\rvert\le1\}$ であり、頂点は $\pm e_1,\dots,\pm e_n$ の $2n$ 個である。$n=3$ が正八面体である。

立方体は $2n$ 個の不等式で書けるが頂点は $2^n$ 個あり、正八面体はその逆である。同じ凸多面体でも、不等式による記述と頂点による記述の大きさは大きく違いうる(立方体について BV04 §2.2.4、p. 34)。

正四面体

$T=\operatorname{conv}\{(1,1,1),(1,-1,-1),(-1,1,-1),(-1,-1,1)\}$ は正四面体である(どの 2 頂点の距離も $2\sqrt2$)。$T$ は 4 つの不等式
$$ -x_1-x_2-x_3\le1,\quad -x_1+x_2+x_3\le1,\quad x_1-x_2+x_3\le1,\quad x_1+x_2-x_3\le1 $$
で表される。4 つの頂点を左辺に代入すると、各頂点で 3 つの不等式が等号になり、残る 1 つの左辺は $-3$ である。たとえば $(1,1,1)$ では後ろの 3 つが等号で、その係数ベクトル $(-1,1,1)$、$(1,-1,1)$、$(1,1,-1)$ は 1 次独立である。4 つの係数ベクトルのどの 3 つも 1 次独立であり(3 つを並べた行列の行列式は $\pm4$)、3 つを選んで等号にした連立方程式の解は、その 3 つが等号になる上の頂点である。cor-polyh-finite-vertices により、不等式の表す多面体の頂点は上の 4 点だけである。この多面体は有界なので(第 2 式と第 3 式を足すと $x_3\le1$、第 1 式と第 4 式を足すと $-x_3\le1$ が出る。他の座標も同様)、thm-polyh-conv-vertices により 4 頂点の凸包、すなわち $T$ に一致する。

有界でない多面体
  1. 第 1 象限 $\{(x,y)\mid x\ge0,\ y\ge0\}$ は多面体で、頂点は原点だけである。
  2. 上半平面 $\{(x,y)\mid y\ge0\}$ と直線 $\{(x,y)\mid y=0\}$ は多面体だが、頂点をもたない(直線を含むため。thm-polyh-pointed)。

頂点の特徴づけ

頂点の特徴づけ

$P=\{x\in\mathbb{R}^n\mid Ax\le b\}$ を多面体、$v\in P$ とする。次の 3 条件は同値である。

  1. $v$ は $P$ の頂点である。
  2. $v$ は $P$ の端点である。
  3. $\{a_i\mid i\in I(v)\}$ は $\mathbb{R}^n$ を張る。すなわち、活性な制約の係数ベクトルのうち $n$ 個が 1 次独立である。

1 ⇒ 2:$c$ を「$x\in P$、$x\ne v$ なら $c\cdot x< c\cdot v$」となるようにとる。$v=(1-t)y+tz$($y,z\in P$、$0< t< 1$)とし、$y\ne v$ と仮定すると、$z=v$ ではありえない($z=v$ なら $(1-t)y=(1-t)v$ から $y=v$)ので $c\cdot y< c\cdot v$ かつ $c\cdot z< c\cdot v$ となり、$c\cdot v=(1-t)c\cdot y+tc\cdot z< c\cdot v$ という矛盾が出る。よって $y=v$ であり、同様に $z=v$ である。
2 ⇒ 3:対偶を示す。$\{a_i\mid i\in I(v)\}$ が張る部分空間が $\mathbb{R}^n$ でないなら、その直交補空間から $d\ne0$ をとれる。すなわち $a_i\cdot d=0$($i\in I(v)$)である。$i\notin I(v)$ では $a_i\cdot v< b_i$ なので、$\varepsilon>0$ を十分小さくとれば、すべての $i\notin I(v)$ について $a_i\cdot v+\varepsilon\lvert a_i\cdot d\rvert\le b_i$ となる(不等式は有限個)。このとき $v\pm\varepsilon d$ はどの不等式も満たし、$P$ に属する。$v=\frac12(v+\varepsilon d)+\frac12(v-\varepsilon d)$ なので、$v$ は端点でない。
3 ⇒ 1:$c:=\sum_{i\in I(v)}a_i$、$\delta:=\sum_{i\in I(v)}b_i$ とおく。$x\in P$ なら $c\cdot x=\sum_{i\in I(v)}a_i\cdot x\le\delta=c\cdot v$ であり、等号はすべての $i\in I(v)$ で $a_i\cdot x=b_i$ のときに限る。仮定より連立 1 次方程式 $a_i\cdot x=b_i$($i\in I(v)$)の係数行列の階数は $n$ なので、解は $v$ ただ 1 つである。よって $P\cap\{c\cdot x=\delta\}=\{v\}$ であり、$v$ は頂点である。$\square$

頂点は有限個

$P=\{Ax\le b\}$($A$ は $m\times n$ 行列)の頂点は高々 $\binom{m}{n}$ 個である。各頂点は、1 次独立な $n$ 個の行 $a_{i_1},\dots,a_{i_n}$ を選んで解いた連立方程式 $a_{i_k}\cdot x=b_{i_k}$($k=1,\dots,n$)の解のうち、$P$ に属するものである。

$v$ が頂点なら、thm-polyh-vertex の 3 により $I(v)$ から 1 次独立な $n$ 個の番号 $i_1,\dots,i_n$ を選べ、$v$ は対応する $n$ 本の方程式のただ 1 つの解である。$n$ 個の番号の選び方は $\binom mn$ 通りで、選び方ごとに解は高々 1 つなので、頂点は高々 $\binom mn$ 個である。$\square$

立方体の頂点

立方体 $Q_n$ の頂点は成分が $\pm1$ の $2^n$ 点、正八面体 $O_n$ の頂点は $\pm e_i$ の $2n$ 点であることを thm-polyh-vertex で確かめる。

確かめを開く

$Q_n=[-1,1]^n$ の点 $v$ で活性な制約は、$v_i=1$ なら $x_i\le1$、$v_i=-1$ なら $-x_i\le1$ である。係数ベクトルは $\pm e_i$ なので、それらが $\mathbb{R}^n$ を張るのは、すべての $i$ で $v_i=\pm1$ のときに限る。よって頂点は成分が $\pm1$ の $2^n$ 点である。正八面体 $O_n$ では、点 $e_i$ で活性な制約は $\varepsilon_i=1$ を満たす $2^{n-1}$ 個の $\varepsilon$ の不等式であり、それらは $\mathbb{R}^n$ を張る($n\ge2$ なら、$\varepsilon$ と、その第 $j$ 成分($j\ne i$)だけを変えたものの差が $\pm2e_j$ であり、$\varepsilon$ 自身と合わせて全体を張る。$n=1$ では明らか)。$-e_i$ も同様なので、$\pm e_i$ は頂点である。ほかに頂点がないことは次のように分かる。$\sum_i\lvert x_i\rvert\le1$ なら $$x=\sum_{i=1}^n\lvert x_i\rvert\,(\operatorname{sgn}x_i)\,e_i+\Bigl(1-\sum_{i=1}^n\lvert x_i\rvert\Bigr)\Bigl(\tfrac12e_1+\tfrac12(-e_1)\Bigr)$$ ($\operatorname{sgn}0:=1$)と、係数が $0$ 以上で和が $1$ の結合に書けるので、$O_n=\operatorname{conv}\{\pm e_1,\dots,\pm e_n\}$ である。凸包 の記事の定理「凸多面体の頂点」の 1 により、有限集合の凸包の頂点(端点)はもとの集合の点である。

頂点の存在と頂点への移動

次の補題は、活性な制約を保ったまま動き、新しい不等式にぶつかったところで止まる操作を述べている。

活性な制約を増やす移動

$P=\{Ax\le b\}$、$x\in P$ とし、$d\in\mathbb{R}^n$ はすべての $i\in I(x)$ について $a_i\cdot d=0$ を満たし、$J:=\{j\mid a_j\cdot d>0\}$ は空でないとする。
$$ t^*:=\min_{j\in J}\frac{b_j-a_j\cdot x}{a_j\cdot d} $$
とおくと $t^*>0$ であり、$y:=x+t^*d$ は $P$ に属し、$I(x)\subsetneq I(y)$ かつ
$$ \operatorname{rank}\{a_i\mid i\in I(y)\}>\operatorname{rank}\{a_i\mid i\in I(x)\} $$
である。また $0\le t\le t^*$ なら $x+td\in P$ である。

要点:$J$ の不等式は $t^*$ までは破れず、$J$ の外の不等式は $d$ の向きに動いても左辺が増えない。最小値をとる番号の不等式が新しく等号になり、その係数ベクトルは $d$ との内積が正なので、それまでの活性な係数ベクトルの張る空間の外にある。

詳しい証明を開く

$j\in J$ なら $a_j\cdot d>0$ なので $j\notin I(x)$、すなわち $b_j-a_j\cdot x>0$ であり、$t^*>0$ である。$0\le t\le t^*$ とする。$i\in I(x)$ なら $a_i\cdot(x+td)=b_i$。$j\in J$ なら $t\le t^*\le(b_j-a_j\cdot x)/(a_j\cdot d)$ から $a_j\cdot(x+td)\le b_j$。それ以外の $k$ では $a_k\cdot d\le0$ なので $a_k\cdot(x+td)\le a_k\cdot x\le b_k$。よって $x+td\in P$ であり、とくに $y\in P$ で $I(x)\subset I(y)$ である。最小値をとる $j_0\in J$ では $a_{j_0}\cdot y=b_{j_0}$ なので $j_0\in I(y)\setminus I(x)$ である。$a_{j_0}\cdot d>0$ だが $a_i\cdot d=0$($i\in I(x)$)なので、$a_{j_0}$ は $\{a_i\mid i\in I(x)\}$ の張る部分空間に属さない。よって階数は真に増える。$\square$

頂点をもつための条件

$P=\{x\in\mathbb{R}^n\mid Ax\le b\}$ を空でない多面体とする。次の 3 条件は同値である。

  1. $P$ は頂点をもつ。
  2. $P$ は直線を含まない。
  3. $A$ の階数は $n$ である。

1 ⇒ 3:頂点 $v$ では thm-polyh-vertex の 3 により $\{a_i\mid i\in I(v)\}$ が $\mathbb{R}^n$ を張るので、$A$ の行も $\mathbb{R}^n$ を張る。
3 ⇒ 1:$x\in P$ をとり、$r(x):=\operatorname{rank}\{a_i\mid i\in I(x)\}$ とする。$r(x)=n$ なら $x$ は頂点である。$r(x)< n$ なら、$a_i\cdot d=0$($i\in I(x)$)を満たす $d\ne0$ がとれる。$A$ の階数は $n$ なので $Ad\ne0$ であり、$d$ と $-d$ の一方について $J$ が空でない。そちらを $d$ として lem-polyh-move を使うと、$r(y)>r(x)$ となる $y\in P$ が得られる。これを高々 $n$ 回繰り返すと、$r=n$ の点、すなわち頂点に達する。
2 ⇔ 3:$P$ が直線 $\{x+td\mid t\in\mathbb{R}\}$($d\ne0$)を含むとする。各 $i$ について $a_i\cdot x+t\,a_i\cdot d\le b_i$ がすべての $t\in\mathbb{R}$ で成り立つので $a_i\cdot d=0$、すなわち $Ad=0$ であり、$A$ の階数は $n$ より小さい。逆に階数が $n$ より小さければ $Ad=0$ となる $d\ne0$ があり、$x\in P$ について直線 $x+td$ は $P$ に含まれる。$\square$

$x_i\ge0$($i=1,\dots,n$)を不等式に含む多面体は、$A$ が単位行列の $-1$ 倍を含むので階数が $n$ であり、空でなければ必ず頂点をもつ。線形計画法で変数に非負の条件を付けた形がよく使われる理由の 1 つである。

凸多面体は頂点の凸包である

凸多面体は頂点の凸包

$P$ を空でない凸多面体(有界な多面体)とし、$V$ をその頂点の全体とする。このとき $V$ は空でない有限集合であり、$P=\operatorname{conv}V$ である。

$P=\{Ax\le b\}$ とする。有界な集合は直線を含まないので、thm-polyh-pointed により $V\ne\emptyset$ であり、cor-polyh-finite-vertices により $V$ は有限である。$P$ は凸で $V\subset P$ なので $\operatorname{conv}V\subset P$ である。
逆の包含を、$k(x):=n-\operatorname{rank}\{a_i\mid i\in I(x)\}$ についての帰納法で示す。$k(x)=0$ なら $x$ は頂点である(thm-polyh-vertex)。$k(x)>0$ とし、$a_i\cdot d=0$($i\in I(x)$)を満たす $d\ne0$ をとる。もし $a_j\cdot d\le0$ がすべての $j$ で成り立てば、すべての $t\ge0$ で $x+td\in P$ となり、$P$ の有界性に反する。よって $d$ について lem-polyh-move の $J$ は空でなく、同じ理由で $-d$ についても空でない。補題を $d$ と $-d$ に使うと、$s,t>0$ と
$$ y:=x+sd\in P,\qquad z:=x-td\in P,\qquad k(y)< k(x),\quad k(z)< k(x) $$
が得られる。帰納法の仮定により $y,z\in\operatorname{conv}V$ であり、
$$ x=\frac{t}{s+t}\,y+\frac{s}{s+t}\,z $$
なので $x\in\operatorname{conv}V$ である。$\square$

コンパクトな凸集合は端点の凸包である(凸包 の記事の定理「Minkowskiの定理」)。多面体の頂点は端点なので(thm-polyh-vertex)、thm-polyh-conv-vertices はその特別な場合でもあるが、上の証明は位相を使わず、頂点の有限性まで含めて示している。

Fourier–Motzkin の消去法

逆向き「有限個の点の凸包は多面体である」を示すには、多面体を座標軸に沿って射影したものがまた多面体であることを使う。変数 $x_n$ を含む不等式を、$x_n$ の係数の符号で分ける。

Fourier–Motzkin の消去法

$n\ge1$ とし、$P=\{x\in\mathbb{R}^n\mid Ax\le b\}$ とする。$x=(x',x_n)$($x'\in\mathbb{R}^{n-1}$)と書き、$a_i=(a_i',a_{in})$ とする。行の番号を
$$ I_+=\{i\mid a_{in}>0\},\qquad I_-=\{i\mid a_{in}<0\},\qquad I_0=\{i\mid a_{in}=0\} $$
に分け、$x'$ についての次の不等式系を作る。

  • $i\in I_0$ について $a_i'\cdot x'\le b_i$。
  • $i\in I_+$ と $j\in I_-$ の組ごとに、$i$ 行の $(-a_{jn})$ 倍と $j$ 行の $a_{in}$ 倍の和:
    $$ \bigl(-a_{jn}a_i'+a_{in}a_j'\bigr)\cdot x'\le -a_{jn}b_i+a_{in}b_j. $$
    このとき、$P$ の $x'$ への射影 $\{x'\mid (x',x_n)\in P\text{ となる }x_n\text{ がある}\}$ は、この不等式系の解の全体に等しい。とくに射影は $\mathbb{R}^{n-1}$ の多面体である。新しい不等式の各々は、もとの不等式に $0$ 以上の係数を掛けて足したもので、$x_n$ の係数が $0$ になっている。
    $n=1$ のときは $x'$ がなく($a_i'\cdot x'$ は $0$ と読む)、新しい系は変数を含まない不等式 $0\le\beta$ の集まりである。このとき主張は「$P$ が空でないことと、それらの不等式がすべて成り立つことは同値」と読む。

要点:$I_+$ の行は $x_n$ の上界 $U_i$、$I_-$ の行は下界 $L_j$ を与え、組 $(i,j)$ の新しい不等式はちょうど $L_j\le U_i$ と同値である。すべての下界がすべての上界以下なら、その間に $x_n$ をとれる。

詳しい証明を開く

新しい不等式が $0$ 以上の係数による和であることは作り方から分かり($-a_{jn}>0$、$a_{in}>0$)、$x_n$ の係数は $-a_{jn}a_{in}+a_{in}a_{jn}=0$ である。したがって $(x',x_n)\in P$ なら $x'$ は新しい不等式系を満たす。

逆に $x'$ が新しい不等式系を満たすとする。$i\in I_+$、$j\in I_-$ について $$U_i:=\frac{b_i-a_i'\cdot x'}{a_{in}},\qquad L_j:=\frac{b_j-a_j'\cdot x'}{a_{jn}}$$ とおくと、$i$ 行の不等式は $x_n\le U_i$ と、$j$ 行の不等式は(負の数 $a_{jn}$ で割るので向きが変わって)$x_n\ge L_j$ と同値である。$(i,j)$ の新しい不等式の両辺から左辺を移すと $-a_{jn}(b_i-a_i'\cdot x')+a_{in}(b_j-a_j'\cdot x')\ge0$ であり、正の数 $a_{in}(-a_{jn})$ で割ると $U_i-L_j\ge0$、すなわち $L_j\le U_i$ である。よって $\max_jL_j\le\min_iU_i$ であり($I_-$ が空なら最大は $-\infty$、$I_+$ が空なら最小は $+\infty$ と読む)、この間に $x_n$ をとれば $I_\pm$ の不等式がすべて成り立つ。$I_0$ の不等式は $x_n$ によらず成り立っている。よって $(x',x_n)\in P$ である。$\square$

$I_+$ と $I_-$ がどちらも大きいと不等式の数は $\lvert I_0\rvert+\lvert I_+\rvert\lvert I_-\rvert$ に増えるので、変数の多い計算には向かないが、理論的な帰結は強い。

多面体の線形写像による像

$P\subset\mathbb{R}^n$ を多面体、$M$ を $k\times n$ 行列、$q\in\mathbb{R}^k$ とする。像 $\{Mx+q\mid x\in P\}$ は $\mathbb{R}^k$ の多面体である。

要点:像は $\{(y,x)\mid y=Mx+q,\ Ax\le b\}$ の $y$ への射影なので、$x$ の座標を 1 つずつ消去すればよい。

詳しい証明を開く

$P=\{Ax\le b\}$ とし、$\mathbb{R}^{k+n}$ の多面体 $\widetilde P=\{(y,x)\mid y=Mx+q,\ Ax\le b\}$ を考える(等式は 2 つの不等式で書く)。像は $\widetilde P$ を $y$ の座標へ射影したものであり、$x$ の座標を末尾から 1 つずつ thm-polyh-fm で消去すると、各段で多面体が得られる($k=0$ のときは像が空か 1 点の $\mathbb{R}^0$ で、主張は自明である)。$\square$

有限個の点の凸包は多面体

$v_1,\dots,v_k\in\mathbb{R}^n$($k\ge1$)と $r_1,\dots,r_l\in\mathbb{R}^n$($l\ge0$)について、
$$ \operatorname{conv}\{v_1,\dots,v_k\}+\operatorname{cone}\{r_1,\dots,r_l\}=\Bigl\{\sum_{i=1}^k\lambda_iv_i+\sum_{j=1}^l\mu_jr_j\Bigm|\lambda_i\ge0,\ \sum_i\lambda_i=1,\ \mu_j\ge0\Bigr\} $$
は多面体である。とくに有限個の点の凸包は凸多面体である。

$\Lambda:=\{(\lambda,\mu)\in\mathbb{R}^{k+l}\mid\lambda\ge0,\ \mu\ge0,\ \sum_i\lambda_i=1\}$ は多面体であり、集合は $\Lambda$ の線形写像 $(\lambda,\mu)\mapsto\sum_i\lambda_iv_i+\sum_j\mu_jr_j$ による像なので、cor-polyh-image により多面体である。$l=0$ のとき集合は $\operatorname{conv}\{v_1,\dots,v_k\}$ で、$\|\sum\lambda_iv_i\|\le\max_i\|v_i\|$ なので有界である。$\square$

主定理:凸多面体の 2 つの表し方

Minkowski–Weylの定理(凸多面体の場合)

$S\subset\mathbb{R}^n$ を空でない集合とする。次の 2 条件は同値である。

  1. $S$ は有界な多面体である。すなわち有限個の 1 次不等式の解の全体で、有界である。
  2. $S$ は有限個の点の凸包である。
    さらにこのとき、2 の有限集合として $S$ の頂点の全体がとれ、2 の表し方に使う有限集合はどれも頂点をすべて含む。

1 ⇒ 2 は thm-polyh-conv-vertices、2 ⇒ 1 は thm-polyh-weyl である。最後の主張:$S=\operatorname{conv}F$($F$ は有限集合)なら、$S$ の頂点は端点であり(thm-polyh-vertex)、有限集合の凸包の端点はもとの集合に属する(凸包 の記事の定理「凸多面体の頂点」の 1)。$\square$

有界とは限らない多面体については、どの多面体も有限個の点の凸包と有限個のベクトルの生成する錐の和(thm-polyh-weyl の形)に表せることが知られている(BV04 §2.2.4、p. 34 に主張がある)。この記事ではこの一般の場合の証明はしない。

凸多面体の Minkowski 汎関数

$a_1,\dots,a_m\in\mathbb{R}^n$ とし、$P=\{x\mid a_i\cdot x\le1\ (i=1,\dots,m)\}$ は有界であるとする。このとき $P$ の Minkowski汎関数 $p_P(x)=\inf\{t>0\mid x\in tP\}$ は
$$ p_P(x)=\max_{1\le i\le m}a_i\cdot x $$
で与えられる。

要点:$x\in tP$ は $a_i\cdot x\le t$(すべての $i$)と同値で、有界性から $x\ne0$ なら $\max_ia_i\cdot x>0$ である。

詳しい証明を開く

$t>0$ について $x\in tP$ は $a_i\cdot x\le t$(すべての $i$)と同値なので、$p_P(x)=\max\bigl(0,\max_ia_i\cdot x\bigr)$ である($t>0$ の下限をとる)。$x\ne0$ ですべての $a_i\cdot x\le0$ なら、すべての $s\ge0$ で $sx\in P$ となり有界性に反するので、$x\ne0$ なら $\max_ia_i\cdot x>0$ である。$x=0$ では両辺とも $0$ である。$\square$

ex-polyh-basic の立方体 $Q_n$ からは $p_{Q_n}(x)=\max_i\lvert x_i\rvert$、正八面体 $O_n$ からは $p_{O_n}(x)=\sum_i\lvert x_i\rvert$ が得られる。$\ell^\infty$ ノルムと $\ell^1$ ノルムは、それぞれ立方体と正八面体を単位球とするノルムである。

立体としての多面体

高校数学や初等幾何では、有限個の多角形をはり合わせた立体の表面(またはそれで囲まれた立体)を多面体と呼び、凸でないものも含める(Eulerの多面体定理(高校数学) の定義「この記事での多面体」)。この記事の多面体との関係は次のとおりである。

凸多面体の境界

$P=\{x\in\mathbb{R}^n\mid Ax\le b\}$ とし、各 $a_i\ne0$ とする。$P$ の境界は、面 $F_i:=P\cap\{a_i\cdot x=b_i\}$($i=1,\dots,m$)の和集合に等しい。とくに $n=3$ で $P$ が有界なら、各 $F_i$ は平面に含まれる有界な多面体であり、空集合・1 点・線分・凸多角形のいずれかである。

要点:活性な制約のない点は不等式の連続性から内部の点であり、$a_i\cdot x=b_i$ となる点は $a_i$ の向きに少し動くと $P$ の外に出る。

詳しい証明を開く

$x\in P$ で活性な制約がなければ、$a_i\cdot x< b_i$ がすべての $i$ で成り立ち、左辺は $x$ について連続なので、$x$ の近くの点も $P$ に属する。よって $x$ は内部の点である。逆に $a_i\cdot x=b_i$ なら、$\varepsilon>0$ について $a_i\cdot(x+\varepsilon a_i)=b_i+\varepsilon\|a_i\|^2>b_i$ なので、$x$ のどの近傍も $P$ の外の点を含み、$x$ は境界の点である。$P$ は閉なので境界は $P$ に含まれ、境界は $F_i$ の和集合に等しい。後半:$F_i$ は有界な多面体で平面 $\{a_i\cdot x=b_i\}$ に含まれるので、thm-polyh-conv-vertices により平面内の有限個の点の凸包であり、空集合・1 点・線分・凸多角形のいずれかである。$\square$

したがって、3 次元の凸多面体の境界は、平面に含まれる有限個の凸多角形・線分・点の和集合である。内部が空でなければ、境界は 2 次元の $F_i$(凸多角形)だけで覆われ、凸多面体は凸多角形の面で囲まれた立体、すなわち高校数学の意味の凸な多面体である。

詳細

2 次元の $F_i$ の不等式だけで定まる多面体 $P'$ は $P$ を含む。$y\in P'$ が $P$ に属さないとし、$P$ の内部の点 $c$ を、$y$ と次元 $1$ 以下の各 $F_i$ を含む有限個の平面(または直線・点)の外にとる(内部は開集合なので、有限個の平面を避けられる)。線分 $cy$ が $P$ を出る点 $z$($z\ne y$)は境界の点なので、prop-polyh-boundary によりある $F_i$ に属する。$F_i$ の次元が $1$ 以下なら、$c$ は $y$ と $z$ を通る直線の上にあり、$y$ と $F_i$ を含む平面に属することになって $c$ の選び方に反する。よって $F_i$ は 2 次元である。$c$ は内部の点なので $a_i\cdot c< b_i$、また $a_i\cdot z=b_i$ で、$z$ は $c$ と $y$ の間にあるから $a_i\cdot y>b_i$ となり、$y\in P'$ に反する。よって $P'=P$ であり、prop-polyh-boundary を $P'$ の不等式に使えば、境界は 2 次元の $F_i$ の和集合である。


正多面体 の記事は、この意味の凸多面体を有限個の点の凸包として扱っている。一方、L 字形の柱のように凸でない立体は、高校数学の意味では多面体だが、半空間の共通部分ではない(半空間の共通部分は凸だから)。凸でない立体は 2 つ以上の凸多面体の和集合として扱うのが普通で、三角形分割を通して考えると 多面体(単体複体) の概念につながる。頂点の数 $V$、辺の数 $E$、面の数 $F$ の関係 $V-E+F=2$ は Eulerの多面体定理(高校数学) で扱われている。

反例の表

この記事の主定理である thm-polyh-minkowski-weyl と、thm-polyh-pointed の条件を 1 つずつ外すと、次のように結論が崩れる。

外す条件反例成り立たなくなること
有界(thm-polyh-minkowski-weyl)第 1 象限 $\{x\ge0,\ y\ge0\}$頂点は原点だけで、有限個の点の凸包ではない
不等式が有限個閉円板 $\{x^2+y^2\le1\}$(接線の半平面すべての共通部分)有限個の点の凸包ではない
不等式が等号つき(閉)開いた三角形 $\{x>0,\ y>0,\ x+y<1\}$端点をもたず、有限個の点の凸包ではない
直線を含まない(thm-polyh-pointed)上半平面 $\{y\ge0\}$頂点をもたない
表の反例の確かめ

どの行も、表の左の条件だけを外し、ほかの条件は満たしている。

4 つの確かめを開く

1. 第 1 象限は有界でないが、有限個の点の凸包は有界である(thm-polyh-weyl)。頂点が原点だけであることは thm-polyh-vertex から分かる($x=y=0$ のときだけ活性な制約が 2 つになる)。

2. 閉円板 $D$ は、各 $\theta$ について半平面 $\{x\cos\theta+y\sin\theta\le1\}$ の共通部分である($\|(x,y)\|=\max_\theta(x\cos\theta+y\sin\theta)$)。円周上の点はすべて $D$ の端点である。円周上の点 $p$ が $p=(1-t)q+tr$($q,r\in D$、$0< t< 1$、$q\ne r$)と書けたとすると、$\|p\|\le(1-t)\|q\|+t\|r\|\le1$ の等号から $q,r$ も円周上にあって同じ向きを向き、$q=r$ となって矛盾するからである。有限集合の凸包の端点はもとの集合に属するので(凸包 の記事の定理「凸多面体の頂点」の 1)、無限個の端点をもつ $D$ は有限個の点の凸包ではない。

3. 開いた三角形 $T^\circ$ の点 $x$ では、どの方向にも少し動けるので、$x$ は $T^\circ$ の 2 点を結ぶ線分の内部の点であり、端点はない。有限個の点の凸包は空でなければ端点をもつ(thm-polyh-minkowski-weyl の最後の主張と thm-polyh-conv-vertices)ので、$T^\circ$ は有限個の点の凸包ではない。

4. 上半平面は $x$ 軸に平行な直線を含み、$A=(0,-1)$ の階数は $1< 2$ である。thm-polyh-pointed の 3 が成り立たないので頂点をもたない。

関連項目

参考文献

[1]
Stephen Boyd, Lieven Vandenberghe, Convex Optimization, 1st ed., Cambridge University Press, 2004, §2.2.4 Polyhedra(多面体の定義と polytope の呼び方、p. 31。凸包と錐による表示と立方体の 2 通りの記述、p. 34)

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