44
遺遺遺遺遺遺遺遺遺遺遺 遺遺遺遺遺遺遺遺遺遺 大大大大 大大大大大大大大 大大大 CISJ2005 遺遺遺遺遺遺遺遺遺遺 2005 遺 11 遺 8 遺

遺伝的アルゴリズムへの 統計力学的アプローチ

Embed Size (px)

DESCRIPTION

遺伝的アルゴリズムへの 統計力学的アプローチ. 大阪大学 大学院理学研究科        鈴木譲. CISJ2005  於早稲田大学理工学部 2005 年 11 月 8 日. GA. 個体 (    ビットの列 ) → 正実数(適合度). ビット. ビット. ビット. 個体 1. 個体 1. 個体 1. 個体 2. 個体 2. 個体 2. 集団. 集団. 集団. 個体. 個体. 個体. 世代 1. 世代 . 世代  2. 世代交代によって、集団に適合度     の高い個体  が含まれるようにする. - PowerPoint PPT Presentation

Citation preview

Page 1: 遺伝的アルゴリズムへの 統計力学的アプローチ

遺伝的アルゴリズムへの統計力学的アプローチ

大阪大学 大学院理学研究科       鈴木譲

CISJ2005  於早稲田大学理工学部       2005 年 11 月 8 日

Page 2: 遺伝的アルゴリズムへの 統計力学的アプローチ

GA

ビット

個体 1

個体 2

個体

集団

世代 1

個体 (    ビットの列 ) → 正実数(適合度)

ビット

個体 1

個体 2

個体

集団

世代  2

ビット

個体 1

個体 2

個体

集団

世代 

L L L

f :

世代交代によって、集団に適合度     の高い個体  が含まれるようにする

f (i) i

L

t

M M M

は、十分に大きい  (    が小さければ全探索 )LL

Page 3: 遺伝的アルゴリズムへの 統計力学的アプローチ

遺伝的操作• 選択:

• 交叉:

• 突然変異

Pj c(i)f (i)c(i)f (i)

に比例する確率で個体 を選択

c(i): 個体  の頻度

i

i

1 2 3 4

a b c d

1 2 3 d

a b c 4

1 点交叉

a b c d

( 他に複数点交叉、一様交叉など )

a c dB

( 選択 2 回 → 交叉 1 回 → 1 個体をランダムに選択 → 突然変異 ) x 回M

Page 4: 遺伝的アルゴリズムへの 統計力学的アプローチ

エルゴードな有限マルコフ連鎖集団内の個体の順序は気にしない

(0,0,0,3), (0,0,1,2), (0,0,2,1), (0,0,3,0), (0,1,0,2), (0,1,1,1), (0,1,2,0), (0,2,0,1), (0,2,1,0), (0,3,0,0), (1,0,0,2), (1,0,1,1), (1,0,2,0), (1,1,0,1), (1,1,1,0), (1,2,0,0), (2,0,0,1), (2,0,1,0), (2,1,0,0), (3,0,0,0)

Q = Q(û0jû):  推移確率行列

有限マルコフ連鎖がエルゴード的:

Qk の各成分 > 0 となる有限の  9k突然変異確率 >0 エルゴード=)

よい解が早く見つかるのなら、交叉、突然変異にこだわることはない

L = 2;M = 3; û = (c(00);c(01);c(10);c(11))

Page 5: 遺伝的アルゴリズムへの 統計力学的アプローチ

ボルツマン分布ありきとしての GA

g(i) := É ì1 logf (i)É ì (> 0);

f (i) g(i)最大 最大( )

Mà! 1 交叉なし、突然変異なしであれば、

pt+1(i) / pt(i) expfÉ ì g(i)g

ì 0 > 0;ì t := ì 0+tÉ ì

limt! 1 pt(i) > 0=) f (i) 最大

Z =P

j2f0;1gL expf ì tg(j )g

pt(i) = expf ì tg(i)g=Z

(  の指数時間)L

( 温度の逆数が増えていく )

Page 6: 遺伝的アルゴリズムへの 統計力学的アプローチ

なぜ GA

