計算知能化と組合せ最適化 Computational Intelligence and

アドバンスドトピックス
計算知能化とソフトコンピューティング
Computational Intelligence and Soft-Computing
情報工学科
辻村 泰寛
Hello
Hellow
everyone
講義の流れ
1.計算知能化って何? - 「創発」への誘い
2.知能は人工的に作れるか? - 「知能」 vs 「本能」
3.組合せ最適化と巡回セールスマン問題 - 営業は大変なのだ!
4.計算知能化技術と遺伝的アルゴリズム(GA)-生物の進化を真似てみよう!
5.GAのTSPへの適用 - 巡回路が進化する?
6.GPによる蟻の巣シミュレータ
7.今後の展望 - 機械は人間を越えるか?
N.I.T.
情報工学科 辻村泰寛
1.計算知能化って何?-「創発」への誘い(1)
従来は...
数学的基盤
科学計算
連立方程式,微積分,行列計算 etc.
コンピュータ科学
プログラミング,アルゴリズム論 etc.
しかし...
工業技術のめざましい進歩
システム(例:航空機,生産
システム等)の大規模化,複
雑化!
情報工学科 辻村泰寛
1.計算知能化って何?-「創発」への誘い(2)
システムの大規模化,複雑化
複雑系
設計,制御が非常に難しい
複雑系・・・部分部分の構造は簡単で動作は単純だが,全
体では複雑で予測できない動きをするシステム
例:交通システム,インターネット
従来の科学計算技術では対応が困難
何故?
複雑故,アルゴリズムの構築が困難
情報工学科 辻村泰寛
1.計算知能化って何?-「創発」への誘い(3)
では,どのように対応するか?
アルゴリズム自体が問題解決に向けて変化する
「創発」的な発想
創発 (emergence): “emergence” とは “出現すること”
「部分間の局所的な相互作用の結果全体が現れ,その全
体が部分への環境となり,それによって新たな秩序が形成
されるプロセス」(C. Langton, Artificial Life, 1989)
「ご時勢に巻かれて流されるその日暮らしの我々の生活と
行動が,またご時勢を作り出す」(星野力)
例:蟻の社会,人間社会(政治,経済,文化)
情報工学科 辻村泰寛
1.計算知能化って何?-「創発」への誘い
(4)
 計算知能化技術の適用
