1 / 24

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 人工知能知識を用いる探索法HeuristicSearch) Lecture 5 田中 美栄子

  2. ヒューリスティック探索 ヒューリスティック という概念を知る

  3. Heuristic:発見に役立つモノ(定義曖昧) • 1957 Newell, Shaw, Simonの定義 「ある与えられた問題を解くかも知れないが、その可能性が保証されていないプロセス」(つまり保証付きでない方策) • 1961: 問題解決の動作効率を改良するヒント HerbertA. Simon “Science of Artificial” (人工物の科学→ 邦訳は 「システムの科学」)

  4. Heuristic:発見に役立つ知恵(定義曖昧) 1963FeigenbaumとFeldmanによる定義:  「ruleof thum のことである」    親指で1インチを測る程度の大雑把で、巨大な探索空間を大幅に制限する為の戦略、仕掛け、単純化、等の方法 解を保証しないが、多くの場合に良い解を提供する 後になってそれが,最適解だった,と判ることもある

  5. これまでは知識を用いない探索(blind search)であった・・・ 対象とする事柄に対し 多少とも知識を持っている場合 ヒューリスティック・サーチが可能 ※(ヒューリスティック・サーチ:発見法的な探索)

  6. 探索の基本アルゴリズム Search algorithm{ • 初期節点をopenリストに入れる • LOOP:if(open==empty)break; (探索失敗) • n=first(open); • if(goal(n))print(n);break; (探索終了) • remove(n,open); • 次に調べる節点をopenに入れる(順序) • ステップ2にもどる}

  7. Heuristicの例(1) 各点に ゴールまでの推定コストを 仮定する

  8. ヒューリスティック探索(1) 最良優先探索:best-first search 各節点からゴールまでのコスト(距離)が 予想できるとき 全コストは の正確な値が分からない時 予測値で代用

  9. ヒューリスティック探索(1) 最良優先探索:best-first search ステップ6で予測値の昇順に並べる 次の例参照:出口までの x距離とy距離の和とする: →駄目かもしれない

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

  11. Heuristic:ヒントを多用して解を発見 例:迷路問題 ヒューリスティック関数 h’(n) = n→G間の距離の推定値 h’(n)=|nx-Gx|+|ny - Gy| 使えそうな知識

  12. これまでは知識を用いない探索(blind search)であった、、 • 対象とする事柄に対し多少とも知識を持っている場合、ヒューリスティック・サーチが可能   (Heuristic search:発見法的な探索) • こういうときはこうするのがよい、という選択ができる、但し100%信頼は出来ない(うまく行くことが多い、または過去にうまく行ったことがある)

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

  14. h=|nのx座標-Gのx座標|+|nのy座標-Gのy座標| S(1,1)からG(4,4)へ

  15. A*-アルゴリズム

  16. A*-アルゴリズム A*-search algorithm{ • 初期節点をopenリストに入れる • LOOP:if(open==empty)break; (探索失敗) • n=first(open); • if(goal(n))print(n);break; (探索終了) • remove(n,open); • 次に調べる節点をopenに入れる(nを展開し、全ての子節点をopenに入れ、推定コストの昇順に並べる)。さらにからへポインタを付ける。 • ステップ2にもどる}

  17. A*-アルゴリズムとA-アルゴリズム 推定コスト 推定値 A*の条件 この条件が成立しなければA-searchとなる。 A-searchならば解は保証されない はの推定値だが 出発点からまでの、解っているコストの内で最小のもの

  18. A*-アルゴリズム 探索例 S : 初期節点 G : 目標節点

  19. A*-アルゴリズム 探索例 OPENリスト S(6)

  20. A*-アルゴリズム 探索例 OPENリスト S(6) a(6) 3+3

  21. A*-アルゴリズム 探索例 OPENリスト S(6) a(6) b(6) , c(8) 3+1+2 3+1+4

  22. A*-アルゴリズム 探索例 OPENリスト S(6) a(6) b(6) , c(8) e(6) , d(8) , c(8) 3+1+1+1 3+1+1+3

  23. A*-アルゴリズム 探索例 OPENリスト S(6) a(6) b(6) , c(8) e(6) , d(8) , c(8) G(6) , d(8) , c(8) 3+1+1+1

  24. A*-アルゴリズム 探索例 OPENリスト S(6) a(6) b(6) , c(8) e(6) , d(8) , c(8) G(6) , d(8) , c(8) 探索順番 S→a→b→e→G

More Related