SlideShare ist ein Scribd-Unternehmen logo
1 von 28
これならわかる最適化数学
第8章_前半
創造理工学研究科 修士一年
野中賢也
目次
1.解きたい問題は何か
2.具体例を通じた解法
2.1.グリーディー法
2.2.動的計画法
2.3.具体例と一般の対応
3.動的計画法の特徴
3.1.数表での保存
3.2.最適経路問題と最適性原理
1
1.解きたい問題は何か?
離散変数の最適化問題は、全数検査が基本
2
〇離散変数の最適化問題
各変数𝒙𝒊が有限個の離散値{𝒂 𝟏, … , 𝒂 𝑵}をとるとき、𝒎変数関数
𝒇(𝒙 𝟏, … , 𝒙 𝒎)を最大化する問題
𝑱 = 𝒇 𝒙 𝟏, … , 𝒙 𝒎 → 𝒎𝒂𝒙
〇全数検査
𝒎個の変数𝒙𝒊(𝒊 = 𝟏, … , 𝒎)に対して、とりうるすべての値の組
み合わせ(𝑵 𝒎個)を考え、𝒇()を最大にする組合せを探索する。
⇒一般的に計算量が膨大となる。できれば避けたい。
1.解きたい問題は何か?
全数検査を避けられる問題=多段階決定問題
3
〇多段階決定問題
全数検査を回避できるのは、関数𝒇が以下の形のとき。
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + … + 𝒉 𝒎−𝟏(𝒙 𝒎−𝟏, 𝒙 𝒎)
〇どう見るか?
変数𝒙𝒊を選ぶこと=何らかの「決定」(ex.企業iにいくら投資?)
⇒まず、𝒙 𝟏を選ぶことで、その利益が𝒇 𝟏 𝒙 𝟏 として得られる。
⇒選んだ𝒙 𝟏に加え、𝒙 𝟐を選び利益𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)を得る。
⇒選んだ𝒙𝒊に加え、𝒙𝒊+𝟏を選び利益𝒉𝒊(𝒙𝒊, 𝒙𝒊+𝟏)を得る。
…利益の総和が最大になるように各段階で決定を下す問題
目次
1.解きたい問題は何か
2.具体例を通じた解法
2.1.グリーディー法
2.2.動的計画法
2.3.具体例と一般の対応
3.動的計画法の特徴
3.1.数表での保存
3.2.最適経路問題と最適性原理
4
2.具体例を通じた解法
簡単のため、変数の数𝒎が4の場合で説明
5
〇変数の数が4の場合の多段階決定問題
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑(𝒙 𝟑, 𝒙 𝟒)
f(x1)
x1=0 x1=1 x1=2
2 1 3
h1(x1,x2)
h1 x2=1 x2=2 x2=3
x1=0 3 5 1
x1=1 1 0 7
x1=2 3 0 0
h2(x2,x3)
h2 x3=-1 x3=0 x3=1
x2=1 1 7 1
x2=2 1 1 3
x2=3 5 6 1
h3(x3,x4)
h3 x4=1 x4=2 x4=3
x3=-1 7 9 8
x3=0 2 3 6
x3=1 5 4 1
教科書p219と同じ関数
2.具体例を通じた解法
素朴に考えれば、貪欲法で良いのではないか。
6
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒 → 𝒎𝒂𝒙
〇貪欲法(グリーディー法)
各段階の関数だけをみて、それを最適化させる。
1.𝒇 𝟏 𝒙 𝟏 が最大になる𝒙 𝟏を選ぶ
2.その𝒙 𝟏に対し、𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 が最大になる𝒙 𝟐を選ぶ
3.その𝒙 𝟐に対し、𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 が最大になる𝒙 𝟑を選ぶ
2.その𝒙 𝟑に対し、𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒 が最大になる𝒙 𝟒を選ぶ
⇒最適解???
2.具体例を通じた解法
貪欲法だと、うまくいかない
7
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒 → 𝒎𝒂𝒙
貪欲法による解=19(𝑥1 = 3, 𝑥2 = 1, 𝑥3 = 0, 𝑥4 = 3)
⇒しかし、𝐽は21(𝑥1 = 1, 𝑥2 = 3, 𝑥3 = −1, 𝑥4 = 2)なども取れる!!
⇒最初の方の関数の最適化を考えるあまり、後の関数の大きな値を逃す。
2.具体例を通じた解法
各段階のみを見るのではなく、次の段階も考える
8
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒 → 𝒎𝒂𝒙
〇動的計画法
各段階の関数だけをみて、それを最適化させる。
⇒これだとうまくいかない
⇒次の段階の関数までみないと、本当に最適な値は決まらない。
例えば、𝒙 𝟏の最適化を考える際、𝒇 𝟏 𝒙 𝟏 のみを考えるのではな
く、𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)を考える。これは、𝒙 𝟐のとりうる値一
つずつに対して、𝒎𝒂𝒙 𝒙 𝟏
[𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)]とすればよい。
2.具体例を通じた解法
各段階について、「次の関数」を考える
9
〇動的計画法
𝒙 𝟏の最適化を考える際、 𝒙 𝟐のとりうる値一つずつに対して、
𝒎𝒂𝒙 𝒙 𝟏
[𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)]とすればよい。
⇒𝒇 𝟐 𝒙 𝟐 = 𝒎𝒂𝒙 𝒙 𝟏
[𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)]とおく。
⇒𝑱 = 𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
⇒もとの関数と同じ形で、変数が一つ減ってる!!!
同様に…
𝒇 𝟑 𝒙 𝟑 = 𝒎𝒂𝒙 𝒙 𝟐
[𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟑(𝒙 𝟐, 𝒙 𝟑)]
𝒇 𝟒 𝒙 𝟒 = 𝒎𝒂𝒙 𝒙 𝟑
[𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑(𝒙 𝟑, 𝒙 𝟒)]
と置けば、𝑱 = 𝒇 𝟒 𝒙 𝟒 となり、一変数関数の最適化となる。
2.具体例を通じた解法
例題8.1の最適化問題を動的計画法で
10
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱の最大値と、その最大値を与える変数の組を求める。
〇動的計画法による最適化
Step1-3.各段階で「次の関数を考え」、以下を得る。(𝒊 = 𝟐, 𝟑, 𝟒)
𝒇𝒊 𝒙𝒊 = 𝒎𝒂𝒙 𝒙 𝒊−𝟏
[𝒇 𝒙 𝒊−𝟏
𝒙𝒊−𝟏 + 𝒉 𝒙 𝒊−𝟏
𝒙𝒊−𝟏, 𝒙𝒊 ]
𝒙𝒊−𝟏
′
𝒙𝒊 = 𝒂𝒓𝒈𝒎𝒂𝒙 𝒙 𝒊−𝟏
[𝒇 𝒙 𝒊−𝟏
𝒙𝒊−𝟏 + 𝒉 𝒙 𝒊−𝟏
(𝒙𝒊−𝟏, 𝒙𝒊)]
Step4.𝑱 = 𝒇 𝟒 𝒙 𝟒 から、最大値とそれを実現する𝒙 𝟒を求める。
Step5.計算しておいた𝒙𝒊−𝟏
′
(𝒙𝒊)から𝒙 𝟑, 𝒙 𝟐, 𝒙 𝟏を求める。
2.具体例を通じた解法
𝒙 𝟐を固定して、𝒙 𝟏の最適値を探索する。
11
〇Step1.
𝒇 𝟐 𝒙 𝟐 = 𝒎𝒂𝒙 𝒙 𝟏
[𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)]
𝒙 𝟏
′
𝒙 𝟐 = 𝒂𝒓𝒈𝒎𝒂𝒙 𝒙 𝟏
[𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)]
f(x1)
x1=0 x1=1 x1=2
2 1 3
h1(x1,x2)
h1 x2=1 x2=2 x2=3
x1=0 3 5 1
x1=1 1 0 7
x1=2 3 0 0
f1(x1)+
h1(x1,x2)
f1+h1 x2=1 x2=2 x2=3
x1=0 3+2 5+2 1+2
x1=1 1+1 0+1 7+1
x1=2 3+3 0+3 0+3
x2=1 x2=2 x2=3
f2(x2) 6 7 8
x'1(x2) 2 0 1
このとき、もとの式は。。。
𝑱 = 𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
⇒もっと簡単に!
2.具体例を通じた解法
𝒙 𝟑を固定して、𝒙 𝟐の最適値を探索する。
12
〇Step2.
𝒇 𝟑 𝒙 𝟑 = 𝒎𝒂𝒙 𝒙 𝟐
[𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐(𝒙 𝟐, 𝒙 𝟑)]
𝒙 𝟐
′
𝒙 𝟑 = 𝒂𝒓𝒈𝒎𝒂𝒙 𝒙 𝟐
[𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐(𝒙 𝟐, 𝒙 𝟑)]
f(x2)
x2=1 x2=2 x2=3
6 7 8
h2(x2,x3)
h2 x3=-1 x3=0 x3=1
x2=1 1 7 1
x2=2 1 1 3
x2=3 5 6 1
f2(x2)+
h2(x2,x3)
f1+h1 x3=-1 x3=0 X3=1
x2=1 1+6 7+6 1+6
x2=2 1+7 1+7 3+7
x2=3 5+8 6+8 1+8
x3=-1 x3=0 x3=1
f3(x3) 13 14 10
x’2(x3) 3 3 2
このとき、もとの式は。。。
𝑱 = 𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
⇒もっと簡単に!
2.具体例を通じた解法
𝒙 𝟒を固定して、𝒙 𝟑の最適値を探索する
13
〇Step3.
𝒇 𝟒 𝒙 𝟒 = 𝒎𝒂𝒙 𝒙 𝟑
𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝒙 𝟑
′
𝒙 𝟒 = 𝒂𝒓𝒈𝒎𝒂𝒙 𝒙 𝟏
[𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)]
f3(x3)
x3=-1 x3=0 x3=1
13 14 10
h3(x3,x4)
h3 x4=1 x4=2 x4=3
x3=-1 7 9 8
x3=0 2 3 6
x3=1 5 4 1
f3(x3)+
h3(x3,x4)
f3+h3 x4=1 x4=2 x4=3
x3=-1 7+13 9+13 8+13
x3=0 2+14 3+14 6+14
x3=1 5+10 4+10 1+10
x4=1 x4=2 x4=3
f4(x4) 20 22 20
x’3(x4) -1 -1 0
このとき、もとの式は。。。
𝑱 = 𝒇 𝟒 𝒙 𝟒 ⇒この最適化は簡単!
2.具体例を通じた解法
簡単になった目的関数𝑱を最大化する
14
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟒 𝒙 𝟒
Step1.
Step2.
Step3.
x2=1x2=2x2=3
f2(x2) 6 7 8
x'1(x2) 2 0 1
x3=-1 x3=0 x3=1
f3(x3) 13 14 10
x’2(x3) 3 3 2
x4=1 x4=2 x4=3
f4(x4) 20 22 20
x’3(x4) -1 -1 0
Step4. 𝑱の最大値は22.このとき、𝒙 𝟒 = 𝟐
2.具体例を通じた解法
計算しておいた𝒙′
𝒊−𝟏(𝒙𝒊)から、𝒙 𝟏, 𝒙 𝟐, 𝒙 𝟑を得る。
15
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟒 𝒙 𝟒
Step1.
Step2.
Step3.
x2=1x2=2x2=3
f2(x2) 6 7 8
x'1(x2) 2 0 1
x3=-1 x3=0 x3=1
f3(x3) 13 14 10
x’2(x3) 3 3 2
x4=1 x4=2 x4=3
f4(x4) 20 22 20
x’3(x4) -1 -1 0
Step4. 𝑱の最大値は22.このとき、𝒙 𝟒 = 𝟐
Step5.
𝒙 𝟑 = −𝟏, 𝒙 𝟐 = 𝟑, 𝒙 𝟏 = 𝟏
2.動的計画法の一般形
一般⇒行きと帰りが長くなるだけで、具体例と一緒
16
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑
+ … + 𝒉 𝒎−𝟏(𝒙 𝒎−𝟏, 𝒙 𝒎)
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐
+𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
Step1-3.各段階で「次の関数を考え」、以下を得る。
(𝒊 = 𝟐, 𝟑, 𝟒)
𝒇𝒊 𝒙𝒊 = 𝒎𝒂𝒙 𝒙 𝒊−𝟏
[𝒇 𝒙 𝒊−𝟏
𝒙𝒊−𝟏 + 𝒉 𝒙 𝒊−𝟏
𝒙𝒊−𝟏, 𝒙𝒊 ]
𝒙𝒊−𝟏
′
𝒙𝒊 = 𝒂𝒓𝒈𝒎𝒂𝒙 𝒙 𝒊−𝟏
[𝒇 𝒙 𝒊−𝟏
𝒙𝒊−𝟏 + 𝒉 𝒙 𝒊−𝟏
(𝒙𝒊−𝟏, 𝒙𝒊)]
Step4.𝑱 = 𝒇 𝟒 𝒙 𝟒 から、最大値とそれを実現する𝒙 𝟒を
求める。
Step5.計算しておいた 𝒙𝒊−𝟏
′
(𝒙𝒊)から 𝒙 𝟑, 𝒙 𝟐, 𝒙 𝟏 を求める。
Procedure 𝑫𝑷 𝒇 𝟏 𝒙 𝟏 , 𝒉𝒊 𝒙, 𝒚 𝒊=𝟏
𝒏
1.𝒊 = 𝟏, … , 𝒏 − 𝟏 に対して、以下を計算
𝒇𝒊+𝟏 𝒙𝒊+𝟏 = 𝒎𝒂𝒙 𝒙 𝒊
[𝒇 𝒙 𝒊
𝒙𝒊 + 𝒉 𝒙 𝒊
𝒙𝒊, 𝒙𝒊+𝟏 ]
𝒙𝒊
′
𝒙𝒊+𝟏 = 𝒂𝒓𝒈𝒎𝒂𝒙 𝒙 𝒊
[𝒇 𝒙 𝒊
𝒙𝒊 + 𝒉 𝒙 𝒊
(𝒙𝒊, 𝒙𝒊+𝟏)]
数表の形で保存
2.𝒇 𝒏(𝒙 𝒏) を最大にする𝒙 𝒏の値𝒙 𝒏
∗
を探索し、その最大
値を𝑱∗
= 𝒇 𝒏(𝒙 𝒏
∗
)とする。
3.𝒊 = 𝒏 − 𝟏, . . , 𝟏に対して、𝒙𝒊
∗
= 𝒙𝒊
′
(𝒙𝒊+𝟏
∗
)を計算
4.(𝒙 𝟏
∗
, … , 𝒙 𝒏
∗
)および𝑱∗
を返す。
目次
1.解きたい問題は何か
2.具体例を通じた解法
2.1.グリーディー法
2.2.動的計画法
2.3.具体例と一般の対応
3.動的計画法の特徴
3.1.再帰性原理
3.2.数表での保存
3.3.最適経路問題と最適性原理
17
ここまでで、質問ありますか??
3.動的計画法の特徴
動的計画法性質①:再帰原理
18
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝑱 = 𝒇 𝟒 𝒙 𝟒
Step1.
Step2.
Step3.
⇒ステップを踏むごとに、同じ形をもったより小さい問題に帰着できている!
3.動的計画法の特徴
動的計画法の性質②:数表としての保存
19
𝑱 = 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
Step1.
Step2.
Step3.
x2=1 x2=2 x2=3
f2(x2) 6 7 8
x'1(x2) 2 0 1
x3=-1 x3=0 x3=1
f3(x3) 13 14 10
x’2(x3) 3 3 2
x4=1 x4=2 x4=3
f4(x4) 20 22 20
x’3(x4) -1 -1 0
⇒各段階の関数を計算するときに前の計算結果を再利用できる
⇒𝒙 𝟑の最適化で、𝒙 𝟏のことを考えなくていい。𝒇 𝟐(𝒙 𝟐)に入ってる。
⇒計算量の削減(全数検査:𝑶 𝑵 𝒎
⇒ 動的計画法:𝑶(𝒎𝑵 𝟐
))
𝒇 𝟐 𝒙 𝟐 = 𝒎𝒂𝒙 𝒙 𝟏
[𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏(𝒙 𝟏, 𝒙 𝟐)]
𝒇 𝟑 𝒙 𝟑 = 𝒎𝒂𝒙 𝒙 𝟐
[𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐(𝒙 𝟐, 𝒙 𝟑)]
𝒇 𝟒 𝒙 𝟒 = 𝒎𝒂𝒙 𝒙 𝟑
𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
3.動的計画法の特徴
動的計画法の性質③:最適経路問題としての解釈
20
0
1
2
1
2
3
-1
1
0S G
1
2
3
𝑥1 𝑥2 𝑥3 𝑥4
・各変数の実現値をノードとし、SからGまでノードをたどる。
・各経路の評価が、教科書p219の𝑱で与えられているとする。
・このとき𝑱を最大にする、ノードのたどり方を考える=最適経路問題
2
1
3
𝑓1(𝑥1)
3.動的計画法の特徴
最適経路問題:Step1.との対応
21
0
1
2
1
2
3
-1
1
0S G
1
2
3
𝑥1 𝑥2 𝑥3 𝑥4
𝒇 𝟐 𝒙 𝟐 = 𝒎𝒂𝒙 𝒙 𝟏
[𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 ]
𝒙 𝟐の各ノードについて、 𝒇 𝟏 𝒙 𝟏 + 𝒉 𝟏 𝒙 𝟏, 𝒙 𝟐 を最大化させるエッジを書きこむ
2
1
3
𝑓1(𝑥1)
7
8
6
x2=1 x2=2 x2=3
f2(x2) 6 7 8
x'1(x2) 2 0 1
𝑓2(𝑥2)
3.動的計画法の特徴
最適経路問題:Step2.との対応
22
0
1
2
1
2
3
-1
1
0S G
1
2
3
𝑥1 𝑥2 𝑥3 𝑥4
𝒇 𝟑 𝒙 𝟑 = 𝒎𝒂𝒙 𝒙 𝟐
𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑
𝒙 𝟑 の各ノードについて、𝒇 𝟐 𝒙 𝟐 + 𝒉 𝟐 𝒙 𝟐, 𝒙 𝟑 を最大化させるエッジを書きこむ
2
1
3
𝑓1(𝑥1)
7
8
6
x3=-1x3=0 x3=1
f3(x3) 13 14 10
x’2(x3) 3 3 2
𝑓2(𝑥2)
13
14
10
𝑓3(𝑥3)
3.動的計画法の特徴
最適経路問題:Step3.との対応
23
0
1
2
1
2
3
-1
1
0S G
1
2
3
𝑥1 𝑥2 𝑥3 𝑥4
𝒇 𝟒 𝒙 𝟒 = 𝒎𝒂𝒙 𝒙 𝟑
𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒
𝒙 𝟒 の各ノードについて、𝒇 𝟑 𝒙 𝟑 + 𝒉 𝟑 𝒙 𝟑, 𝒙 𝟒 を最大化させるエッジを書きこむ
2
1
3
𝑓1(𝑥1)
7
8
6
x4=1 x4=2 x4=3
f4(x4) 20 22 20
x’3(x4) -1 -1 0
𝑓2(𝑥2)
13
14
10
𝑓3(𝑥3)
20
22
20
𝑓4(𝑥4)
3.動的計画法の特徴
最適経路問題:Step4.との対応
24
0
1
2
1
2
3
-1
1
0S G
1
2
3
𝑥1 𝑥2 𝑥3 𝑥4
𝑱 = 𝒇 𝟒 𝒙 𝟒 を最大化させる𝒙 𝟒及び最大値𝑱∗
を決定。
⇒𝒙 𝟒 = 𝟐, 𝑱∗
= 𝟐𝟐となる。
2
1
3
𝑓1(𝑥1)
7
8
6
x4=1 x4=2 x4=3
f4(x4) 20 22 20
x’3(x4) -1 -1 0
𝑓2(𝑥2)
13
14
10
𝑓3(𝑥3)
20
22
20
𝑓4(𝑥4)
3.動的計画法の特徴
最適経路問題:Step5.との対応
25
0
1
2
1
2
3
-1
1
0S G
1
2
3
𝑥1 𝑥2 𝑥3 𝑥4
⇒𝒙 𝟒が決まったので、そのもとでの𝒙 𝟑が決まり、同様に、𝒙 𝟐, 𝒙 𝟏が決まる。
⇒来た道を逆順にたどっていくイメージ
2
1
3
𝑓1(𝑥1)
7
8
6
x4=1 x4=2 x4=3
f4(x4) 20 22 20
x’3(x4) -1 -1 0
𝑓2(𝑥2)
13
14
10
𝑓3(𝑥3)
20
22
20
𝑓4(𝑥4)
3.動的計画法の特徴
最適経路問題:最適性原理
26
0
1
2
1
2
3
-1
1
0S G
1
2
3
𝑥1 𝑥2 𝑥3 𝑥4
最適性原理:どの部分解も部分問題の最適解となっていること
上図であれば、𝒙 𝟑 = −𝟏, 𝟎, 𝟏がゴールであるときの最適経路が示されている。
2
1
3
𝑓1(𝑥1)
7
8
6
x3=-1x3=0 x3=1
f3(x3) 13 14 10
x’2(x3) 3 3 2
𝑓2(𝑥2)
13
14
10
𝑓3(𝑥3)
〇以上です。
質問のあるかたよろしくお願い致します。
27

