状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索...

64

Click here to load reader

Upload: aleta

Post on 21-Jan-2016

236 views

Category:

Documents


13 download

DESCRIPTION

探索. 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム. S. #1. #2. #3. A. B. #6. #5. #4. C. #8. #7. G. D. 状態空間の探索. 状態空間. 問題. S. A. B. C. B. G. A. C. D. G. D. G. G. 状態空間の探索. 探索木. 状態空間. 初期状態. S. #1. #2. #3. A. B. #6. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

探索探索 状態空間と探索木 基本的な探索アルゴリズム

横形探索と縦形探索 評価関数を利用した探索アルゴリズム

分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム

Page 2: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

状態空間の探索状態空間の探索 問題

規則 前提条件 追加リスト

#1 S A

#2 S B

#3 A B

#4 A G

#5 B C

#6 C A

#7 C D

#8 C G

A B

C

G

S

D

#1 #2

#3

#4#6

#8

#5

#7

状態空間

Page 3: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

状態空間の探索状態空間の探索 状態空間

A B

C

G

S

D

#1 #2

#3

#4#6

#8

#5

#7

初期状態

目標状態

S

A B

C

D G

B G C

A D G

G

探索木探索木

Page 4: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

探索における基本的処理探索における基本的処理 局所的情報→大局的な情報

節点の選択: 展開すべき節点を選択する.

節点の展開: 子節点をすべて求める.          ※循環路を作らない.

Page 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 )

Page 6: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索と縦形探索横形探索と縦形探索 節点の選択の制御

S

S

展開すべき節点のリスト

次に展開する節点

Page 7: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索と縦形探索横形探索と縦形探索 節点の選択の制御

S

A B C

展開すべき節点のリスト

S

Page 8: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索と縦形探索横形探索と縦形探索 節点の選択の制御

S

A B C

展開すべき節点のリス展開すべき節点のリストト

A B S

Page 9: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索と縦形探索横形探索と縦形探索 節点の選択の制御

S

A B C

展開すべき節点のリスト

A B C

次に展開する節点

Page 10: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索と縦形探索 節点の選択の制御

S

A B C

D E

展開すべき節点のリスト

A B C

Page 11: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索と縦形探索 節点の選択の制御

S

A B C

D E

展開すべき節点のリスト

A B C

横形(幅優先)探索

(待ち行列)

Page 12: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索と縦形探索横形探索と縦形探索 節点の選択の制御

S

A B C

D E

展開すべき節点のリスト

A B C

縦形(深さ優先)探索

(スタック)

Page 13: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索横形探索

SS

AA BB CC DD

EE FF HH II

GG

SS

OPEN : (S)CLOSED: [ ]

Page 14: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索横形探索

SS

AA BB CC DD

EE FF HH II

GG

SS

AA BB

OPEN : (A B)CLOSED: [S]

Page 15: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索横形探索

SS

AA BB CC DD

EE FF HH II

GG

SS

AA BB

FF

OPEN : (B F)CLOSED: [S A]

Page 16: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索横形探索

SS

AA BB CC DD

EE FF HH II

GG

SS

AA BB

CCFF

OPEN : (F C H)CLOSED: [S A B]

HH

Page 17: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索横形探索

SS

AA BB CC DD

EE FF HH II

GG

SS

AA BB

CC

EE

FF

OPEN : (C H E)CLOSED: [S A B F]

HH

Page 18: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索横形探索

SS

AA BB CC DD

EE FF HH II

GG

SS

AA BB

CC

DDEE

FF

II

OPEN : (H E D I)CLOSED: [S A B F C]

HH

Page 19: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索横形探索

SS

AA BB CC DD

EE FF HH II

GG

SS

AA BB

CC

DDEE

FF HH

II GG

OPEN : (E D I G)CLOSED: [S A B F C H]

Page 20: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

縦形探索縦形探索

SS

AA BB CC DD

EE FF HH II

GG

OPEN : (S)CLOSED: [ ]

SS

Page 21: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

