制約充足と反復改良 (Constraint Satisfaction and Iterative Improvement)

Slides:



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

情報基盤アルゴリズムとして のメタヒューリスティクスの 研究 茨木俊秀、巳波弘佳、藤原洋志、 千葉英史、関口良行(関西学院大 学)、 藤重悟(京都大学)、 柳浦睦憲(名古屋大学)、 野々部宏司(法政大学)、 梅谷俊治(電気通信大学)
Determining Optical Flow. はじめに オプティカルフローとは画像内の明る さのパターンの動きの見かけの速さの 分布 オプティカルフローは物体の動きの よって変化するため、オプティカルフ ローより速度に関する情報を得ること ができる.
木探索によるCSPの解法 (Tree search algorithms for solving CSPs) 認知システム論 制約充足( 2 ) 制約をみたす組合せを探すエージェント バックトラック法 フォワードチェック 動的変数順序.
到着時刻と燃料消費量を同時に最適化する船速・航路計画
実時間探索 (Real-Time Search)
実時間探索 (Real-Time Search)
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
最適化アルゴリズムの動向 ーメタヒューリスティックスを中心としてー (基礎編)
緩和+分解+調整による 分散協調問題解決 神戸大学大学院海事科学研究科 平山 勝敏.
極小集合被覆を列挙する 実用的高速アルゴリズム
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
タスクスケジューリング    .
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
第11回 整列 ~ シェルソート,クイックソート ~
整数計画法を用いた スリザーリンクの解法 杉村 由花 (東京大学)
An Algorithm for Enumerating Maximal Matchings of a Graph
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法)
Approximation of k-Set Cover by Semi-Local Optimization
土木計画学 第11回(12月21日) 土木計画と説明責任 計画における代替案の作成1 担当:榊原 弘之.
整数計画法を用いた ペグソリティアの解法 ver. 2.1
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
岩井 儀雄 コンピュータ基礎演習  ー探索、整列ー 岩井 儀雄
制約条件の確率的選択に基づく 資源追加削減法の改良 三木 光範(同志社大工) 廣安 知之(同志社大工) ○小林 繁(同志社大院)
算法数理工学 第12回 定兼 邦彦.
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
計算量理論輪講 岩間研究室 照山順一.
二分探索木によるサーチ.
局所探索によるCSPの解法 (Local search algorithms for solving CSPs)
局所整合と局所探索 (Local Consistency and Local Search)
局所探索によるCSPの解法 (Local search algorithms for solving CSPs)
制約充足問題 (Constraint Satisfaction Problems)
ベイジアンネット混合モデルによる 強化学習エージェントの方策改善
計算の理論 II NP完全 月曜5校時 大月美佳 平成17年1月17日 佐賀大学理工学部知能情報システム学科.
決定木とランダムフォレスト 和田 俊和.
第9章 混合モデルとEM 修士2年 北川直樹.
制約処理に関する ミニサーベイ 栗 原 正 仁.
制約充足問題(つづき) (Constraint Satisfaction Problems)
第7章 疎な解を持つカーネルマシン 修士2年 山川佳洋.
Introduction to Soft Computing (第11回目)
木探索によるCSPの解法 (Tree search algorithms for solving CSPs)
制約充足問題 (Constraint Satisfaction Problems)
25. Randomized Algorithms
論文紹介 - Solving NP Complete Problems Using P Systems with Active Membranes 2004/10/20(Wed)
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
ファジィ制約充足問題への 連続領域の導入 Introducing continuous domains to
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
5 Recursions 朴大地.
適応的近傍を持つ シミュレーテッドアニーリングの性能
再帰的手続き.
SUNFLOWER B4 岡田翔太.
3次元Nクイーン問題の 解の存在の検証 07-1-037-0106 前波 大貴 情報論理工学研究室 宜しくお願いします。
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年6月25日 3.1 関数近似モデル
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
第2回  発見的探索(1).
サポートベクターマシン Support Vector Machine SVM
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
第16章 動的計画法 アルゴリズムイントロダクション.
パターン認識 ークラスタリングとEMアルゴリズムー 担当:和田 俊和 部屋 A513
パターン認識 ークラスタリングとEMアルゴリズムー 担当:和田 俊和 部屋 A513
情報工学概論 (アルゴリズムとデータ構造)
分枝カット法に基づいた線形符号の復号法に関する一考察
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年8月1日 3.2 競合学習
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