M < 1 ; 交叉なし、突然変異なし=) エルゴードではない

• GA は進化の過程を模倣しているので、適合性の高い個体だけが生き残る (John Holland)

• 飛行機が飛ぶことを誰も証明していないが、皆安心して乗っている (David Goldberg)

GAは、エルゴード性を維持しながら、ボルツマン分布を推定しながら、温度を下げている

(Heinz Mulenbein)

Page 7: 遺伝的アルゴリズムへの 統計力学的アプローチ

Estimation of Distribution Algorithms1. 初期集団をランダムに発生、

2.  世代目の集団に基づいて、

  2a.    個中、適合度の高い   個体を選択

  2b.   個の個体に基づいて、      を推定

  2c.      に基づいて、     世代の   個の個体をランダムに生成

3. 停止条件が満足されない場合、          として、 2 へ

エルゴードな有限マルコフ連鎖( 公理論的な GA の範囲内 )

pêt(i)

pt(i)

t

t := t +1

t := 1

N

N

M

M

t +1

Page 8: 遺伝的アルゴリズムへの 統計力学的アプローチ

BN

Earthquake

RadioAnnouncement

Call

Alarm

Burglary

P(C,A,R,E,B) = P(B) P(C|B) P(R|E,B) P(A|R,E,B) P(C|A,R,E,B)

確率変数間の条件付独立性を有向グラフで図示

Page 9: 遺伝的アルゴリズムへの 統計力学的アプローチ

BN

Earthquake

RadioAnnouncement

Call

Alarm

Burglary

P(C,A,R,E,B) = P(B) P(E|B) P(R|E,B) P(A|R,E,B) P(C|A,R,E,B)

確率変数間の条件付独立性を有向グラフで図示

Page 10: 遺伝的アルゴリズムへの 統計力学的アプローチ

BN

Earthquake

RadioAnnouncement

Call

Alarm

Burglary

P(C,A,R,E,B) = P(B) P(E|B) P(R|E,B) P(A|R,E,B) P(C|A,R,E,B)

P(C,A,R,E,B) = P(B) P(E) P(R|E) P(A|E,B) P(C|A)

確率変数間の条件付独立性を有向グラフで図示

Page 11: 遺伝的アルゴリズムへの 統計力学的アプローチ

BN の推定との関係P(X (1) = x(1);X (2) = x(2);ááá;X (L) = x(L))

=Q

i=1N P(X (i) = x(i)j(X (k) = x(k))k2ù(i))

ù(i) ò f1;2;ááá; i à 1g; ù(1) = fg

M ù = (ù(1);ù(2);ááá;ù(L))個の例から を推定

ááá ááá

X (1) = x(1)M ;ááá;X (L) = x(L)

M

X (1) = x(1)1 ;ááá;X (L) = x(L)

1個体数

個体長

の集団とみなせる

ML

L構造推定も、パラメータ推定も   の指数時間かかる

Page 12: 遺伝的アルゴリズムへの 統計力学的アプローチ

GA における平均場近似各変数を独立

とみなして、

P(X (1) = x(1))P(X (2) = x(2))áááP(X (L) = x(L))

のパラメータ推定のみを行う ( 相対頻度 )

D(pêtjjqêt)

i = (x(1);ááá;x(L))qêt(i) =Q

j=1L qêt(x(j ))

qt(x(j )) = P(X (j ) = x(j )); j = 1;ááá;L

の計算量だが、 K-L 情報量

O(L) 大

Page 13: 遺伝的アルゴリズムへの 統計力学的アプローチ

GA におけるベータ近似

分布     のグラフを         最小の木で近似D(pêtjjqêt)pêt

qê(k;l)t (x(k);x(l)) =

Ppêt(ááá;x(k);ááá;x(l);ááá)

I (k; l) :=P

qê(k;l)t log

qê(k)t q

(l)t

qê(k;l)t

D(pêtjjqêt) =P

k2VH(k) àP

f k;lg2E I (k; l)

H(k) :=P

x(k) à qê(k)t logqê(k)

t

