人 工 知 能 第3回 探索法 (教科書21ページ~30ページ) http://www.tbgu.ac.jp/ait/atushi/

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 田中美栄子.
Information このスライドは「イラ ストで学ぶ人工知能概 論」を講義で活用した り,勉強会で利用した りするために提供され ているスライドです.イラ ストで学ぶ人工知能概 論.
 C 川船 美帆.  強い人工知能の作成 o 「遺伝的アルゴリズム」  「どうぶつしょうぎ」のアプリケーショ ン作成 o スマートフォン向けアプリケーション.
Problem J: いにしえの数式 問題作成・解説: 北村 解答作成協力: 八森.
実時間探索 (Real-Time Search)
実時間探索 (Real-Time Search)
人工知能概論 第4回 探索(3) ゲームの理論.
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
第11回 整列 ~ シェルソート,クイックソート ~
コンピュータ囲碁の仕組み ~ 将棋との違い ~
    有限幾何学        第8回.
5.チューリングマシンと計算.
5.チューリングマシンと計算.
第8回  問題解決.
アルゴリズムとデータ構造 2012年7月23日
シミュレーション論 Ⅱ 第12回 強化学習.
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
15パズルの解法について 北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ  大石 貴弘.
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
エージェントアプローチ 人工知能 21章 B4 片渕 聡.
データ構造と アルゴリズム 知能情報学部 新田直也.
アルゴリズムとデータ構造 2011年7月14日
単位 おねだり ☆オセロ おねだり隊☆D班.
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
非線形方程式の近似解 (2分法,はさみうち法,Newton-Raphson法)
第11回 整列 ~ シェルソート,クイックソート ~
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
早わかりアントコロニー最適化 (ACO: Ant Colony Optimization)
シミュレーション論 Ⅱ 第12回 様々なシミュレーション手法(3) 強化学習.
ベイジアンネット混合モデルによる 強化学習エージェントの方策改善
決定木とランダムフォレスト 和田 俊和.
計算機科学概論(応用編) 人工知能のこれまでとこれから
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Online Decoding of Markov Models under Latency Constraints
人工知能概論 第2回 探索(1) 状態空間モデル,基本的な探索
WWW上の効率的な ハブ探索法の提案と実装
強化学習を用いたバックギャモンプレイヤーの生成 TD-Gammon
早わかりアントコロニー最適化 (Ant Colony Optimization)
データ構造と アルゴリズム 第七回 知能情報学部 新田直也.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
(1)序論 人工知能とは 歴史 方法論 人工知能の基礎 問題解決 探索 推論 知識.
電機情報工学専門実験 6. 強化学習シミュレーション
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
第2回  発見的探索(1).
問題作成、解説担当:中島 副担当:坪坂、松本
シミュレーション論 Ⅱ 第1回.
アルゴリズムとデータ構造 2012年7月2日
5.チューリングマシンと計算.
アルゴリズムとデータ構造 2011年6月28日
香川大学工学部 富永浩之 知識工学1 第1-1章 人工知能と知識工学 香川大学工学部 富永浩之
アルゴリズムとデータ構造 2013年7月2日
囲碁プログラム 彩の仕組み 山下 宏 2008年9月4日 FIT2008.
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
分枝カット法に基づいた線形符号の復号法に関する一考察
ヒープソート.
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
情報論理工学 研究室 第8回: ミニマックス法.
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
C問題 高所恐怖症 原案・ライタ : 伊藤 テスタ : 青木・西出.
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
人工知能概論 第4回 探索(3) ゲームの理論.
アルゴリズム ~すべてのプログラムの基礎~.
京都大学 情報学研究科 通信情報システム専攻 高田智史 joint work with 伊藤大雄 中村義作
Presentation transcript:

人 工 知 能 第3回 探索法 (教科書21ページ~30ページ) http://www.tbgu.ac.jp/ait/atushi/

前回の復習 人工知能と探索 前回の復習

探索手法の必要性 人工知能の対象となる問題には解法が不明な問題も含まれる 迷路 パズル ⇒ 人間なら試行錯誤して解法を探す ゲーム 前回の復習 探索手法の必要性 人工知能の対象となる問題には解法が不明な問題も含まれる 迷路 パズル ⇒ 人間なら試行錯誤して解法を探す ゲーム 探索手法とは 試行錯誤的なプログラムを実現するための手法

迷路 どの経路なら出口に出れる? A F K P U V W X Y B G L Q R M H C D I J E T O S N 前回の復習 迷路 どの経路なら出口に出れる? A F K P U V W X Y B G L Q R M H C D I J E T O S N 経路1 : 10 steps A → F → K → P → U  → V → W → X → Y → T 経路2 : 12 steps A → F → K → P → Q  → L → M → R → S → N → O → T

前回の復習 3目並べ × ○ どこに「×」を入れると 引き分ける? 負け ○ A B C D E × ○ 引き分け F G H

前回の復習 状態空間と探索木 前回の復習

