Download presentation
Presentation is loading. Please wait.
Published byみそら わかはら Modified 約 8 年前
1
©2008 Ikuo Tahara探索 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム
2
©2008 Ikuo Tahara状態空間の探索 問題 規則前提条件追加リス ト #1 SA #2 SB #3 AB #4 AG #5 BC #6 CA #7 CD #8 CG A B C G S D #1#2#2 #3#3 #4 #6 #8#8 #5 #7#7 状態空間
3
©2008 Ikuo Tahara状態空間の探索 状態空間 AB C G S D #1#2#2 #3#3 #4 #6 #8#8 #5 #7#7 初期状態 目標状態 S A B C D G BG C A D G G 探索木
4
©2008 Ikuo Tahara探索における基本的処理 局所的情報 → 大局的な情報 節点の選択: 展開すべき節点を選択する. 節点の展開: 子節点をすべて求める. ※循環路を作らない.
5
©2008 Ikuo Tahara主な探索技法 基本的な探索法 横形(幅優先)探索( Breadth-first search ) 縦形(深さ優先)探索( depth-first search ) 評価関数を利用した探索法 分岐限定法( Branch and bound search ) 山登り法( Hill-climbing search ) 最良優先探索( Best-first search ) A ( A* )アルゴリズム( Algorithm A star )
6
©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S S 展開すべき節点のリス ト 次に展開する節点
7
©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S ABC 展開すべき節点のリス ト S
8
©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S ABC 展開すべき節点のリス ト ABS
9
©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S ABC 展開すべき節点のリス ト ABC 次に展開する節点
10
©2008 Ikuo Tahara 横形探索と縦形探索 節点の選択の制御 S ABC DE 展開すべき節点のリス ト ABC
11
©2008 Ikuo Tahara 横形探索と縦形探索 節点の選択の制御 S ABC DE 展開すべき節点のリス ト ABC 横形(幅優先)探 索 (待ち行 列)
12
©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S ABC DE 展開すべき節点のリス ト ABC 縦形(深さ優先)探 索 (スタッ ク)
13
©2008 Ikuo Tahara横形探索 S S A A B B C C D D E E F F H H I I G G S S OPEN : (S) CLOSED: [ ]
14
©2008 Ikuo Tahara横形探索 S S A A B B C C D D E E F F H H I I G G S S A A B B OPEN : (A B) CLOSED: [S]
15
©2008 Ikuo Tahara横形探索 S S A A B B C C D D E E F F H H I I G G S S A A B B F F OPEN : (B F) CLOSED: [S A]
16
©2008 Ikuo Tahara横形探索 S S A A B B C C D D E E F F H H I I G G S S A A B B C C F F OPEN : (F C H) CLOSED: [S A B] H H
17
©2008 Ikuo Tahara横形探索 S S A A B B C C D D E E F F H H I I G G S S A A B B C C E E F F OPEN : (C H E) CLOSED: [S A B F] H H
18
©2008 Ikuo Tahara横形探索 S S A A B B C C D D E E F F H H I I G G S S A A B B C C D D E E F F I I OPEN : (H E D I) CLOSED: [S A B F C] H H
19
©2008 Ikuo Tahara横形探索 S S A A B B C C D D E E F F H H I I G G S S A A B B C C D D E E F F H H I I G G OPEN : (E D I G) CLOSED: [S A B F C H]
20
©2008 Ikuo Tahara縦形探索 S S A A B B C C D D E E F F H H I I G G OPEN : (S) CLOSED: [ ] S S
21
©2008 Ikuo Tahara縦形探索 S S A A B B C C D D E E F F H H I I G G OPEN : (A B) CLOSED: [S] S S A A B B
22
©2008 Ikuo Tahara縦形探索 S S A A B B C C D D E E F F H H I I G G OPEN : (F B) CLOSED: [S A] S S A A B B F F
23
©2008 Ikuo Tahara縦形探索 S S A A B B C C D D E E F F H H I I G G OPEN : (E H B) CLOSED: [S A F] S S A A B B E E F F H H
24
©2008 Ikuo Tahara縦形探索 S S A A B B C C D D E E F F H H I I G G OPEN : (H B) CLOSED: [S A F E] S S A A B B E E F F H H
25
©2008 Ikuo Tahara縦形探索 S S A A B B C C D D E E F F H H I I G G OPEN : (G I B) CLOSED: [S A F E H] S S A A B B E E F F H H I I G G
26
©2008 Ikuo Tahara横形探索と縦形探索の比較 探索木 各節点の分岐数: 深さ の節点を生成しようとしていると き
27
©2008 Ikuo Tahara (1) OPEN リストのメモリ量 横形探索 OPEN リスト内の節点数は少なくとも OPEN リストとして 保持している ( の指数オー ダー)
28
©2008 Ikuo Tahara (1) OPEN リストのメモリ量 縦形探索 OPEN リスト内の節点数は少なくとも OPEN リストとして 保持している ( の線形オー ダー)
29
©2008 Ikuo Tahara(2)計算量 探索する節点数 縦形でも横形でも最悪の場合 ( ) ( の指数オー ダー)
30
©2008 Ikuo Tahara縦形探索の特徴 縦形探索 メモリ量に関しては効率がよい. 再帰呼び出しによる実現が容易である. 問題点 目標状態が探索木の右上にくるような場合 は横形と比して非常に効率が悪い. 特に,目標状態が有限な深さに存在するに もかかわらず深さが無限な探索木に対して 探索が終了しない場合がある.
31
©2008 Ikuo Tahara再帰呼出しによる縦形探索 Procedure S(n,R) 1.if n=G then flag:=T, print(R), exit. 2.c:=children(n). 3.if c= then flag:=F, exit. 4.n’:=top(c), c:=c-{n’}. 5.if n’ R then goto 3. 6.R’:=R+{n’}. 7.S(n’,R’). 8.if flag=F then goto 3 else exit.
32
©2008 Ikuo Tahara評価関数の導入 最適順路のコスト: 節点 n の評価 a b S n G
33
©2008 Ikuo Tahara評価関数の導入 の推定値: :その探索時点で最適な順路の評 価値 :ヒューリスティック関数
34
©2008 Ikuo Tahara評価関数を利用した探索法 分岐限定法( Branch and bound search ) 山登り法( Hill-climbing search ) 最良優先探索( Best-first search ) A ( A* )アルゴリズム( A star algorithm )
35
©2008 Ikuo Taharaコストの導入 S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 5 5 2 2 46 6 6 7 72
36
分岐限定法 OPEN リストから 値が最小の節点を選び展開する. n m S m への最適順路は発見済み → 無視 無視
37
©2008 Ikuo Tahara分岐限定法 SS OPEN : (S(0)) CLOSED: [ ] S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 0
38
©2008 Ikuo Tahara分岐限定法 S S A A B B C C D D E E F F H H I I G G S S OPEN : (A(1) B(3)) CLOSED: [S] A A B B 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 13
39
©2008 Ikuo Tahara分岐限定法 S S A A B B C C D D E E F F H H I I G G S S OPEN : (B(2) F(7)) CLOSED: [S A] A A B B B B F F 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 3 2 7
40
©2008 Ikuo Tahara分岐限定法 S S A A B B C C D D E E F F H H I I G G S S OPEN : (H(5) F(7) C(8)) CLOSED: [S A B] A A B B F F C C H H 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 7 58 8
41
©2008 Ikuo Tahara分岐限定法 S S A A B B C C D D E E F F H H I I G G S S OPEN : (I(6) F(7) C(8) G(12)) CLOSED: [S A B H] A A B B F F C C H H G G I I 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 7 8 12 6
42
©2008 Ikuo Tahara分岐限定法 S S A A B B C C D D E E F F H H I I G G S S OPEN : (F(7) C(8) G(11)) CLOSED: [S A B H I] A A B B F F C C H H G G I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 7 8 12 11
43
©2008 Ikuo Tahara分岐限定法 S S A A B B C C D D E E F F H H I I G G S S OPEN : (C(8) G(11) E(14)) CLOSED: [S A B H I F] A A B B F F C C H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 8 11 E E 14 9
44
©2008 Ikuo Tahara分岐限定法 S S A A B B C C D D E E F F H H I I G G S S OPEN : (G(11) D(13) E(14)) CLOSED: [S A B H I F C] A A B B F F C C H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 11 E E 14 D D 13 10 12 最適順路!
45
©2008 Ikuo Tahara ヒューリスティック値の導入 S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 5 5 22 4 6 6 6 7 72 7 46 4 2 34 2
46
©2008 Ikuo Tahara山登り法 展開して得られた子節点にのみに着目し, 値の最 小の節点を選択する. S S A A B B C C H H E E H H A A B B F F F F S S A A B B C C D D E E F F H H I I G G ④⑦⑥④ ②③④② ⑦④ ⑥ ③ ④ ②④ ⑦ ④ ③ ・ ・循環路に陥る ・局所解に陥る
47
©2008 Ikuo Tahara最良優先探索 OPEN リストのすべての節点に着目し, 値の最小 の節点を選択する. S S S S A A B B C C D D E E F F H H I I G G ④⑦⑥④ ②③④② OPEN : (S) CLOSED: [ ]
48
©2008 Ikuo Tahara最良優先探索 OPEN リストのすべての節点に着目し, 値の最小 の節点を選択する. S S A A B B S S A A B B C C D D E E F F H H I I G G ④⑦⑥④ ②③④② ⑦ ④ OPEN : (B(4) A(7)) CLOSED: [S]
49
©2008 Ikuo Tahara最良優先探索 OPEN リストのすべての節点に着目し, 値の最小 の節点を選択する. S S A A B B C C H H F F S S A A B B C C D D E E F F H H I I G G ④⑦⑥④ ②③④② ⑦ ⑥ ③ ④ OPEN : (F(3) H(4) C(6) A(7)) CLOSED: [S B]
50
©2008 Ikuo Tahara最良優先探索 OPEN リストのすべての節点に着目し, 値の最小 の節点を選択する. S S A A B B C C H H E E F F S S A A B B C C D D E E F F H H I I G G ④⑦⑥④ ②③④② ⑦ ⑥ ④ ② OPEN : (E(2) H(4) C(6) A(7)) CLOSED: [S B F]
51
©2008 Ikuo Tahara最良優先探索 OPEN リストのすべての節点に着目し, 値の最小 の節点を選択する. S S A A B B C C H H E E F F S S A A B B C C D D E E F F H H I I G G ④⑦⑥④ ②③④② ⑦ ⑥ ④ OPEN : (H(4) C(6) A(7)) CLOSED: [S B F E]
52
©2008 Ikuo Tahara最良優先探索 OPEN リストのすべての節点に着目し, 値の最小 の節点を選択する. S S A A B B C C H H E E F F S S A A B B C C D D E E F F H H I I G G ④⑦⑥④ ②③④② ⑦ ⑥ G G I I ② OPEN : (G(0) I(2) C(6) A(7)) CLOSED: [S B F E H]
53
©2008 Ikuo Tahara最良優先探索 有限グラフの場合,必ず成功する. 無限グラフの場合,探索が終了しないことがある. ① ② ② 無限ループ ① 証明に要するコストの予測 値
54
©2008 Ikuo Tahara A ( A* )アルゴリズム 評価関数 を用いる. OPEN リストから 値が最小の節点を選び展開する. 子節点について CLOSED リスト内の節点とも比較する. x S m n のため に となり ならば について
55
©2008 Ikuo Tahara A ( A* )アルゴリズム S S S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 ④⑦⑥④ ②③④② OPEN : (S(0)) CLOSED: [ ]
56
©2008 Ikuo Tahara A ( A* )アルゴリズム S S A A B B S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 ④⑦⑥④ ②③④② 8 7 OPEN : (B(7) A(8)) CLOSED: [S(0)]
57
©2008 Ikuo Tahara A ( A* )アルゴリズム S S A A B B C C H H F F S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 ④⑦⑥④ ②③④② 15 12 10 OPEN : (A(8) H(10) F(12) C(15)) CLOSED: [S(0) B(7)] 8 7
58
©2008 Ikuo Tahara A ( A* )アルゴリズム S S A A B B C C H H F F S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 ④⑦⑥④ ②③④② OPEN : (B(6) F(10) H(10) C(15)) CLOSED: [S(0) A(8)] 7 12 10 B B 6 1510 8
59
©2008 Ikuo Tahara A ( A* )アルゴリズム S S A A B B F F S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 ④⑦⑥④ ②③④② OPEN : (H(9) F(10) C(14)) CLOSED: [S(0) A(8) B(6)] 6 10 C C H H 149 11 8
60
©2008 Ikuo Tahara A ( A* )アルゴリズム S S A A B B F F S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 ④⑦⑥④ ②③④② OPEN : (I(8) F(10) G(12) C(14)) CLOSED: [S(0) A(8) B(6) H(9)] 10 C C H H 14 G G I I 128 9 6 8
61
©2008 Ikuo Tahara A ( A* )アルゴリズム S S A A B B F F S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 ④⑦⑥④ ②③④② OPEN : (F(10) G(11) C(14)) CLOSED: [S(0) A(8) B(6) H(9) I(8)] 10 C C H H 14 G G I I 128 G G 11 9 8 6
62
©2008 Ikuo Tahara A ( A* )アルゴリズム S S A A B B F F S S A A B B C C D D E E F F H H I I G G 1 1 1 1 3 3 6 6 7 7 2 2 6 5 4 5 2 ④⑦⑥④ ②③④② OPEN : (G(11) C(14) E(16)) CLOSED: [S(0) A(8) B(6) H(9) I(8) F(10)] C C H H 14 I I G G 11 E E 169 13 最適順路! 6 8 10 8
63
©2008 Ikuo Tahara A ( A* )アルゴリズムの性質 評価関数 の効果 G S
64
©2008 Ikuo Tahara A ( A* )アルゴリズムの性質 : A* アルゴリズム 最適順路を必ず見つけることができる. ならば分岐限定法に他な らない. としたとき ならば で展開された節点の集 合
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.