αβ木ってなぁに
(GPTコピペ)
🐹 おっ✨「αβ法」だね! これは ゲーム木探索の効率化テクニック のひとつだよ🎮🧠
🌳 ざっくり説明
- 将棋とかオセロみたいな「2人対戦ゲーム」では、先を読んで「どの手が有利か」を評価するために ミニマックス法 っていう探索を使う。
- でもミニマックスは「全部の手を調べる」から、計算量が爆発しちゃう。
- そこで出てくるのが αβ法(アルファ・ベータ法, α-β pruning)!
👉 ポイントは「勝敗に影響しない枝は切り捨てる」こと。 つまり「どうせこっち選ばないから、この手は読む必要ないな」って枝を探索から省略できる。
🔑 仕組み
- α (アルファ):先手にとって「これ以上悪くはならない」保証値。
- β (ベータ):後手にとって「これ以上良くはならない」保証値。
- 探索中に α ≥ β になったら、「ここから先は調べても無駄」と判断して枝を切る。
🏃♀️ 例イメージ(オセロ風)
- ある手を調べたら「勝率50%は確保できそう(α=0.5)」ってわかったとする。
- 別の枝を見ていて「これ以上の勝率は絶対に出ない(β=0.4)」ってなったら、その枝は探索不要。
- こうやって読みを減らしていく。
✨ メリット
- ミニマックス法と結果は同じ(最適解は変わらない)。
- でも調べる枝がめっちゃ減るから、計算スピードが爆速化する。
- 実際、チェスや将棋のAIもこの方法をベースにして発展してきた。
💡まとめると
- ミニマックス法=全部読む
- αβ法=ムダな枝は切って効率化