Page 14: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 15: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 16: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 17: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 18: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 19: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 20: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 21: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 22: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 23: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 24: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 25: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 26: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 27: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

6

5 4

3 2

1

2

3

4

1 2 3 4

1

I (k; l)

KKk

lk

Page 28: 遺伝的アルゴリズムへの 統計力学的アプローチ

Chow-Liu アルゴリズムV= f1;2;ááá;Lg;E = fg

E [ f f k; lgg

I (k; l)(õ 0)

1 .              がループを持たない

2.              が最大

として、

f k; lg Eとなる      を    に加えていく  (          が最小 )D(pêtjjqêt)

43

KKk

E = f f1;2g;f1;3g;f1;4gg

Page 29: 遺伝的アルゴリズムへの 統計力学的アプローチ

ボルツマン分布の因数分解

pt(x(1);ááá;x(L)) =Q

j=1L pt(x(j )jx(1);ááá;x(jà 1))

自明な因数分解

というよりは、   によらない定数個数の変数の因子の積にL

0#1f (001);f (011) =)              が大      スキーマ      の適合度大

スキーマ仮説 : GA は、適合度の高いスキーマを学習する情報処理

   が大きくなっても、ボルツマン分布の因数分解は同じ(事前に行えるはず)ì t

Page 30: 遺伝的アルゴリズムへの 統計力学的アプローチ

場合 1: が加法的に分解可能g(x)

g: f0;1gL ! R+;g(x) = logf (x)

s1;s2;ááá;sm ò V := f1;2;ááá;Lg;x = (x(1);ááá;x(L))

g(x) =P

k=1m gk(xsk)

g(x(1);x(2);x(3)) = J 23x(2)x(3) +J 31x(3)x(1) +J 12x(1)x(2)

g(x(1);x(2);x(3)) = J 23x(2)x(3) +J 31x(3)x(1) +J 4x(4)

=) V= f1;2;3;4g;s1 = f2;3g;s2 = f3;1g;s3 = f4g

=) V= f1;2;3g;s1 = f2;3g;s2 = f3;1g;s3 = f1;2g

Page 31: 遺伝的アルゴリズムへの 統計力学的アプローチ

Running Intersection Property

d0 = fg;d1 = f2;3g;d2 = f1;2;3g;d3 = f1;2;3g

b1 = f2;3g;b2 = f1g;b3 = fg

c1 = fg;c2 = f3gò s1;c3 = f1;2g6ò s1;s2

k = 1;2;ááá;m bk 6= fg1. 各               について、                 

2.  

3.                 について、         なる

dm = V

k = 2;3;ááá;m ck ó sj 9j(< k)

s1 = f2;3g;s2 = f3;1g;s3 = f1;2g

