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
白金鉱業Meetup Vol.25 【初学者向け発表枠】「で、この施策って効いてるの」に答える効果検証の基礎 ~ATE / ATT / CATE / LATEを現場の問いに翻訳する~
brainpadpr
0
150
Visual Linear Algebra - Lecture at Shosen Grande
hiranabe
0
500
GKE上でオセロの強化学習やってみた
akasan
0
110
YouTubeにおける撤回論文の参照実態 / metascience-meetup2026
corgies
3
360
Where does the rigor go? Research software and the future of trustworthy science.
arfon
0
240
コーヒー豆様核 (Coffee-bean nuclei) における形態学的サブタイピングと精選・焙煎特性の同定
jagupath
PRO
0
170
機械学習 - ニューラルネットワーク入門
trycycle
PRO
0
1.2k
From Prediction to Understanding: Causal Discovery for Data Science and AI Applications
sshimizu2006
0
300
AI bij literatuuronderzoek in de wetenschap
voginip
0
250
チュートリアル:世界モデル
hf149
0
2.2k
機械学習 - 授業概要
trycycle
PRO
0
620
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
1.7k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
ラッコキーワード サービス紹介資料
rakko
1
4.9M
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The agentic SEO stack - context over prompts
schlessera
0
940
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Designing for Timeless Needs
cassininazir
1
480
Six Lessons from altMBA
skipperchong
29
4.5k
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 目次