縦形探索縦形探索

SS

AA BB CC DD

EE FF HH II

GG

OPEN : (A B)CLOSED: [S]

SS

AA BB

Page 22: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

縦形探索縦形探索

SS

AA BB CC DD

EE FF HH II

GG

OPEN : (F B)CLOSED: [S A]

SS

AA BB

FF

Page 23: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

縦形探索縦形探索

SS

AA BB CC DD

EE FF HH II

GG

OPEN : (E H B)CLOSED: [S A F]

SS

AA BB

EE

FF

HH

Page 24: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

縦形探索縦形探索

SS

AA BB CC DD

EE FF HH II

GG

OPEN : (H B)CLOSED: [S A F E]

SS

AA BB

EE

FF

HH

Page 25: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

縦形探索縦形探索

SS

AA BB CC DD

EE FF HH II

GG

OPEN : (G I B)CLOSED: [S A F E H]

SS

AA BB

EE

FF

HH

IIGG

Page 26: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

横形探索と縦形探索の比較横形探索と縦形探索の比較 探索木

各節点の分岐数:  深さ  の節点を生成しようとしていると

き 

bd

3 b の場合 0d

3d

1d

2d

Page 27: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

(1)(1) OPENOPEN リストのメモリリストのメモリ量量 横形探索

OPEN リスト内の節点数は少なくとも

OPEN リストとして保持している

1db

( )dO b (  の指数オー(  の指数オーダー)ダー)

d

Page 28: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

(1)(1) OPENOPEN リストのメモリリストのメモリ量量 縦形探索

OPEN リスト内の節点数は少なくとも   

OPEN リストとして保持している

( 1)( 2)

( 1)( 1) 1

b d b

b d

( )O db (  の線形オー(  の線形オーダー)ダー)

d

Page 29: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

(2)計算量(2)計算量 探索する節点数

縦形でも横形でも最悪の場合  

1

dn

n

b

( )dO b (  (  の指数オーダー))

d

Page 30: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

縦形探索の特徴縦形探索の特徴 縦形探索

メモリ量に関しては効率がよい. 再帰呼び出しによる実現が容易である.

問題点 目標状態が探索木の右上にくるような場合

は横形と比して非常に効率が悪い. 特に,目標状態が有限な深さに存在するに

もかかわらず深さが無限な探索木に対して探索が終了しない場合がある.

Page 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.

Page 32: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

評価関数の導入評価関数の導入 最適順路のコスト:

節点 n の評価

( , )c a b

( , )c a b

( ) ( , )g n c S n ( ) ( , )h n c n G

( ) ( ) ( )f n g n h n

a b

S n G

Page 33: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

評価関数の導入評価関数の導入    の推定値:

    :その探索時点で最適な順路の評価値

    :ヒューリスティック関数

( )f n ˆ ˆˆ( ) ( ) ( )f n g n h n

ˆ ( )g n

ˆ ( ) ( )g n g n

ˆ( )h n

Page 34: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

評価関数を利用した探索法評価関数を利用した探索法 分岐限定法( Branch and bound

search )

山登り法( Hill-climbing search )

最良優先探索( Best-first search ) A ( A* )アルゴリズム( A star

algorithm )

ˆ ˆ( ) ( )f n g n

ˆ ˆ( ) ( )f n h n

ˆ ˆˆ( ) ( ) ( )f n g n h n

Page 35: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

コストの導入コストの導入

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

3

5

5

2246

6

6

7

7 2

Page 36: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法 OPEN リストから  値が最小の節点を選び展開す

る.

nm

S

OPEN, CLOSEDmˆ ˆ( ) : ( / )g m g m nOPENm

ˆ ˆ ˆ ˆ( / ) ( ) ( ) : ( / )g m n g m g m g m n ˆ ˆ( / ) ( )g m n g m

CLOSEDmm への最適順路は発見済み → 無視

無視

ˆ ˆ( / ) ( ) ( , )g m n g n c n m

ˆ ( )g m

g

