楕円体法とは?

組合せ最適化輪講
4.4 楕円体法
担当:M2 津山竣太郎
楕円体法(ellipsoid method)
楕円体法とは?
・Iudin and Nemirovkii[1976],Shor[1977]により非線形最適化
分野で開発された手法
・それをベースとして、LPを多項式時間で解くアルゴリズムが
Kachiyanにより1979年に提案された
・LPの多項式時間アルゴリズムとしては史上初、「線形計画問題は
多項式時間で解けるのか」という疑問への肯定的な解決となった
・ただし一般には単体法の方が効率的
(なお、理論上も実用上も十分優れている、つまり十分実用的な最悪
多項式時間アルゴリズムが後々開発されている)
楕円体法(ellipsoid method)
多項式時間アルゴリズムの基本的な発想
「ある多面体𝑷 = {𝒙 ∈ 𝑹𝒏 |𝒂𝒙 ≤ 𝜷}が空であるか否かを判定する手法」
をサブルーチンに用いる
・主LP、双対LPがともに実行可能かをチェックする
(一方が実行可能でなければ最適解はない)
・多面体を与える不等式の内任意の一つ𝑎𝑥 ≤ 𝛽を𝑎𝑥 = 𝛽と
置き換えたLPが実行可能かをチェックする
・答えがyesでもnoでもそれに応じて不等式を1つ減らせる(らしい)
⇒(不等式の個数)回の繰り返しを実行すれば最適解が求まる
(詳しくは4.5でやってくれます!)
楕円体法(ellipsoid method)
「ある多面体𝑷 = {𝒙 ∈ 𝑹𝒏 |𝒂𝒙 ≤ 𝜷}が空であるか否かを判定する手法」
のアイディア
・Pを完全に含むような十分大きい楕円体を考える
・その中心がPに含まれる⇒「yes」を出力して終了
・中心がPに含まれないなら、楕円体から「 Pを含まない領域」を一部
切り捨てて領域を小さくする
・「Pが空でないならばこれくらいの体積があるはず」と言えるサイズ
になるまで繰り返す
・繰り返してもPの点が見つからない⇒「no」を出力して終了
(今回学ぶ楕円体法を応用することでこれが実現できる!)
(詳しくは4.5でやってくれます!)
楕円体法(ellipsoid method)
では、肝心の今回の内容(楕円体法)でやることは……?
・𝑷を完全に含むような大きい球から始める
・球の中心がPに含まれるかをチェック(含まれれば終わり)
・含まれない時、中心を通りPを一方のみに含むような超平面を見つ
け、Pを完全に含む半楕円を得る
・その半楕円を含む最小の楕円体を求める
・以上を十分な回数繰り返す
(大きい球、十分な回数は
事前に知っているものと仮定する)
・←中心
P
・←中心
・←中心
この場合yes
楕円体法(ellipsoid method)
定義4.12
𝑛 × 𝑛対称正定値行列Aを用いて𝐸 𝐴, 𝑥 = {𝑧 ∈ 𝑅𝑛 : 𝑧 − 𝑥 𝑇 𝐴−1 𝑧 −
楕円体法(ellipsoid method)
後でちゃんと使うので念のため……
𝐴を𝑛 × 𝑛実対称行列、𝑧を𝑛個の実数を成分に持つベクトルとした時、
∀𝑧 ≠ 0に対して𝑧 𝑇 𝐴𝑧 > 0となるような𝐴は、正定値である。
これは、 𝐴の全ての固有値が正であることと同値。
∀𝑧 ≠ 0に対して𝑧 𝑇 𝐴𝑧 ≥ 0となるような𝐴は、半正定値である。
これは、 𝐴の全ての固有値が非負であることと同値。
また、𝐴 = 𝑋 𝑇 𝑋なる行列𝑋が存在することとも同値。
楕円体法(ellipsoid method)
定義
ベクトル𝑥のユークリッドノルムを| 𝑥 |と表記する
また、行列Aのノルムは、
𝐴 ≔ max{ 𝐴𝑥 : 𝑥 = 1}と定義する
特に対称行列Aでは| 𝐴 |は固有値の絶対値の最大値に等しく、
𝐴 = max{𝑥 𝑇 𝐴𝑥: 𝑥 = 1}が成立する。
(後者から 𝐴 = max
𝑥 𝑇 𝐴𝑥
𝑥𝑇𝑥
⇒
𝑥 𝑇 𝐴𝑥
𝑥𝑇𝑥
≤ | 𝐴 |が言えることに注意)
楕円体法(ellipsoid method)
半楕円体の求め方
半楕円体𝐸 ′ = {𝑧 ∈ 𝐸 𝐴, 𝑥 : 𝑎𝑧 ≥ 𝑎𝑥}を含む最小の楕円体𝐸 𝐴′ , 𝑥 ′ )は、
E’の𝐿𝑜𝑤𝑛𝑒𝑟 − 𝐽𝑜ℎ𝑛楕円体と呼ばれておりそれは、
𝐴′
=
𝑛2
𝑛2 −1
𝑥′ = 𝑥 +
𝑏=
1
𝐴−
1
𝑏,
𝑛+1
𝑎𝑇 𝐴𝑎
2
𝑏𝑏 𝑇
𝑛+1
,
𝐴𝑎
𝐸′の𝐿𝑜𝑤𝑛𝑒𝑟 − 𝐽𝑜ℎ𝑛楕円体
を満たすことが知られている。
(ここで、𝑏で平方根の計算が
必要なので、丸め誤差の考慮が必要)
𝐸′
アルゴリズム4.4 楕円体法(Ellipsoid Method)
有理数𝑅 ≥ 2) 有理数ベクトル𝑥0 ∈ 𝑄𝑛
入力:自然数𝑛 ≥ 2 , 𝑁
出力:楕円体𝐸 𝐴𝑁 , 𝑥𝑁 )
①𝑝 ≔ ⌈6𝑁 + log 9𝑛3 ⌉とおく。
𝐼を𝑛 × 𝑛単位行列とし、𝐴0 ≔ 𝑅2 𝐼とおく。𝑘 ≔ 0とおく。
②任意の𝑎𝑘 ∈ 𝑄 𝑛 \{𝟎}を選ぶ。
③𝑏𝑘 ≔
1
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
𝑥𝑘+1 : ≈
∗
𝑥𝑘+1
𝐴𝑘+1 : ≈
𝐴∗𝑘+1
𝐴𝑘 𝑎𝑘 とおき、
{𝑧 ∈ 𝐸 𝐴, 𝑥 : 𝑎𝑧 ≥ 𝑎𝑥}の𝐿𝑜𝑤𝑛𝑒𝑟 − 𝐽𝑜ℎ𝑛楕円体
𝐴′
=
𝑛2
𝑛2 −1
2
𝐴 − 𝑛+1 𝑏𝑏𝑇 ,
1
𝑥 ′ = 𝑥 + 𝑛+1 𝑏,
≔ 𝑥𝑘 +
≔
1
𝑏 ,
𝑛+1 k
2𝑛2 +3
2𝑛2
𝐴𝑘 −
𝑏=
1
𝑎𝑇 𝐴𝑎
2
𝑏𝑘 𝑏𝑘𝑇 )
𝑛+1
𝐴𝑎
とおく。
④𝑘 ≔ 𝑘 + 1とおく。If 𝑘 < 𝑁 then ②へ行く else 終了する
(: ≈は、𝐴𝑘+1 であることを考慮しながら各成分について
2進𝑝桁まで正しく計算することを意味する)
アルゴリズム4.4 楕円体法(Ellipsoid Method)
入力:自然数𝑛 ≥ 2 , 𝑁
有理数𝑅 ≥ 2) 有理数ベクトル𝑥0 ∈ 𝑄𝑛
出力:楕円体𝐸 𝐴𝑁 , 𝑥𝑁 )
𝑁回の反復のどの段階でも、𝐸 𝐴𝑘 , 𝑥𝑘 ∩ {𝑧: 𝑎𝑘 𝑧 ≥ 𝑎𝑘 𝑥𝑘 }を含む最小の楕円
体を”少しだけ”拡大した近似楕円体𝐸 𝐴𝑘+1 , 𝑥𝑘+1 が計算される。
では、𝑎𝑘 をどう選ぶか? 入力の𝑁, 𝑅をどうやって与えるのか?
については4.5でやってくれます!
この章では
「逐次計算される 各𝐸𝑘 = 𝐸 𝐴𝑘 , 𝑥𝑘 )が確かに楕円体となり、
生じる数の絶対値は最大でも𝑅2 2𝑁 + 2𝑠𝑖𝑧𝑒
𝑥0
未満であること」
「各反復で、楕円体は前の反復の半楕円体と𝐸0 との共通部分を含むこと」
「各反復で、楕円体は一定割合で減少すること」 の3つを示す。
楕円体法(ellipsoid method)
𝑁回の反復のどの段階でも、𝐸 𝐴𝑘 , 𝑥𝑘 ∩ {𝑧: 𝑎𝑘 𝑧 ≥ 𝑎𝑘 𝑥𝑘 }を含む最小の楕円
体を”少しだけ”拡大した近似楕円体𝐸 𝐴𝑘+1 , 𝑥𝑘+1 が計算される
では、各反復で𝑎𝑘 をどう選ぶのか? 入力の𝑁, 𝑅をどう与えるのか?
については4.5でやってくれます!
この章では
「逐次計算される 各𝐸𝑘 = 𝐸 𝐴𝑘 , 𝑥𝑘 )が確かに楕円体となり、
生じる数の絶対値は最大でも𝑅2 2𝑁 + 2𝑠𝑖𝑧𝑒
𝑥0
未満であること」
「各反復で、楕円体は前の反復の半楕円体と𝐸0 との共通部分を含むこと」
「各反復で、楕円体は一定割合で減少すること」 の3つを示す。
補題4.13 (𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟏])
行列𝐴0 , 𝐴1 , ⋯ , 𝐴𝑁 は正定値である。さらに𝑘 = 0,1, ⋯ , 𝑁に対して
𝑥𝑘 ≤ 𝑥0 + 𝑅2𝑘 ,
𝐴𝑘 ≤ 𝑅2 2𝑘 ,
𝐴−1
≤ 𝑅−2 4𝑘
𝑘
である。
証明
𝑘についての帰納法で示す。
𝑘 = 0のときは
𝐴0 = 𝑅2 𝐼,
𝐴0 = 𝑅2 ≤ 𝑅2 20 ,
𝐴−1
= 𝑅−2 ≤ 𝑅−2 40
0
であり、明らか。
さて、まず単純な計算により
𝐴∗𝑘+1 −1
=
2𝑛2
2𝑛2 +3
𝐴−1
𝑘
+
2
⋅
𝑛−1
𝑇
𝑎𝑘 𝑎𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
) が成立することを確認する。
単純な計算(さくっと)
1
𝑏𝑘 ≔
𝐴∗𝑘+1
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
=
2𝑛2
2𝑛2 +3
𝐴−1
𝑘
=
=
𝐴−1
𝑘
=𝐼+
𝐴𝑘 𝑎𝑘 かつ𝐴∗𝑘+1
2𝑛2 +3
2𝑛2
𝐴𝑘 −
𝐴−1
𝑘
2
⋅
𝑛−1
+
⋅
⋅𝐴 +
2
𝑛−1
−
𝐴𝑘 −
2
𝑏𝑘 𝑏𝑘𝑇 )かつAk の対称性より、
𝑛+1
𝑇
𝐴𝑘 𝑎𝑘 𝑎𝑘
𝐴𝑘
2
⋅ 𝑇
)が成立する。
𝑛+1
𝑎𝑘 𝐴𝑘 𝑎𝑘
𝑇
𝑎𝑘 𝑎𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
𝑇
𝑎𝑘 𝑎𝑘
2
𝑇𝐴 𝑎
𝑛−1 𝑎𝑘
𝑘 𝑘
𝑇
𝑎𝑘 𝑎𝑘
2
𝑘
𝑇𝐴 𝑎
𝑛−1 𝑎𝑘
𝑘 𝑘
+
≔
2𝑛2 +3
2𝑛2
𝐴∗𝑘+1
⋅ 𝐴𝑘 −
⋅
2
4
− 2
𝑛+1
𝑛 −1
𝑇
𝐴𝑘 𝑎𝑘 𝑎𝑘
𝐴𝑘
2
⋅ 𝑇
𝑛+1
𝑎𝑘 𝐴𝑘 𝑎𝑘
⋅ 𝐴𝑘 −
⋅
2
𝑛+1
⋅ 𝐴−1
𝑘
⋅
𝑇
𝐴𝑘 𝑎𝑘 𝑎𝑘
𝐴𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
𝑇
𝑎𝑘 𝑎𝑘
𝐴𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
=𝐼
後ろから掛ける場合も同様に成立(飛ばします)
−
𝑇
𝑎𝑘 𝑎𝑘
4
𝑇𝐴 𝑎
𝑛2 −1 𝑎𝑘
𝑘 𝑘
⋅
𝑇
𝐴𝑘 𝑎𝑘 𝑎𝑘
𝐴𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
補題4.13 (𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟏])
行列𝐴0 , 𝐴1 , ⋯ , 𝐴𝑁 は正定値である。さらに𝑘 = 0,1, ⋯ , 𝑁に対して
𝑥𝑘 ≤ 𝑥0 + 𝑅2𝑘 ,
𝐴∗𝑘+1 −1
𝐴∗𝑘+1
=
2𝑛2
2𝑛2 +3
𝐴−1
𝑘
𝐴−1
≤ 𝑅−2 4𝑘
𝑘
𝐴𝑘 ≤ 𝑅2 2𝑘 ,
+
2
⋅
𝑛−1
𝑇
𝑎𝑘 𝑎𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
)より
−1 は正定値行列と半正定値行列の和となる。
よって 𝐴∗𝑘+1
である。
∵𝐴が半正定値⇔
𝐴 = 𝑋 𝑇 𝑋なる𝑋の
存在と同値!
−1 は正定値であり、同様に𝐴∗
𝑘+1 も正定値となる。
半正定値行列に対して 𝐴 ≤ | 𝐴 + 𝐵 |が成立するので、
𝐴∗𝑘+1
=
2𝑛2 +3
2𝑛2
𝐴𝑘 −
2
𝑏𝑘 𝑏𝑘𝑇
𝑛+1
≤
2𝑛2 +3
2𝑛2
𝐴𝑘 ≤
11 2 𝑘
𝑅 2
8
行列𝐴𝑘+1 − 𝐴∗𝑘+1 はどの要素も絶対値が高々2−𝑝 となり、
そのノルムは高々𝑛2−𝑝 ≤ 1となる。
𝐴𝑘+1 ≤ 𝐴∗𝑘+1 + 𝐴𝑘+1 − 𝐴∗𝑘+1 ≤
∵𝑝 ≔ ⌈6𝑁 + log 9𝑛3 ⌉
11 2 𝑘
𝑅 2
8
+ 𝑛2−𝑝 ≤ 𝑅2 2𝑘+1
補題4.13 (𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟏])
行列𝐴0 , 𝐴1 , ⋯ , 𝐴𝑁 は正定値である。さらに𝑘 = 0,1, ⋯ , 𝑁に対して
𝑥𝑘 ≤ 𝑥0 + 𝑅2𝑘 ,
𝐴𝑘 ≤ 𝑅2 2𝑘 ,
𝐴−1
≤ 𝑅−2 4𝑘
𝑘
である。
任意の𝑛 × 𝑛対称正定値行列𝐴はある𝑛 × 𝑛対称正定値行列𝐵を用いて
𝐴 = 𝐵𝐵と書けることは、線形代数でよく知られている事実である。
それを用いて𝐴𝑘 = 𝐵𝐵とすると、
𝑏𝑘 =
=
𝐴𝑘 𝑎𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
=
𝐵𝑎𝑘 𝑇 𝐴𝑘 𝐵𝑎𝑘
𝐵𝑎𝑘 𝑇 𝐵𝑎𝑘
𝑇 𝐴2 𝑎
𝑎𝑘
𝑘 𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
≤
=
𝑇 𝐵) 𝐵𝐵) 𝐵𝑎 )
𝑎𝑘
𝑘
𝑇 𝐵) 𝐵𝑎 )
𝑎𝑘
𝑘
𝐴𝑘 ≤ 𝑅2𝑘−1
帰納法の仮定より、
1
𝑏𝑘
𝑛+1
1
𝑅2𝑘−1
𝑛+1
𝑥𝑘+1 ≤ 𝑥𝑘 +
≤ 𝑥0 + 𝑅2𝑘 +
∗
+ 𝑥𝑘+1 − 𝑥𝑘+1
+ 𝑛2−𝑝 ≤ 𝑥0 + 𝑅2𝑘+1
補題4.13 (𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟏])
行列𝐴0 , 𝐴1 , ⋯ , 𝐴𝑁 は正定値である。さらに𝑘 = 0,1, ⋯ , 𝑁に対して
𝑥𝑘 ≤ 𝑥0 + 𝑅2𝑘 ,
𝐴∗𝑘+1 −1
=
𝐴∗𝑘+1 −1
2𝑛2
2𝑛2 +3
≤
2𝑛2
2𝑛2 +3
≤
2𝑛2
2𝑛2 +3
|
≤
2𝑛2
2𝑛2 +3
| 𝐴−1
𝑘 |+
≤
𝑛+1
|
𝑛−1
𝐴−1
𝑘
𝐴−1
𝑘 |
≤ 3𝑅−2 4𝑘
が得られる。
𝐴−1
𝑘
|+
𝐴𝑘 ≤ 𝑅2 2𝑘 ,
+
2
⋅
𝑛−1
𝐴−1
𝑘
𝑇
𝑎𝑘 𝑎𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
+
| 𝐴−1
𝑘 |)
である。
)と 𝑎𝑘 𝑎𝑘𝑇 = 𝑎𝑘𝑇 𝑎𝑘 より、
𝑇
𝑎𝑘
𝑎
2
⋅ 𝑇 𝑘 )
𝑛−1 𝑎𝑘 𝐴𝑘 𝑎𝑘
𝑇
𝑎𝑘
𝐵𝐴−1
𝐵𝑎
2
⋅ 𝑇 𝑘 𝑘)
𝑛−1
𝑎𝑘 𝐵𝐵𝑎𝑘
2
⋅
𝑛−1
𝐴−1
≤ 𝑅−2 4𝑘
𝑘
補題4.13 (𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟏])
行列𝐴0 , 𝐴1 , ⋯ , 𝐴𝑁 は正定値である。さらに𝑘 = 0,1, ⋯ , 𝑁に対して
𝑥𝑘 ≤ 𝑥0 + 𝑅2𝑘 ,
𝐴−1
≤ 𝑅−2 4𝑘
𝑘
𝐴𝑘 ≤ 𝑅2 2𝑘 ,
である。
𝜆を𝐴𝑘+1 の最小固有値とし、𝑣をノルム 𝑣 = 1の対応する固有ベクトルと
する。
対称行列𝐶を用いて𝐴∗𝑘+1 = 𝐶𝐶とすれば、
𝜆 = 𝑣 𝑇 𝐴𝑘+1 𝑣 = 𝑣 𝑇 𝐴∗𝑘+1 𝑣 + 𝑣 𝑇 𝐴𝑘+1 − 𝐴∗𝑘+1 𝑣
=
𝑣 𝑇 𝐶𝐶𝑣
𝑣𝑇𝐶
≥
1
3
−1
𝐴∗𝑘+1
𝐶𝑣
𝐴∗𝑘+1
+ 𝑣 𝑇 𝐴𝑘+1 − 𝐴𝑘+1
−1 −1
∗
𝑣
− 𝐴𝑘+1 − 𝐴∗𝑘+1
> 𝑅2 4−𝑘 − 𝑛2−𝑝
≥ 𝑅 2 4−
(∵2−𝑝 ≤
𝑘+1
1 −𝑘
4 )
3𝑛
よって𝜆 > 0が示されたため𝐴𝑘+1 は正定値である。さらに、
𝐴𝑘+1
−1
1
𝜆
= ≤ 𝑅−2 4𝑘+1
が成立する。
[証明終了]
楕円体法(ellipsoid method)
OK!
「逐次計算される 各𝐸𝑘 = 𝐸 𝐴𝑘 , 𝑥𝑘 )が確かに楕円体となり、
生じる数の絶対値は最大でも𝑅2 2𝑁 + 2𝑠𝑖𝑧𝑒
𝑥0
未満であること」
「各反復で、楕円体は前の反復の半楕円体と𝐸0 との共通部分を含むこと」
「各反復で、楕円体は一定割合で減少すること」 の3つを示す。
続いて、
補題4.14
𝑘 = 0, ⋯ , 𝑁 − 1に対して、𝐸𝑘+1 ⊇ {𝑥 ∈ 𝐸𝑘 ∩ 𝐸0 : 𝑎𝑘 𝑥 ≥ 𝑎𝑘 𝑥𝑘 }が成立する。
の成立を示す。
𝑥 ∈ 𝐸𝑘 ∩ 𝐸0 , 𝑎𝑘 𝑥 ≥ 𝑎𝑘 𝑥𝑘 を満たす点𝑥すべてが
𝑥 − 𝑥𝑘+1
𝑇
𝐴𝑘+1
−1
𝑥 − 𝑥𝑘+1 ≤ 1を満たすことを示せば良い。
補題4.14
1
𝑏𝑘 =
𝐴𝑘 𝑎𝑘 , 𝑏𝑘𝑇 =
1
𝑎𝑘𝑇𝐴𝐴𝑘𝑘𝑎𝑘
𝐴𝑎
𝑘𝑘
𝑘𝑎
𝑎𝑘𝑇 𝐴𝑘 より、
𝑇
𝑎𝑘 − 1に対して、𝐸
𝑎𝑘𝑇 𝐴𝑘 𝑎𝑘𝑘+1 ⊇ {𝑥 ∈ 𝐸𝑘 ∩ 𝐸0 : 𝑎𝑘 𝑥 ≥ 𝑎𝑘 𝑥𝑘 }が成立する。
𝑘 = 0,𝑎⋯
𝑘 𝐴,𝑘𝑁
−1 =
𝐴
𝑏𝑘𝑇−1
𝑘𝐴𝑏
証明
𝑘𝑘 𝑏𝑘
𝐴
=−1
𝑘
𝐴−1
𝑘=
𝑎𝑘𝑇𝑎𝐴𝑘𝑇𝑘𝐴𝑎𝑘𝑘𝑎𝑘
=1
𝑎 𝑘𝑇𝐴𝑘 𝑎𝑘
𝑥 ∈ 𝐸𝑘 ∩ 𝐸0 が𝑎𝑘 𝑥 ≥ 𝑎𝑘 𝑥𝑘 を満たすとする。まず、
𝑏𝑎𝑘𝑇𝑘𝑎𝑘𝑇𝑎𝑏𝑘𝑇∗𝑏𝑘 𝑇𝑎𝑘 𝑎𝑎∗𝑘𝑇𝑘𝑇 𝐴𝑘 −1𝐴𝑘 𝑎𝑎𝑘𝑘 𝑎𝑘𝑇∗
𝐴𝑎𝑘𝑎
𝑥𝑇𝑇− 𝑥𝑘+1
= =𝑇 𝐴𝑘+1⋅ ⋅ 𝑥𝑇− 𝑥𝑘+1
=⋅ ) 𝑘 𝑘 = 1
𝑎𝑎𝑘 𝑘𝐴𝐴𝑘 𝑘𝑎𝑎𝑘 𝑘 𝑎𝑘 𝐴𝑘 𝑎𝑇 𝑘
𝑇𝑎𝑘 𝐴𝑘 𝑎𝑘
𝑇𝑇
𝑎
𝐴
𝑎
𝑎
𝐴𝐴𝑘 𝑎𝑎𝑘
𝑎
𝐴
𝑎
𝑎
𝑇
𝑇
2
𝑘
𝑘
𝑘
𝑘
𝑘
𝑘
𝑘
2𝑛
1
−1 𝑘 𝑘2 𝑘 𝑎𝑘 𝑎𝑘
=
=
2𝑛2 +3
2𝑛2
2𝑛2 +3
+
=
𝑥−
1
𝑛+1 2
2𝑛2
2𝑛2 +3
+
𝑥 − 𝑥𝑘 −
𝑥𝑘 𝑇 𝐴−1
𝑘
𝑏𝑘𝑇 𝐴−1
𝑘 𝑏𝑘
𝑥−
1
𝑛+1 2
𝑛+1
𝑏𝑘
+
𝑥𝑘 𝑇 𝐴−1
𝑘
1+
2
𝑛−1
−
𝐴𝑘 +
𝑥 − 𝑥𝑘 +
⋅
𝑇𝐴 𝑎
𝑛−1 𝑎𝑘
𝑘 𝑘
2
𝑛−1
𝑇
𝑏𝑘𝑇 𝑎𝑘 𝑎𝑘
𝑏𝑘
2
⋅ 𝑇
𝑛−1
𝑎𝑘 𝐴𝑘 𝑎𝑘
𝑥 − 𝑥𝑘 +
−
2
𝑛−1
2 𝑥−𝑥𝑘 𝑇 𝑎𝑘
𝑛+1
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
𝑥−
) 𝑥 − 𝑥𝑘 −
𝑇
𝑇 𝑎𝑘 𝑎𝑘
𝑥𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
2 𝑥−𝑥𝑘 𝑇
𝑛+1
𝑥−
1+
2
))
𝑛−1
𝑥 − 𝑥𝑘
𝐴−1
𝑘 𝑏𝑘
𝑇
𝑎𝑘 𝑎𝑘
𝑇
𝑥𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
1
𝑏 )
𝑛+1 𝑘
+
2
⋅
𝑛−1
𝑥 − 𝑥𝑘
𝑇
𝑎𝑘 𝑎𝑘
𝑏𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
))
補題4.14
𝑘 = 0, ⋯ , 𝑁 − 1に対して、𝐸𝑘+1 ⊇ {𝑥 ∈ 𝐸𝑘 ∩ 𝐸0 : 𝑎𝑘 𝑥 ≥ 𝑎𝑘 𝑥𝑘 }が成立する。
証明
𝑥 ∈ 𝐸𝑘 であるので、 𝑥 − 𝑥𝑘 𝑇 𝐴−1
𝑘 𝑥 − 𝑥𝑘 ≤ 1がいえる。(∵楕円の定義)
𝑡≔
𝑇
𝑎𝑘
𝑥−𝑥𝑘
∗
𝑥 − 𝑥𝑘+1
≤
2𝑛2
2𝑛2 +3
+
≤
と略記すると、
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
𝑇
𝑥−
1
𝑛+1 2
2𝑛2
2𝑛2 +3
𝐴∗𝑘+1
2
𝑛−1
2
𝑡2
𝑛−1
が得られる。
∗
𝑥 − 𝑥𝑘+1
𝑥𝑘 𝑇 𝐴−1
𝑘
1+
1+
−1
−
+
𝑥 − 𝑥𝑘 +
2
𝑛−1
2 𝑥−𝑥𝑘 𝑇 𝑎𝑘
𝑛+1
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
1
𝑛2 −1
−
2
𝑡)
𝑛−1
𝑥−
1+
𝑇
𝑎𝑘 𝑎𝑘
𝑇
𝑥𝑘
𝑇
𝑎𝑘
𝐴𝑘 𝑎𝑘
2
))
𝑛−1
𝑥 − 𝑥𝑘
補題4.14
𝑘 = 0, ⋯ , 𝑁 − 1に対して、𝐸𝑘+1 ⊇ {𝑥 ∈ 𝐸𝑘 ∩ 𝐸0 : 𝑎𝑘 𝑥 ≥ 𝑎𝑘 𝑥𝑘 }が成立する。
𝑇 −1
𝑏𝑘𝑇 𝐴−1
𝑘 𝑏𝑘 = 1かつ𝑏𝑘 𝐴𝑘 𝑥 − 𝑥𝑘 = 𝑡であることから、
1 ≥ 𝑥 − 𝑥𝑘 𝑇 𝐴−1
𝑘 𝑥 − 𝑥𝑘 )
2
2
= 𝑥 − 𝑥𝑘 − 𝑡𝑏𝑘 𝑇 𝐴−1
𝑘 𝑥 − 𝑥𝑘 − 𝑡𝑏𝑘 + 𝑡 ≥ 𝑡 ⇒ 𝑡 ≤ 1
また、𝑎𝑘 𝑥 − 𝑎𝑘 𝑥𝑘 ≥ 0 ⇒ 0 ≤ 𝑡
ゆえに0 ≤ 𝑡 ≤ 1が成立する。よって、
𝑥−
∗
𝑇
𝑥𝑘+1
𝐴∗𝑘+1 −1
𝑥−
∗
𝑥𝑘+1
≤
2𝑛4
2𝑛4 +𝑛2 −3
あとは丸め誤差の評価ができればOKだが、実はその誤差は高々
1
になる。
9𝑛2
(三角不等式等々のごり押しと補題4.13の素直な適用なので省略)
補題4.14
𝑘 = 0, ⋯ , 𝑁 − 1に対して、𝐸𝑘+1 ⊇ {𝑥 ∈ 𝐸𝑘 ∩ 𝐸0 : 𝑎𝑘 𝑥 ≥ 𝑎𝑘 𝑥𝑘 }が成立する。
𝑥 − 𝑥𝑘+1
𝑇
∗
≤ 𝑥 − 𝑥𝑘+1
≤
𝐴𝑘+1
𝑇
−1
𝐴∗𝑘+1
2𝑛4
1
+
2𝑛4 +𝑛2 −3
9𝑛2
𝑥 − 𝑥𝑘+1
−1
∗
𝑥 − 𝑥𝑘+1
+ 丸め誤差)
≤1
ゆえに𝐸𝑘+1 ⊇ {𝑥 ∈ 𝐸𝑘 ∩ 𝐸0 : 𝑎𝑘 𝑥 ≥ 𝑎𝑘 𝑥𝑘 }が示される。
[証明終了]
楕円体法(ellipsoid method)
OK!
「逐次計算される 各𝐸𝑘 = 𝐸 𝐴𝑘 , 𝑥𝑘 )が確かに楕円体となり、
生じる数の絶対値は最大でも𝑅2 2𝑁 + 2𝑠𝑖𝑧𝑒
𝑥0
未満であること」
「各反復で、楕円体は前の反復の半楕円体と𝐸0 との共通部分を含むこと」
「各反復で、楕円体は一定割合で減少すること」 の3つを示す。
最後に、
補題4.15(𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒔𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟖])
𝑘 = 0, ⋯ , 𝑁 −
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘+1
1に対して、
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘
の成立を示す。
<𝑒
−
1
5𝑛
が成立する。
補題4.15 (𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒔𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟖])
𝑘 = 0, ⋯ , 𝑁 −
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘+1
1に対して、
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘
<𝑒
1
−5𝑛
が成立する。
証明
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘+1
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘
det 𝐴𝑘+1
det 𝐴𝑘
=
2𝑛2 +3
2𝑛2
まず、𝐴∗𝑘+1
=
det 𝐴∗𝑘+1
2𝑛2 +3
2𝑛2
=
ここで、
𝑇
𝑎𝑘 𝑎𝑘
𝐴𝑘
𝑇𝐴 𝑎
𝑎𝑘
𝑘 𝑘
det 𝐴∗𝑘+1
=
𝐴𝑘 −
det 𝐴𝑘+1
det 𝐴∗𝑘+1
det 𝐴𝑘
2
𝑏𝑘 𝑏𝑘𝑇
𝑛+1
=
𝑛
det 𝐴𝑘 ⋅ det 𝐼 −
を評価する。
2𝑛2 +3
𝐴𝑘
2𝑛2
𝑇
𝐴𝑘
2 𝑎𝑘 𝑎𝑘
𝑇𝐴 𝑎
𝑛+1 𝑎𝑘
𝑘 𝑘
𝐼−
𝑇
𝐴𝑘
2 𝑎𝑘 𝑎𝑘
𝑇𝐴 𝑎
𝑛+1 𝑎𝑘
𝑘 𝑘
が成立する。
はrank1の行列なので、1が0以外の唯一の固有値である。
行列式は固有値の積であるので、
det 𝐴∗𝑘+1
det 𝐴𝑘
=
より、
2𝑛2 +3
2𝑛2
𝑛
1−
2
𝑛+1
3
2𝑛
<𝑒 𝑒
2
−𝑛
=e
1
−2𝑛
が成立する。
補題4.15 (𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒔𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟖])
𝑘 = 0, ⋯ , 𝑁 −
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘+1
1に対して、
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘
任意の行列𝐵でdet 𝐵 ≤ 𝐵
det 𝐴𝑘+1
det 𝐴∗𝑘+1
= det 𝐼 + 𝐴∗𝑘+1
≤ 𝐼 + 𝐴∗𝑘+1
≤
𝐼 +
−1
−1
≤ 1+
≤𝑒
1
10𝑛
𝐴∗𝑘+1
−1
≤ 3𝑅−2 4𝑘 より、
𝐴𝑘+1 − 𝐴∗𝑘+1 )
⋅ 𝐴𝑘+1 −
≤ 1 + 𝑅−2 4𝑘+1 ) ⋅ 𝑛2−𝑝 )
が成立する。
が成立することと
𝐴𝑘+1 − 𝐴∗𝑘+1
𝐴∗𝑘+1 −1
𝑛
1
10𝑛2
𝑛
<𝑒
1
−5𝑛
𝑛
𝐴∗𝑘+1
𝑛
𝑛
(∵2−𝑝
≤
4
10𝑛3 4 𝑁
≤
𝑅2
)
10𝑛3 4 𝑘+1
補題4.15 (𝑮𝒓𝒐𝒕𝒔𝒄𝒉𝒆𝒍, 𝑳𝒐𝒗𝒂𝒔𝒛 𝒂𝒏𝒅 𝑺𝒄𝒉𝒓𝒊𝒋𝒗𝒆𝒓 [𝟏𝟗𝟖𝟖])
𝑘 = 0, ⋯ , 𝑁 −
det 𝐴∗𝑘+1
det 𝐴𝑘
det 𝐴𝑘+1
det 𝐴∗𝑘+1
≤e
−
≤𝑒
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘+1
1に対して、
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘
<𝑒
1
−5𝑛
が成立する。
1
2𝑛
1
10𝑛
の二つを示した。これらを用いることで、
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘+1
𝑣𝑜𝑙𝑢𝑚𝑒 𝐸𝑘
=
が示される。
det 𝐴𝑘+1
det 𝐴𝑘
=
det 𝐴∗𝑘+1
det 𝐴𝑘
[証明終了]
det 𝐴𝑘+1
det 𝐴∗𝑘+1
≤𝑒
1
−5𝑛
楕円体法(ellipsoid method)
「逐次計算される 各𝐸𝑘 = 𝐸 𝐴𝑘 , 𝑥𝑘 )が確かに楕円体となり、
生じる数の絶対値は最大でも𝑅2 2𝑁 + 2𝑠𝑖𝑧𝑒
𝑥0
未満であること」
「各反復で、楕円体は前の反復の半楕円体と𝐸0 との共通部分を含むこと」
「各反復で、楕円体は一定割合で減少すること」
の3つを示した。
以上の事実を用いて、
任意の線形計画問題に対して最適解を与える
多項式時間アルゴリズムを構成することができる。
(続きは4.5でやってくれます!)
(終わり)