Weitere ähnliche Inhalte

Was ist angesagt?

【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)MLSE
 
クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式Hiroshi Nakagawa
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方Shinagawa Seitaro
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」Ken'ichi Matsui
 
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)Motoya Wakiyama
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズムnishio
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333Issei Kurahashi
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜諒介 荒木
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
クラシックな機械学習の入門  9. モデル推定
クラシックな機械学習の入門  9. モデル推定クラシックな機械学習の入門  9. モデル推定
クラシックな機械学習の入門  9. モデル推定Hiroshi Nakagawa
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理Taiji Suzuki
 
3.3節 変分近似法(前半)
3.3節 変分近似法(前半)3.3節 変分近似法(前半)
3.3節 変分近似法(前半)tn1031
 
機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論Taiji Suzuki
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)RyuichiKanoh
 
劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章Hakky St
 
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会Kenyu Uehara
 

Was ist angesagt? (20)

【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
 
クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
 
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズム
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
クラシックな機械学習の入門  9. モデル推定
クラシックな機械学習の入門  9. モデル推定クラシックな機械学習の入門  9. モデル推定
クラシックな機械学習の入門  9. モデル推定
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
3.3節 変分近似法(前半)
3.3節 変分近似法(前半)3.3節 変分近似法(前半)
3.3節 変分近似法(前半)
 