Page 37: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法

  SSSS

OPEN : (S(0))CLOSED: [ ]

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

0

Page 38: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法

 SS

AA BB CC DD

EE FF HH II

GG

SS

OPEN : (A(1) B(3))CLOSED: [S]

AA BB1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

1 3

Page 39: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法

 SS

AA BB CC DD

EE FF HH II

GG

SS

OPEN : (B(2) F(7))CLOSED: [S A]

AA BB

BB FF

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

3

2 7

Page 40: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法

 SS

AA BB CC DD

EE FF HH II

GG

SS

OPEN : (H(5) F(7) C(8))CLOSED: [S A B]

AA

BB FF

CC HH

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

7

58

8

Page 41: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法

 SS

AA BB CC DD

EE FF HH II

GG

SS

OPEN : (I(6) F(7) C(8) G(12))CLOSED: [S A B H]

AA

BB FF

CC HH

GG II

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

7

8

12 6

Page 42: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法

 SS

AA BB CC DD

EE FF HH II

GG

SS

OPEN : (F(7) C(8) G(11))CLOSED: [S A B H I]

AA

BB FF

CC HH

GG II

GG

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

7

8

12

11

Page 43: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法

 SS

AA BB CC DD

EE FF HH II

GG

SS

OPEN : (C(8) G(11) E(14))CLOSED: [S A B H I F]

AA

BB FF

CC HH

II

GG

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

8

11

EE 149

Page 44: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

分岐限定法分岐限定法

 SS

AA BB CC DD

EE FF HH II

GG

SS

OPEN : (G(11) D(13) E(14))CLOSED: [S A B H I F C]

AA

BB FF

CC HH

II

GG

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

11

EE 14

DD13

10

12

最適順路!

Page 45: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

ヒューリスティック値の導入

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

3

5

5

2246

6

6

7

7 2

7 4 6 4

2 3 4 2

Page 46: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

山登り法山登り法 展開して得られた子節点にのみに着目し,  値の

最小の節点を選択する.SS

AA BB

CC HH

EE HH

AA

BB FF

FF

SS

AA BB CC DD

EE FF HH II

GG

④⑦ ⑥ ④

② ③ ④ ②

⑦ ④

⑥ ③ ④

② ④

④ ③・・循環路に陥る・局所解に陥る

h

Page 47: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

最良優先探索最良優先探索 OPEN リストのすべての節点に着目し, 値の最

小の節点を選択する.

SSSS

AA BB CC DD

EE FF HH II

GG

④⑦ ⑥ ④

② ③ ④ ②

OPEN : (S)CLOSED: [ ]

h

Page 48: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

最良優先探索最良優先探索 OPEN リストのすべての節点に着目し, 値の最

小の節点を選択する.

SS

AA BB

SS

AA BB CC DD

EE FF HH II

GG

④⑦ ⑥ ④

② ③ ④ ②

⑦ ④

OPEN : (B(4) A(7))CLOSED: [S]

h

Page 49: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

最良優先探索最良優先探索 OPEN リストのすべての節点に着目し, 値の最

小の節点を選択する.

SS

AA BB

CC HHFF

SS

AA BB CC DD

EE FF HH II

GG

④⑦ ⑥ ④

② ③ ④ ②

⑥ ③ ④

OPEN : (F(3) H(4) C(6) A(7))CLOSED: [S B]

h

Page 50: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

最良優先探索最良優先探索 OPEN リストのすべての節点に着目し, 値の最

小の節点を選択する.

SS

AA BB

CC HH

EE

FF

SS

AA BB CC DD

EE FF HH II

GG

④⑦ ⑥ ④

② ③ ④ ②

⑥ ④

 OPEN : (E(2) H(4) C(6) A(7))CLOSED: [S B F]

h

Page 51: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

最良優先探索最良優先探索 OPEN リストのすべての節点に着目し, 値の最

小の節点を選択する.

SS

AA BB

CC HH

EE

FF

SS

AA BB CC DD

EE FF HH II

GG

