人工 知能 知識を用いる 探索法 heuristic search)

24
人人人人 人人人人人人人人人 Heuristic Search) Lecture 5 田田 田田田

Upload: darius-langley

Post on 31-Dec-2015

64 views

Category:

Documents


0 download

DESCRIPTION

人工 知能 知識を用いる 探索法 Heuristic Search). L ecture 5 田中 美栄子. ヒューリスティック探索. ヒューリスティック と いう概念を知る. Heuristic :発見に役立つモノ(定義曖昧). 1957 Newell, Shaw, Simon の 定義 「 ある与えられた問題を解くかも知れないが、その可能性が保証されていないプロセス 」( つまり保証付きでない 方策) 1961 : 問題解決の動作効率を改良するヒント Herbert A. Simon “ Science of Artificial ” - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 人工 知能 知識を用いる 探索法 Heuristic Search)

人工知能知識を用いる探索法Heuristic  Search)

Lecture 5

田中 美栄子

Page 2: 人工 知能 知識を用いる 探索法 Heuristic Search)

ヒューリスティック探索

ヒューリスティック

という概念を知る

Page 3: 人工 知能 知識を用いる 探索法 Heuristic Search)

Heuristic :発見に役立つモノ(定義曖昧)1957 Newell, Shaw, Simon の

定義「ある与えられた問題を解くかも知れないが、

その可能性が保証されていないプロセス」(つまり保証付きでない方策)

1961 : 問題解決の動作効率を改良するヒント

Herbert   A. Simon “Science of Artificial”

(人工物の科学→ 邦訳は 「システムの科学」)

Page 4: 人工 知能 知識を用いる 探索法 Heuristic Search)

Heuristic :発見に役立つ知恵(定義曖昧)1963   Feigenbaum と Feldman による定義:

 「 rule   of thum  のことである」

   親指で1インチを測る程度の大雑把で、巨大な探索空間を大幅に制限する為の戦略、仕掛け、単純化、等の方法

解を保証しないが、多くの場合に良い解を提供する

後になってそれが,最適解だった,と判ることもある

Page 5: 人工 知能 知識を用いる 探索法 Heuristic Search)

これまでは知識を用いない探索(blind search) であった・・・

対象とする事柄に対し多少とも知識を持っている場合

ヒューリスティック・サーチが可能

※ (ヒューリスティック・サーチ:発見法的な探索)

Page 6: 人工 知能 知識を用いる 探索法 Heuristic Search)

探索の基本アルゴリズムSearch algorithm{1. 初期節点を open リストに入れる2. LOOP:if(open==empty)break; ( 探索

失敗 )3. n=first(open);4. if(goal(n))print(n);break; ( 探索終了 )5. remove(n,open);6. 次に調べる節点を open に入れる ( 順序 )7. ステップ 2 にもどる }

Page 7: 人工 知能 知識を用いる 探索法 Heuristic Search)

Heuristic の例 (1)

各点にゴールまでの推定コストを

仮定する

Page 8: 人工 知能 知識を用いる 探索法 Heuristic Search)

ヒューリスティック探索 (1)最良優先探索: best-first

search各節点からゴールまでのコスト ( 距離 ) が予想できるとき

全コストは

の正確な値が分からない時予測値で代用

Page 9: 人工 知能 知識を用いる 探索法 Heuristic Search)

ヒューリスティック探索 (1)最良優先探索: best-first

searchステップ 6 で予測値の昇順に並べる

次の例参照:出口までの         x 距離と y 距離の和とする:

→ 駄目かもしれない

Page 10: 人工 知能 知識を用いる 探索法 Heuristic Search)

問題点

ヒューリスティック関数の推定が間違っていれば失敗

Page 11: 人工 知能 知識を用いる 探索法 Heuristic Search)

例:迷路問題ヒューリスティック関数 h’(n)

= n→ G 間の距離の推定値  h’(n) =| n x -  G x| + | ny  - 

Gy|

使えそうな知識

Heuristic: ヒントを多用して解を発見

Page 12: 人工 知能 知識を用いる 探索法 Heuristic Search)

これまでは知識を用いない探索( blind search )であった、、対象とする事柄に対し多少とも知識を持っている場

合、ヒューリスティック・サーチが可能  ( Heuristic search :発見法的な探索)

こういうときはこうするのがよい、という選択ができる、但し 100% 信頼は出来ない(うまく行くことが多い、または過去にうまく行ったことがある)

Page 13: 人工 知能 知識を用いる 探索法 Heuristic Search)

h = 点 n から目標地 G までの推測コストS(1,1) から G(4,4)へ

Page 14: 人工 知能 知識を用いる 探索法 Heuristic Search)

h=|n の x 座標 -G の x 座標 |+|n の y 座標 -Gの y 座標 |

S(1,1) から G(4,4)へ

Page 15: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*-アルゴリズム

Page 16: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズムA*-search algorithm{1. 初期節点を open リストに入れる2. LOOP:if(open==empty)break; ( 探索失敗 )3. n=first(open);4. if(goal(n))print(n);break; ( 探索終了 )5. remove(n,open);6. 次に調べる節点を open に入れる (n を展開し、

全ての子節点を open に入れ、推定コストの昇順に並べる ) 。さらにからへポインタを付ける。

7. ステップ 2 にもどる }

Page 17: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズムと A- アルゴリズム推定コスト 𝒇 (𝒏𝒊 )=𝒈′ (𝒏𝒊 )+𝒉 ′ (𝒏𝒊)

A* の条件 推定値

この条件が成立しなければ A-search となる。A-search ならば解は保証されない

はの推定値だが出発点からまでの、解っているコストの内で最小のもの

Page 18: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズム 探索例

S : 初期節点G : 目標節点

Page 19: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズム 探索例OPEN リスト

1.S(6)

Page 20: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズム 探索例OPEN リスト

1.S(6)2.a(6)

3+3

Page 21: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズム 探索例OPEN リスト

1.S(6)2.a(6)3.b(6) , c(8)

3+1+2 3+1+4

Page 22: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズム 探索例OPEN リスト

1.S(6)2.a(6)3.b(6) , c(8)4.e(6) , d(8) , c(8)

3+1+1+1 3+1+1+3

Page 23: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズム 探索例OPEN リスト

1.S(6)2.a(6)3.b(6) , c(8)4.e(6) , d(8) , c(8)5.G(6) , d(8) , c(8)

3+1+1+1

Page 24: 人工 知能 知識を用いる 探索法 Heuristic Search)

A*- アルゴリズム 探索例OPEN リスト

1.S(6)2.a(6)3.b(6) , c(8)4.e(6) , d(8) , c(8)5.G(6) , d(8) , c(8)

探索順番S→a→b→e→G