制約充足と反復改良 (Constraint Satisfaction and Iterative Improvement) 人工知能の探索アルゴリズム(5) 先を読んで知的な行動を選択するエージェント 制約充足と反復改良 (Constraint Satisfaction and Iterative Improvement)  制約充足  後戻り法  前向きチェック  制約伝播  反復改良  山登り法  焼きなまし法  制約違反最小化 配布資料 pp.81-83, 110-113 別紙資料 pp.41-51 http://aibm4.main.eng.hokudai.ac.jp

制約充足(Constraint Satisfaction)

制約充足問題 (CSP: Constraint Satisfaction Problem) 状態:変数 x1,x2,…,xnの値で定義 ゴール検査:制約をすべて満たすかどうか 探索問題 制約充足問題

隣り合う地域の色が異なるように3色で塗り分けよ 制約充足の例:地図の塗り分け  隣り合う地域の色が異なるように3色で塗り分けよ  各地域が変数 変数の取りうる値が 領域 ◆ ◆ ◆ 隣り合う変数の値が異なるというのが 制約 すべての制約を満たす色の配置が解

Cxy ={(a,b),(c,d),…} 許される値の組 制約充足問題 x1 x2 … xn 問題 変数(variable)の集合  各変数の領域(domain) 変数間の制約(constraint)の集合 D1 D2 … Dn Cxy ={(a,b),(c,d),…} 許される値の組 解 すべての制約を満たすような変数への値の割当て a1 a2 … an

制約充足問題の難易度 難易度=NP完全 (NP-complete) ヒューリスティックで 平均的には実用的な時間で解く 解が与えられれば,それが確かに解であるかどうかは線形オーダーの時間で容易に判定できる. しかし,解を自力で見つけるのは,最悪のケースで指数オーダーとなり,非常に難しい. ヒューリスティックで 平均的には実用的な時間で解く

制約充足問題のその他の例 おもちゃの問題(toy problem) 現実世界の問題(real-world problem) 8クイーン問題 覆面算 クロスワードパズル 現実世界の問題(real-world problem) 線画解釈 VLSIレイアウト スケジューリング

8クイーン問題 x1=6 x2=8 x3=1 x4=4 x5=2 x6=5 x7=7 x8=3 制約 Q アタック! x6=5 x7=7 x8=3

覆面算 解 FORTY + TEN + TEN ------------ SIXTY 29786 + 850 + 850 ------------ 31486

クロスワードパズル x1 x2 x1,x2間の制約: x1の3文字目=x2の1文字目 1 2 3 4 5 6 7 8 単語リスト AFT ALE EEL HEEL HIKE HOSES KEEL KNOT LASER LEE LINE SAILS SHEET STEER TIE x2 x1,x2間の制約: x1の3文字目=x2の1文字目

線画解釈(1) 解釈 線画 (2D) 立体 (3D)

線画解釈(2) 線分のラベル付けによる空間表現 両側に物体の表面が見える. 前方に凸. 両側に物体の表面が見える. 前方に凹. 矢線の右側だけに物体の表面が見える.

線画解釈(3) ジャンクションに許される全パターン

線画解釈(4) 制約充足による解釈の生成 変数: 辺 領域: ラベル 制約: ジャンクション      のパターン 制約充足 解: 解釈

二項制約と他項制約 許される値の組 二項制約 x y z 三項制約 x y

理論的には二項制約のみ考える z a b c x y z y x p 三項制約 新しい変数の領域 二項制約に変換できる 二項制約 二項制約 新しい 変数

制約ネットワーク w z v x y u 頂点=変数 辺  =二項制約のある2つの変数を結ぶ

後戻り探索(backtracking search) バックトラック法=深さ優先探索+早めの後戻り a1 x1 a2 x2 a3 x3 a4 x4 部分解 k=5 a1 x1 a2 x2 a3 x3 a4 x4 k=5 前進 後退 x1 x2 x3 x4 x5 a1 x1 a2 x2 a3 x3 a’4 x4 k=4 a1 a2 a3 a4 a5 OK! k=6 これまでの部分解との間に 制約違反がないように部分解を拡張 拡張できないときは, 後戻りをして最近の選択をやりなおす

バックトラック法のアルゴリズム ak = Skの要素を1つ選択 Sk = Sk -{ak} S1 = D1 k = 1 現在x1の取れる値の集合 /* 前進 */ ak = Skの要素を1つ選択 S1 = D1 x1の領域 Sk = Sk -{ak} k = 1 もし( a1 a2 …ak )が解なら それを記録 while (Sk≠φ) while (k > 0) k = k + 1 Sk= ( a1 a2 …ak-1 )との    制約に違反しない    ak ∈ Dkの集合 ただし, k=n+1のときは空集合 /* 後退 */ k = k -1

