©2008 Ikuo Tahara探索 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム.

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

ヒューリスティック探索 ─ 知識に基づく探索 ─ (Heuristic Search) 最良優先探索 (best-first search) 均一コスト探索 欲張り最良優先探索 A * 探索 ヒューリスティック関数について 最良優先探索の 具体的な例 認知システム論 探索( 3 ) 先を読んで知的な行動を選択するエージェント.
人工知能 ( Artificial Intelligence ) 状態空間表現と探索 State Space Representation and Search Lecture 2 田中美栄子.
三木 光範 (同志社大学工学部) 廣安 知之 (同志社大学工学部) 花田 良子 (同志社大学工学部学部 生) 水田 伯典 (同志社大学大学院) ジョブショップスケジューリング問 題への 分散遺伝的アルゴリズムの適用 Distributed Genetic Algorithm for Job-shop.
Information このスライドは「イラ ストで学ぶ人工知能概 論」を講義で活用した り,勉強会で利用した りするために提供され ているスライドです.イラ ストで学ぶ人工知能概 論.
白井 良明 立命館大学情報理工学部 知能情報学科
実時間探索 (Real-Time Search)
実時間探索 (Real-Time Search)
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
アルゴリズムとデータ構造 2013年6月18日
遺伝的アルゴリズム  新川 大貴.
    有限幾何学        第8回.
2章 データ構造.
5.チューリングマシンと計算.
5.チューリングマシンと計算.
An Algorithm for Enumerating Maximal Matchings of a Graph
第8回  問題解決.
人 工 知 能 第3回 探索法 (教科書21ページ~30ページ)
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
アルゴリズムとデータ構造 2012年6月14日
15パズルの解法について 北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ  大石 貴弘.
整数計画法を用いた ペグソリティアの解法 ver. 2.1
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
ベイジアンネットワーク概説 3.6 構造の探索アルゴリズム
アルゴリズムとデータ構造 2011年6月14日
データ構造と アルゴリズム 第十一回 理工学部 情報システム工学科 新田直也.
計算量理論輪講 岩間研究室 照山順一.
アルゴリズムとデータ構造 第7回探索のためのデータ構造(1) 2015/11/18 アルゴリズムとデータ構造 2015.
二分探索木によるサーチ.
知識なしの探索 ─ しらみつぶしの探索 ─ (Uninformed Search)
静的情報と動的情報を用いた プログラムスライス計算法
アルゴリズムとデータ構造 2012年6月28日
アルゴリズムとデータ構造 2011年6月27日
盲目的探索 ─ 知識を用いない探索 ─ (Blind Search)
知識なしの探索 ─ しらみつぶしの探索 ─ (Uninformed Search)
決定木とランダムフォレスト 和田 俊和.
最適化の方法 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第11章.
離散数学 08. グラフの探索 五島.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
アルゴリズムとデータ構造1 2006年6月16日
データ構造と アルゴリズム第4回 知能情報学メジャー 和田俊和.
アルゴリズムとデータ構造勉強会 B+tree.
人工知能概論 第2回 探索(1) 状態空間モデル,基本的な探索
第5回放送授業.
データ構造と アルゴリズム 第七回 知能情報学部 新田直也.
Cプログラミング演習 第10回 二分探索木.
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
プログラミング 4 整列アルゴリズム.
(1)序論 人工知能とは 歴史 方法論 人工知能の基礎 問題解決 探索 推論 知識.
アルゴリズムとデータ構造 2010年7月26日
サポートベクターマシンを用いた タンパク質スレッディングの ためのスコア関数の学習 情報科学科4年 81025G 蓬来祐一郎.
オブジェクト指向プログラミングと開発環境
プログラミング 4 木構造とヒープ.
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
盲目的探索 ─ 知識を用いない探索 ─ (Blind Search)
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
JAVAバイトコードにおける データ依存解析手法の提案と実装
第2回  発見的探索(1).
知識を用いる探索 ─ ヒューリスティック探索 ─ (Heuristic Search)
第9回 優先度つき待ち行列,ヒープ,二分探索木
5.チューリングマシンと計算.
アルゴリズムとデータ構造1 2008年7月24日
アルゴリズムとデータ構造 2013年7月1日
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
分枝カット法に基づいた線形符号の復号法に関する一考察
4.プッシュダウンオートマトンと 文脈自由文法の等価性
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
参考:大きい要素の処理.
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

©2008 Ikuo Tahara探索 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム

©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 状態空間

©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 探索木

©2008 Ikuo Tahara探索における基本的処理 局所的情報 → 大局的な情報 節点の選択: 展開すべき節点を選択する. 節点の展開: 子節点をすべて求める. ※循環路を作らない.

©2008 Ikuo Tahara主な探索技法 基本的な探索法 横形(幅優先)探索( Breadth-first search ) 縦形(深さ優先)探索( depth-first search ) 評価関数を利用した探索法 分岐限定法( Branch and bound search ) 山登り法( Hill-climbing search ) 最良優先探索( Best-first search ) A ( A* )アルゴリズム( Algorithm A star )