最適化(スケジューリング,設計(機械,建築 etc.),
レイアウト,計画 etc.)
制御(地下鉄(仙台で実用化),家電(エアコン,
洗濯機 etc.),自動車,ロボット etc.)
予測(株価,為替 etc.)
後で巡回セー
診断(医療,システム故障 etc.)
ルマン問題の
例を示しましょ
知識獲得(データマイニング)
う.
芸術(作曲),人工生命,複雑系,etc.
情報工学科 辻村泰寛
2.知能は人工的に作れるか?-「知能」 vs 「本能」 (1)
知能 (intelligence) とは?
難しいナァ...
質問!!
ゴキブリの行動
部屋の明かりを点ける ⇒ 暗所に隠れる
人が近寄る ⇒ 逃げる
カサカサ
これらの行動はゴキブリの意思によるか?
答えが“Yes”の場合
ゴキブリには知能がある.
しかし,本当は....
情報工学科 辻村泰寛
2.知能は人工的に作れるか?-「知能」 vs 「本能」 (2)
答えは “No” ! 一見意思のように見えるが...
ゴキブリの行動
「本能」(instinct)
「反射」(reflection)
●現在,「人工知能」と呼ばれるものは,基本的に未だこのレベ
ルにある.(例:ロボット,ソフト)
センサ技術の発達
定義(辻村の私的な意見)
「知能とは,過去に蓄積した知識 (knowledge) や経験
(experiment) から,自分の意思により未知,未経験の
事態に適切に対応できる能力」
なるほど!
情報工学科 辻村泰寛
2.知能は人工的に作れるか?-「知能」 vs 「本能」 (3)
自己修復型自律ロボット
知能的動作ではない
人間が教えた範囲でしか行動ができない.
あら!
壊れちゃった
人工知能ロボット
自分で
直せる
もんネ!
知能的動作である(楽をする)
人間が教えた以上の(想像もしなかった)行動をとる.
あら!
壊れちゃった
情報工学科 辻村泰寛
でも,こう
こうした方
が便利だ
もんネ!!
3.組合せ最適化と巡回セールスマン問題
営業は大変なのだ!(1)
最適化問題:システムの設計や運転を行うにあたり,最も適切な決定を行
うこと,あるいはいくつかの選択肢のなかから最善なものを選択する問題
例:組合せ最適化問題,数理計画問題 等
組合せ最適化問題:与えられた制約のもとで,目的関数を最適(最大化る
いは最小化)にする組合せを求める問題
例:2種類の製品AとBをそれぞれx1個,x2個生
産するに当たって,総利益を最大にすることを
考える.ただし,製品AとBの収益率をそれぞれ
40円/個,90円/個とする.また,製品Aを1個生
産するには4kg,製品Bを1個生産するには11kg
の原料を必要とし,利用可能な原料の総量は
440kgである.さらに,製品Aを1個生産するには
5人時,製品Bを1個生産するには7人時の労働
力を必要とし,利用可能な総労働力は350人時
である.
情報工学科 辻村泰寛
max
z  40 x1  90 x2
s.t.
4 x1  11x2  440
5x1  7 x2  350
x1  0, x2  0
数学モデルは
世界の共通語!!
全ての組
合せ問題
の基礎!
3.組合せ最適化と巡回セールスマン問題
営業は大変なのだ!(2)
巡回セールスマン問題 (Traveling Salesman Problem: TSP)
「あるセールスマンが幾つかの都市に住んでいるお得意様を訪問しよ
うとしています.どのような順序で回ったら最短距離で帰ってこれる
でしょうか?」
2:ロンドン
例:右のような5都市 のTSP
を考える.
最適解
(巡回路)
②
894
4:ベルリン
569
巡回距離
3047
②
④
476
408
④
784
736
774
or
⑤
①
③
⑤
①
数字は距離
5:チューリッヒ
434
852
③
1:マドリッド
情報工学科 辻村泰寛
1154
3:ローマ
3.組合せ最適化と巡回セールスマン問題
営業は大変なのだ!(3)
数学モデル(対象型TSP)
n都市を巡回するTSPは,一般に次のような0-1線形計画問題に定式化される.
n
min
n
i 1 j 1
n
s.t.

z    dij xij  dn1 xn1
x

目的関数:総巡回距離
dij:都市 i と都市 j 間の距離
ij
1,
j  1,2,3,, n
都市 j は正確に1度だけ訪問
される制約条件
ij
1,
i  1,2,3,, n
セールスマンは同時に2つの
都市を訪問できない制約条件
i 1
n
x
j 1
ui  u j  nxij  n  1 ,
i  2,3,, n
j  2,3,, n
i j
巡回路は2つ以上の部分巡回路
に分割されない制約条件
(サブツアーの禁止)
1 , 都市iの次に都市jを 訪問する 場合
xij  
0 , そう でない場合
ui  0 ,
i  2,3,, n
情報工学科 辻村泰寛
(0-1)決定変数
非負変数
3.組合せ最適化と巡回セールスマン問題
営業は大変なのだ!(4)
ところで...
都市数 n が増えると,どうなるんだろう?
都市数 n
2
3
4
・
・
・
n
n = 30都市TSPの場合...
巡回路数
(組合せ数)
1
2
3
・
・
・
(n-1)!
ものすご
い時間で
しょ!!
巡回路数 = (30-1)! = 29!
≒ 1030
そんなに
かかるの!
1秒間に10億個の順列を作り出
せるコンピュータを使っても...
全ての巡回路を調べて,最短巡
回路を求めるためには...
10億世紀以上
情報工学科 辻村泰寛
3.組合せ最適化と巡回セールスマン問題
営業は大変なのだ!(5)
スターリングの公式 (James Stirling, 1692 - 1770)
 n