前回の復習 状態遷移図(1) 状態遷移図とは 状態を点 とした有向グラフ 行動を枝 朝 昼 夜 時間経過

状態遷移図(2) 迷路問題での状態と行動 状態 S := (sA, sB, sC, sD, … , sY) A F K P U V W X 前回の復習 状態遷移図(2) 迷路問題での状態と行動 状態 S := (sA, sB, sC, sD, … , sY) A F K P U V W X Y B G L Q R M H C D I J E T O S N 初期状態 : sA 終了状態 : sT 行動 A := (aU, aD, aL, aR) aU := 上に移動 aD := 下に移動 aL := 左に移動 aR := 右に移動

状態遷移図(3) sA sF sK sP sU sV sW sX sY sB sG sL sQ sR sM sH sC sD sI sJ 前回の復習 状態遷移図(3) sA sF sK sP sU sV sW sX sY sB sG sL sQ sR sM sH sC sD sI sJ sE sT sO sS sN aR aD aU A F K P U V W X Y B G L Q R M H C D I J E T O S N

探索木(1) 探索木の構築 初期状態をルートノードとする 遷移する可能性のある状態を子ノードとする 状態遷移図との比較 前回の復習 探索木(1) 探索木の構築 初期状態をルートノードとする 遷移する可能性のある状態を子ノードとする 状態遷移図との比較 同じ状態が複数ノードで表現される可能性がある ⇒ 大規模なグラフになりやすい ループが存在しない ⇒ 簡単なアルゴリズムで計算可能

探索木(2) A F K P U V W X Y B G L Q R M H C D I J E T O S N sO sA sF sK 前回の復習 探索木(2) A F K P U V W X Y B G L Q R M H C D I J E T O S N sO sA sF sK sP sU sV sW sX sY sB sG sL sQ sR sM sH sC sD sI sJ sE sT sS sN

知識を用いた探索法

知識を用いた探索法の概要(1) 網羅探索法との比較 深さ優先・幅優先探索 ⇒ 指標無しで探索する 探索の効率が悪い 知識を用いた探索方 ⇒ 指標を用いて探索する 探索の効率を向上させる

知識を用いた探索法の概要(2) 知識を用いた探索法の手順 次の手順を終了状態まで繰り返す 状態の評価を行う 最も高い評価の状態を探索する 状態の評価を行う = 評価のための知識が必要

知識を用いた探索法の概要(3) 状態の評価例 迷路の場合 ⇒ ゴールまでの直線距離を評価値とする A F K P U V W X Y B G L Q R M H C D I J E T O S N 5 2 4 1

最良優先探索法(1) 最良優先探索法の手続き 手順1 : 未探索状態の中で最も評価がよい状態を選択 手順2 : 選択された状態にルールを全て適用し、ルール適用後の新しい状態を生成する 手順3 : 新たに生成された状態を調査 手順3a : 終了状態が含まれていれば終了 手順3b : 終了状態が無い場合、新たに生成された状態を未探索状態に加えて手順1に戻る

最良優先探索法(2) 最良優先探索法の探索手順 A F K P U V W X Y B G L Q R M H C D I J E T O S N 1 4.2 2 3.6 3 3.2 4 3.0 5 2.0 sO sA sF sK sP sU sV sW sX sY sB sG sL sQ sR sM sH sC sD sI sJ sE sT sS sN 5.0 6 4.5 7 4.1 3.6 9 3.0 10 3.2 8 4.0 11 2.2 12 2.0 13 1.0 14 1.4 15 1.0 16 4.1

A*アルゴリズム(1) A*アルゴリズムの概要 探索手順は最良優先探索法と同じ 評価値として『過去のコスト+未来のコスト』を使う 『過去+未来のコスト』が最小となる状態から探索する ⇒ コストが最小となる解を探索できる

A*アルゴリズム(2) A*アルゴリズムの探索手順 A F K P U V W X Y B G L Q R M H C D I J E T O S N 1 4.2 3 3.6 5 3.2 6 3.0 7 2.0 sO sA sF sK sP sU sV sW sX sY sB sG sL sQ sR sM sH sC sD sI sJ sE sT sS sN 1 2 3 4 5 5.0 2 4.5 4 4.1 1 2 3.6 6 9 3.0 11 3.2 4 5 8 4.0 12 2.2 16 2.0 17 1.0 1.4 3 6 7 8 9 10 4.1 4 13 3.2 14 2.2 15 1.4 18 1.0 19 5 6 7 8 9

山登り法(1) 山登り法の手続き 評価値のよい状態のみを探索する ⇒ 探索対象外となった状態は二度と探索しない 少ない計算量・メモリ量で探索することが可能 局所解に陥る可能性がある 評価値に変化がないと使えない

山登り法(2) 山登り法の探索手順 A F K P U V W X Y B G L Q R M H C D I J E T O S N sO 1 4.2 2 3.6 3 3.2 4 3.0 5 2.0 sO sA sF sK sP sU sV sW sX sY sB sG sL sQ sR sM sH sC sD sI sJ sE sT sS sN 5.0 4.5