d0 = fg; dk := [ kj=1sj; bk := skndkà 1; ck := sk \ dkà 1

f skgmk=1

RIP を満たさない

Page 32: 遺伝的アルゴリズムへの 統計力学的アプローチ

Running Intersection Property

f skgmk=1 RIP を満たす

s1 = f2;3g;s2 = f3;1g;s3 = f4g

d0 = fg;d1 = f2;3g;d2 = f1;2;3g;d2 = f1;2;3;4g

b1 = f2;3g;b2 = f1g;b3 = f4gc1 = fg;c2 = f3gò s1;c3 = fgò s1

pt(x(1);x(2);x(3)) = pt(x(2);x(3))pt(x(1)jx(3))pt(x(4))

= pt(x(3))pt(x(2);x(3))pt(x(3);x(1))pt(x(4))

Page 33: 遺伝的アルゴリズムへの 統計力学的アプローチ

RIP まとめf skgm

k=1 の非巡回性

(              を頂点とする Junction Tree が存在)( ) f skgmk=1

RIP が満足されないとき

1.          の順序を変える

2.          の一部をマージする

f skgmk=1

f skgmk=1

Page 34: 遺伝的アルゴリズムへの 統計力学的アプローチ

場合 2 : スキーマが無向グラフで表現

確率変数間の条件付独立性有向グラフ: ベイジアンネットワーク (BN)無向: マルコフネットワーク (MN)

           が無向グラフ            の Junction Tree              G = (V;E)J T = (V;E)

C 2 V1.各        に対して、  

2.  の各クリーク  に対して       となる       が存在

3.           を結ぶ各       に対して、 

G c C ó c C 2 V

C1;C2 2 V C 2 V C ó C1 \ C2

C ò V

Page 35: 遺伝的アルゴリズムへの 統計力学的アプローチ

Junction Tree アルゴリズム1.   に辺を加えて長さ 4 以上のサイクルを無くす  ( 三角化 )

2.           を   のクリークとし、

3. 以下の 2 条件を満たす         を   に加える。   

G

C1;ááá;Cm

V := fC1;ááá;Cmg:E := fgG

3a .      がループを持たない

3b .               が最大 E[ f fCk;Clgg

#(Ck \ Cl)(õ 0)

fCk;Clg E

pt(V) = Qe2Eãpt(e)

Qv2Vpt(v)

E:    の各要素         を         で置き換えた集合Ck \ ClfCk;ClgEã

Page 36: 遺伝的アルゴリズムへの 統計力学的アプローチ

x(1) x(2)

x(3) x(4)

Page 37: 遺伝的アルゴリズムへの 統計力学的アプローチ

x(1) x(2)

x(3) x(4)

Page 38: 遺伝的アルゴリズムへの 統計力学的アプローチ

x(1) x(2)

x(3) x(4)

C1 = fx(1);x(2);x(3)g;C2 = fx(1);x(3);x(4)g

Page 39: 遺伝的アルゴリズムへの 統計力学的アプローチ

x(1) x(2)

x(3) x(4)

C1 = fx(1);x(2);x(3)g;C2 = fx(1);x(3);x(4)g

x(1)

x(3)

x(1)x(2)

x(3)

x(4)x(1) x(3)

Page 40: 遺伝的アルゴリズムへの 統計力学的アプローチ

C1 = fx(1);x(2);x(3)g;C2 = fx(1);x(3);x(4)g

x(1)

x(3)

x(1)x(2)

x(3)

x(4)x(1) x(3)

V = fC1;C2g;E = f fC1;C2gg;Eã = fC1 \ C2g

pt(x(1);x(3))pt(x(1);x(2);x(3))pt(x(1);x(3);x(4))pt(x(1);x(2);x(3);x(4)) =

Junction Tree J T = (V;E)

Page 41: 遺伝的アルゴリズムへの 統計力学的アプローチ

最適な JT を求める

• Junction Tree は、各無向グラフに対して、複数個存在

• 分子の各因数の変数の個数の和を最小にすることは、 NP 困難

Page 42: 遺伝的アルゴリズムへの 統計力学的アプローチ

まとめ

• GAは、統計力学的にみると、もっとよくわかる

• GAは、エルゴードな有限マルコフ連鎖の中で、よいものを選べばよい。

• よい GAならば、温度を下げながら、エルゴード性を保ちながら、ボルツマン分布を推定している。

• 個体長  が十分に大きいので、  の多項式時間で実行せよ。

• 構造推定  vs 因数分解。因数分解もそれなりに難しい。

LL

Page 43: 遺伝的アルゴリズムへの 統計力学的アプローチ

今後に向けて :  GA vs 変分方程式

D(qjjp) = U(q) à H(q) + 定数

g(x) =P

k=1m gk(xsk)

U(q) =P

x q(x)g(x) =P

k=1m askqk(xsk)

平均場近似であれば

q(x) =Q

k=1m qk(x)

H(q) = àP

k=1m P

x(k) q(x(k)) logq(x(k))

@qk

@D(qjjp) = log1à qk

qk + @qk

@U = 0

qk = 1+exp[@U=@qk]1

Page 44: 遺伝的アルゴリズムへの 統計力学的アプローチ

ベーテ近似、菊池近似でも最適化問題は解ける

D(qjjp) ! min

確率の和 =1 の制約条件の下で、   に関するラグランジュ未定係数法を解く

q

問題:  GA による解法と変分方程式の解法で、相互乗り入れはあるのか