n !  2n  
 e
n
e  2.71828 ( 自然対数の底 )
細かい部分を無視すると,n! は大体 nn になる.
非常に難しい
巡回セールスマン問題
“NP-完全”である.
ここでは,これ以上,こ
の件についてはふれな
いことにします.
情報工学科 辻村泰寛
3.組合せ最適化と巡回セールスマン問題
営業は大変なのだ!(6)
お解り
かな!
この様に難しいTSPの解法は?
最適解法
近似解法
動的計画法
分岐限定法
分岐カット法
etc...
これらについて
興味のある人は,
図書館などで,
調べて下さい!
どん欲法
セービング法
その他の近似解法
etc...
大きな問題が苦手
精度がいまいち
計算時間が長大
あまり計算時間がかからず,適当に精度が良い解法
なるほど!
計算知能化技術の応用
情報工学科 辻村泰寛
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (1)
計算知能化のメインツール
ソフトコンピューティング
通常のコンピューティング(ハードコンピューティング)
⇒ 「計算の精度」,「完全性」を追求
⇒ 条件が良くないと解けない.
多大な計算時間を多く要する.
ソフトコンピューティング(L.A.Zadeh教授)
⇒ 「柔軟性」と「適応性」を追及
計算精度は実用レベルで妥協
⇒ 実用性に富む.
情報工学科 辻村泰寛
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (2)
計算知能化
計算技術に「知能的」振る舞いを融合
計算知能化技術
ソフトコンピューティング
「融通性」,「主観性」
ファジィ理論
モダンヒューリスティック
(曖昧さの科学)
(様々な自然現象を
ニューラルネットワーク
利用した発見的手法)
(神経回路網による学習)
進化計算法
焼き鈍し法
カオス・フラクタル
(混沌の科学)
タブーサーチ etc…
確率的推論
(知識の科学)
etc…
情報工学科 辻村泰寛
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (3)
ニューラルネットワーク (Neural Network: NN)
神経回路網の学習機能を応用して,未知の状態に対して
も柔軟に対応した問題解決アルゴリズム
例:株価予測,ロボット制御,家電,ニューロチップ等
遺伝的アルゴリズム (Genetic Algorithm: GA)
生物の進化過程(自然淘汰,選択,突然変異)を模倣す
ることで解集団を進化させて,良い解を見つける
例:知識獲得,制御,パターン認識,スケジューリング 等
シミュレーテッドアニーリング (Simulated Annealing: SA)
高温に熱せられた金属が冷えて結晶化し,最適温度に到
達する過程を模倣することで,良い解を見つける
例:設備配置,スケジューリング,配送計画 等
情報工学科 辻村泰寛
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (4)
遺伝的アルゴリズム Genetic Algorithm (GA)
John Holland 『自然及び人工システムにおける適応』(1975)
(Adaptation in Natural and Artificial Systems)
現実的には,
これで十分!
NP-完全な組合せ最適化問題
最適解法(例:分岐限定法 等)
大変な思いをして求まるかどうか分
からない最適解を追い求めるよりは
情報工学科 辻村泰寛
膨大な計算時間
最悪,計算不能
最適でなくてもそれに近
い解を実時間で求める
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (5)
世代
t
世代
進化
0.2
環境に合う
ものを選択
0.8
t+1
1.2
0.6
0.3
0.4
適応度が高いもの
が生き残るんだ!
交叉
0.2
生殖
0.8
0.8
1.2
+
0.3
0.7
0.4
0.7
+
0.2
0.6
突然変異
数字は適応度
情報工学科 辻村泰寛
う~ん??
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (6)
発現
適応度 大
生き残る
表現型
phenotype
遺伝子型
genotype
さまざまな環境の変化
発現
適応度 小
死滅する
情報工学科 辻村泰寛
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (7)
単純GA (Simple GA:SGA)
• 染色体 (chromosome)或いは個体 (individual)(対象問題の解)
• 染色体集団 (population)
染色体の集合
• 適応度(fitness)
外部環境(対象問題では評価関数)にどの
程度適応しているかを定量化
• 集団を世代ごとに染色体集団を生成
規則1:適応度の高い個体ほど生き残る確率が高い
(自然淘汰)
確率的探索法
規則2:古い個体を元に新しい個体を生成させる
(遺伝現象)
経験的探索法
情報工学科 辻村泰寛
Here we go !
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (8)
交叉 (crossover)
2つの親染色体の一部分を交換して2つの子染色体を生成する.
親染色体の良い性質を後世に残す.
突然変異 (mutation)
染色体中の遺伝子を変化させたり,遺伝子同士を入れ換えるなどして,
別の染色体を生成する.
フムフム...
染色体集団の多様性を維持ずる.
これら3つを合わせて
遺伝的操作と言います.
選択 (selection)
現世代の染色体集団に交叉・突然変異により新たに生成された染色
体を加えて,全体から決められた数(現世代と同じ数)の染色を適応
度に応じて選び,次世代の染色体集団を形成する.
情報工学科 辻村泰寛
4.計算知能化技術と遺伝的アルゴリズム(GA)
生物の進化を真似てみよう! (9)
解空間
最良解
初期集団の生成
Pop ( gen) ; gen ←1
コード化
(遺伝子表現)
評
集 団
選
集 団
交
価
Pop(gen )
択
Pop' (gen )
差
集 団
Pop'' (gen)
突
然
変
異
集 団
Pop'''( gen)
次世代集団の生成
Pop ( gen) ← Pop'''( gen - 1 )
gen ← gen +1
No
gen = 最大世代数
Yes
単純GAの流れ
最終世代で最も
よい染色体を
見つける
デコード化(解表現)
情報工学科 辻村泰寛
5.GAのTSPへの適用
巡回路が進化する? (1)
遺伝子表現(遺伝子型)
②
解りやすいでしょ!
④
染色体: (1 2 4 5 3)
⑤
①
順列表現 (permutation representation)
③
都市 3 の後に出発点の都市 1
を付けずに省略する.
表現型(巡回路)
遺伝子型
評価関数 (evaluation function)(適応度)
総巡回距離の逆数
数学モデルの目的関数値の逆数
1
1
評価関数 eval (tour )   n n
z
  dij xij  dn1 xn1
