第8回  問題解決.

Slides:



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

ヒューリスティック探索 ─ 知識に基づく探索 ─ (Heuristic Search) 最良優先探索 (best-first search) 均一コスト探索 欲張り最良優先探索 A * 探索 ヒューリスティック関数について 最良優先探索の 具体的な例 認知システム論 探索( 3 ) 先を読んで知的な行動を選択するエージェント.
多目的GAに対する パレート最適個体の分布制御 九州大学大学院工学府知能機械システム専攻徳井 宏司.
©2008 Ikuo Tahara探索 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム.
人工知能 ( 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教室 コンピュータアルゴリズム.
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
On the Enumeration of Colored Trees
2章 データ構造.
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
5.チューリングマシンと計算.
5.チューリングマシンと計算.
An Algorithm for Enumerating Maximal Matchings of a Graph
人 工 知 能 第3回 探索法 (教科書21ページ~30ページ)
15パズルの解法について 北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ  大石 貴弘.
整数計画法を用いた ペグソリティアの解法 ver. 2.1
マイクロシミュレーションにおける 可変属性セル問題と解法
データ構造と アルゴリズム 知能情報学部 新田直也.
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
第4章 空間解析 2.ネットワーク分析 (3) ネットワーク構造分析
碁石ゲームに関する考察 4目並べ講座 パターン生成ゲームの楽しみ 徳山 豪 (東北大学) .
s a b f c e d 2016年度 有限幾何学 期末試験 問1:15点
二分探索木によるサーチ.
ヒューリスティック探索 ─知識に基づく探索─ (Heuristic Search)
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
知識なしの探索 ─ しらみつぶしの探索 ─ (Uninformed Search)
サポートベクターマシン によるパターン認識
大阪市立大学 学術情報総合センター 大西克実
問題解決 問題の表現 定性的,論理的関係を対象とした問題 問題解決プロセスの表現 状態空間 問題の分解・還元.
MPIを用いた並列処理 ~GAによるTSPの解法~
盲目的探索 ─ 知識を用いない探索 ─ (Blind Search)
知識なしの探索 ─ しらみつぶしの探索 ─ (Uninformed Search)
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
人工知能概論 第2回 探索(1) 状態空間モデル,基本的な探索
WWW上の効率的な ハブ探索法の提案と実装
遺伝的アルゴリズムを用いた 構造物の最適形状探索の プログラムの作成
早わかりアントコロニー最適化 (Ant Colony Optimization)
First Course in Combinatorial Optimization
A Simple Algorithm for Generating Unordered Rooted Trees
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
ファジィ制約充足問題への 連続領域の導入 Introducing continuous domains to
サポートベクターマシンを用いた タンパク質スレッディングの ためのスコア関数の学習 情報科学科4年 81025G 蓬来祐一郎.
モンテカルロ法を用いた 立体四目並べの対戦プログラム
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
SIFTとGraph Cutsを用いた 物体認識及びセグメンテーション
盲目的探索 ─ 知識を用いない探索 ─ (Blind Search)
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
第2回  発見的探索(1).
問題作成、解説担当:中島 副担当:坪坂、松本
知識に基づく探索 ─ ヒューリスティック探索 ─ (Heuristic Search)
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
知識を用いる探索 ─ ヒューリスティック探索 ─ (Heuristic Search)
第16章 動的計画法 アルゴリズムイントロダクション.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
5.チューリングマシンと計算.
本時の目標 二元一次方程式とその解の意味を理解する。
表紙 分散遺伝的アルゴリズムのための 新しい交叉法.
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
数値解析Ⅱ ~五目並べのプログラミング~ C班.
分枝カット法に基づいた線形符号の復号法に関する一考察
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
第4章 空間解析 2.ネットワーク分析 (2) 最大流問題
Presentation transcript:

第8回  問題解決

問題解決 とは 具体例: ・鶴と亀が合わせて7匹 ・足の合計は20本 ・鶴と亀は各々何匹いる? x+y=7, 2x+4y=20 ⇒ (x,y)=(4,3)

問題解決のプロセス 問題の定式化: 対象となる世界(外部世界)から本質的な部分を抽出し,形式的記述を獲得 問題の定式化:  対象となる世界(外部世界)から本質的な部分を抽出し,形式的記述を獲得 形式的処理: 形式的記述を形式的に処理して解を抽出   (内部世界) 問題の対象となる世界での解釈: 問題の対象となる世界での解を確保

問題の定式化 状態空間法 問題分解法 手段目的解析 ( Means End Analysis )

状態空間法:解探索の定式化 状態空間中を初期状態から目標状態(解)に至る径路を探索すること ・状態空間(state space):  状態を節点(node)、状態遷移を有向枝(arc)としたグラフで表現 ・オペレータ:  状態遷移のための手段  ~ 前提条件、削除リスト、追加リスト ・拘束条件:  目標達成のために守らねばならない条件 

迷路探索の例 拘束条件: 左向き進行  禁止

解探索の基本手法 縦型探索 深さ優先探索(depth-first search) 深さ方向を優先的に展開  深さ方向を優先的に展開 横型探索 幅優先探索(breadth-first search)  初期節点からの径路が浅い節点を優先的に展開

解探索の基本手法(模式図) 親節点 子節点

基本手法の比較 縦型探索 - 停止しない危険性あり ←深さ方向に制限 - 最適解に到達する保証無し - メモリ消費量は少ない 横型探索 縦型探索 - 停止しない危険性あり ←深さ方向に制限 - 最適解に到達する保証無し - メモリ消費量は少ない 横型探索 - 径路長最短の解に到達する保証あり - メモリ消費量は多い

解探索の効率化 問題固有の知識利用 - 枝のコスト: 2地点間の距離、経費、・・ 問題固有の知識利用  - 枝のコスト: 2地点間の距離、経費、・・  - 節点評価値: 目標節点への近さ   ~ ヒューリスティクス関数  - 合併評価 探索手続きの改良  - 山登り法 (hill-climbing method)  - 分枝限定法 (branch-and bound method)

A*アルゴリズム Aアルゴリズム: 最良優先探索の改良 ~ 現局面(節点)から解に至るまでの予測評価h(n)に 出発点から現局面までの評価g(n)を加味   f(n) = g(n) + h(n) A*アルゴリズム   f(n) = g(n) + h’(n)  h’(n) ≦h(n) ;楽観的なヒューリスティクス関数 最適解への到達を保証→AIにおける代表的な探索方式

A*アルゴリズムの例:8-パズル h’(n): ゴール状態と異なる位置におかれたタイル数 h’(n) ≦h(n): ゴールまでに動かさないといけないタイル数

8-パズルの解法

山登り法 現在吟味中の節点に対し、基本操作を施し到達できる次状態候補(現節点の子節点)の中で最も評価値の高い節点を選択 (局所的最適化) ・縦型探索 ・最適解の保証は無し

分枝限定法 山登り法の改良 ~ 現節点の子節点に限定せず、これまでに展開されながら利用されていない節点のうち最適な ものを選択 山登り法の改良 ~  現節点の子節点に限定せず、これまでに展開されながら利用されていない節点のうち最適な ものを選択 ・オペレーションズリサーチ(OR)における 組合せ最適化問題にて提案された手法と同一 ・横型探索の改良型

分枝限定法による探索の例 S – [C(1), B(2)] – [B(2), F(4), H(5)] – [D(3), E(4), F(4), H(5)] – [E(4), F(4), H(5), G1(5), I(6)]-

最良優先探索(best-first search) 現局面(節点)から解に至るまでの予測評価h(n)をヒューリスティクス関数として与え、利用 ・目標まで到達可能 ・大容量メモリが必要 ・最適解に到達する保証無し

ビーム探索(beam search) 最良優先探索で評価値の高いほうからN個、 またはしきい値以上のもののみ残すことに より、メモリの増大を抑制 ・最適解に到達する保証無し

ゲーム木の探索 ~ 囲碁・将棋 vs. チェス,チェッカー,オセロ,バックギャモン ミニ・マックス法:相手は最小値,自分は 最大値の手を選択→α-β法 最大評価の際の 下限以外をカット 最小評価の際の 上限以外をカット

問題分解法 個々の状態空間が持つ構造を利用して 探索を行う ~ より簡単な部分問題(sub goal)に分割,解が自明な問題(原始問題:principle)になるまで反復 対象)・数式処理(不定積分,因数分解,・・)     ・ゲーム(オセロ,・・)

