見出し画像

【専門学校の授業】αβ法を別アプローチで解説【AI-G検定】

このNoteでは「αβ法」を、IT専門学校の先生が解説します。

「どの解説サイトを見ても、1枚の図解にゴチャゴチャ書いててよくわからない」って方向けに書きました。

テキストの71~73頁です。

テキストは必ず最新版(第三版, 2026/02月現在)。旧版はαβ法が致命的に間違ってます。>amazon検索結果

「αβ法」は、「Mini-Max法」の探索を途中で止めて効率化する方法です。

「Mini-Max法」の理解が必要です。探索木の手番とスコアの意味は、前回のNoteで理解してください。>【G検定】Min-Max法のNote*

「αβ法」は、テキストにゴチャった図と長々しい文章で解説されてて、正直面倒ですね。教える方も教わる方も。

このNoteでは、全て探索した場合と、サボった場合を図解にしました。サボっても結論が変わらないからカットするんだな、とスムーズに理解できたら嬉しいです。

「βカット」からがお薦めです。

探索を2つサボっても、左路線になる結論は同じです。

「αカット」は、考える階層が増えるので複雑。

探索を2つ(5つ)サボっても、左路線になる結論は同じ。

自分でも、色んな数値・色んな木を作って、あーだこーだと考えて見て下さいね。正解は分からなくても、考えるのが大事なトレーニングです。

それでは始めましょう!


私のNoteは500記事以上あります(2025/11/30)。
>全Noteへのリンク



βカット

下図。探索を2回やらなくても良いのが分かります。

右下図。右8(>左7)が見つかった時点で、探索を止めても結論は変わりませんね。相手は左7を必ず選びます。

理屈を言語にします。

青帯では自分は大きい数を選ぶけど、
橙帯で相手は小さい数をどうせ選ぶので、
いくら右で8や9を見つけても、相手は左7を選ぶのは変わりません。

よって、右8(>左7)を見つけた時点で、更に右を探す必要ないので、探索を止めます。「βカット」。



考察 | カットして良い/ダメな場合

本当に右8後を探さなくて良いのか考えてみます。

A)8より大きい値が見つかる場合
B)8より小さい値が見つかる場合
を考えます。
AとBで結論(左7)が変わらないので、右8を見つけた時点で探索を止める(βカット)のを理解します。


βカットできない場合も考えます。

右5では相手は右5を選ぶので、
さらに探索して左7を超える手がでるか確認が必要です。

左7を上回れる手が右に出たら、相手は左を選ぶのが確定します。
A)8が見つかったので、相手は左7を選びます。
B)右5, 1, 2で上回る手がありませんでした。相手は右1を選びます。

相手は左7, 右1を選ぶか結論が変わるので、βカットできません。



法則 | カットの条件

βカットできる条件を考えてみます。

左7より大きい値が登場したらβカットできます(左図2つ)。登場しなかったらβカットせず、探索を続けます(右図1つ)。

テキストの記述を解釈します。
最小を選択する局面で、探索不要の自分の枝を切り落とす」。

橙:「最小を選択する局面」=相手の手番
桃:「探索不要の自分の枝を切り落とす」



演習

最後に問題演習をしましょう。

❶前節の「<ならβカット」の法則を使って、βカットできる枝を示して下さい。
❷探索を最後まで行った結果を図示して下さい。

解答は以下です。

うっかり見えないように、離しておきますね。




計算判断は正しくできたようでしょうか?
(難しいですよね。もし私にも間違いがあったらコメントorDMで教えてくださいね💦)

βカットできるのは、9, 4枝でした。




αカット

下図。相手が左7・右6以下を選ぶと分かった時点で、自分が左7を選ぶ結論が変わらない話。

最上層青:自分は左を必ず選ぶ結論が変わりません。

【※スキップして良いです】
なぜなら
中間橙:右で6が見つかり、相手は6か更に小さい手を選びます。最上層で自分は左7を選ぶしかないです。
最下層青:右で6より小さい4を見つけたら相手はそれを選ぶので、自分は最上層で左7を選ぶ。一方、右で6より大きい8を見つけても相手は6を選ぶので、自分は最上層で左7を選ぶ。

最下層で右6が見つかった時点で、それ以上何が見つかろうと、最上層で自分は左7を選ぶのは変わりません。

よって最下層の右探索を止めるのが「αカット」。


簡単のために最下層を省いて2層にしますね。

βカットの時みたく、2層になったので考え易い/見やすい。

4, 7枝を見なくても、左7の結論は変わりません。右に6(<左7)が出た時点で、それ以上探さないで良いんです。



考察 | カットして良い/ダメな場合

本当に右6後を探さなく良いか考えてみます。

A)6より大きい値が見つかる場合
B)6より小さい値が見つかる場合
を考えます。
AとBで結論(左7)が変わらないので、右6を見つけた時点で探索を止める(αカット)のを理解します。


αカットできない場合も考えてみます。

右全てが左7より大きい値だと、自分(私)は右を選びます。右で左7より小さい値が見つかると、自分(私)は左を選びます。