i 1 j 1

情報工学科 辻村泰寛

5.GAのTSPへの適用
巡回路が進化する? (2)
交叉
部分一致交叉 (partial matched crossover: PMX)
(D. E. Goldberg, 1985) ⇒ 順列表現に適している.
親1
( 1 2 3|4 5 6|7 8 9 )
親2
( 5 6 8|2 3 7|4 1 9 )
突然変異
2, 3, 7 ⇒ 重複
4, 5, 6 ⇒ 不足
( 1 2 3|2 3 7 | 7 8 9 )
( 5 6 8|4 5 6|4 1 9 )
4, 5, 6 ⇒ 重複
2, 3, 7 ⇒ 不足
重複を削除,不足を追加
( 1 4 5|2 3 7|6 8 9 ) 子1
( 2 3 8|4 5 6|7 1 9 ) 子2
重複を削除,不足を追加
入換えによる突然変異 (gene-exchange mutation)
入れ換える
元染色体
( 2 3 8 4 5 6 7 1 9 )
( 2 3 1 4 5 6 7 8 9 ) 新染色体
情報工学科 辻村泰寛
5.GAのTSPへの適用
巡回路が進化する? (3)
選択
ルーレット選択法 (spinning roulette wheel method)
確率選択法の1つ
eval ( tour1 )  30
eval ( tour2 )  50
eval ( tour3 )  10
eval ( tour4 )  20
eval ( tour5 )  40
3
,
15
5
p2 
,
15
1
p3 
,
15
p1 
3
15
8
q2 
15
9
q3 
15
5
F   eval ( touri )  150
適応度 大 ⇒ 残る確率大
適応度 小 ⇒ 残る確率小
i 1
i
eval ( touri )
pi 
, qi   p j , i  1,2 ,3,4 ,5
F
j 1
q1 
p5
2
,
15
4
p5 
,
15
p4 
11
15
15
q5 
15
q4 
情報工学科 辻村泰寛
p4
p1
p2
p3
5.GAのTSPへの適用
巡回路が進化する? (4)
実際に問題を解いてみよう!!
この場合は
そんなに
巡回路の数
はないなァ...
探索数
(10-1)! = 9! = 362,880 通り
10都市TSP
この進化環境は予備実験で求め
られるんだよ!すごく大切なんだ!
都市間の距離データ
i
j
1
2
3
4
5
6
7
8
9
10
1
-
8
5
9
12
14
12
16
17
22
2
8
-
9
15
17
8
11
18
14
22
3
5
9
-
7
9
11
7
12
12
17
4
9
15
7
-
3
17
10
7
15
18
5
12
17
9
3
-
8
10
6
15
15
6
14
8
11
17
8
-
9
14
8
16
7
12
11
7
10
10
9
-
8
6
11
8
16
18
12
7
6
14
8
-
11
11
9
17
14
12
15
15
8
6
11
-
10
10
22
22
17
18
15
16
11
11
10
-
進化環境
集団中の染色体数
pop_size = 10
最終世代(終了条件)
maxgen = 4000
交叉が発生する確率
prc = 0.6
突然変異が発生する確率
prm = 0.01
情報工学科 辻村泰寛
5.GAのTSPへの適用
巡回路が進化する? (5)
GAを20回実行したときの
平均収束過程だよ!
創発的
な動き
EBGAは辻村が開発したもので,エントロピー
を用いてGAの探索効率を高めたものだよ!!
110
総 100
巡
回 90
距
離 80
GA
EB G A
70
0
500 1000 1500 2000 2500 3000 3500 4000
世 代
報告されている最適解:
最適巡回路:1-2-6-7-9-10-8-5-4-3
その時の総巡回距離:73
ここでは,EBGAの良さを示
すために集団中の染色体数
をわざと小さくしてあるよ!!
情報工学科 辻村泰寛
5.GAのTSPへの適用
巡回路が進化する? (6)
次にもう少し大きい問題を解いてみよう!!
探索数
20都市TSP
(20-1)! = 19! = 121,645,100,408,800,000 通り
都市間の距離データ
i
j
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
え~っ!!
こんなにたくさん
調べるの?
気が遠くなる...
9 10 11 12 13 14 15
8
7
6
5
4
3
2
1
- 144 104 137 65 47 51 87 92 18 170 55 82 132 112
40 - 28 68 52 111 172 144 84 89 159 51 145 95 39
63 65 - 152 94 140 59 15 63 77 80 30 149 37 75
99 59 81 - 126 66 151 43 44 76 49 51 52 123 15
144 104 169 74 - 134 79 134 41 33 61 62 62 35 131
128 88 114 33 68 - 94 54 119 75 50 108 37 62 68
57 17 89 51 87 84 - 61 34 47 47 120 80 42 25
69 29 72 26 112 59 25 - 36 28 37 72 132 105 45
126 86 129 48 45 33 69 74 - 83 43 65 16 92 49
26 70 89 125 141 158 87 99 158 - 115 75 128 60 29
115 75 128 60 29 91 58 51 47 112 - 26 70 89 125
83 43 65 16 92 49 45 20 64 113 63 - 126 86 129
36 28 37 72 132 105 45 50 120 62 103 56 - 69 29
61 34 47 47 120 80 42 25 95 87 100 31 25 - 57
94 54 119 75 50 108 37 62 68 91 21 82 82 79 -
134 79 134 41 33 61 62 62 35 131 19 57 122 87 40
126 66 151 43 44 76 49 51 52 123 15 48 94 76 32
152 94 140 59 15 63 77 80 30 149 37 75 130 105 58
28 68 52 111 172 144 84 89 159 51 145 95 39 64 121
144 104 137 65 47 51 87 92 18 170 55 82 132 112 86
16
86
64
130
48
19
91
95
50
45
91
141
48
72
17
128
-
24
18
162
46
17
46
121
105
94
57
21
87
120
20
58
158
45
26
89
88
144
-
42
53
70
18
70
162
58
76
122
82
100
62
64
51
87
33
112
51
114
104
99
-
315
29
19
29
53
18
32
87
82
31
103
113
47
99
69
59
87
33
169
59
63
-
151
情報工学科 辻村泰寛
20
151
315
42
24
40
79
25
56
63
112
158
74
25
84
68
74
81
65
40
-
ここでも集団中の
染色体数をわざと
小さくしてるよ!
進化環境
集団中の染色体数
pop_size = 20
最終世代(終了条件)
maxgen = 20000
交叉が発生する確率
prc = 0.8
突然変異が発生する確率
prm = 0.2
5.GAのTSPへの適用
巡回路が進化する? (7)
これもGAを20回実行したと
きの平均収束過程だよ!
総
巡
回
距
離
1300
1200
報告されている最適解:
最適巡回路:1-2-7-15-11-17-16-5-18-20-9-6-4-12-8-14-13-3-19-10
その時の総巡回距離:567
1100
1000
GA
900
800
700
EBGA
600
500
0
2500 5000 7500 10000 1250015000 17500 20000
世 代
情報工学科 辻村泰寛
6.応用例:GAによる自動作曲
フェーズ1:GAによるコード進行の生成
ルール
ダイアトニックコード
フェーズ2:GAによるメロディの生成
コード毎に使える音を判断
モードの導入(ルール)
自然な音の繋がり
情報工学科 辻村泰寛
6.応用例:GPによる蟻の巣シミュレータ
●遺伝的プログラミング(GP)の応用
• 人工生命・・・蟻の行動のシミュレーション
餌を採る
フェロモンを残す
餌
蟻の巣
フェロモンを辿って餌に辿り着く
これを繰り返すことで,辿る経路が巣と餌場の間の最短経路に近づく.
→ 遺伝的プログラミングにより経路を探索
⇒ 遺伝子表現が木構造
情報工学科 辻村泰寛