©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S S 展開すべき節点のリス ト 次に展開する節点

©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S ABC 展開すべき節点のリス ト S

©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S ABC 展開すべき節点のリス ト ABS

©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S ABC 展開すべき節点のリス ト ABC 次に展開する節点

©2008 Ikuo Tahara 横形探索と縦形探索 節点の選択の制御 S ABC DE 展開すべき節点のリス ト ABC

©2008 Ikuo Tahara 横形探索と縦形探索 節点の選択の制御 S ABC DE 展開すべき節点のリス ト ABC 横形(幅優先)探 索 (待ち行 列)

©2008 Ikuo Tahara横形探索と縦形探索 節点の選択の制御 S ABC DE 展開すべき節点のリス ト ABC 縦形(深さ優先)探 索 (スタッ ク)

©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: [ ]

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

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

©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

©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

©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

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

©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

©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

©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

©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

©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

©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

©2008 Ikuo Tahara横形探索と縦形探索の比較 探索木 各節点の分岐数: 深さ の節点を生成しようとしていると き

©2008 Ikuo Tahara (1) OPEN リストのメモリ量 横形探索 OPEN リスト内の節点数は少なくとも OPEN リストとして 保持している ( の指数オー ダー)

©2008 Ikuo Tahara (1) OPEN リストのメモリ量 縦形探索 OPEN リスト内の節点数は少なくとも OPEN リストとして 保持している ( の線形オー ダー)

©2008 Ikuo Tahara(2)計算量 探索する節点数 縦形でも横形でも最悪の場合 ( ) ( の指数オー ダー)

©2008 Ikuo Tahara縦形探索の特徴 縦形探索 メモリ量に関しては効率がよい. 再帰呼び出しによる実現が容易である. 問題点 目標状態が探索木の右上にくるような場合 は横形と比して非常に効率が悪い. 特に,目標状態が有限な深さに存在するに もかかわらず深さが無限な探索木に対して 探索が終了しない場合がある.

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

©2008 Ikuo Tahara評価関数の導入 最適順路のコスト: 節点 n の評価 a b S n G

©2008 Ikuo Tahara評価関数の導入 の推定値: :その探索時点で最適な順路の評 価値 :ヒューリスティック関数

©2008 Ikuo Tahara評価関数を利用した探索法 分岐限定法( Branch and bound search ) 山登り法( Hill-climbing search ) 最良優先探索( Best-first search ) A ( A* )アルゴリズム( A star algorithm )

©2008 Ikuo Taharaコストの導入 S S A A B B C C D D E E F F H H I I G G

分岐限定法 OPEN リストから 値が最小の節点を選び展開する. n m S m への最適順路は発見済み → 無視 無視

©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

©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

©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

©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

©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

©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

©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 E E 14 9

©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 E E 14 D D 最適順路!

©2008 Ikuo Tahara ヒューリスティック値の導入 S S A A B B C C D D E E F F H H I I G G

©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 ④⑦⑥④ ②③④② ⑦④ ⑥ ③ ④ ②④ ⑦ ④ ③ ・ ・循環路に陥る ・局所解に陥る

©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: [ ]

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

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

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

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

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

©2008 Ikuo Tahara最良優先探索 有限グラフの場合,必ず成功する. 無限グラフの場合,探索が終了しないことがある. ① ② ② 無限ループ ① 証明に要するコストの予測 値

©2008 Ikuo Tahara A ( A* )アルゴリズム 評価関数 を用いる. OPEN リストから 値が最小の節点を選び展開する. 子節点について CLOSED リスト内の節点とも比較する. x S m n のため に となり ならば について

©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 ④⑦⑥④ ②③④② OPEN : (S(0)) CLOSED: [ ]

©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 ④⑦⑥④ ②③④② 8 7 OPEN : (B(7) A(8)) CLOSED: [S(0)]

©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 ④⑦⑥④ ②③④② OPEN : (A(8) H(10) F(12) C(15)) CLOSED: [S(0) B(7)] 8 7

©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 ④⑦⑥④ ②③④② OPEN : (B(6) F(10) H(10) C(15)) CLOSED: [S(0) A(8)] B B

©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 ④⑦⑥④ ②③④② OPEN : (H(9) F(10) C(14)) CLOSED: [S(0) A(8) B(6)] 6 10 C C H H

©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 ④⑦⑥④ ②③④② 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

©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 ④⑦⑥④ ②③④② 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

©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 ④⑦⑥④ ②③④② 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 最適順路!

©2008 Ikuo Tahara A ( A* )アルゴリズムの性質 評価関数 の効果 G S

©2008 Ikuo Tahara A ( A* )アルゴリズムの性質 : A* アルゴリズム 最適順路を必ず見つけることができる. ならば分岐限定法に他な らない. としたとき ならば で展開された節点の集 合