人工知能入門 -探索による人工知能Lecture 12 敵対探索:Alpha-beta枝刈りと評価関数 http://www2.teu.ac.jp/gamelab/LECTURES/ArtificialIntelligence/index.html 1 合理的エージェント これの設計方法は? センサ 知覚 ? エージェント 環境 動作 エフェクタ 2 競合の環境 知覚 環境 探索 探索 探索 エージェント 探索 探索 動作 3 ゲームの中の敵対探索 ゲームが持っている抽象性は興味深い研究対象 ゲームの状態は表現が容易 かなり少数の動作しかできないようになっている 競合的な環境の理想モデル 4 二人ゲームにおける完全な決定 二人でプレイするゲームの一般的な場合 二人をそれぞれをMAXとMINと呼ぶ MAXが先手 ゲームが終わるまで交互に指し続ける ゲームが終わったときにある得点が勝者に与えられ る ゲームの問題定式化 初期状態:盤面の状態とどちらの手番かの指示 オペレータ:プレイヤーが指すことのできる合法手を 定義する 終端テスト:ゲームの終了を決定する 効用関数(報酬関数):ゲームの結果を数値として与 える 5 Min-max探索 A1 A11 A12 3 12 A13 A3 A2 A21 A23 A22 8 2 4 6 A31 A32 14 A33 5 2 6 Alpha-beta枝刈り Min-max探索と同じ結果が早く終わる アイデア:最終結果に関係ないノードを「刈る」 7 Min-max探索 A1 A11 A12 3 12 A13 A3 A2 A21 A23 A22 8 2 4 6 A31 A32 14 A33 5 2 8 Alpha-beta枝刈り A1 ≤2 3 A11 A12 3 12 A3 A2 A13 8 2 A21 A31 A32 2 14 A33 5 2 9 演習問題12-1:Alpha-beta枝 刈り A1 A11 A12 A21 A24 A22 –4 5 3 A3 A2 17 A23 –5 128 A31 A32 –6 A33 5 –12 10 Alphaとbetaの違い 20 b A - a + Q 4 B 20 d c J 23 g e 20 C e b d i G 20 K 23 j k d c E F H 8 4 20 4 D c N β-cut R h a + 84 4 - S V d i o I L M T U W 25 23 54 28 4 -3 + p X -3 α-cut 11 不完全な決定 Min-max探索は無理 ほとんどの場合、終端状態まですべての道筋 を探索する時間がない Min-max探索を利用できる方法 早めに探索を打ち切る 探索木の葉に評価関数を適用する 効用関数を評価関に置き換える 終端テストは打ち切りテストに置き換える 12 評価関数 評価関数 ゲームのある局面から得ることが期待される効用の見積もり 将棋の例 • 駒の価値:「歩」は1点、「金」は6点、「飛」は10点 • 他の特徴: 「玉の安全度」など ゲームプログラムの性能が評価関数の質に極めて存在 している 終端ノードに対して効用関数と合致していなければならない あまり長い時間かかってはいけない 実際に勝つ可能性を正確に反映していなければならない • 同じ勝つ可能性がある局面は同じ評価になる 13 演習問題12-2:五目並べの評価 関数 演習問題:五目並べの評価関数には何が 必要かを討論してください 14 まとめ Alpha-beta枝刈り Min-max探索と同じ結果が早く終わる 最終結果に関係ないノードを「刈る」 α枝刈りとβ枝刈りの2種類がある 評価関数 終端状態まですべての道筋を探索する時間がない 途中で探索を打ち切って、効用関数の変わりに評価 関数を利用 ゲームのある局面から得ることが期待される効用の 見積もり 15 ミニテストについて 明日の朝は3回目のミニテストを行う 持ち込み可 遅刻しないように 内容:ヒューリスティック探索と敵対探索(第9回 ~第12回) 16 最終日についてのお願い 五目並べの大会をスムーズに実施するた めにフラッシュメモリを持ってきて下さい 17
© Copyright 2024 ExpyDoc