ゲームプレイング

ゲーム探索の概要(1) 通常の探索との違い 自分の操作以外の不確定要素が存在する 相手の操作により状態が変化する サイコロ等により確率的に状態が変化する 不確定要素を考慮した探索をする必要がある

ゲーム探索の概要(2) 相手の存在するゲーム(三目並べ) × ○ × ○ ○ × × ○ × ○ × ○ × ○ ○ × ○ ○ × × ○ ・・・ ・・・

ゲーム探索の概要(3) 確率的に状態が変化するゲーム(人生ゲーム) 職工 となる 事務員 となる 作家 となる 経営者 となる 結婚する スタート 中学卒業 大学入学 高校卒業 職工 となる 事務員 となる 作家 となる 経営者 となる 結婚する 学生生活 給料10万 給料12万 給料14万 給料16万 給料50万 給料日 大学卒業 作家 となる 銀行員 となる 科学者 となる 公務員 となる 弁護士 となる 医者 となる 給料16万 給料20万 給料24万 給料26万 給料30万 給料40万

ミニマックス法(1) ミニマックス法の概要 相手の存在するゲームの手段を探索する 相手の行動も含めた探索木を構築し、以下の考えに従って探索する 相手の行動時には最も悪い評価となる状態を選択する 自分の行動時には最も良い評価となる状態を選択する 相手が最良の手段を講じた場合を想定して探索する

ミニマックス法(2) ミニマックス法の探索手順 3 s0 a0 a1 a2 MAXを選ぶ 3 2 2 s00 s01 s02 MINを選択 <自分> a0 a1 a2 MAXを選ぶ 3 2 2 s00 s01 s02 <相手> MINを選択 3 12 8 2 4 6 14 5 2 s000 s001 s002 s010 s011 s012 s020 s021 s022

ミニマックス法(1) ミニマックス法の探索例 × ○ × ○ × ○ × ○ × ○ max min max min -1 × ○ × ○ <相手> <自分> <相手> <自分> <相手> × ○ × ○ × ○ × ○ × ○ max min max min -1 × ○ × ○ × ○ × ○ -1 1 -1 -1 × ○ × ○ × ○ × ○ -1 1 ・・ ・・

アルファベータ法(1) アルファベータ法の概要 ミニマックス法による効率のよい探索を行うための枝刈り ⇒ 探索の必要のない枝は切り捨てる 6 <自分> s0 MAXを選ぶ a0 a1 a2 6 2 5 s00 s01 s02 <相手> MINを選択 6 12 8 2 4 6 14 5 2 s000 s001 s002 s010 s011 s012 s020 s021 s022

アルファベータ法(2) アルファベータ法を用いた探索例 × ○ × ○ × ○ × ○ × ○ max min -1 × ○ × ○ × ○ <相手> <自分> <相手> <自分> <相手> × ○ × ○ × ○ × ○ × ○ max min -1 × ○ × ○ × ○ × ○ -1 -1 × ○ × ○ × ○ × ○ ・・ ・・

期待ミニマックス法(1) 期待ミニマックス法の概要 ミニマックス法に確率の概念を加えた手法 ⇒ サイコロ等の確率的選択に対応

期待ミニマックス法(1) 期待ミニマックス法の探索手続き 5.2 s0 a0 a1 a2 MAX 4.2 5.2 2 s00 s01 s02 <自分> a0 a1 a2 MAX 4.2 5.2 2 s00 s01 s02 <Dice> 0.6 0.4 0.2 0.8 1.0 期待値 3 6 2 6 2 s000 s001 s010 s011 s020 <相手> MIN 3 12 8 6 2 4 6 14 5 2 s0000 s0001 s0010 s0011 s0100 s0101 s0110 s0111 s0200 s0201

ゲームプログラミングの現在

ゲームプログラミング(1) オセロ 探索空間は比較的狭いため、コンピュータが得意とする 1997年、世界チャンピオンがコンピュータに敗北 コンピュータは人間よりもはるかに強い チェス 探索空間が広大だが、終盤は収束するという特徴がある 1997年、世界チャンピオンがコンピュータに敗北 コンピュータはプロ上位者レベル

ゲームプログラミング(2) 将棋 探索空間は非常に広く、終盤になっても収束しない ただし、終盤のみ局地的な全探索を行うことが可能 コンピュータはプロ初段程度の実力 囲碁 探索空間は広大であり、数手先を読むのも難しい 評価関数の開発が難しいため、効率的な探索が不可能 コンピュータはアマチュア程度の実力

小テスト

課題 今日の問題(ホット6) 最初に何振りすればラーメンを食べずにすませられるか? 2人のプレイヤーの前にラーメンと胡椒がある 交互にラーメンに胡椒を振りかけ、6回目の胡椒を振りかけたプレイヤーがそのラーメンを食べなければならない。 1人は連続して3回までしか胡椒を振りかけられない 胡椒は自分が最初に振りかける(自分→相手→自分・・)