Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
LCP_3_pivoting_methods_1
Search
seytwo
May 30, 2020
Science
42
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LCP_3_pivoting_methods_1
there are some mistakes
to be revised
seytwo
May 30, 2020
More Decks by seytwo
See All by seytwo
ポケモンバトル例
seytwo
0
850
LCP_6_geometry_and_degree_theory_2
seytwo
0
120
LCP_5_geometry_and_degree_theory_1
seytwo
0
63
LCP_4_pivoting_methods_2
seytwo
0
110
LCP_2_existence_and_multiplicity
seytwo
0
1.5k
LCP_1_introduction
seytwo
0
250
Other Decks in Science
See All in Science
生成AIが科学とRAにもたらしていること:メタサイエンスの視点から
rmaruy
0
140
データ駆動型ゲノム解析で迫る睡眠研究
tagtag
PRO
0
110
サンプル対応のない複数遺伝子発現プロファイルに対するテンソル分解型統合解析の要約
tagtag
PRO
0
250
データベース01: データベースを使わない世界
trycycle
PRO
1
1.5k
機械学習 - K近傍法 & 機械学習のお作法
trycycle
PRO
1
1.6k
Understanding CVP Waveforms: Interpretation and Clinical Implications in Anesthesiology
taka88
0
880
J-STAGE全文XML登載必須化について
xspa2012
0
1.5k
20260820_アウトカムが二値のデータに対するCausal Impact@LINEヤフー Data Science Share #2 / Causal Impact for Binary Outcomes
brainpadpr
3
1.4k
YouTubeにおける撤回論文の参照実態 / metascience-meetup2026
corgies
3
360
presen_司法書士学員会.pdf
tagtag
PRO
1
100
AlgorithAlgorihms for Decision Making
mickey_kubo
0
140
「念のためのログ保存」を組織全体でやめるためのポリシーと仕組み作り
i2tsuki
4
380
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
Claude Code のすすめ
schroneko
67
230k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
How to Talk to Developers About Accessibility
jct
2
550
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Site-Speed That Sticks
csswizardry
13
1.5k
Leo the Paperboy
mayatellez
10
2.3k
Transcript
線形相補性問題ゼミ 4章 ピボットアルゴリズム 前半 せい@seytwo 2020/5/30 線形相補性問題ゼミ③ 1 https://epubs.siam.org/doi/book/10.1137/1.9780898719000?mobileUi=0
線形相補性問題の定義 ⚫ 線形相補性問題LCP(, ) − 実行可能性と相補性を満たす点を探す • 実行可能性: = +
≥ 0, ≥ 0 • 相補性:⊤ = 0 − ∈ ℝ, ∈ ℝ, ∈ ℝ, ∈ ℝ× find subject to = + , ≥ 0 ⊤ = 0 2020/5/30 線形相補性問題ゼミ③ 2 線形相補性問題の復習
幾何的解釈 ⚫ 実行可能性:多面体上にある ⚫ 相補性:二つの超平面のどちらかの上 − = 0 or =
+ ⊤ = 0 2020/5/30 線形相補性問題ゼミ③ 3 線形相補性問題の復習
行列クラスとLCPクラスの対応関係 2020/5/30 線形相補性問題ゼミ③ 4 線形相補性問題の復習 (⇒):実行可能なら十分条件 (⇐):実行可能なら必要条件 行列/LCP 実行可 存在性
唯一性 凸性 有限性 凸QP LP S ⇔ ⇐ ⇐ Q ⇒ ⇔(def) ⇐ (⇐) (⇐) P ⇒ ⇒ ⇔ ⇒ ⇒ (⇐) (⇐) 列十分 ⇔ (⇐) (⇐) 行十分 (⇒) 非退化 ⇐ ⇔ (⇐) (⇐) 正定値 ⇒ ⇒ ⇒ ⇒ ⇒ ⇔ ⇐ K ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇔
教科書目次 1. Introduction 2. Background 3. Existence and Multiplicity 4.
Pivoting Methods 5. Iterative Methods 6. Geometry and Degree Theory 7. Sensitivity and Stability Analysis 2020/5/30 線形相補性問題ゼミ③ 5 目次
4. Pivoting Methods 1. Invariance Theorems 2. Simple Principal Pivoting
Methods 3. General Principal Pivoting Methods 4. Lemke’s Methods 5. Parametric LCP Algorithms 6. Variable Dimension Schemes 7. Methods for Z-Matrices 8. A Special n-Step Scheme 9. Degeneracy Resolution 10.Computational Consideration 2020/5/30 線形相補性問題ゼミ③ 6 目次
本日の流れ 1. ピボットアルゴリズムの概要 2. 基底解 3. 辞書 4. ピボット規則 5.
アルゴリズム一覧 6. simple principal pivoting method 7. general principal pivoting method 8. Lemke’s method 2020/5/30 線形相補性問題ゼミ③ 7 目次
ピボットアルゴリズムの概要 ⚫ ピボットアルゴリズム − 基底解をたどって解を得る − 基底解 • 少なくとも個の変数がゼロの解 •
個の超平面の交点 − 基底変数 • 値が非ゼロの変数 − 非基底変数 • 値がゼロの変数 2020/5/30 線形相補性問題ゼミ③ 8 ピボットアルゴリズムの概要
ピボット演算 ⚫ ピボット演算 − 基底変数と非基底変数を交換する操作 ⚫ 入変数:driving variable − 基底変数に入れる非基底変数
− 非ゼロ→ゼロ ⚫ 出変数:blocking variable − 基底変数から出す基底変数 − ゼロ→非ゼロ 2020/5/30 線形相補性問題ゼミ③ 9 ピボットアルゴリズムの概要
基底解の計算方法 ⚫ 辞書を作成し,非基底変数にゼロを代入 − 辞書: • 基底を従属変数,非基底を独立変数とする形式 2020/5/30 線形相補性問題ゼミ③ 10
基底解 = +
基底解の計算方法 ⚫ 辞書を作成し,非基底変数にゼロを代入 − 辞書: • 基底を従属変数,非基底を独立変数とする形式 2020/5/30 線形相補性問題ゼミ③ 11
基底解 = +
基底解の計算方法 ⚫ 辞書を作成し,非基底変数にゼロを代入 − 辞書: • 基底を従属変数,非基底を独立変数とする形式 2020/5/30 線形相補性問題ゼミ③ 12
基底解 = −
基底解の計算方法 ⚫ 辞書を作成し,非基底変数にゼロを代入 − 辞書: • 基底を従属変数,非基底を独立変数とする形式 2020/5/30 線形相補性問題ゼミ③ 13
基底解 =
基底解の計算方法 ⚫ 辞書を作成し,非基底変数にゼロを代入 − 辞書: • 基底を従属変数,非基底を独立変数とする形式 2020/5/30 線形相補性問題ゼミ③ 14
基底解 = ഥ ℬ ℬ ഥ ℬ ℬ
基底解の計算方法 ⚫ 辞書を作成し,非基底変数にゼロを代入 − 辞書: • 基底を従属変数,非基底を独立変数とする形式 2020/5/30 線形相補性問題ゼミ③ 15
基底解 = ℬ ℬ ഥ ℬ ഥ ℬ +
基底解の計算方法 ⚫ 辞書を作成し,非基底変数にゼロを代入 − 辞書: • 基底を従属変数,非基底を独立変数とする形式 2020/5/30 線形相補性問題ゼミ③ 16
基底解 − ℬ ℬ ഥ ℬ ഥ ℬ =
基底解の計算方法 ⚫ 辞書を作成し,非基底変数にゼロを代入 − 辞書: • 基底を従属変数,非基底を独立変数とする形式 2020/5/30 線形相補性問題ゼミ③ 17
基底解 − ℬ = ℬ −1 ഥ ℬ ഥ ℬ ℬ −1
辞書の特徴 ⚫ 基底変数は非基底変数の関数 − 非基底をゼロにすると,基底の値が分かる − 非基底変数の値を変えたときの,基底変数の変 化量が分かる − 基底の値をゼロにさせる変化量を見積もれる
• minimum ratio test 2020/5/30 線形相補性問題ゼミ③ 18 辞書 = + ҧ ⋅ ҧ ҧ ҧ ҧ
辞書の簡易表現 ⚫ 変数:, ⚫ 変数の値: ҧ , ഥ 2020/5/30 線形相補性問題ゼミ③
19 辞書 1 2 3 1 1 11 12 13 ഥ 1 2 2 21 22 23 ഥ 2 3 3 31 32 33 ഥ 3 ҧ 1 ҧ 2 ҧ 3
ピボット演算の例 ⚫ 入変数:1 ⚫ 出変数:1 2020/5/30 線形相補性問題ゼミ③ 20 辞書 入
1 2 3 1 -3 0 -1 2 -3 2 6 2 0 -2 6 出 3 -1 -1 1 0 -1 0 0 0
ピボット演算の例 ⚫ 入変数:1 ⚫ 出変数:1 2020/5/30 線形相補性問題ゼミ③ 21 辞書 3
2 3 1 -3 0 -1 2 -3 2 4 -2 2 -2 12 1 -1 -1 1 0 3 -4 0 0
ピボット規則 ⚫ ピボット規則 − 入変数と出変数を選択する規則 ⚫ 闇雲にピボットしても解に収束しない − 「何か」を保ったまま, −
「何か」を改善するピボット規則が必要 ⚫ 例:シンプレックス法 − 実行可能性を保ちながら,目的関数値を改善 ⚫ LCPにおける「何か」 − 実行可能性 − 相補性 2020/5/30 線形相補性問題ゼミ③ 22 ピボット演算
アルゴリズム一覧 2020/5/30 線形相補性問題ゼミ③ 23 アルゴリズム 概要 simple principal pivoting 相補性を保ったまま,
実行可能な解が得られるまで繰り返す. general principal pivoting 粗相補性を保ったまま, 実行可能な制約数を徐々に増やす. Lemke 実行可能性&粗相補性を保ったまま, 相補解が得られるまで繰り返す. 粗相補性(almost complementary):一か所以外は相補性を満たす
アルゴリズム一覧 2020/5/30 線形相補性問題ゼミ③ 24 アルゴリズム 実行可能性 相補性 粗相補性 simple principal
pivoting × ◦ --- general principal pivoting step by step × ◦ Lemke ◦ × ◦
概要 ⚫ Simple Principal Pivoting Method − 相補性を保ったまま,実行可能になるまで反復 2020/5/30 線形相補性問題ゼミ③
25 Simple Principal Pivoting Method
ピボット規則 ⚫ 出変数: − 負の基底変数 − →実行可能性を改善するため ⚫ 入変数: −
出変数の相補対変数 − →相補性を保つため 2020/5/30 線形相補性問題ゼミ③ 26 Simple Principal Pivoting Method
アルゴリズム 1. 基底変数を初期化 − 基底変数:1 , … , − 非基底変数:
1 , … , 2. while not 実行可能 3. ҧ < 0 or ഥ < 0である添字を選択 4. ҧ とഥ をピボット 5. return ҧ 2020/5/30 線形相補性問題ゼミ③ 27 Simple Principal Pivoting Method
実行例 2020/5/30 線形相補性問題ゼミ③ 28 Simple Principal Pivoting Method 入 1
2 3 出 1 -3 2 -1 0 -3 2 6 -1 2 -1 6 3 -1 0 -1 2 -1 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 29 Simple Principal Pivoting Method 入 1
2 3 1 3/2 1/2 1/2 0 3/2 2 9/2 -1/2 3/2 -1 9/2 出 3 -1 0 -1 2 -1 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 30 Simple Principal Pivoting Method 1 2
3 1 3/2 1/2 1/2 0 3/2 2 4 -1/2 1 -1/2 4 3 1/2 0 1/2 1/2 1/2 0 0 0
アルゴリズム一覧 アルゴリズム 実行可能性 相補性 粗相補性 simple principal pivoting × ◦
--- general principal pivoting step by step × ◦ Lemke ◦ × ◦ 2020/5/30 線形相補性問題ゼミ③ 31 アルゴリズム一覧
アイデア ⚫ SPMMの欠点 − 負の基底変数をピボットしたからといって,ピ ボット後にその相補対が正になる保証はない − ⇒収束性の保証が難しい,効率が悪い 2020/5/30 線形相補性問題ゼミ③
32 General Principal Pivoting Method
アイデア ⚫ 実行可能性を保つ・改善するピボット − 実行可能性を改善: • 負の基底解の相補対変数を入変数に選択 − 実行可能性を保つ: •
minimum ratio testで出変数を選択 • 入変数がブロックされないことがある 2020/5/30 線形相補性問題ゼミ③ 33 General Principal Pivoting Method 入 1 2 3 1 -3 0 -1 2 -3 2 6 2 0 -2 6 3 -1 -1 1 0 -1 0 0 0 1 = 1 1 = 0
概要 ⚫ General Principal Pivoting Method − 実行可能な制約数を徐々に増やす − 基底解の概念を拡張し,出変数を必ずブロック
⚫ 基底解の概念の拡張 − 元々:非基底変数はゼロ − 拡張:非基底変数はゼロか下限 • 下限 < min 2020/5/30 線形相補性問題ゼミ③ 34 General Principal Pivoting Method 1 2 3 1 -3 0 -1 2 -3 2 6 2 0 -2 6 3 -1 -1 1 0 -1 0 0 0 1 = 1 1 = 0 1 =
ピボット規則 ⚫ 目印変数:distinguished variable − = 0, < 0となる −
= となる − →実行可能性を改善するため ⚫ 入変数: − 前ステップで出変数の相補対変数 − 最初のステップの場合,目印変数の相補対変数 − →(粗)相補性を保つため ⚫ 出変数: − minimum ratio testで選択(下限でもOK) − →実行可能性を保つため 2020/5/30 線形相補性問題ゼミ③ 35 General Principal Pivoting Method
アルゴリズム 1. 基底変数を設定 2. 基底解を計算: 3. while 実行不能 4. 目印変数を選択:
< 0 5. do 6. 入変数を選択 7. 出変数を選択 8. 入変数と出変数をピボット 9. while 出変数 != 目印変数 10.return ҧ 2020/5/30 線形相補性問題ゼミ③ 36 General Principal Pivoting Method
実行例 2020/5/30 線形相補性問題ゼミ③ 37 General Principal Pivoting Method 入 1
2 3 目 1 -3 0 -1 2 -3 2 6 2 0 -2 6 出 3 -1 -1 1 0 -1 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 38 General Principal Pivoting Method 入 3
2 3 目出 1 -3 0 -1 2 -3 2 4 -2 2 -2 12 1 -1 -1 1 0 3 -4 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 39 General Principal Pivoting Method 目入 3
2 1 3 3/2 0 1/2 1/2 3/2 2 1 -2 1 -1 9 出 1 -1 -1 1 0 3 -4 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 40 General Principal Pivoting Method 入 1
2 1 3 3/2 0 1/2 1/2 3/2 出 2 3 2 -1 -1 3 目 3 -1 -1 1 0 -1 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 41 General Principal Pivoting Method 入 1
2 2 3 3 1 0 -1/2 3 1 3 2 -1 -1 3 目出 3 -1 -1 1 0 -1 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 42 General Principal Pivoting Method 1 3
2 3 3 1 0 -1/2 3 1 2 1 -1 -1 2 2 1 1 1 0 1 0 0 0
アルゴリズム一覧 アルゴリズム 実行可能性 相補性 粗相補性 simple principal pivoting × ◦
--- general principal pivoting step by step × ◦ Lemke ◦ × ◦ 2020/5/30 線形相補性問題ゼミ③ 43 アルゴリズム一覧
アイデア ⚫ GPPMの欠点 − ピボット規則が複雑 − 初期解に実行可能な基底解を使えばよいのでは? ⚫ 実行可能な基底解の計算 −
相補性を未考慮:二段階シンプレックス法 − ある程度相補性を満たした解の計算は困難 2020/5/30 線形相補性問題ゼミ③ 44 Lemke’s Method
概要 ⚫ Lemke’s Method − 拡張問題で実行可能な初期解を得る − 実行可能性を保ったまま基底解を更新 ⚫ 拡張問題LCP(
, ෩ ) − ∈ ℝ, ∈ ℝ, ∈ ℝ, ∈ ℝ× − 0 ∈ ℝ, 0 ∈ ℝ, ∈ ℝ, 0 ∈ ℝ − > 0,十分に大きい 0 2020/5/30 線形相補性問題ゼミ③ 45 Lemke’s Method = + 0 0 0 0 −
拡張問題の性質 ⚫ 補題 − 拡張問題は解を持つ ⚫ 主張 − LCP( ,
෩ )の解が0 = 0 − ⇒はLCP(, )の解 ⚫ 主張 − LCP( , ෩ )の解が0 > 0 − ⇒LCP(, )に解は存在しない 2020/5/30 線形相補性問題ゼミ③ 46 Lemke’s Method
初期解の計算 ⚫ 0 を限りなく大きくすれば実行可能になる − 0 の係数が > 0で,は必ず増加するから ⚫
と0 をピボット: ∈ argmax − / 2020/5/30 線形相補性問題ゼミ③ 49 Lemke’s Method 0 1 2 3 0 + 0 - - - 10 1 -3 + -3 2 6 + 6 3 -1 + -1 0 0 0 0
ピボット規則 ⚫ 入変数 − 前ステップで出変数の相補対変数 − 最初のステップの場合,初期化での出変数 − →(粗)相補性を保つため ⚫
出変数 − minimum ratio testで選択 − →実行可能性を保つため 2020/5/30 線形相補性問題ゼミ③ 50 Lemke’s Method
アルゴリズム 1. if ≥ 0 then return 2. 実行可能な初期解を計算 3.
do 4. 入変数に選択 5. 出変数を選択 6. 入変数と出変数をピボット 7. while not 0 , 0 が出変数 8. if 0 が出変数 return ҧ 9. 解無し 2020/5/30 線形相補性問題ゼミ③ 51 Lemke’s Method
実行例 2020/5/30 線形相補性問題ゼミ③ 52 Lemke’s Method 入 0 1 2
3 0 10 0 -1 -1 -1 10 出 1 -3 1 0 -1 2 -3 2 6 1 2 0 -2 6 3 -1 1 -1 1 0 -1 0 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 53 Lemke’s Method 入 1 1 2
3 0 10 0 -1 -1 -1 10 0 3 1 0 1 -2 3 2 9 1 2 1 -4 9 出 3 2 1 -1 2 -2 2 0 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 54 Lemke’s Method 入 1 3 2
3 0 8 -1 1 -3 1 8 0 3 1 0 1 -2 3 2 13 3 -2 5 -8 13 出 1 2 1 -1 2 -2 2 0 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 55 Lemke’s Method 入 1 3 2
1 0 9 -1/2 1/2 -2 -0.5 9 0 1 0 1 -1 1 1 出 2 5 -1 2 -3 4 5 3 1 1/2 -1/2 1 -1/2 1 0 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 56 Lemke’s Method 入 2 3 2
1 0 13/2 1/2 -1/2 -1/2 -5/2 13/2 出 0 1 0 1 -1 1 1 1 5 -1 2 -3 4 5 3 7/2 -1/2 1/2 -1/2 3/2 7/2 0 0 0 0
実行例 2020/5/30 線形相補性問題ゼミ③ 57 Lemke’s Method 入 2 3 0
1 0 6 1/2 -1 1/2 -3 6 出 2 1 0 1 -1 1 1 1 2 -1 -1 3 1 2 3 3 -1/2 0 1/2 1 3 0 0 0 0
アルゴリズム適用条件 アルゴリズム 行列 備考 simple principal pivoting P行列 最小添字 general
principal pivoting 列十分行列 --- Lemke any --- 2020/5/30 線形相補性問題ゼミ③ 58
まとめ ⚫ ピボットアルゴリズム − 基底解をたどって解を得る − ピボット:基底と非基底を交換する操作 ⚫ ピボット規則 −
交換する基底と非基底を決める規則 − 「何か」を保存・改善するように設計 2020/5/30 線形相補性問題ゼミ③ 59 4.ピボットアルゴリズム アルゴリズム 実行可能性 相補性 粗相補性 simple principal pivoting × ◦ --- general principal pivoting step by step × ◦ Lemke ◦ × ◦
4. Pivoting Methods 1. Invariance Theorems 2. Simple Principal Pivoting
Methods 3. General Principal Pivoting Methods 4. Lemke’s Methods 5. Parametric LCP Algorithms 6. Variable Dimension Schemes 7. Methods for Z-Matrices 8. A Special n-Step Scheme 9. Degeneracy Resolution 10.Computational Consideration 2020/5/30 線形相補性問題ゼミ③ 60 目次