
シラバス「人工知能をめぐる動向」の「探索・推論」の勉強をしていて、「MiniMax法」探索法についてすっと入ってこなかったので、まとめます。
MiniMax法とは

Wikipedia先生に聞いてみると、こう教えてくれたよ。
ミニマックス探索とは、想定される最大の損害が最小になるように決断を行う戦略のこと
https://ja.wikipedia.org/wiki/ミニマックス法

ふむ。
オセロや将棋等のゲームをするときに、”2手先”、”3手先”を読んで打つ場所を決めるよね。それを予測するための探索法だと思えばいいね。

なるほど。どうやって予測するの?

「相手は自分のスコアが小さくなるような手を打つ(相手が嫌がる手を打つ)」と仮定して、その上で自分が有利になるような手を予測するんだ。

いや、だからどうやって予測するのよ。

(うるさいな…。)
オセロが単純明快でわかりやすいので、オセロを使って説明をしますね。
とりあえず、2手先読みをした場合の例を以下の図に示すよ。
ちなみに、2手先のパターンは他にもあるけど、便宜上2パターンずつだけ記載しているので、そのへんよろしくね!


ふむふむ。下に書いてある数字は何?
「評価値」って書いてあるけども。

「評価値」はその手のスコアを表すよ。
数字が大きければ、有利な手と考えていいよ。

それはわかったけど、この評価値って誰がどうやって決めてるの?
この盤面が有利かどうかなんてわからないじゃない!

うるさいだまれ!
評価値は評価値なんだ!評価値が何点であろうと説明には関係ない!
とりあえず今は
「この盤面だと、このスコアなんだ。へー。」
くらいに思っておけ!
(本当はしらない)

すまん。取り乱した。
とりあえず、この図の中でどれが一番いい手なのかを探索していくんだけど、
まず、2手先の評価値を比較して、”小さい方”を白のターンに設定するよ!
図に表すとこんな感じ


「相手は自分のスコアが小さくなるような手を打つ」からだね!

そういうこと!
黒のターン後の盤面の3パターンで同じことをするとそれぞれのパターンの評価値は以下のようになるよ。


あとは、簡単!
評価値は左から”2”、”3”、”6”
3パターンの中で自分(黒)が有利になるのはどーれだ!

一番右の評価値が”6“になる手だ!

正解!


ということで、MiniMax法はこんな感じです!
MiniMax法は「相手は自分のスコアが小さくなるような手を打つ」と仮定して、予測された手の中から最善の手を予測するための探索手法

(ネットで調べたりしたとき、すっと入って入ってこなかったけど、まとめてみたらすっごい単純だった…。なんか恥ずかしい…。)
コメント