• 検索結果がありません。

確率的生成モデル

N/A
N/A
Protected

Academic year: 2021

シェア "確率的生成モデル"

Copied!
53
0
0

読み込み中.... (全文を見る)

全文

(1)

確率的生成モデル

伊達 章

宮崎大学 工学部 情報システム工学科

2020

6

30

(2)

観測データ(時系列)

-2 -1 0 1 2 3 4

0 50 100 150 200

t

y

seed: 20070919 σ=0.7

もとの信号は

0

1

.復元したい!

(3)

観測データ(時系列)

-2 -1 0 1 2 3 4

0 50 100 150 200

t

y

seed: 20070919 σ=0.7

もとの信号は

0

1

.復元したい!

(4)

観測データ(時系列)

-2 -1 0 1 2 3 4

0 50 100 150 200

t x

true

, y

seed: 20070919 σ=0.7

もとの信号は

0

1

.復元したい!

(5)

観測データ(時系列)

-2 -1 0 1 2 3 4

0 50 100 150 200

t

y

seed: 20070919 σ=0.2

こちらのほうが復元しやすい

(6)

観測データ(時系列)

-2 -1 0 1 2 3 4

0 50 100 150 200

t x

true

, y

seed: 20070919 σ=0.2

こちらのほうが復元しやすい

(7)

もとの信号

x true

-2 -1 0 1 2 3 4

0 50 100 150 200

t x

true

seed: 20070919 σ=0.7

マルコフ的情報源

(8)

マルコフ的情報源

0.99

0.97 0.01

0.03

0 1

000000001111111111000000000

(9)

マルコフ的情報源

0.99

0.97 0.01

0.03

0 1

000000001111111111000000000

(10)

観測データ(時系列)

-2 -1 0 1 2 3 4

0 50 100 150 200

t

y

seed: 20070919 σ=0.7

(11)

多段決定問題

多変数関数

f (x)

の最大化

J = f (x 1 , x 2 , · · · , x n ) max

n = 10, x

i

∈ { 0, 1 }

の場合

x J

0 0000000000 f(x

0

) 1 0000000001 f(x

1

) 2 0000000010 f(x

2

)

.. .

k 0011101011 f(x

k

)

最大

.. .

1023 1111111111 f(x

2n1

) max

i

f (x

i

) = f(x

k

), argmax

i

f(x

i

) = k

(12)

多段決定問題

多変数関数

f (x)

の最大化

J = f (x 1 , x 2 , · · · , x n ) max

n = 10, x

i

∈ { 0, 1 }

の場合

x J

0 0000000000 f(x

0

) 1 0000000001 f(x

1

) 2 0000000010 f(x

2

)

.. .

k 0011101011 f(x

k

)

最大

.. .

1023 1111111111 f(x

2n1

) max

i

f (x

i

) = f(x

k

), argmax

i

f (x

i

) = k

(13)

多段決定問題

多変数関数

f (x)

の最大化

J = f (x 1 , x 2 , · · · , x n ) max

n = 100, x

i

∈ { 0, 1 }

の場合.

2

100

= (2

10

)

10

(10

3

)

10

= 10

30

x J

0 0000000000 f (x

0

) 1 0000000001 f (x

1

) 2 0000000010 f (x

2

) 3 0000000011 f (x

3

)

.. .

k 0011101011 f (x

k

)

最大

.. .

10

30

111 · · · 111 f(x

2n1

)

(14)

課題

例題:

n = 200, y = (y 1 , · · · , y n )

目的:

x = argmax

x

f (x), x i ∈ { 0, 1 }

の計算

まもとには計算できない.

動的計画法を使い,この問題を解決する.

仕組み理解し,コードを書き,問題を解く.

(15)

事後確率最大にする値

x MAP

-2 -1 0 1 2 3 4

0 50 100 150 200

t x

true

, y x

MAP

seed: 20070919 P (xMAP| y ) = 0.03118

P (xtrue| y ) = 0.00213 σ=0.7

(16)

多段決定問題

多変数関数の最大化

J = p(x | y) max

n = 200, x

i

∈ { 0, 1 }

の場合.

