認知システム論 探索(4) 先を読んで知的な行動を選択するエージェント 実時間探索 (Real-Time Search) 実時間探索 RTA*アルゴリズム LRTA*アルゴリズム 準備:探索エージェント とるべき行為を 知覚 (percepts) エージェント 決定する センサー 目,耳 環 境 問題解決器 知能 行為 (action) アクチュエータ 手,足 意思決定 (decision) 1.実時間探索 (1/3) これまで学んだ探索(オフライン探索)は, 時間をかけて解を見つけた後に実行する 探 索 実 行 時間 実時間探索(オンライン探索)は, 一定時間内の先読み探索と実行を交互に繰り返す 探 索 実 行 探 索 一定時間内 実 行 探 索 実 行 一定時間内 一定時間内 実時間探索(2/3) ミニミニ探索によって,一定時間の間,先読みをし,行動を決定 ヒューリスティック関数 h の値 7 スタート 3 8 a 12 b 4 16 12 5 4 11 h 6 5 2 8 c d 2 8 3 14 11 1 e 0 3 ゴール g 5 4 f 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 h=8 3 x 4 f=10 h=5 f=9 簡単のため, 先読みは1ステップ先まで と仮定する RTA*アルゴリズム(2/4) Step 2.h(x)の値を以下のように更新する. h(x) ← 2番目に小さいf(n) 2番目に小さいf(n) 2番目に小さいf(n) h=7 h=8 3 x 4 f=10 h=10 h=7 3 x h=5 4 f=9 最小のf(n) f=10 h=5 f=9 最小の f 値を持つノードへ進む前に もとのノードに戻ってくるときのために h の値を更新する RTA*アルゴリズム(3/4) Step 3.最小のf(n)を与える状態nに遷移する. 候補が複数存在するときはランダムに選択する. h=7 h=10 3 x 4 h=7 f=10 h=5 最小のf(n) h=10 3 x 4 h=5 f=9 f はもう不要. 後戻りするときのコストは,4+10=14 となる. RTA*アルゴリズム(4/4) hの値 7 5 11 9 9 4 10 b c 15 14 3 8 a 11 初期状態 5 3 8 11 5 f g 11 2 6 5 1 9 8 d 8 4 準最適解 2 e 0 3 h 3 目標状態 RTA*の計算量 空間計算量:移動回数に対して線形 訪問済みの状態のリスト、miniminは深さ優先探索 時間計算量:移動回数に対して線形 探索の深さが定数、一回の移動のための探索も定数 RTA*の完全性(1/3) 定理 RTA*の完全性 状態空間が有限 経路コストが正 ヒューリスティック値が有限 あらゆる状態から目標状態へ到達可能 必ず解を発見する RTA*の完全性 (2/3) 例外 状態空間が有限でない 目標状態へ到達可能でない 1 30 1 s 02 1 01 s 1 0 1 0 g 1 g RTA*の完全性(3/3) 例外 1 10 経路コストが正でない 01 2 1 1 0 s g 0 0 ヒューリスティック値が有限でない 1 ∞ s g ∞ RTA*の性能評価(1/3) n-パズル 5 4 6 1 8 7 3 2 初期状態 5 4 8 6 1 7 3 2 5 4 6 1 8 7 3 2 1 2 3 8 4 7 6 5 目標状態 推定コスト: 各タイルの正しい位置までのマンハッタン距離の和 RTA*の性能評価(2/3) 1000 800 Solution Length 発 見 し た 解 の 長 さ 最適解の長さ 8 puzzle : 22 15 puzzle : 53 24 puzzle : 100程度 24 puzzle 600 400 15 puzzle 200 8 puzzle 0 0 5 10 15 Search Horizon 先読みの深さ 20 25 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) ← min f(n) n 3.最小のf(n)を与える状態nに遷移する。 (候補が複数存在するときはランダムに選択する) LRTA*アルゴリズム(3/4) RTA* 5 a LRTA* 5 a 6 1 7 1 5 1 b 1 c 1 d 2 1 3 1 5 1 b 1 c 1 d LRTA*アルゴリズム(4/4) 完全性 解が存在すれば必ず発見できる 収束性 問題空間が有限 楽観的 経路コストが正 初期ヒューリスティック値が許容的 あらゆる状態から目標状態へ到達可能 試行を繰り返すことにより、 最適経路上の各状態の推定コストは正確な値に収束する
© Copyright 2025 ExpyDoc