シラバス「人工知能をめぐる動向」の「探索・推論」の勉強をしていて、「MiniMax法」探索法についてすっと入ってこなかったので、まとめます。
MiniMax法とは
Wikipedia先生に聞いてみると、こう教えてくれたよ。
ミニマックス探索とは、想定される最大の損害が最小になるように決断を行う戦略のこと
https://ja.wikipedia.org/wiki/ミニマックス法
ふむ。
オセロや将棋等のゲームをするときに、”2手先”、”3手先”を読んで打つ場所を決めるよね。それを予測するための探索法だと思えばいいね。
なるほど。どうやって予測するの?
「相手は自分のスコアが小さくなるような手を打つ(相手が嫌がる手を打つ)」と仮定して、その上で自分が有利になるような手を予測するんだ。
いや、だからどうやって予測するのよ。
(うるさいな…。)
オセロが単純明快でわかりやすいので、オセロを使って説明をしますね。
とりあえず、2手先読みをした場合の例を以下の図に示すよ。
ちなみに、2手先のパターンは他にもあるけど、便宜上2パターンずつだけ記載しているので、そのへんよろしくね!
ふむふむ。下に書いてある数字は何?
「評価値」って書いてあるけども。
「評価値」はその手のスコアを表すよ。
数字が大きければ、有利な手と考えていいよ。
それはわかったけど、この評価値って誰がどうやって決めてるの?
この盤面が有利かどうかなんてわからないじゃない!
うるさいだまれ!
評価値は評価値なんだ!評価値が何点であろうと説明には関係ない!
とりあえず今は
「この盤面だと、このスコアなんだ。へー。」
くらいに思っておけ!
(本当はしらない)
すまん。取り乱した。
とりあえず、この図の中でどれが一番いい手なのかを探索していくんだけど、
まず、2手先の評価値を比較して、”小さい方”を白のターンに設定するよ!
図に表すとこんな感じ
「相手は自分のスコアが小さくなるような手を打つ」からだね!
そういうこと!
黒のターン後の盤面の3パターンで同じことをするとそれぞれのパターンの評価値は以下のようになるよ。
あとは、簡単!
評価値は左から”2”、”3”、”6”
3パターンの中で自分(黒)が有利になるのはどーれだ!
一番右の評価値が”6“になる手だ!
正解!
ということで、MiniMax法はこんな感じです!
MiniMax法は「相手は自分のスコアが小さくなるような手を打つ」と仮定して、予測された手の中から最善の手を予測するための探索手法
(ネットで調べたりしたとき、すっと入って入ってこなかったけど、まとめてみたらすっごい単純だった…。なんか恥ずかしい…。)
コメント