2

200

= (2

10

)

20

(10

3

)

20

= 10

60

x J

0 0000000000 f (x

0

) 1 0000000001 f (x

1

) 2 0000000010 f (x

2

) 3 0000000011 f (x

3

)

.. .

k 0011101011 f (x

k

)

最大

.. .

10

60

111 · · · 111 f(x

2n1

)

(17)

基本知識(確率・統計の復習)

平均

µ

,分散

σ 2

,標準偏差

σ

確率分布: 一様分布,正規分布

擬似乱数の生成

最尤推定

同時確率,条件付き確率

マルコフ的情報源

ベイズの公式,事前確率・事後確率

事後確率最大化

動的計画法

(18)

確率,条件付き確率

B

1 (風邪)

B

2 (風邪なし)

p(A

i

) A

1 (熱あり)

0.55 0.05 0.60 A

2 (熱なし)

0.10 0.30 0.40

p(B

j

) 0.65 0.35

同時確率

p(A

1

, B

1

) = 0.55

周辺確率

p(A

1

) = ∑

i

p(A

1

, B

i

) = p(A

1

) = 0.6

条件付き確率

熱の有無を知る ⇒ 風邪であるかどうか検討がつく:

p(B

1

| A

1

) = p(B

1

)p(A

1

| B

1

)

p(A

1

) = p(A

1

, B

1

)

p(A

1

) = 0.55

0.6 0.92

(19)

ベイズの公式

ベイズの公式

熱があったとしよう. その時,風邪のあるなしの確率

p(B

1

| A

1

) = p(B

1

)p(A

1

| B

1

)

p(A

1

) = p(A

1

, B

1

)

p(A

1

) = 0.55

0.6 0.92 p(B

2

| A

1

) = p(B

2

)p(A

1

| B

2

)

p(A

1

) = p(A

1

, B

2

)

p(A

1

) = 0.05

0.6 0.08

事後確率最大化(ベイズ推定)

argmax

i

p(B

i

| A

1

) = 1

風邪であることの方が確率が大 ⇒ 風邪であると推定 入力(観測値): 熱のあるなし

⇒ 出力(推定値) 風邪かどうか

(20)

マルコフ的情報源

0.99

0.97 0.01

0.03

0 1

000000001111111111000000000

p(x) = 0.5 × 0.99 × 0.99 × 0.99 × 0.99 · · ·

p(x) = p(x 1 ) × p(x 2 | x 1 ) × p(x 3 | x 2 ) × p(x 4 | x 3 ) · · ·

(21)

マルコフ的情報源

0.99

0.97 0.01

0.03

0 1

000000001111111111000000000

p(x) = 0.5 × 0.99 × 0.99 × 0.99 × 0.99 · · ·

p(x) = p(x 1 ) × p(x 2 | x 1 ) × p(x 3 | x 2 ) × p(x 4 | x 3 ) · · ·

(22)

事後確率最大にする値

x MAP

-2 -1 0 1 2 3 4

0 50 100 150 200

t x

true

, y x

MAP

seed: 20070919 P (xMAP| y ) = 0.03118

P (xtrue| y ) = 0.00213 σ=0.7

(23)

使って良い知識

データ(観測値)

y = (y

1

, · · · , y

n

)

モデル:

p(x), p(y | x)

p(x

1

) =

