ゲームAI 東京情報大学 総合情報学科 准教授 マッキン ケネスジェームス 東京情報大学 1 講義概要 ゲームAI – ゲームAIの種類や仕組みについて説明し、どの ように対戦相手が賢くなるのか解説します 講義の流れ – ゲームAIとは:なぜゲームAI? – ゲームAIの概要 – ゲームAIの仕組み:「学習」について – ゲームAIの今後:「群知能」について 東京情報大学 2 ゲームAIとは • ゲームAI(Artificial Intelligence)= ゲームで利 用される人工知能 • ゲーム = デジタルゲーム • 人工知能 = 「知的」なコンピュータプログラム デジタルゲームの中で、知性を感じさせる存在 例)コンピュータが操作するキャラクター (対戦相手や味方のキャラクター) 東京情報大学 3 なぜゲームAI? ゲームはAI研究の格好の実験対象 1. 問題(対象)の範囲が限定されている • ルールが決まっている。ゲーム世界が有限。 2. 問題(対象)が複雑 • 人間にも簡単に答えが見つからない 3. 正解が未知だが、解の評価ができる • 点数などで評価できる Unknown Horizons 4. 共通の問題として、様々な研究と比較ができる • 違った研究と同じ土俵で良し悪しを比べることができる 東京情報大学 4 ゲームAIの種類 デジタルゲームの中で、知性を感じさせる存在 • キャラクターAI – 知性の対象が「ゲームキャラクター」 として確認できる • メタAI Paintown – ゲームの進行を制御する知的プログラム • マップ・ダンジョンの自動生成 • 難易度の自動調整 • イベントやチャレンジ(敵)の発生タイミング 東京情報大学 5 ゲームAIの種類 • ステージ駆動型AI – ステージの一部として決まった動作を行う 例)インベーダーゲーム • 反射型AI – 決まった反応を記述 例)格闘ゲーム Project Starfighter • 構造化AI – 複雑な条件に対する振る舞いを構造的に記述 • 自律型AI – プランニング(計画) – 学習型 東京情報大学 BZFlag 6 キャラクターAI(自律型) • ゲーム内のキャラクター(対戦相手や味方) の思考・動作を決定するプログラム センサー (環境の認識) 思考 (計画の決定) 行動 (計画の実行) 環境 (行動の結果) 東京情報大学 7 ゲームAIの例 敵を発見 (環境の認識) 攻撃を決定・ 狙う方向を計算 (計画の決定) 発射 (計画の実行) ! 当たった/外れた (行動の結果) 東京情報大学 8 ゲームAIの例 退避を決定・ 移動方向を計算 (計画の決定) 敵の攻撃 (環境の認識) 移動 (計画の実行) ! 避けた/当たった (行動の結果) 東京情報大学 9 ゲームAIの仕組み • 知能の獲得方法 1. プログラマが事前に知能を組み込む方法 プログラマの思った通りに振る舞う。確実。 プログラマ以上には賢くならない。 2. プログラムが学習により知能を獲得する方法 プログラマよりも賢くなる可能性がある。思いもよら ない行動が見られる。 不確実。調整やデバッグが難しい。 東京情報大学 10 ゲームAIの応用事例 非学習型 • Finite State Machine (有限状態機械) – Quake, Halo など多くのFPS(一人称シューティング)で利用 • Planning (プランニング) – Age of Empire, F.E.A.R. など戦略性のあるゲームで利用 学習型 • Genetic Algorithm (遺伝的アルゴリズム) – アストロノーカ(1998) • Artificial Neural Network (ニューラルネットワーク) – Creatures, BATTLECRUISER:3000AD, がんばれ森川君2号, Colin McRae Rally 2.0, Black & White 東京情報大学 11 強化学習 基本的な考え方:アメとムチ • 良い行動を取った時には褒める(プラス評価) • 悪い行動を取った時には叱る(マイナス評価) 特徴 • 正解は事前に分からなくても良い • 少しづつ答えを良い方向に導く効果がある 東京情報大学 12 強化学習の簡単な例 • • • • • 迷路の分岐でどちらが正しいか分からない ならサイコロ(ランダム)で決める 選択の結果、良かった場合はプラス評価 悪かった場合はマイナス評価 次に同じ分岐に来た時、評価を参照して決定 評価=1 評価= -1 東京情報大学 13 強化学習の具体例 • 1対1のシューティングゲームを考えてみる • 攻撃(直進する弾) – エネルギーを少し(2)消費する – 速度は遅い(避けることができる) – 5発連続して発射することができる • 防御(シールド) – 弾に被弾するとエネルギーを大量(50)に消費する – シールドを張っている間は攻撃できない – 張っている間はエネルギーを消費(1)する • エネルギー – 動いていないと徐々に(1)補充される – なくなると攻撃も防御もできない 東京情報大学 14 AIの思考の設計 判断条件 エネルギーの 残量は多い? Y/N 移動 攻撃・防御 相手は前方 にいる? 相手の弾は 前方にある? Y/N 相手の前方 から逃げる 攻撃 相手の前方 に向かう Y/N 停止 シールドを張る シールド解除 東京情報大学 15 Decision Table(意思決定表) ケース 条件 残量が多い Y Y Y 相手が前方 Y Y N N Y Y N N 弾が前方 Y N Y Y N Y X X X Y N 相手から逃げる 相手に向かう 行動 X X X N N N N X 移動を停止 X 攻撃 シールドを張る N X X シールドを解除 X X X X X X • どの状態の時にどんな行動を取るか 東京情報大学 16 強化学習の評価テーブル ケース 条件 行動 残量が多い Y Y Y 相手が前方 Y Y N N Y Y N N 弾が前方 Y N Y N Y N Y N 相手から逃げる 0 0 0 0 0 0 0 0 相手に向かう 0 0 0 0 0 0 0 0 移動を停止 0 0 0 0 0 0 0 0 攻撃 0 0 0 0 0 0 0 0 シールドを張る 0 0 0 0 0 0 0 0 シールドを解除 0 0 0 0 0 0 0 0 Y N N N N • 行動の評価値を強化学習で埋めていく 東京情報大学 17 強化学習後 ケース 条件 行動 残量が多い Y Y Y 相手が前方 Y Y N N Y Y N N 弾が前方 Y N Y N Y N Y 相手から逃げる 0 -1 -1 0 1 2 2 -1 相手に向かう 4 2 0 -1 0 移動を停止 -1 0 -1 0 攻撃 -1 3 シールドを張る 2 -1 2 -1 2 0 シールドを解除 0 -1 -1 -1 0 3 -1 3 3 0 Y 4 N N N N 0 N 0 0 -1 3 4 -1 -1 0 0 2 -1 • 評価の一番高い値を選択する • 負けこんでくると、評価が下がるので行動が変わる 東京情報大学 18 実験プログラム • 強化学習を用いた簡単なシューティングを 作ってみた 東京情報大学 19 ゲームAIの今後 • 群知能 – 小さな知能を沢山集めて、単体では解くことので きない複雑な問題を解く – マルチエージェントにも似ているが、より集団の 知能に重きを置いている – 知能の「創発」の研究も進められている Nexuis 東京情報大学 Glest 20 まとめ • ゲームAIの分類 • ゲームAIの構成 – 認識 計画 行動 環境 • 学習型AIの強化学習 • シューティングゲームへの応用 – 意思決定表を用いた 東京情報大学 21 おわりに • ゲームAIのメリット – ゲーム業界からは賢い対戦相手の実現 – 研究者側からは人工知能の評価環境 – 大学で生まれたゲームAIも商品化されている (Halo2,Halo3,F.E.A.R.) – 今後は、人工知能の重要な応用の一つになる 東京情報大学 22
© Copyright 2024 ExpyDoc