7.今後の展望 - 機械は人間を越えるか?
計算知能化技術
+
ロボット工学
+
コンピュータ科学
今後を乞う
ご期待!!
哲学の問題だナ!!
創発
人工知能を持つ機械
人間の想像を超えた能力
を持つ機械の誕生!!
人間に不足している部分を補い,人間の可能性を
更に広げるような機械の開発が理想的である.
人間協調型知能的機械
情報工学科 辻村泰寛
課
題
レポートは,次の2つのテーマ
(1)人間の役に立つ人工知能ロボットとはどのような
ものか?具体的に例をあげて論ぜよ.
(2)住宅を知能化するとしたら,どのような方法が考
えられるか?具体的に例をあげて論ぜよ.
のどちらかを選択して作成すること.
注
意:用紙はA4版とし,レポートとして体裁
を整えること.文章のフォントサイズはワープ
ロで10~11ポイントとする.また,左上1
箇所をホチキス止めすること.
提出期限:2004年6月9日 午前11時まで(厳守)
提出場所:情報工学科事務室前
レポート提出用ポスト
情報工学科 辻村泰寛
レポートの体裁
●必要な内容
•テーマ
•「テーマ」についての背景と現状(起)
•「テーマ」についてどのような問題点が存在するか(承)
•それらの問題に対してどのような技術が開発されているか
(転)
•では、それらの技術をどのように評価し、今後はどのように変
わるか(結)
注:「感想文」ではない。また、上記内容が入っていないものに
ついては「レポート」とは見なさない。
情報工学科 辻村泰寛
N.I.T.
Hellow
Fine
もし,質問があったら...
電子メール: [email protected]
まで,遠慮なくどうぞ!!
情報工学科 辻村泰寛