{ 0.5 if x

1

= 0 0.5 if x

1

= 1

p(x

i+1

| x

i

) =

 

 

 

0.99 if x

i

= 0, x

i+1

= 0 0.01 if x

i

= 0, x

i+1

= 1 0.97 if x

i

= 1, x

i+1

= 1 0.03 if x

i

= 1, x

i+1

= 0

p(y

i

| x

i

) = 1

2πσ exp {

(y

i

x

i

)

2

2

}

以降,この課題では,特に指定しない限り

σ = 0.7

(24)

事後確率最大化

x = argmax

x

p(x | y)

p(x | y)

は知らない.

p(x), p(y | x)

は与えられている.

p(x | y) = p(x, y)

p(y)

(ベイズの公式)

= p(x)p(y | x) p(y)

y

は観測値 ⇒

p(y) > 0

は定数

x = argmax

x

p(x)p(y | x)

(25)

事後確率最大化

x = argmax

x

p(x | y)

p(x | y)

は知らない.

p(x), p(y | x)

は与えられている.

p(x | y) = p(x, y)

p(y)

(ベイズの公式)

= p(x)p(y | x) p(y)

y

は観測値 ⇒

p(y) > 0

は定数

x = argmax

x

p(x)p(y | x)

(26)

事後確率

p(x | y )

の最大化

x

1

x

2

x

3

x

n-1

x

n

y

1

y

2

y

3

y

n-1

y

n

x

= argmax

x1,x2,···,xn

p(x

1

, x

2

, · · · , x

n

, y

1

, y

2

, · · · , y

n

)

x

= argmax

x1,x2,···,xn

p(x

1

)

n i=2

p(x

i

| x

i1

)

n i=1

p(y

i

| x

i

)

(27)

事後確率最大にする値

x MAP

-2 -1 0 1 2 3 4

0 50 100 150 200

t x

true

, y x

MAP

seed: 20070919 P (xMAP| y ) = 0.03118

P (xtrue| y ) = 0.00213 σ=0.7

(28)

事後確率

p(x | y )

の最大化

x

1

x

2

x

3

x

n-1

x

n

y

1

y

2

y

3

y

n-1

y

n

x

= argmax

x1,x2,···,xn

p(x

1

, x

2

, · · · , x

n

, y

1

, y

2

, · · · , y

n

)

x

= argmax

x1,x2,···,xn

p(x

1

)

n i=2

p(x

i

| x

i1

)

n i=1

p(y

i

| x

i

)

(29)

演習問題

(プリント)

(30)

本日の課題

2020年6月30 最適化理論

学籍番号:671 0 0

名前: 得点:

小テスト 【マルコフ的情報源,ベイズの公式,事後確率最大化】

データy= (y1, y2, y3)が変数x= (x1, x2, x3)をもとに生成されている.yを観測し,最ももっともらし いxを推定する問題を考えよう.ここでx,yの要素は0,1の値をとり,確率分布p(x), p(y|x)が具体的に 以下のとおり与えられている. ※以下,答だけでなく導出過程を記述せよ.以下には手計算が難しい問題が含まれている.

その場合は,計算できるところは計算し,計算できないところは,【(○通りの和)】などと記述せよ.

p(x1) = Prob(X1=x1)= (1

2if x1= 0 1 2if x1= 1

p(xi+1|xi)=

9 10if xi= 0, xi+1= 0 1 10if xi= 0, xi+1= 1 7 10if xi= 1, xi+1= 1 3 10if xi= 1, xi+1= 0 p(yi|xi)=

(4 5if xi=yi 1 5if xi̸=yi

X3 X1 X2

Y3 Y1 Y2 確率変数の依存性を描いたグラフ

1.x= (0,0,0)とする.確率p(x)を求めよ. p(x) = 2.x= (0,1,0)とする.確率p(x)を求めよ. p(x) = 3.x= (0,0,0),y= (0,1,0)であった. 同時確率p(x,y)を求めよ.

p(x,y) =

4.x= (0,1,0),y= (0,1,0)であった. 同時確率p(x,y)を求めよ.

p(x,y) =

5.y= (0,1,0)であった.x0= (0,0,0)の場合の事後確率p(x0|y)を求めよ.

p(x0|y) =

6.y= (0,1,0)であった.x2= (0,1,0)の場合の事後確率p(x2|y)を求めよ.

p(x2|y) = 7.f(x) =−(x−1)2+ 3とする

(a) maxxf(x) =f(x) = (b)x= argmax

x f(x) =

8.事後確率p(x|y)をp(x), p(y|x)を用い表現せよ.必要であればP

˜

xp( ˜x)などの記号を用いよ.

p(x|y) =

9.y= (0,1,0)であった.事後確率を最大にするxを求めよ(それをx=xMAPと書く).

xMAP= argmax

x p(x|y) =

プリント(小テスト)

1 ダウンロード

2 印刷

3 手で解く(手書き)

4 スキャン(撮影)

5

pdf

6

WebClass

で提出

(締切:6/30

18:00)

使用できそうなツール

スマートフォン

検索:「数学者でもわかるスマホスキャナの使い方」

セブン

-

イレブン

https://www.sej.co.jp/services/multicopy.html

(31)

事後確率

p(x | y )

の最大化

x

i

, y

i

= 0, 1

の場合を考える.

X

3

X

1

X

2

Y

3

Y

1

Y

2

(32)

使って良い知識

データ(観測値)

y = (y

1

, y

2

, y

3

)

X

3

X

1

X

2

Y

3

Y

1

Y

2

モデル:

p(x), p(y | x) p(x

1

) =

{

1

2

if x

1

= 0

1

2

if x

1

= 1

p(x

i+1

| x

i

) =

 

 

 

 

9

10

if x

i

= 0, x

i+1

= 0

1

10

if x

i

= 0, x

i+1

= 1

7

10

if x

i

= 1, x

i+1

= 1

3

10

if x

i

= 1, x

i+1

= 0 p(y

i

| x

i

) =

{

4

5

if x

i

= y

i 1

5

if x

i

̸ = y

i

x

= argmax

x1,x2,x3

p(x

1

, x

2

, x

3

, y

1

, y

2

, y

3

)

= argmax

x1,x2,x3

p(x

1

)p(x

2

| x

1

)p(x

3

| x

2

)p(y

1

| x

1

)p(y

2

| x

2

)p(y

3

| x

3

)

(33)

同時確率,事後確率

p(x1) = { 1

2 if x1= 0 1

2 if x1= 1

p(xi+1|xi) =

9

10 if xi= 0, xi+1= 0 1

10 if xi= 0, xi+1= 1 7

10 if xi= 1, xi+1= 1 3

10 if xi= 1, xi+1= 0 p(yi|xi) =

{ 4

5 if xi=yi 1

5 if xi̸=yi x = argmax

x1,x2,x3

p(x1)p(x2|x1)p(x3|x2)p(y1|x1)p(y2|x2)p(y3|x3) X3

X1 X2

Y3

Y1 Y2

3. x = (0, 0, 0), y = (0, 1, 0)

であった. 同時確率

p(x, y)

を求めよ.

p(x, y) =

20081 451545

=

8150151545

=

8125151525

=

16255

=

3125162

0.0518 5. y = (0, 1, 0)

であった.x0

= (0, 0, 0)

の場合の事後確率

p(x

0

| y)

を求めよ.

p(x

0

| y) = p(x

0

, y)

p(y) = p(x

0

, y)

x

p(x, y) = p(x

0

, y)

x1

x2

x3

p(x

1

, x

2

, x

3

, y)

= p(x

0

, y)

p(000010) + p(001010) + p(011010) + p(100010) + · · ·

= 162

3125 /(2

3

= 8

通りの和)

(34)

同時確率,事後確率

p(x1) = { 1

2 if x1= 0 1

2 if x1= 1

p(xi+1|xi) =

9

10 if xi= 0, xi+1= 0 1

10 if xi= 0, xi+1= 1 7

10 if xi= 1, xi+1= 1 3

10 if xi= 1, xi+1= 0 p(yi|xi) =

{ 4

5 if xi=yi 1

5 if xi̸=yi x = argmax

x1,x2,x3

p(x1)p(x2|x1)p(x3|x2)p(y1|x1)p(y2|x2)p(y3|x3) X3

X1 X2

Y3

Y1 Y2

3. x = (0, 0, 0), y = (0, 1, 0)

であった. 同時確率

p(x, y)

を求めよ.

p(x, y) =

20081 451545

=

8150151545

=

8125151525

=

16255

=

3125162

0.0518

5. y = (0, 1, 0)

であった.x0

= (0, 0, 0)

の場合の事後確率

p(x

0

| y)

を求めよ.

p(x

0

| y) = p(x

0

, y)

p(y) = p(x

0

, y)

x

p(x, y) = p(x

0

, y)

x1

x2

x3

p(x

1

, x

2

, x

3

, y)

= p(x

0

, y)

p(000010) + p(001010) + p(011010) + p(100010) + · · ·

= 162

3125 /(2

3

= 8

通りの和)

(35)

同時確率,事後確率

p(x1) = { 1

2 if x1= 0 1

2 if x1= 1

p(xi+1|xi) =

9

10 if xi= 0, xi+1= 0 1

10 if xi= 0, xi+1= 1 7

10 if xi= 1, xi+1= 1 3

10 if xi= 1, xi+1= 0 p(yi|xi) =

{ 4

5 if xi=yi 1

5 if xi̸=yi x = argmax

x1,x2,x3

p(x1)p(x2|x1)p(x3|x2)p(y1|x1)p(y2|x2)p(y3|x3) X3

X1 X2

Y3

Y1 Y2

3. x = (0, 0, 0), y = (0, 1, 0)

であった. 同時確率

p(x, y)

を求めよ.

p(x, y) =

20081 451545

=

8150151545

=

8125151525

=

16255

=

3125162

0.0518 5. y = (0, 1, 0)

であった.x0

= (0, 0, 0)

の場合の事後確率

p(x

0

| y)

を求めよ.

p(x

0

| y) = p(x

0

, y)

p(y) = p(x

0

, y)

x

p(x, y) = p(x

0

, y)

x1

x2

x3

p(x

1

, x

2

, x

3

, y)

= p(x

0

, y)

p(000010) + p(001010) + p(011010) + p(100010) + · · ·

= 162

3125 /(2

3

= 8

通りの和)

(36)

同時確率,事後確率

p(x1) = { 1

2 if x1= 0 1

2 if x1= 1

p(xi+1|xi) =

9

10 if xi= 0, xi+1= 0 1

10 if xi= 0, xi+1= 1 7

10 if xi= 1, xi+1= 1 3

10 if xi= 1, xi+1= 0 p(yi|xi) =

{ 4

5 if xi=yi 1

5 if xi̸=yi x = argmax

x1,x2,x3

p(x1)p(x2|x1)p(x3|x2)p(y1|x1)p(y2|x2)p(y3|x3) X3

X1 X2

Y3

Y1 Y2

3. x = (0, 0, 0), y = (0, 1, 0)

であった. 同時確率

p(x, y)

を求めよ.

p(x, y) =

20081 451545

=

8150151545

=

8125151525

=

16255

=

3125162

0.0518 5. y = (0, 1, 0)

であった.x0

= (0, 0, 0)

の場合の事後確率

p(x

0

| y)

を求めよ.

p(x

0

| y) = p(x

0

, y)

p(y) = p(x

0

, y)

x

p(x, y) = p(x

0

, y)

x1

x2

x3

p(x

1

, x

2

, x

3

, y)

= p(x

0

, y)

p(000010) + p(001010) + p(011010) + p(100010) + · · ·

= 162

3125 /(2

3

= 8

通りの和)

(37)

演習問題おわり

(38)

事後確率最大化

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

x

= argmax

x

p(x)p(y | x)

= argmax

x

p(x

1

)

n i=2

p(x

i

| x

i−1

)

n i=1

p(y

i

| x

i

)

= argmax

x

log p(x

1

) +

n i=2

log p(x

i

| x

i−1

) +

n i=1

log p(y

i

| x

i

)

(39)

事後確率最大化

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

J = log p(x

1

) +

n i=2

log p(x

i

| x

i−1

) +

n i=1

log p(y

i

| x

i

)

= log p(x

1

) + log p(y

1

| x

1

) +

n−1

i=1

{

log p(x

i+1

| x

i

) + log p(y

i+1

| x

i+1

) }

y

iは定数

= f

1

(x

1

) + h

1

(x

1

, x

2

) + h

2

(x

2

, x

3

) + · · · + h

n−1

(x

n−1

, x

n

)

f

1

(x

1

) = log p(x

1

) + log p(y

1

| x

1

)

h

i

(x

i

, x

i+1

) = log p(x

i+1

| x

i

) + log p(y

i+1

| x

i+1

)

(40)

事後確率最大化

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

J = log p(x

1

) +

n i=2

log p(x

i

| x

i−1

) +

n i=1

log p(y

i

| x

i

)

= log p(x

1

) + log p(y

1

| x

1

) +

n−1

i=1

{

log p(x

i+1

| x

i

) + log p(y

i+1

| x

i+1

) }

y

iは定数

= f

1

(x

1

) + h

1

(x

1

, x

2

) + h

2

(x

2

, x

3

) + · · · + h

n−1

(x

n−1

, x

n

)

f

1

(x

1

) = log p(x

1

) + log p(y

1

| x

1

)

h

i

(x

i

, x

i+1

) = log p(x

i+1

| x

i

) + log p(y

i+1

| x

i+1

)

(41)

基本知識(確率・統計の復習)

平均

µ

,分散

σ 2

,標準偏差

σ

確率分布: 一様分布,正規分布

擬似乱数の生成

最尤推定

同時確率,条件付き確率

マルコフ的情報源

ベイズの公式,事前確率・事後確率

事後確率最大化

動的計画法

(42)

動的計画法

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

J = log p(x

1

) + log p(y

1

| x

1

) +

n−1

i=1

{

log p(x

i+1

| x

i

) + log p(y

i+1

| x

i+1

) }

= f

1

(x

1

) + h

1

(x

1

, x

2

) + h

2

(x

2

, x

3

) + · · · + h

n−1

(x

n−1

, x

n

)

x

1 に着目 ⇒

f

1

(x

1

), h

1

(x

1

, x

2

)

にしか関係しない

f

1

(x

1

) + h

1

(x

1

, x

2

)

を最大にするよう

x

1 を選ぶ

x

2の値がわかっていないければ選べない

そこで,x2の可能なすべての値(0,

1)に対して,以下を計算

f

2

(x

2

) = max

x1

{ f

1

(x

1

) + h

1

(x

1

, x

2

) } ˆ

x

1

(x

2

) = argmax

x1

{ f

1

(x

1

) + h

1

(x

1

, x

2

) }

J = f

2

(x

2

) + h

2

(x

2

, x

3

) + · · · + h

n1

(x

n1

, x

n

)

(43)

動的計画法

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

J = log p(x

1

) + log p(y

1

| x

1

) +

n−1

i=1

{

log p(x

i+1

| x

i

) + log p(y

i+1

| x

i+1

) }

= f

1

(x

1

) + h

1

(x

1

, x

2

) + h

2

(x

2

, x

3

) + · · · + h

n−1

(x

n−1

, x

n

)

x

1 に着目 ⇒

f

1

(x

1

), h

1

(x

1

, x

2

)

にしか関係しない

f

1

(x

1

) + h

1

(x

1

, x

2

)

を最大にするよう

x

1 を選ぶ

x

2の値がわかっていないければ選べない

そこで,x2の可能なすべての値(0,

1)に対して,以下を計算

f

2

(x

2

) = max

x1

{ f

1

(x

1

) + h

1

(x

1

, x

2

) } ˆ

x

1

(x

2

) = argmax

x1

{ f

1

(x

1

) + h

1

(x

1

, x

2

) }

J = f

2

(x

2

) + h

2

(x

2

, x

3

) + · · · + h

n1

(x

n1

, x

n

)

(44)

動的計画法

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

J = log p(x

1

) + log p(y

1

| x

1

) +

n−1

i=1

{

log p(x

i+1

| x

i

) + log p(y

i+1

| x

i+1

) }

= f

1

(x

1

) + h

1

(x

1

, x

2

) + h

2

(x

2

, x

3

) + · · · + h

n−1

(x

n−1

, x

n

)

x

1 に着目 ⇒

f

1

(x

1

), h

1

(x

1

, x

2

)

にしか関係しない

f

1

(x

1

) + h

1

(x

1

, x

2

)

を最大にするよう

x

1 を選ぶ

x

2の値がわかっていないければ選べない

そこで,x2の可能なすべての値(0,

1)に対して,以下を計算

f

2

(x

2

) = max

x1

{ f

1

(x

1

) + h

1

(x

1

, x

2

) } ˆ

x

1

(x

2

) = argmax

x1

{ f

1

(x

1

) + h

1

(x

1

, x

2

) }

J = f

2

(x

2

) + h

2

(x

2

, x

3

) + · · · + h

n1

(x

n1

, x

n

)

(45)

動的計画法

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

J = log p(x

1

) + log p(y

1

| x

1

) +

n−1

i=1

{

log p(x

i+1

| x

i

) + log p(y

i+1

| x

i+1

) }

= f

1

(x

1

) + h

1

(x

1

, x

2

) + h

2

(x

2

, x

3

) + · · · + h

n−1

(x

n−1

, x

n

)

x

1 に着目 ⇒

f

1

(x

1

), h

1

(x

1

, x

2

)

にしか関係しない

f

1

(x

1

) + h

1

(x

1

, x

2

)

を最大にするよう

x

1 を選ぶ

x

2の値がわかっていないければ選べない

そこで,x2の可能なすべての値(0,

1)に対して,以下を計算

f

2

(x

2

) = max

x1

{ f

1

(x

1

) + h

1

(x

1

, x

2

) } ˆ

x

1

(x

2

) = argmax

x1

{ f

1

(x

1

) + h

1

(x

1

, x

2

) }

J = f

2

(x

2

) + h

2

(x

2

, x

3

) + · · · + h

n1

(x

n1

, x

n

)

(46)

動的計画法

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

J = f

2

(x

2

) + h

2

(x

2

, x

3

) + · · · + h

n−1

(x

n−1

, x

n

)

変数の数が

1

つ減った.これを続けていけばよい.

x

2 に着目 ⇒

f

2

(x

2

), h

2

(x

2

, x

3

)

にしか関係しない

f

2

(x

2

) + h

2

(x

2

, x

3

)

を最大にするよう

x

2 を選ぶ

x

3の値がわかっていないければ選べない

そこで,x3の可能なすべての値(0,

1)に対して,以下を計算

f

3

(x

3

) = max

x2

{ f

2

(x

2

) + h

2

(x

2

, x

3

) } ˆ

x

2

(x

3

) = argmax

x2

{ f

2

(x

2

) + h

2

(x

2

, x

3

) }

(47)

動的計画法

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

J = f

n1

(x

n1

) + h

n1

(x

n1

, x

n

)

x

nの可能なすべての値(0,

1)に対して,以下を計算

f

n

(x

n

) = max

xn−1

{ f

n−1

(x

n−1

) + h

n−1

(x

n−1

, x

n

) } ˆ

x

n1

(x

n

) = argmax

xn−1

{ f

n1

(x

n1

) + h

n1

(x

n1

, x

n

) }

x

n

= argmax

xn

f

n

(x

n

)

(48)

動的計画法

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

x

n

= argmax

xn

f

n

(x

n

)

x

n1

= ˆ x

n1

(x

n

)

x

n2

= ˆ x

n2

(x

n1

)

· · · → x

1

= ˆ x

1

(x

2

)

(49)

動的計画法

x3

x1 x2 xn-1 xn

y3

y1 y2 yn-1 yn

x

n

= argmax

xn

f

n

(x

n

)

x

n1

= ˆ x

n−1

(x

n

)

x

n2

= ˆ x

n2

(x

n1

)

· · · → x

1

= ˆ x

1

(x

2

)

参照

関連したドキュメント

ZÁKx

その上で,経過時間Δ において, →∞とおくことにより,結局の ところ,同モデルが幾何ブラウン運動に従う連続時間型の

[r]

イズして,オンラインで個々の消費者に届ける

Distributed Probabilistic Model-building Genetic Algorithm Tomoyuki Hiroyasu,† Mitsunori Miki,† Hisashi Shimosaka,†† Masaki Sano††,☆ and Shigeyoshi Tsutsui††† In

C8000I280rVIco¢ 図2:ダイアグラムの再帰的構造 図2の各ダイアグラムは,上から連続運転中に含ま

熱力学において断熱条件下での不可逆性を表す指標として導入さ

Handbook of Stochastic Models and Analysis of Manufacturing Systems Oper- ations, Springer-Verlag, New York, (2013). [7]