バックトラック法(再帰版) /* メイン */ BACKTRACK(空ベクトル, 1); /* 再帰的定義 */ BACKTRACK( vector, k ) {   if (vector が解) {解を記録する} local変数 Sk= vector に矛盾しない値∈ Dkの集合            (ただし,k=n+1のときは空集合)   for ( a ∈Sk ) {     vector[k] = a;     BACKTRACK( vector, k+1 );   } }

例:4クイーンをバックトラックで解く Q Q 1 2 3 4 Q Q 空 3 4 Q Q 空 1 2 解 Q 空 3

x1,x2の値を決めた時点で解に到達不能であるのに, x3,x4,x5,x6,x7のすべての組合わせに対して x8の値を見つけようとする 前向きチェックの動機 x1 1 2 3 4 5 6 7 8 AFT ALE EEL HEEL HIKE HOSES KEEL KNOT LASER LEE LINE SAILS SHEET STEER TIE H O S E S x2 H E x8に入る 単語が ない! E T x1,x2の値を決めた時点で解に到達不能であるのに, x3,x4,x5,x6,x7のすべての組合わせに対して x8の値を見つけようとする

前向きチェック(forward checking) 前向きチェック=先読み+バックトラック a1 x1 a2 x2 a3 x3 a4 x4 部分解 いずれかの領域が空になったら 後戻り 部分解を拡張 前進 a1 x1 a2 x2 a3 x3 a4 x4 a5 x5 x6 x7 xn すでにOK! これ以降の変数の領域から a5と矛盾するすべての値を削除 アルゴリズムは省略

前向きチェックでうまくいく x1 x2 x8に入る 単語が ない! 1 2 3 4 5 6 7 8 H O S E S H E E T AFT ALE EEL HEEL HIKE HOSES KEEL KNOT LASER LEE LINE SAILS SHEET STEER TIE H O S E S x2 H E x8に入る 単語が ない! E T

アーク無矛盾性:サポーター 許される 値の組 x y 制約 サポーター y にサポーターがいない y にサポーターがいる

アーク無矛盾性(arc consistency) すべての変数のすべての値が, 制約のあるすべての変数にサポーターをもつ y x w z

制約伝播(constraint propagation) 一つの値の選択(削除)が制約によって次々と他の選択に波及する y 選択 x 領域が空 削除 アルゴリズムは省略 w z

反復改良(Iterative Improvement)

すべての変数に (ランダムに) 初期値を設定 反復改良の考え方 Q Q すべての変数に (ランダムに) 初期値を設定 改良をくりかえす (後戻りはしない) Q

評価関数 z=f(x,y) の山を登る 最適解 局所最適解 z y x

山登り法(Hill-Climbing) 近傍の状態のうち評価値が最大の状態に進む. 決して下り坂を降りない. 近傍 neighborhood

山登り法の欠点 高原 局所的最大 局所最適解で停止する. 高原では進むべき方向を判断できない.

焼きなまし法(Simulated Annealing) 近傍の状態から次の状態をランダムに選ぶ. エネルギが減少するなら,必ずそこに進む. エネルギが増加するなら,温度に応じた確率でそこに進む. 最小化すべき関数をエネルギと呼ぶ 局所解を ある確率で 脱出できる エネルギ 局所最適解 最適解

熱的なノイズによるランダムな揺れ 確率= 温度 ΔE 確率 大 エネルギ 増加分ΔE 小 温度 T 大 エネルギ 確率=1 温度はじょじょに 下げていく

冷却スケジュール T = schedule (k), k=1,2,… 線形冷却 指数冷却 T 対数冷却 k

焼きなまし法の最適性 温度T を十分ゆっくり下げるならば, 確率1で大域的最適解を見つける. 対数冷却 Tk=c/log(k+1) はこの条件を満たすが,収束時間はO(n!)より長い. 温度はすごくゆっくり 下げていく

反復改良による制約充足: ヒューリスティック修復(heuristic repair) y x 許される値の組 現在の状態 w z

制約違反最小化(min-conflict) 制約違反=2 制約違反=1 制約違反=2 これを 選ぶ

制約違反最小化の実績 百万クイーン問題: 平均50ステップ ハッブル天体望遠鏡の観察スケジュール 3週間から10分に短縮

まとめ 制約充足と反復改良  制約充足  後戻り法  前向きチェック  制約伝播  反復改良  山登り法  焼きなまし法  制約違反最小化