Comments
Description
Transcript
探索と強化学習によるハイブリッドゲーム木探索の ゲームへの適用
A∗ 探索と強化学習によるハイブリッド ゲーム木探索の ゲームへの適用 Hybrid Search Method of Game Tree by A∗ and Reinforcement Learning 1 栗田 翼 2 伊賀上 大輔, 市村 匠 1 2 1 Kurita Tsubasa Daisuke Igaue, Takumi Ichimura 1 県立広島大学経営情報学部経営情報学科 1 Faculty of Management and Information Systems, Prefectural University of Hiroshima 2 県立広島大学大学院総合学術研究科経営情報学専攻 2 Graduate School of Management and Information Systems, 1 Abstract: The 2012 Mario AI Competition runs in association with several major international conferences focusing on computational intelligence and games. In Japan, a special session related to AI video games is held in FSS2012. The competition of this session focuses on the Learning track. Our team becomes a participate in a session to verify the effectiveness of our proposed the hybrid search algorithm of game tree, which realizes a good pruning by using A∗ search and the reinforcement learning method. はじめに 1 agent が優勝している. 近時,学習・探索アルゴ リズムのベンチマークとし 2.2 ゲームの環境 てビデオゲームのスコアを評価することで,ゲームの ビデオゲームであるエージェントには 3 つの状態が スコアからアルゴ リズムの性能を競うコンペティショ ンが国際的な学会において開催されている [1].対象 となるビデオゲームでは,ゲームが速く進むことによ り,高いスコアを獲得する評価基準があるため,たど った経路を元に戻らないと次のステップに進めない, いわゆる「 袋小路問題」が生じていた.本論文では, MarioAICompetition におけるゲーム学習について,優 秀なスコアを収めているヒューリスティック経路探索 アルゴ リズムである A∗ と,階層型モジュラー強化学 習 [4][5] のハイブ リッド 型経路探索アルゴ リズムを提 あり,それらは下から一番小さな状態である “small”, ジャンプでブロックを壊すことの出来る “big”,火の玉 を繰り出す “fire” である.ゲームの目的は,スタート からゴ ールに到達することであり,ステージの長さは 一律で 4096phy,256cell である.エージェントは敵に 当たると一段階状態が下がり,もし “small” の状態で 敵にぶつかると “ライフ” を失う.またどの状態でも穴 に落ちると “ライフ” を失う.ステージには様々なアイ テムがあり,“コイン ”,エージェントを大きくする “ キノコ”,“big” の状態から “fire” の状態にする “フラ 案し,問題の解決を図る. ワー” が存在する.アイテムは,ステージ上に点在し 2 ていたり,ブロックの内側に隠されている.エージェ MarioAICompetition 2.1 ントの行動選択は一つの動作に対して “ジャンプ ”,“ 概要 MarioAICompetition では,ビデオゲームで AI の性 能を競っている [2].ランダムに生成されるステージをク リアすることにおいては,遺伝アルゴリズムやニューラ ∗ ルネットワークのような機械学習ではなく,A をはじ めとするヒューリスティックな探索が優秀なスコアを収 めている [1].2009 年の大会において GamePlayTrack しゃがむ”,“右”,“左”,“ダッシュ” があり,組み合 わせてとして 32 通り存在する. Game Play Track では,一つの行動を行うために 24fps,つまり 42ms 以内に行動をしなければならない. 3 A∗ アルゴリズム というランダムに生成されたステージをいかに早くゴー スタートノードから,任意のノード n を通ってゴー ルできるかという部門では Robin 氏が作成した A∗ の ルまでたどり着くときの最短経路を考える問題におい て,最短経路のコストを f (n) とおくと, ちそうになるか,もしくは場所を戻るという行動を取 り,結果として時間切れや穴に落ちてゲームオーバー f (n) = g(n) + h(n) になってしまう.A∗ では,ノード の探索条件を設けて である.g(n) はスタートノードから n まで,h(n) は n からゴールノード まで最小コストとする.この時 g(n) と h(n) をあらかじめ与えることは出来ないので f (n) を次のような推定値 f ∗ (n) に置き換え,以下のように 表す. f ∗ (n) = g ∗ (n) + h∗ (n) ここで g ∗ (n),h∗ (n) はそれぞれ h(n),f (n) の推定値 である.g ∗ (n) は,探索の過程で推定値を求めていく ことができるが,n が決まらなければ h∗ (n) を推定す ることはできない.そこで h∗ (n) には適当な推定値を 与え,g ∗ (n) は探索しながら適宜更新することで経路 図 1: 袋小路問題 を求めることを考える.このアルゴ リズムを A 探索ア ルゴ リズムという. このとき h∗ (n) のことをヒューリスティック関数と いい,h∗ (n) が以下の条件 おり,探索木が増えすぎた場合に計算量が膨大となる ことを防いでいる.しかしこの条件によって先の探索 を行えない,つまり短期的な探索しか出来ていないと ∗ ∀n, 0 < = h (n) < = h(n) いうことが分かる.そこで本論文では,A∗ の木構造を 抽出した. を満たすとき,求まる経路がスタートからゴ ールまで の最短経路であることが保証されている [3].これが A∗ 探索アルゴ リズムである. まず初期のエージェントの動きを木構造で表す.こ 1 から順番に探索が行われており,こ こでは,ノード ∗ ビデオゲームにおける A の適用 4 の探索においてコストが一番低い値が行動選択される. 次に袋小路での行動選択であるが,図 1 の赤い点が ビデオゲームへの適用 4.1 木構造の分析 4.3 3 節で述べた考え方を利用して,ビデオゲームでは木 エージェントの位置である.その位置におけるエージェ 構造を元に最短経路の探索を行っている.ただしビデ ントの行動選択は以下のようになる.コストが低いも オゲームにおいて最短経路探索は,現在写っている画 s 面のみの探索であり,先の画面状態を予測して行って 1 いるものではない.現在見えている画面の右端をゴ ー 2 19 78 98 160 257 258 508 509 735 518 756 22 564 828 23 ルとして設定し,周囲の各ノードに対して環境からコ 2 スト計算し,行動を選択して,行動したノード の位置 3 4 5 8 7 からのコスト計算していく.これを繰り返して最短経 3 7 74 75 217 218 456 457 708 709 路を見つけ,その経路を選択して,エージェントが実際 9 に行動した際には,エージェントが存在しているノー ドから再度コスト計算を行う [1]. 8 12 68 69 198 201 418 419 11 10 673 674 21 20 問題点 4.2 ∗ 9 11 43 46 163 164 368 369 A の探索を行うと,敵の数が少ないなど の単調な ステージでは,A∗ は最短経路を簡単に発見し,ゴール 593 594 16 12 13 14 17 18 19 15 まで素早くたどり着いている.しかし,以下の図 1 の ような袋小路問題に対応することが出来ていない.こ 図 3: 袋小路の木構造 の袋小路でエージェントは,行動選択を行っているが, ジャンプを袋小路を越えるようなことは出来ず,穴に落 o のように のを選択しており,行動選択は図の二重丸 s 2 3 14 4 20 5 21 22 24 23 16 6 10 40 41 17 7 1 30 25 8 46 59 9 66 11 75 76 26 12 47 28 13 29 15 42 54 31 48 43 33 18 69 35 32 36 49 44 88 45 19 63 27 64 37 74 78 79 91 87 80 51 38 34 50 52 65 89 66 39 57 53 58 55 90 67 56 68 71 83 84 72 73 85 図 2: 初期の木構造 なる. 行う教師なし学習の一手法である.強化学習アルゴ リ 木構造では,コストの低いものを選択するようになっ ズムは一般に環境同定型と経験強化型の 2 つに大別さ ているが,コスト計算に無駄がある.例えば,図 2 に れる.環境同定型の Q 学習はマルコフ決定過程の環 9 と 11 のノード は行動が違うものの,その おいて, 境で,ある条件下においての最適性が証明されており 行動を選択した時のコスト,行動したときの位置が全 [7],学習精度が高いという特徴があり,経験強化型の て一緒になる.つまり行動を探索しているが結果とし Profit-Sharing は Q 学習と比較し,学習速度が速いと いう特徴がある.本論文では,エージェントの学習に 上位階層にモジュラー Profit-Sharing を適用し,下位 て同じコストと場所になり,無駄な行動探索が多いと いうことが言える. A∗ では,一度訪れたノードに再度訪れる際にはペナ ルティを与えており,その結果行動選択する場所を変 化させるようにしているが,コスト計算をしていくに ジュラー強化学習を用いる.ハンターエージェント同 つれ,訪れる場所がなくなっている.つまり同じ行動 間を学習しなければならず,次元の呪いや学習速度低 選択の繰り返しになっている. 下の問題が顕著化する.階層型モジュラー強化学習は 階層に Q 学習を適用し,階層的に学習を行う階層型モ 士で協調して行動を学習するためには,膨大な状態空 また袋小路では,このような同じ行動の選択が増え, 状態空間とタスクを分割することで,次元の呪いの回 結果として行き来を繰り返したり,穴に落ちてしまう. 避と学習性能を向上させている. また画面の右端をゴ ールとしているが,状態数の増加 により,計算量が増え,先を見通すことが出来なくなっ ている. ハイブリッド ゲーム木探索 5 A∗ のみの探索では,袋小路の問題において長期的な 目標を達成するための探索的行動選択が出来ないため に,本論文では,A∗ と階層型モジュラー強化学習のハ 5.2 モデル構造 階層型モジュラー強化学習では,上位階層の Profit- Sharing で,各エージェントがどこに向かえばよいか のプランニングを行い,エージェントの目標位置策定 を学習する.下位階層の強化学習ではエージェントの 現在位置と上位階層で決定したエージェントの目標位 置の情報を元に Q 学習で行動選択を学習する.このよ うに階層的に学習することで,目標達成のためのタス イブリッド 型のゲーム木探索アルゴ リズムを提案する. クが分割され問題の複雑さが軽減できる.また,それ 図 4 のような強化学習システムの学習により,A∗ の袋 ぞれ上位階層では行動を,下位階層では他のエージェ 小路に陥るようなノード への探索時のコストに重み付 ントの状態を考慮しないことで,状態空間の次元数を けすることで探索を抑制する.提案するハイブリッド 削減できる. ゲーム木探索によって,制限された時間内での効率的 なゲーム木探索が出来ることを期待する [8]. 5.1 階層型モジュラー強化学習 [4][5] 強化学習 [6] は,エージェントが自身の環境の状態 (g1 , g2 , s1 , s2 , s3 , s4 ) = ∪e ∪l (e, gl , se , s ) (1) (e, ∈ E, l ∈ L, e 6= ) を知覚し,その状態に対応して選択した行為の結果に E はすべての子ノード の集合,L はすべてのエージェ 対して環境から報酬を得,その報酬を元に行動学習を ントの集合を示す.g が子ノード の位置,s がエージェ ントの位置を示す. [4] 渡邊俊彦,和田竜也, 「 マルチエージェント追跡問 PS 全状態空間 (g 1 ,g2 ,s1 ,s 2 ,s 3 ,s 4 ) モジュラー構造 強化学習」,バイオメディカル・ファジィ・システ ム,12(2),pp.65-74,2010. エージェント1の 部分木 エージェント2の 部分木 エージェント3の 部分木 エージェント4の 部分木 (1, g 1 ,s 1,s 2 ) (1, g 1 ,s 1,s 3 ) (1, g 1 ,s 1,s 4 ) (1, g 2 ,s 1,s 2 ) (1, g 2 ,s 1,s 3 ) (1, g 2 ,s 1,s 4 ) (2, g 1 ,s 2,s 1 ) (2, g 1 ,s 2,s 3 ) (2, g 1 ,s 2,s 4 ) (2, g 2 ,s 2,s 1 ) (2, g 2 ,s 2,s 3 ) (2, g 2 ,s 2,s 4 ) (3, g 1 ,s 3,s 1 ) (3, g 1 ,s 3,s 1 ) (3, g 1 ,s 3,s 4 ) (3, g 2 ,s 3,s 1 ) (3, g 2 ,s 3,s 2 ) (3, g 2 ,s 3,s 4 ) (4, g 1 ,s 4,s 1 ) (4, g 1 ,s 4,s 2 ) (4, g 1 ,s 4,s 3 ) (4, g 2 ,s 4,s 1 ) (4, g 2 ,s 4,s 2 ) (4, g 2 ,s 4,s 3 ) エージェント毎の現在位置・目標位置を下位階層へ 下位階層では,各エージェントの現在位置と 目標位置を元に実際の行動の学習をQ学習で行う Q学習 図 4: 階層型モジュラー強化学習 6 題のための相対座標系に基づく階層型モジュラー [5] 伊賀上大輔,市村匠「階層型モジュラー強化学習 による動的環境に適応した学習手法を用いる児童 見守りアプ リケーションの提案」,第 28 回ファ ジィシステムシンポジウム予稿集, to appear in 2012. [6] R.S.Sutton and A.G.Barto,“ Reinforcement Learning”, MIT Press, 1998. [7] C.J.Watkins, and P.Dayan, “Technical note:QLearning”, Machine Learning, Vol8, pp.58-68, 1992. [8] 栗田翼,伊賀上大輔,市村匠, 「 A∗ 探索による木 構造の階層型モジュラー強化学習」,2012 IEEE SMC Hiroshima Chapter 若手研究会,to appear in 2012. おわりに 本研究では,A∗ のビデオゲームへの適用例を示し , 連絡先 〒 734-8558 木構造化から問題点をあげ,そこから問題点である袋 小路問題に対して強化学習を用いたハイブリッド 型の 広島市南区宇品東一丁目 1-71 アプローチを提案し,ビデオゲームの袋小路問題に適 県立広島大学 経営情報学部 用している. 市村 匠 問題点として,強化学習に関する計算時間が増加し てしまったため,高スコアの獲得が望めないことがあ る.リアルタイムに学習可能な手法の提案など 改良が 急がれるところである. 参考文献 [1] Julian Togelius and Sergey Karakovskiy and Robin Baumgarten,“The 2009 Mario AI Competition”,Proc. of IEEE Symposium on Computational Intelligence and Games(CIG),2010 [2] Julian Togelius and Sergey Karakovskiy and Noor Shaker,“ 2012 Mario AI Championship”,http://www.marioai.org/Support, July 21 2012 [3] Rina Dechter AND Judea Pearl,“Generalized Best-First Seach Strategies and the Optimality of A∗ ”, Journal of the Association for Computing Machinery, Vol.32, No.3, pp.505-536, July 1985 E-mail: [email protected]