機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論機械学習におけるオンライン確率的最適化の理論
機械学習におけるオンライン確率的最適化の理論
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
 

Ähnlich wie これならわかる最適化数学8章_動的計画法

人工知能2018 強化学習の応用
人工知能2018 強化学習の応用人工知能2018 強化学習の応用
人工知能2018 強化学習の応用Hirotaka Hachiya
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するsleepy_yoshi
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valuesatanic
 
場の量子論
場の量子論場の量子論
場の量子論M M
 
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)TakaakiYonekura
 
Prml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティングPrml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティングtakutori
 
人工知能2018 6 強化学習の基礎
人工知能2018 6 強化学習の基礎人工知能2018 6 強化学習の基礎
人工知能2018 6 強化学習の基礎Hirotaka Hachiya
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisYasu Math
 
コンピュータビジョン最先端ガイド6 第2章:4~4.2節
コンピュータビジョン最先端ガイド6 第2章:4~4.2節コンピュータビジョン最先端ガイド6 第2章:4~4.2節
コンピュータビジョン最先端ガイド6 第2章:4~4.2節nonane
 
階差数列の和?について 数学B 数列
階差数列の和?について 数学B 数列階差数列の和?について 数学B 数列
階差数列の和?について 数学B 数列saiaki
 
球面フィッティングの導出と実装
球面フィッティングの導出と実装球面フィッティングの導出と実装
球面フィッティングの導出と実装j_rocket_boy
 
