αβ枝狩り

Download Report

Transcript αβ枝狩り

人工知能
ミニマックス枝狩:
オープンリストを表示する
Lecture 6
アルファ・ベータ枝刈
1
2
先手が選択
始ノードSで先手は二つの枝のうちどちらかを選択する:
探索プログラムはまずSをopenListにいれ、解かどうか調べる
Sは解ではないので、これをopenListから出して、子ノード
1と2をopenListに入れる
アルファ・ベータ枝刈
1
2
相手が選択
アルファ・ベータ枝刈
Open
List
更新された
αβ(n)
S
1,2
1
2
3,4,2
αβ(3)=(5,5)
7,8,9,4,2 αβ(3)=(3,∞)
7
8
9
3
5
4
8,9,4,2
αβ(3)=(5,∞)
9,4,2
αβ(3)=(5,5)、
αβ(1)=(-∞,5)
アルファ・ベータ枝刈
Open
List
更新された
αβ(n)
S
αβ(1)=(-∞,5)
1
αβ(3)=(5,5)
2
1,2
3,4,2
7,8,9,4,2 αβ(3)=(3,∞)
7
8
9
3
5
4
8,9,4,2
αβ(3)=(5,∞)
9,4,2
αβ(3)=(5,5)、
αβ(1)=(-∞,5)
アルファ・ベータ枝刈
αβ(1)=(-∞,5)
αβ(4)=(4,∞)
7
8
9
3
5
4
更新された
αβ(n)
10,11,12,2
αβ(4)=(4,∞)
11,12,2
αβ(4)=(5,∞)
ここで親ノード1
の範囲が5以下
であることから
親ノード1は5に
確定し、ノード4
以下をαカット
するため、ノー
ド12は調べる
必要がない
2
1
αβ(3)=(5,5)
Open
List
4,2
10
11
12
4
5
7
アルファ・ベータ枝刈
(5,∞)
(5,5)
2
1
X
(5,5)
(5,5)
7
8
9
3
5
4
10
11
12
4
5
7
枝狩り:βカットの場合
節1のβ以
上の範囲に
(-∞,5)
1
αβ(4)=(-∞ ,5)
節4の範囲
が来ると
X
12
その子節は
もう調べる
必要なしと
して カット
枝狩り:αカットの場合
節1のα以
下の範囲に
(5, ∞)
αβ(4)=(-∞ ,5)
2
X
節2の範囲
が来ると
その子節は
もう調べる
必要なしと
して カット