④⑦ ⑥ ④

② ③ ④ ②

⑥ ④

 OPEN : (H(4) C(6) A(7))CLOSED: [S B F E]

h

Page 52: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

最良優先探索最良優先探索 OPEN リストのすべての節点に着目し, 値の最

小の節点を選択する.

SS

AA BB

CC HH

EE

FF

SS

AA BB CC DD

EE FF HH II

GG

④⑦ ⑥ ④

② ③ ④ ②

GG  II ②OPEN : (G(0) I(2) C(6) A(7))CLOSED: [S B F E H]

h

Page 53: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

最良優先探索最良優先探索 有限グラフの場合,必ず成功する. 無限グラフの場合,探索が終了しないことがある.

( ) ( 1)

( ) ( )

( ) ( )

(5).

F x F x

F x G x

G x H x

H

(5)F

(4)F (5)G

(4)G (5)H

無限ループ

(5) ?F

(3)F①証明に要するコストの予測値

( ) :

( ), ( ) :

①②

F x

G x H x

Page 54: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム 評価関数            を用いる. OPEN リストから  値が最小の節点を選び展開す

る. 子節点について CLOSED リスト内の節点とも比較

する.

ˆ ˆˆ( ) ( ) ( )f n g n h n f

xS

m

n

ˆ( ) ( )h n h n のために

ˆ ˆ( ) ( )f n f m となり CLOSEDm

ˆ ˆˆ( / ) ( ) ( , ) ( )f m n g n c n m h m

ˆ ˆ( / ) ( )f m n f m

CLOSEDm

ならば

について

ˆ ˆ( ) : ( / ), OPENf m f m n m

Page 55: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム  SS

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

④⑦ ⑥ ④

② ③ ④ ②

OPEN : (S(0))CLOSED: [ ]

Page 56: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム  SS

AA BB

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

④⑦ ⑥ ④

② ③ ④ ②

8 7

OPEN : (B(7) A(8))CLOSED: [S(0)]

Page 57: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム  SS

AA BB

CC HHFF

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

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

Page 58: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム  SS

AA BB

CC HHFF

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

④⑦ ⑥ ④

② ③ ④ ②

OPEN : (B(6) F(10) H(10) C(15))CLOSED: [S(0) A(8)]

7

12

10

BB6 15 10

8

Page 59: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム  SS

AA

BB FF

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

2

2

6 5

4

5

2

④⑦ ⑥ ④

② ③ ④ ②

OPEN : (H(9) F(10) C(14))CLOSED: [S(0) A(8) B(6)]

6 10

CC HH14 9

11

8

Page 60: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム  SS

AA

BB FF

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

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

CC HH14

GG II12 8

9

6

8

Page 61: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム  SS

AA

BB FF

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

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

CC HH14

GG II12 8

GG11

9

8

6

Page 62: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズム)アルゴリズム  SS

AA

BB FF

SS

AA BB CC DD

EE FF HH II

GG

1

1

1

1

3

36 6

77

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)]

CC HH14

II

GG11

EE 169

13

最適順路!

6

8

10

8

Page 63: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズムの性)アルゴリズムの性質質 評価関数          の効果ˆ ˆˆ( ) ( ) ( )f n g n h n

GS

ˆ ( )g n ˆ( )h nˆ ( )f n

Page 64: 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索

©2008 Ikuo Tahara

AA (( A*A* )アルゴリズムの性)アルゴリズムの性質質         : A* アルゴリズム 

最適順路を必ず見つけることができる.         ならば分岐限定法に他な

らない.

ˆ: ( ) ( )n h n h n

ˆ: ( ) 0n h n

*1 1 1

*2 2 2

ˆ ˆˆA : ( ) ( ) ( )

ˆ ˆˆA : ( ) ( ) ( )

f n g n h n

f n g n h n

としたとき

1 2ˆ ˆ: ( ) ( ) ( )n h n h n h n ならば

*1A で展開された節点の集合

*2A で展開された節点の集合