藤田将義

リバーシ
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
ご清聴ありがとうございました