左7を下回る手が右に出たら、自分は左を選ぶのが確定します。
A)右8, 9, 9で下回る手がありませんでした。自分は右8を選びます。
B)右4が見つかったらので、自分は左7を選びます。

自分が左7, 右8を選ぶか結論が変わるので、αカットできません。



法則 | カットの条件

αカット出来る条件を考えてみます。

左7より小さい値が登場したらαカットできます(左図2つ)。登場しなかったらαカットせず、探索を続けます(右図1つ)。

テキストの記述を解釈します。
最大を選択する局面で、探索不要の相手の枝を切り落とす」。

青:「最大を選択する局面」=自分(私)の手番
桃:「探索不要の相手の枝を切り落とす」



演習

最後に問題演習をしましょう。

❶前節の「>ならαカット」の法則を使って、αカットできる枝を示して下さい。
❷探索を最後まで行った結果を図示して下さい。

解答は以下です。

うっかり見えないように、離しておきますね。



計算判断は正しくできたようでしょうか?
(難しいですよね。もし私にも間違いがあったらコメントorDMで教えてくださいね💦)

αカットできるのは、9, 4枝でした。




試験問題への対策

αカット/βカットは、考えるのも難しいですが、テキストにも問題文にもこれまた難しい記述で出てくるんです。

「スコアが~となるものを選択する局面」って、何のこっちゃって思う文言。私も受験した時は暗記しました。

私も授業をして解説Noteを作って、ようやっと腑に落ちました。

理解できなければ、
最小を探したい→βカット
最大を探したい→αカット
とキーワードで暗記で。間違っても甘んじて受けましょう。


では、始めますね。

テキストの文言と、図解の色を対応づけました。

72頁「スコアが最小となるものを選択する局面(橙)で、探索する必要のない自分の枝(青)を切り落とす(桃)行為をβカット」
73頁「スコアが最大となるものを選択する局面(青)で、探索する必要のない相手の枝(橙)を切り落とす(桃)行為をαカット」

んー。

暗記した方が速そうですね。どうせ出ても1~2問でしょう。

最小を探したい~自分の枝→βカット
最大を探したい~相手の枝→αカット




間違った解説を正そう

ここまで見てきたように、α/βカットはヤヤコシイですよね。

シンプルに2層にしたり、色分けしたり(青, 橙)、言葉に気を付けたり(自分=私, スコア=点差)しても、ヤヤコシイ。

公式テキストも間違えてたんですよ。しかも修正版ですら間違ってました。現在の第三版でやっと正しくなりました。


では、以下のデータで、α/βカットの位置を再度計算しなおしてください。

βカットで相手の枝を切ってるし、αカットで自分の枝を切ってるのでオカシイです。てか、上図はαカットを最上層でやってるけど、右を1つも探さないでなんでカット(探さないでOK)と判断できるんでしょうか。


解答は以下になると思います。
※もし間違いあったらコメントorDM頂けますと助かります💦


では更に酷かった修正前(原版)。

今度はβカットは自分の枝切り、αカットは相手の枝切りしてるのは正しいです。

でも、βカットを更に大きい値が見つかるかもしれない状況でしているのがオカシイ。

左下の6。なぜか6より小さい値がでると分かってβカットしたの。それって、探索を続けて2を見つけてるので、カットしてないです。

右下の8の次のβカットも同じです。なんで8より小さいからと分かってカットしたんですかね。


解答は以下になると思います。
※もし間違いあったらコメントorDM頂けますと助かります💦

私が受験した頃は、テキスト第1版と2版の頃です。2回ぐらい問合せのですが、マトモな返事がこなくて「あー編集部は理解してないんだなぁ(それか私の理解が浅すぎるのか)」と思いましたが、第3版で更に修正されたので、やっぱりね、という印象です。

ヒドイ目に遭いました…。


インターネットには色々な図解がありますが、間違いも沢山あるので注意して下さい。逆に、自分で考える練習にはなります。




まとめ

お疲れ様でした!

理解できましたでしょうか?

「βカット」の方が考えやすく、αとβが逆なのが気持ち悪いですね💦

このテキストの数値例はとても洗練されてます。

ご自分でも適当に木構造を作ってみてください。全部探索した場合を書いて、探索をカットできるか考えてみましょう。かなり頭の体操になります。αカットとβカットが複数できたり、重複したりとゴチャゴチャ💦


「αβ法」は難しいですよね。

正直、私はG検定に合格して、授業で教えた時に”あれ?なんかオカシクね?”と混乱したことがあります。授業中に先生で混乱したらダメなんです。先生が脳内で自己解決しても、学生にはストレートに教えないと混乱しますから。

次回は誤差関数(損失関数, Loss関数)かなぁと考えています。>【G検定】誤差関数のNote(*作成中)

繰り返しますが、テキストは必ず最新版(第三版, 2026/02月現在)を、お願いしますね。>amazon検索結果

ではまたお会いしましょう!


いいなと思ったら応援しよう!

せんないの過去問解説Note 学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