続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章Roy Ray
 
グレブナー基底輪読会 #1 ―準備体操の巻―
グレブナー基底輪読会 #1 ―準備体操の巻―グレブナー基底輪読会 #1 ―準備体操の巻―
グレブナー基底輪読会 #1 ―準備体操の巻―Yutaka Nagahata
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learningDeep Learning JP
 
退化型Keller--Segel系の解の有限時刻爆発について
退化型Keller--Segel系の解の有限時刻爆発について退化型Keller--Segel系の解の有限時刻爆発について
退化型Keller--Segel系の解の有限時刻爆発についてTakahiro Hashira
 
強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現Kazu Ghalamkari
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 

Ähnlich wie これならわかる最適化数学8章_動的計画法 (20)

双対性
双対性双対性
双対性
 
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用人工知能2018 強化学習の応用
人工知能2018 強化学習の応用
 
SMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装するSMO徹底入門 - SVMをちゃんと実装する
SMO徹底入門 - SVMをちゃんと実装する
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
 
場の量子論
場の量子論場の量子論
場の量子論
 
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
 
Prml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティングPrml 最尤推定からベイズ曲線フィッティング
Prml 最尤推定からベイズ曲線フィッティング
 
人工知能2018 6 強化学習の基礎
人工知能2018 6 強化学習の基礎人工知能2018 6 強化学習の基礎
人工知能2018 6 強化学習の基礎
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner Basis
 
