210 likes | 286 Views
認知システム論 探索( 4 ) 先を読んで知的な行動を選択するエージェント. 実時間探索 (Real-Time Search). 実時間探索 RTA* アルゴリズム LRTA* アルゴリズム. 準備:探索エージェント. とるべき行為を 決定する. 知覚 (percepts). エージェント. センサー 目,耳. 問題解決器 知能. 環 境. 意思決定 (decision). 行為 (action). アクチュエータ 手,足. 1.実時間探索 (1/3). これまで学んだ探索( オフライン探索 )は, 時間をかけて解を見つけた後に実行する.
E N D
認知システム論 探索(4) 先を読んで知的な行動を選択するエージェント 実時間探索(Real-Time Search) • 実時間探索 • RTA*アルゴリズム • LRTA*アルゴリズム
準備:探索エージェント とるべき行為を 決定する 知覚(percepts) エージェント センサー 目,耳 問題解決器 知能 環 境 意思決定(decision) 行為(action) アクチュエータ 手,足
1.実時間探索 (1/3) • これまで学んだ探索(オフライン探索)は,時間をかけて解を見つけた後に実行する • 実時間探索(オンライン探索)は,一定時間内の先読み探索と実行を交互に繰り返す 探 索 実 行 時間 探 索 実 行 探 索 実 行 探 索 実 行 一定時間内 一定時間内 一定時間内
実時間探索(2/3) ミニミニ探索によって,一定時間の間,先読みをし,行動を決定 ヒューリスティック関数 h の値 7 5 1 4 8 12 b c d 3 16 12 2 スタート 8 a e 8 5 3 3 0 ゴール 4 14 11 g h f 11 2 4 6 5 3
実時間探索(3/3) • 最適性はない:最適な行動を探索できない • リアルタイム性:迅速に行動を選択できる • 環境適応性:未知の環境,動的に変化する環境に適している • 未経験の行動をとる(探索空間を探査する)することによって,現在の状態の周辺の情報がわかってくる
2.RTA*アルゴリズム(1/4) Real-Time Heuristic Search Step 1.現在の状態xの各隣接状態nに対して, 以下の関数f(n)を計算する. ただし,g(x,n)はxからnへのコストとする. f(n) = g(x,n) + h(n) h=7 f=10 3 h=8 x h=5 4 簡単のため,先読みは1ステップ先までと仮定する f=9
RTA*アルゴリズム(2/4) Step 2.h(x)の値を以下のように更新する. h(x) ← 2番目に小さいf(n) 2番目に小さいf(n) 2番目に小さいf(n) h=7 h=7 f=10 f=10 3 3 h=8 h=10 x x h=5 h=5 4 4 f=9 f=9 最小のf(n) 最小のf 値を持つノードへ進む前にもとのノードに戻ってくるときのためにh の値を更新する
RTA*アルゴリズム(3/4) Step 3.最小のf(n)を与える状態nに遷移する. 候補が複数存在するときはランダムに選択する. h=7 h=7 f=10 3 3 h=10 h=10 x x 最小のf(n) h=5 h=5 4 4 f=9 f はもう不要.後戻りするときのコストは,4+10=14 となる.
RTA*アルゴリズム(4/4) hの値 準最適解 7 5 1 11 9 9 9 4 8 10 b c d 3 15 2 14 8 8 a e 0 11 5 3 3 8 11 目標状態 初期状態 5 f g h 11 2 4 6 5 3
RTA*の計算量 • 空間計算量:移動回数に対して線形 訪問済みの状態のリスト、miniminは深さ優先探索 • 時間計算量:移動回数に対して線形 探索の深さが定数、一回の移動のための探索も定数
RTA*の完全性(1/3) • 定理 RTA*の完全性 • 状態空間が有限 • 経路コストが正 • ヒューリスティック値が有限 • あらゆる状態から目標状態へ到達可能 必ず解を発見する
s g s RTA*の完全性 (2/3) 例外 状態空間が有限でない 目標状態へ到達可能でない 1 3 0 1 0 2 1 0 1 1 0 1 g 0 1
1 0 0 1 1 1 0 2 1 s s g g 0 0 1 ∞ ∞ RTA*の完全性(3/3) 例外 経路コストが正でない ヒューリスティック値が有限でない
6 2 7 3 2 1 3 2 4 1 6 8 4 5 8 5 7 7 6 8 4 5 3 1 2 7 6 8 4 5 3 1 初期状態 目標状態 推定コスト: 各タイルの正しい位置までのマンハッタン距離の和 RTA*の性能評価(1/3) • n-パズル
RTA*の性能評価(2/3) 1000 最適解の長さ 8 puzzle : 22 15 puzzle : 53 24 puzzle : 100程度 800 24 puzzle 発見した解の長さ 600 Solution Length 400 15 puzzle 200 8 puzzle 0 0 5 10 15 20 25 Search Horizon 先読みの深さ
RTA*の性能評価(3/3) • 計算と実行のトレードオフ • ミニミニ探索を深くすると1回の移動のための計算量は増大、移動回数は減少 • 最適な探索の深さは問題に依存する • スライディングタイルパズルの場合 • 実行時間(ミニミニ探索+移動)は探索の過程で生成した状態数に比例 • ミニミニ探索の最適な深さは8パズルが1、15パズル・24パズルが2 • 実際の実行時間はそれぞれ0.1秒、0.5秒、2.5秒以下(20MHz)
Learning RTA* 3.LRTA*アルゴリズム(1/4) • 同じ問題を連続して解く • 同じ問題空間、同じ目標状態の集合 • 訪問済みの状態の推定コスト(h)を次の試行に保持 • RTA*では… • 問題を一度だけ解く場合には適している • 推定コストとして2番目に小さい評価値を格納 • hの値が,過大評価となってしまう
LRTA*アルゴリズム(2/4) 1.現在の状態xの各隣接状態nに対して、以下の関数f(n)を計算する。ただし、g(x,n)はxからx’へのコスト。 f(n) = g(x,n) + h(n) 2.h(x)の値を以下のように更新する。 h(x) ← minf(n) 3.最小のf(n)を与える状態nに遷移する。 (候補が複数存在するときはランダムに選択する) n
a b c d d c b a RTA* LRTA* LRTA*アルゴリズム(3/4) 6 7 5 1 1 5 1 1 1 2 3 5 1 1 5 1 1 1
LRTA*アルゴリズム(4/4) • 完全性 • 解が存在すれば必ず発見できる • 収束性 • 問題空間が有限 • 経路コストが正 • 初期ヒューリスティック値が許容的 • あらゆる状態から目標状態へ到達可能 楽観的 試行を繰り返すことにより、最適経路上の各状態の推定コストは正確な値に収束する