90 likes | 242 Views
人工知能 L ecture 8. ゲームの手の決定、ミニマックス枝狩り 枝刈りの利得計算. ゲームの手の決定. ミニマックス定理. min node : 相手の利益を最小にする手を選ぶ. MAX node :自分の利益を最大にする手を選ぶ. f(S). f(1). S. 1. 1. 2. f(2). f(1). f(4). 4. f(3). 3. f(S) = Max {f(1), f(2) }. f(1) = min {f(3), f(4) }. F(s) = MAX { F(1), F(2) }. S. 1. 2. 4. 3. 7.
E N D
人工知能Lecture8 ゲームの手の決定、ミニマックス枝狩り 枝刈りの利得計算
min node: 相手の利益を最小にする手を選ぶ MAX node:自分の利益を最大にする手を選ぶ f(S) f(1) S 1 1 2 f(2) f(1) f(4) 4 f(3) 3 f(S) = Max {f(1), f(2)} f(1) = min {f(3), f(4)}
F(s) = MAX { F(1), F(2) } S 1 2 4 3 7 8 9 F(1) = min { F(3), F(32) } F(9) F(7) F(8) F(3) = MAX { F(7), F(8), F(9) }
ミニマックス定理 • 自分と相手が交互にminとMAXを取り合う F(s) = MAX { F(1), F(2) } F(1) = min{ F(3), F(4) } F(3) = MAX { F(7), F(8),F(9) }
枝刈でどこまで節約できるのか? • 親節がゴールでなければ子節を展開するが、 • 最初の子節は必ず調べなければならない • 2番目以降は刈れる可能性がある • 子節nが刈れるのはその親,及び親の親がいずれも1番目に探索される子節でない場合 • 始節Sからnに至る節の列が2点続いて1番目なら刈れる可能性はない(必ず調べる必要) • 系列を探索される番号で表す:(1,2,3)なら,1番目の節の次に2番目の節,3番目の節,となる
刈れない節の数 • 系列の奇数段目の節が全て1なら刈れる可能性ゼロ,偶数番目の節が全て1でも同じ • 系列長をkとして,m分木の場合、 • ほぼmのk/2乗の2倍→半分の深さの木を探索するのと同じ手間 • まったく刈れない場合もあるので • 結局、mのk/2乗以上でmのk乗以下、という程度