Upload
darius-langley
View
64
Download
0
Embed Size (px)
DESCRIPTION
人工 知能 知識を用いる 探索法 Heuristic Search). L ecture 5 田中 美栄子. ヒューリスティック探索. ヒューリスティック と いう概念を知る. Heuristic :発見に役立つモノ(定義曖昧). 1957 Newell, Shaw, Simon の 定義 「 ある与えられた問題を解くかも知れないが、その可能性が保証されていないプロセス 」( つまり保証付きでない 方策) 1961 : 問題解決の動作効率を改良するヒント Herbert A. Simon “ Science of Artificial ” - PowerPoint PPT Presentation
Citation preview
人工知能知識を用いる探索法Heuristic Search)
Lecture 5
田中 美栄子
ヒューリスティック探索
ヒューリスティック
という概念を知る
Heuristic :発見に役立つモノ(定義曖昧)1957 Newell, Shaw, Simon の
定義「ある与えられた問題を解くかも知れないが、
その可能性が保証されていないプロセス」(つまり保証付きでない方策)
1961 : 問題解決の動作効率を改良するヒント
Herbert A. Simon “Science of Artificial”
(人工物の科学→ 邦訳は 「システムの科学」)
Heuristic :発見に役立つ知恵(定義曖昧)1963 Feigenbaum と Feldman による定義:
「 rule of thum のことである」
親指で1インチを測る程度の大雑把で、巨大な探索空間を大幅に制限する為の戦略、仕掛け、単純化、等の方法
解を保証しないが、多くの場合に良い解を提供する
後になってそれが,最適解だった,と判ることもある
これまでは知識を用いない探索(blind 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 にもどる }
Heuristic の例 (1)
各点にゴールまでの推定コストを
仮定する
ヒューリスティック探索 (1)最良優先探索: best-first
search各節点からゴールまでのコスト ( 距離 ) が予想できるとき
全コストは
の正確な値が分からない時予測値で代用
ヒューリスティック探索 (1)最良優先探索: best-first
searchステップ 6 で予測値の昇順に並べる
次の例参照:出口までの x 距離と y 距離の和とする:
→ 駄目かもしれない
問題点
ヒューリスティック関数の推定が間違っていれば失敗
例:迷路問題ヒューリスティック関数 h’(n)
= n→ G 間の距離の推定値 h’(n) =| n x - G x| + | ny -
Gy|
使えそうな知識
Heuristic: ヒントを多用して解を発見
これまでは知識を用いない探索( blind search )であった、、対象とする事柄に対し多少とも知識を持っている場
合、ヒューリスティック・サーチが可能 ( Heuristic search :発見法的な探索)
こういうときはこうするのがよい、という選択ができる、但し 100% 信頼は出来ない(うまく行くことが多い、または過去にうまく行ったことがある)
h = 点 n から目標地 G までの推測コストS(1,1) から G(4,4)へ
h=|n の x 座標 -G の x 座標 |+|n の y 座標 -Gの y 座標 |
S(1,1) から G(4,4)へ
A*-アルゴリズム
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 にもどる }
A*- アルゴリズムと A- アルゴリズム推定コスト 𝒇 (𝒏𝒊 )=𝒈′ (𝒏𝒊 )+𝒉 ′ (𝒏𝒊)
A* の条件 推定値
この条件が成立しなければ A-search となる。A-search ならば解は保証されない
はの推定値だが出発点からまでの、解っているコストの内で最小のもの
A*- アルゴリズム 探索例
S : 初期節点G : 目標節点
A*- アルゴリズム 探索例OPEN リスト
1.S(6)
A*- アルゴリズム 探索例OPEN リスト
1.S(6)2.a(6)
3+3
A*- アルゴリズム 探索例OPEN リスト
1.S(6)2.a(6)3.b(6) , c(8)
3+1+2 3+1+4
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
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
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