コンピュータビジョン最先端ガイド6 第2章:4~4.2節
コンピュータビジョン最先端ガイド6 第2章:4~4.2節コンピュータビジョン最先端ガイド6 第2章:4~4.2節
コンピュータビジョン最先端ガイド6 第2章:4~4.2節
 
階差数列の和?について 数学B 数列
階差数列の和?について 数学B 数列階差数列の和?について 数学B 数列
階差数列の和?について 数学B 数列
 
球面フィッティングの導出と実装
球面フィッティングの導出と実装球面フィッティングの導出と実装
球面フィッティングの導出と実装
 
続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章
 
グレブナー基底輪読会 #1 ―準備体操の巻―
グレブナー基底輪読会 #1 ―準備体操の巻―グレブナー基底輪読会 #1 ―準備体操の巻―
グレブナー基底輪読会 #1 ―準備体操の巻―
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 
Fourier transform
Fourier transformFourier transform
Fourier transform
 
退化型Keller--Segel系の解の有限時刻爆発について
退化型Keller--Segel系の解の有限時刻爆発について退化型Keller--Segel系の解の有限時刻爆発について
退化型Keller--Segel系の解の有限時刻爆発について
 
強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現強束縛模型における多体電子状態の第2量子化表現
強束縛模型における多体電子状態の第2量子化表現
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 

これならわかる最適化数学8章_動的計画法