Transcript 藤田将義
リバーシ
06a1056 藤田将義
目次
思考ルーチン
探索アルゴリズム
Minimax法
αβ法
negamax法
NegaScout法
評価関数
定石
思考ルーチン
評価関数
局面の良し悪しを判定
探索ルーチン
最善手を効率よく探す
Minimax法
現在の状態(コンピュータの手番)
-3
相手の手番
-3
N0
N1
-8
N2
-9
コンピュータ
の手番
N0-0
N0-0
N0-0
N1-0
15
-3
8
3
N1-1
N1-2
N2-0
N2-1
N2-2
-8
20
-9
-7
18
αβ法
現在の状態(コンピュータの手番)
-3
相手の手番
-3
N0
N1
-8
N2
-9
コンピュータ
の手番
N0-0
N0-0
N0-0
N1-0
15
-3
8
3
N1-1
N1-2
N2-0
N2-1
N2-2
-8
20
-9
-7
18
negamax法
常に符号を反転させ最大値をとる方法
現在の状態(コンピュータの手番)
-3
相手の手番
3
-3
N0
N1
-8
8
N2
N0-0
N0-0
N0-0
N1-0
N1-1
N1-2
N2-0
-15
15
3-3
-8
8
-3
3
8-8
-20
20
9-9
9
-9
N2-1
N2-2
7-7
-18
18
NegaScout法
null window search
(α, β)のβをα+1とする
幅がとても狭いため通常のαβ法よりも
多くの枝刈りが発生し、高速に探索できる
正確な評価値は分からない
αより大きいか小さいかだけ分かる
NegaScout法
NegaScout法の原理
最良手と思われるものを通常の探索窓で探索する
null window searchを行う
α以下
探索を止め、次のノードへ
例外
α以上β以下
通常の探索窓で再探索
β以上
カット
最初に探索するノードには、null window search をしない
葉ノードから2世代目までの親ノードでは null window
search が正しい値のため再探索しない
Minimax
αβ法
Minimaxを効率化したもの
negamax法
αβ法のプログラムを改良したもの
NegaScout法
αβ法を効率化したもの
評価関数
得点テーブル
盤面に点数をつける
着手可能手数
序盤では石をなるべく減らしたほうが有利
相手に石を囲ませるよう打たせると有利
打てる手が少ないと、悪手を打たざるを得なくなる場合が増える
開放度
石の周りに空きマスが多いほど、後で返される可能性
が高い
確定石
裏返せない石
辺
確定石になる可能性が高い
定石
探索ルーチンが苦手とする序盤を有利に
戦うために、定石を実装
次回の予定
実際に動かせるようにしていく
参考文献
リバーシのアルゴリズム
著者 Seal Software
ご清聴ありがとうございました