部分問題への分解例 問題:1つ200円のりんごと1つ100円のナシを 合わせて6つ買い,800円を支払った. りんごとナシを幾つずつ買ったか? 問題の定式化:   x+y=6, 200x+100y=800 副問題1:  200x+100(6-x)=800  ただし y=6-x 副問題2:  200 (6-y) +100y=800  ただし x=6-y

AND/OR グラフによる記述 節点: 問題 または 部分問題 - AND節点: 全て充足することを要求 節点: 問題 または 部分問題  - AND節点: 全て充足することを要求 - OR節点: 一つでも充足すればOK  - 終端節点: 直ちに解決できる問題 枝: 親問題と部分問題の関係 Cf)状態空間法~  節点:状態,枝:オペレータによる状態遷移 問題を解くこと: AND/ORグラフの中から,条件を満足する 解グラフを求めること

AND/OR グラフによる記述例1:食事の支度 食事: 主食と副食とお茶  ~ 部分問題に分割 副食: 魚料理と肉料理 プロダクション規則 ・主食→米を炊く ・主食→ご飯を温める ・魚料理→魚を焼く かつ 野菜を煮る ・肉料理→肉を炒める かつ 野菜をゆでる

AND/OR グラフ表現: 食事の支度 AND節点 OR節点 解グラフの例 「夕食を食べる」?

例2: 不定積分 解決の候補)  ・部分積分法 ・置換積分法:  ・漸化式

不定積分問題のAND/OR表現 OR分解 AND分解

例3: 3目並べ 3x3の盤面に黒石,白石を持つプレーヤーが交互に石を置き,先に縦・横・斜めに3つ連続して 並べた方が勝ち 例3: 3目並べ 3x3の盤面に黒石,白石を持つプレーヤーが交互に石を置き,先に縦・横・斜めに3つ連続して 並べた方が勝ち お互い最善を尽くすと引き分け ・自分の手番: OR分岐 ~可能手から最善手を選択 ・相手の手番: AND分岐 ~相手の打つ全ての手を検討 白 黒 白

3目並べの例 〈自分: 黒) X: 必敗手 × ×

Means End Analysis (MEA) 以下の処理を反復 現在の状態を目標状態と比較 差異を減少させる操作を選択 可能ならその操作を適用.可能でなければ現在の状態を退避,部分問題に適用 部分問題が解決されたら退避した問題を回復,解探索作業を再開

MEAにおけるヒューリスティクス知識 以下の関数として実現 2つの状態の間の差異を計算する関数 与えられた差異の解消に貢献する操作を選択する関数 解として許される操作の系列に関する 制約

コスト関数 初期状態S0, O1(So)=S1, O2(S1)= S2, ・・ となる操作系列{Oi}: f(p) =  となる操作系列{Oi}: f(p) = が最小となる系列を求める