エージェントアプローチ人工知能 第3版 五章
- 1. 人 工 知 能 特 論
第五章 ゲーム探索
17646104岩佐幸翠
- 9. ゲームの定式化
𝑺 𝟎 : 初期状態
𝐏𝐋𝐀𝐘𝐄𝐑(𝒔)
状態s に遷移したプレイヤを定義する
𝐀𝐂𝐓𝐈𝐎𝐍𝐒(𝒔)
状態s にいるプレイヤが次に指せる手の一覧を返す
𝐑𝐄𝐒𝐔𝐋𝐓(𝒔, 𝒂) : 遷移モデル
状態s から手a を指した場合に遷移する状態を返す
𝐓𝐄𝐑𝐌𝐈𝐍𝐀𝐋𝐓𝐄𝐒𝐓(𝒔) : 終端テスト
ゲームが終了していればtrueを返す
𝐔𝐓𝐈𝐋𝐈𝐓𝐘(𝒔, 𝒑) : 効用関数
プレイヤpにとっての終端状態sにおける最終スコアを返す
- 13. ゲームの定式化: 図解
S0
S1
𝑨 𝟏 𝑨 𝟐
𝑹𝑬𝑺𝑼𝑳𝑻 𝑺 𝟎, 𝑨 𝟏 = 𝑺 𝟏
S2
𝑨𝑪𝑻𝑰𝑶𝑵𝑺 𝑺 𝟎 = {𝑨 𝟏, 𝑨 𝟐}
ゲームの探索木(ゲーム木)は
ACTIONS(s)とRESULT(s, a)で表すことが出来る
- 32. α-β枝刈り: αカット
MIN は MAX の評価値を最小化させるので
指し手B のミニマックス値は 2 が上限
「?」がどうであれ MAX は指し手Bより
指し手Aを選ぶので、指し手Bは探索不要
MAX
MIN
8 10 2
8 ≦2
指し手A 指し手B
- 33. α-β枝刈り: βカット
MAX は MAX の評価値を最大化させるので
指し手B のミニマックス値は 10 が下限
「?」がどうであれ MIN は指し手Bより
指し手Aを選ぶので、指し手Bは探索不要
MAX
MIN
2 -1 10 ?
2 10>=
指し手A 指し手B
- 51. チェス
IBMのDEEP BLUEが勝利
NULL MOVE
自分がパスしても十分に局面の評価値が高い場合
その局面を探索しない枝刈り法
FUTILITY PLUNING
以下の条件に当てはまる場合枝刈り
β値<=切断ノードの1つ前のノードの評価値−マージン
マージンを動的に推定する手法もある
Editor's Notes
- 評価関数は一般的にはヒューリスティックであったが、将棋ソフトのPonanzaなどは自動で獲得する