そっぽの指し手を排除する手法の提案 松原圭吾橋本剛 2 飯田弘之 2,3
1 静岡大学情報学部 2 北陸先端科学技術大学院大学情報科学研究科 3 科学技術振興事業団さきがけ研究 21 r機能と構成」領域 E-mail:ω0086@α.inf.shizuoka.ac伊, {t・h舗hi ,iida}@jaist.ac.jp
概要
ゲーム木探索ではいかに無駄な展開の探索を抑止するかが重要な課題である.将棋においては,戦いが起 とっている地点から遠くあまり意味のない無駄な手が多く存在し,そっぽの手の探索は無駄である場合が多 い.本稿では将棋においてそっぽの手の生成を防止する前向き枝刈り手法 SS-Cut(Static
Soppo
Cuも)およ び DS-Cut(DynamicSoppo
Cuも)を提案する.我々の将棋プログラム TACOS に本手法を実装したところ, 従来のプログラムよりも性能が向上した. SS-Cuもは第 14 回世界コンピュータ将棋選手権において,TACOS 初の本戦出場の原動力となった.また, DS司Cut は第 15 回世界コンピュータ将棋選手権で, 2 年連続本戦出 場に大いに貢献した.A
technique o
f
pruning wrong d
i
r
e
c
t
i
o
n
moves
K
e
i
g
o
Matsubara
1,
T
s
u
y
o
s
h
i
Hashimoぬ,2 ,
H
i
r
o
y
u
k
i
Ii
da
2,3
1 Dep紅白nent
o
f
Computer Science
,
S
h
i
z
u
o
k
a
U
n
i
v
e
r
s
i
t
y
2J
a
p
a
n
Advanced
Instiもuteo
f
S
c
i
e
n
c
e
a
n
d
T
e
c
h
n
o
l
o
g
y
3
PRESTO
,
J
a
p
a
n
S
i
c
e
n
c
e
a
n
d
T
e
c
h
n
o
l
o
g
y
Agency
A
b
s
t
r
a
c
t
I
t
is 回 impor凶nt theme むhatp
r
u
n
i
n
g
u
s
e
l
e
s
s
mo刊5i
n
game tree 関arch.
I
n
Shogi
,
there 釘e"
S
o
p
p
o
(
w
r
o
n
g
d
i
r
e
c
t
i
o
n
)
moves" もhat
i
s
left 仕omf
i
g
h
t
i
n
g
area 叩d
m
e
a
n
i
n
g
l
e
s
s
.
We
p
r
o
p
o
s
e
two f
o
r
ュ
ward p
r
u
n
i
n
g
methods
,
S
t
a
t
i
c
Soppo C
u
t
(
S
S
-
C
u
t
)
a
n
d
Dynamic Soppo Cut
(DS-Cuも).The
propω:edmethods w
e
r
e
i
n
c
o
r
p
o
r
a
t
e
d
i
n
our ∞mputerS
h
o
g
i
p
r
o
g
r
a
m
TACOS 血d
some e
x
p
e
r
i
m
e
n
t
s
p
r
o
v
e
d
i
t
s
e
f
f
e
c
t
i
v
e
n
e
s
s
.
SS-Cuも叩d DS-Cu色 broughtTACOS o
n
t
h
e
f
i
n
a
l
a
t
t
h
e
14th 阻d
1
5
t
h
World Computer
S
h
o
g
i
C
h
a
m
p
i
o
n
s
h
l
p
.
1
はじめに
ゲーム木探索ではいかに無駄な展開の探索を抑 止するかが重要な課題である.将棋においては,・戦 いが起こっている地点から遠くあまり意味のない 無駄な手が多く存在する.ことではこれをそっぽ の手と呼ぶ. 我々の将棋プログラム TACOS では,終盤なのに 完全にそっぽの駒を攻怒したり,移動しても意味の ない方向ヘ移動してしまう手をたくさん読んでい た.アマチュアでも指さないような指し手を深く 読んでしまうこともあり,良い着手の選択を妨げ る要因にもなりかねないため早急に対策を講じる 必要があった. 将棋は玉を詰ますことを目的としているため,終 盤において玉から離れていく手,あるいは玉から 速い駒を攻める手はそっぽになりやすいと考えら れる. この考えを基にした最も簡単なそっぽの判定方 法として,玉からある一定値離れている指し手を そっぽとする SS-Cut(StaticSoppo
Cut) を提案す る.一見乱暴に見える手法ではあるが,終盤の寄せ 合いの場面では,玉から速い駒を見る必要がない場 合がほとんどで, SS-Cut が非常に効果的であった. 第 14 回世界コンピュータ将棋選手権での TACOS は SS-Cuむを用い, 2 次予選を突破して初の本戦進 出という快挙を成し遂げた.しかし極稀にそっぽ と判定するには不適切な場合もあった.そのため 読むべき指し手を枝刈りしてしまい,勝敗に少なか らず影響を及ぼした. SS-α泌が抱える問題を樹首するためには,より 高精度にそっぽを判定する必要がある.そのため-110-には局面によって動的にそっぽの判定基準を変更 しなければならないだろう.これを実現するため に注目したのがHisもory Heuristicl6J であるこれ は 0 カットが生じた位置を記録することによって 探索効率の向上を図ったものである.これを応用 してそっぽの手の判定に用いる手法を考案した.こ の手法を DS-Cut(Dynamic
Soppo
Cut) と呼ぶこ とにする. DS-Cut は第 15回世界コンピュータ将 棋選手権での TACOS に用いられ, 2 次予選を前回 大会より安定した指しまわしで突破し,本戦にも出 場した本稿では将棋においてそっぽの手の生成を防止 する前向き枝メIJ り手法 SS-Cutと DS-Cut を提案
する.我々の将棋プログラム TACOSに実装し,評 価を行った
2
関連研究
2
.
1
前向き枝刈り
ゲーム木探索において無駄な探索を抑止するた めの前向き枝刈り手法 (Forw乱rdPruning) がとれ までに提案されている.前向き枝刈りとは探索前 に見込みのなさそうな枝を刈る手法であり,時間 の節約をできるというメリットがある反面,良い展 開を刈ってしまう可能性もある. 前向き枝刈りの例として,浅い探索の結果を用い て打切り深さの結果を予測する Probcutll],およ びそれを拡張した Multi-ProbcutI2],末端ノード 近辺で指し手の性質と評価値を利用したFutility Pruningl5],いったんパスを行った際の評価値で打 ち切るか否かを判断する NullMove
Pr凶時間 14J などがある. これらの手法は枝刈りをする際に指し手の良し 悪しに注目していたが,将棋や図書毒ではそれに加 えて領域の良し悪しも考慮した前向き枝刈りが必 要であると恩われる.本稿の手法はこの点に注目 した.2
.
2
History H
e
u
r
i
s
t
i
c
ゲーム木探索において,あるノードそ探索中に 得られた情報は他のノードを探索する際にも有効 である可能性がある .ζ れを利用したのがHisωry Heuristicl6J である. 従来のHistory Heuristic は探索中に指し手の座 標の統計を採り,良さそうな指し手を探す際に用い られていた.ζ れにより探索効率が向上する ζ と が知られている.本稿では指し手の厳密な座標で 図 1: D の分布 はなく指し手の領域の統計を採り,その統計をそっ ぽの手の生成防止に用いる.3
そっぽの手の判定
TACOS では指し手を生成する際に,一度に全合 法手を生成するのではなく,手の種類ごとに逐次生 成するようにしている.いくつかの穏類がある中 で,そっぽ判定を行うのは「攻撃の指し手J r防御 の指し手」および「その他の指し手J の 3 種類の 指し手生成時に行う. 中でも攻撃の指し手のそっ ぽ判定を重視している.攻撃手を絞り込むことは もとより,それに対する防御の手などの生成も防ぐ ことができるため,攻撃の指し手でそっぽ判定を することに大きな効果が見込める. なお,今回提案する手法を使用するのは終盤以降 (終盤および最終盤)に限定し,足の速い駒(香,飛, 角,龍,馬) および玉はそっぽ判定の対象から外し た.本来ならばすべての駒でそっぽを判定すべき だと思われるが,現在のところ判定基準が不明瞭 ということもあり,本稿ではそっぽ判定の対象外と した. そっぽの判定基準とするのは,攻隼対象の駒と玉 の距離 d である. d の分布の例を図 1 に示す.こ の距舷 d が,判定基輩となる距離 D より大きけれ ば,その指し手はそっぽと判定する.3
.
1
SS-Cut
D の値を一定値に固定し,着手がそっぽかどう かを判定する.実装も比較的簡単であり,局面ご とに D を算出する必要がないというメリットがあ る.しかし一定値に固定しておくと,局面によって -111 ー-持駒歩歩桂金
一二三 四五 六 七八九 3 2 曇 事 主 官事 歩 当幹 銀 さ存 吾 当幹 さ存 重量 さ存 馬 歩 銀 歩 歩 歩 歩 歩~
歩 2匝金
歩
香桂 玉金
瞳
香9 8 7
6
5 4
欝曇
44
す崎銭
円 υ-持駒金歩
一二三 四五六七八九 2 曇書 主w
曇 E援 さ存 さ存 芸評 さ存 さ存さ詳 4幹 曇 事 当存 桂 歩 歩 歩 飛 歩 歩 銀金
歩 玉金 角
慰
香 桂 ヨ 5 48 7 6
9 Ed市若
Z海町抽咽判明
む-持駒銀
一二三 四五六七八九 図 3: 局面の例 1 3 2 さ存 事 事 曇 さ存 事 王w
さ存 書 竜 歩 芸評 組4 主将 主幹 当手 角 さ存 歩 歩 歩 歩 歩 歩 歩 司 銀 玉 香 桂金
桂香 9 8 7 6 5 4事欝曇委縮録
。 図 2: SS-Cut による弊害 はそっぽと判定するには不適切な場合も生じてく ると思われる 例えば図 2 である.我々の将棋プログラムは企 8 六桂だったが,激指 3 は企 3 五銀か企 3 七銀で悩 んでいた.この局面でそっぽとされるべきではな い企 3 五銀や "'3 七銀が SS-Cut によって枝刈り されてしまっていた. 図 4: 局面の例 2 稿で提案した 2 つの手法はどちらも用いない場合 と比較して大幅に探索ノード数を削減することに 成功している. 実際に本手法によって棋カが向上したかを確認 するため,自己対戦による評価を行った. 1 手の 思考時間は 10 秒と固定し,中盤の途中局面を用意 し,先後入れ替えて対戦させた.実験に用いたプ ログラムは TACOS-N(そっぽ判定なし),TACOSュ
SS(SS-Cut 実装,D=5) , TACOS-DS(DS-Cut 実装) 対戦実験4
.
2
DS-Cut
探索中に H カット発生地点の統計を採ることに より, d と 8 カットの発生位置の関連を調べる. そ して H カットの発生頻度応じて動的に D を決定す る.局面ごとに計算が必要であることや,どの程度 の H カット発生頻度からそっぽとするかなどの問 題があるが,局面に応じて柔軟に D を決定するこ とができると思われる 例として図 3 と図 4 を挙げる.両方とも終盤以 降の局面である .ζ の 2 つの局面で 9 カットの発 生頻度の統計を採った結果を図 5 に示す.図 3 で は D=5 以上では自カットがまったく発生していな い.玉の近傍に重点を霞いて探索をすればいいこ とがわかる.対して,図 4 では D の値によらず n カットが発生しており,探索の重点箇所を絞り込 むのは難しいと思われる.3
.
2
16000 14000 12000 10000 8000 6000 4000 2000 。評価実験・結果
我々の将棋プログラムを用いて,前章で提案し た実装の効果を確認するための評稲を行った.4
2 3 4 5 6 7 円ノ u .• , E ..
,
A 図 5: 局面の統計値 探索ノード数 本手法を用いることでどの程度探索ノード数を 減らすことができるかを調査した.結果を図 6 に 示す.これは反復深化 10 回までの総探索ノード数 を深さごとに調べたものである .ζ れを見ると,本4
.
1
1
6
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
!L1
0
0
0
0
0
0
0
0
~
8
0
0
0
0
0
0
0
護 600000004
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
。o
2 4
6 8 1
0
1
2
1
4
1
6
1
8
2
0
2
2
深さ 図 6: 各手法による探索ノード数 の 3 つである.そっぽ判定ルーチンの有無以外に これらのプログラムに相違点はない.結果は表 1 に示す. 表 1: 自己対戦の結果 対戦TACOS-SS -TACOS-N
TACOS-DS
-
TACOS-N
TACOS-DS v
s
TACOS-SS
5
考察
そっぽとなりやすい足の遅い駒のみを対象とし, やや乱暴とも言える手法であるが,実験の結果か ら単純に玉との距離を見るだけでも大きな効果が あることがわかった. 本稿で提案した手法を実装する以前は,アマチュ アの人間プレイヤでさえ考えもしないようなそっ ぽの手を一生懸命読んでいた.これによりもっと 読むべき重要な読み筋に時間を割くことができず にいた.実験結果に見られる大きな効果があった のは,重要な手筋をカットすることなく探索ノード 数を大幅に削減できたためだと思われる.6
まとめ
本稿ではコンピュータ将棋における,そっぽの指 し手生成を抑止するアルゴリズムを提案し,それを 実装,評価した. 実験の結果, SS-Cut および DS・Cut の両方がNormal
に対して大幅な探索ノード数の削減に成 功し,対戦実験の結果からも棋力を落とすことな く有効に働いているととがわかった.直接対戦に よる結果を見ると SS-Cut と DS-Cut の性能はほ ぼ互角に見える.だが,図 2 の例のように SS-Cllも は特定の条件化で著しく探索の性能が落ちる場合 があったため,他ソフトとの対戦を行ったところ SS-Cut が 17.3%, DS-Cut が 23.0% と後者の方が 高い勝率を示した. SS-Cllt は第 14 回世界コンピュータ将棋選手権 で使用され, TACOS を初の本戦出場に導いた.ま た, DS-Cut は第 15 回世界コンピュータ将棋選手 権で使用され, 2 年連続の本戦出場に大いに貢献 した.参考文献
[
1
]
M. Buro:
“
ProbCut: An E
f
f
e
c
t
i
v
e
S
e
l
e
c
t
i
v
e
E
x
t
e
n
s
i
o
n
o
f
t
h
e
A
l
p
h
a
-
B
e
t
a
Algorithm"
,
ICCA J
O
l
l
r
n
a
l
.
No18(2)
,
pp.71・76 ,1
9
9
5
[
2
1
M. Buro:
“
Experiments w
i
t
h
M
l
l
l
t
i
ュ
ProbCut 組da
New H
i
g
h
-
Q
u
a
l
i
t
y
E
v
a
l
u
a
ュ
t
i
o
n
F¥m
c
t
i
o
n
f
o
t
Othello"
,
NECI
TechniωIRe
p
o
r
t
.
No 96
,
1
9
9
7
[
3
]
D
.
F
.
Beal
:
“
Experiments w
i
t
h
t
h
e
n
u
1
1
moveヘ Advances
i
n
Co
mputer C
h
e
s
s
5
.
pp.65四 79 ,
1
9
8
9
[
4
]
G
.
Go的帥乱ndM
.
S
.
Campbell:
“
Experi-m
e
n
t
s
w
i
t
h
t
h
e
n
u
l
l
-
m
o
v
e
heuristic"
,
Comュ
pll旬rs,