1行定義
Mini-Max法とは、対戦ゲームで相手も最善の手を選ぶと仮定し、探索木の評価値を末端からさかのぼって自分の指す手を決める方法のことです。
くわしく
Mini-Max法は、チェスや将棋、オセロのように、2人が交互に手を選び、サイコロのような偶然の要素がなく、盤面の情報がすべて見えているゲーム(二人零和確定完全情報ゲーム)で、次の一手を決める方法です。考え方の土台は、数学者フォン・ノイマンが1928年に示したゲーム理論の定理にあります。1950年には、クロード・シャノンがコンピュータにチェスを指させる方法として論じました。
仕組み
まず、今の局面から先の手順を探索木に広げます。末端の局面には、自分にとっての有利さを表す評価値をつけます。終局まで読み切れるなら勝ち・負け・引き分けを使い、読み切れないなら評価関数で見積もった値を使います。
次に、末端から上へ向かって評価値を決めていきます。相手の手番のノードには、その下にある値の中で最も小さい値を入れます。相手は自分にとって最も不利な手を選ぶと仮定するからです。自分の手番のノードには、最も大きい値を入れます。最後に、最上段で最大の値につながる手を選びます。最小(Min)と最大(Max)を交互に取るので、Mini-Max法と呼びます。
意味と限界
この方法は、相手がどれだけうまく指しても確保できる値が最も大きい手を選ぶ、慎重な戦略です。ただし、先読みの手数が増えると、調べる局面の数が爆発的に増えます。そこで、結果を変えずに無駄な枝を省くαβ法が使われます。囲碁のように局面の数が非常に多く、評価関数を作りにくいゲームでは、モンテカルロ法を使った探索が発展しました。
覚え方
「相手の番はMin、自分の番はMax。最悪の場合の中で最善を選ぶ」と覚えます。
G検定での出題
出題のされ方
自分の手番では最大、相手の手番では最小の評価値を選ぶ仕組みや、探索木の末端の評価値から選ばれる手を求める形で問われます。計算を省くαβ法との関係もあわせて問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| Mini-Max法このページの用語 | 対戦ゲームで相手も最善の手を選ぶと仮定し、探索木の評価値を末端からさかのぼって自分の指す手を決める方法 |
| αβ法 | Mini-Max法の探索で、調べても選ぶ手が変わらないと分かった枝を省き、同じ結果をより少ない計算で得る方法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Mini-Max法で使う評価値は局面の有利さを表す数値で、終局まで読み切れない場合は途中の局面の値を評価関数で見積もる。
答えを見る
答え ◯ 正しい
チェスなどは終局まで読み切れないため、途中の局面の有利さを評価関数で数値にします。シャノンが1950年の論文でこの考え方を示しました。
-
Mini-Max法は、相手が悪い手を選ぶことを前提に、その失敗から得られる利益が最も大きくなる手を選ぶ方法である。
答えを見る
答え × 誤り
逆です。相手は常に自分にとって最も不利な手を選ぶと仮定し、最悪の場合でも得られる評価値が最大になる手を選びます。
-
自分の候補手がAとBで、Aに対する相手の応手の評価値が3と9、Bに対する応手の評価値が5と6のとき、Mini-Max法で選ばれるのはBである。
答えを見る
答え ◯ 正しい
相手は最小を選ぶので、Aの価値はmin(3, 9)=3、Bの価値はmin(5, 6)=5です。自分は大きいほうのBを選びます。