相対座標系から絶対座標系へー将棋評価関数の設計思想ー
橋本剛 1 飯田弘之 2,3 1 静岡大学システム工学科 2 静岡大学情報学部 3 科学技術振興事業団さきがけ研究 21E
-
m
a
i
1
:
{has加o加,üda}@ω.inf.shizuoka.肌.jp,概要
コ%ピュータ将棋の開発では探索と評価関数が大きな 2 本の柱であるが,評価関数は従来各駒の玉との相 対位置を点教化した「相対評価j が主流であった.だが相対評価には悪手であるにもかかわらず玉が自分 の駒に接近してしまうなど重大な副作用がある.本稿ではこのような副作用のない『絶対評価J をメイン にして相対評価の使用を大幅に制限する評価関数 TACOSYSTEM を提案し,その実装方法を具体的な例 を用いて示す. TACOSYSTEM を実装した我々の将棋プログラム TACOS は第 14 回世界コンピュータ 将棋選手権で決勝入りを果たすという好成績を収めた.Note on an
evaluation 釦nction
d
e
s
i
g
n
f
o
r
Shogi
-a
b
s
o
l
u
t
e
c
o
o
r
d
i
n
a
t
e
system and r
e
l
a
t
i
v
e
c
o
o
r
d
i
n
a
t
e
system
-H回himoto Tsuy;ωhi
1,
H
i
r
o
y
u
k
i
Ii
da
2,
31 Fac叫ty
o
f
Engin田r泊g, 2 Fac叫をyo
f
Information
,
S
h
i
z
u
o
k
a
.
U
n
i
v
e
r
s
i
t
y
3 "Inform叫iona
.
n
d
S戸tems" ,PRESTO
,
J
a
.
p
a
.
n
Scien田a.ndTe
c
h
n
o
l
o
g
y
Corpor
a
.
t
i
o
n
a
b
s
t
r
a
c
t
Boths倒rch
a
.
n
d
e
v
a
.
l
u
a
.
t
i
o
n
f
u
n
c
t
i
o
n
s
a
.
r
e
cor飽 ofd
e
v
e
l
o
p
i
n
g
compu旬rshog
i
.
Ma
.
i
n
s
t
r
e
a
.
m
o
f
e
v
a
l
u
a
.
t
i
o
n
f
u
n
c
t
i
o
n
s
h錨 b関n"
r
e
l
a
.
t
i
v
e
e
v
a
.
l
u
a
.
t
i
o
n
"
which c
a
.
l
c
u
l
a
.
t
e
s
v
a
.
l
u
e
s
from r
e
l
a
.
t
i
v
e
p曲i色ion betw伺ne鳩町p
i
e
c
e
s
a
.
n
d
k
i
n
g
s
.
However
,
r
e
l
a
.
t
i
v
e
eva.lu叫ionh
a
s
s
e
r
i
o
u
s
s
i
d
e
effec旬 such 踊 kin酔 tend 色o comecl伺e 色oownpi,邸es.
We
p
r
O
p
0
8
e
a
.
new
eva.lu飢ionf
u
n
c
t
i
o
n
s卵色em'TACOSYSTEM' which
ma.inly 田錦、.bsoluteeva.lu叫ion'
o
f
no s
i
d
e
e
f
f
e
c
t
s
l
i
k
e
rel叫ivee
v
a
l
u
.
a
t
i
o
n
a
.
n
d
s加ngly limi匂田ageo
f
r
e
l
a
.
t
i
v
e
e
va.
luation
,
and
show i
t
s
implemen同色ion with ∞Incretee
x
a
.
m
p
l
e
s
.
Our s
h
o
g
i
progr組1TACOS i
n
which i
s
implemented
TACOSYSTEM
succ田ded 色o enter 由.e fin以前出e1
4
t
h
World Computer S
h
o
g
i
Ch
a
.
m
p
i
o
n
s
h
i
p
.
1
はじめに
成果はこれまで多く公表されており著しい進歩を遂 げてきた.対して評価関数は山下により公表された YSS の手法問が基本 k なっているが,その後はプ ログラマによる地誼なチューニングが主となってい ることもあり特に目立った成果が公表されることも なく現在に至っている .YSS の評価関数は大まかに 言って各駒の玉との相対位置を点教化したもの(以 下簡単に相対評価と呼ぶ)と落とし穴方式の駒組み テ}プルや飛車が敵陣にあると加点といった絶対座 標による評価(絶対評価と呼ぶ)を組み合わせたも のである.だが相対評価には山下自身が自戦記で指 近年将棋プログラムの実力はアマチュアトップク ラスに近いところまで来ており, 2004 年世界コン ピユータ将棋遣手権優勝の YSS がプロ棋士相手に 飛車落ちで勝つ [1] など打倒名人へ向けて着実に進 歩を続けている.コンピュータ将棋の開発では探索 と評価聞教が大きな 2 本の柱であるが,近来の傾向 として棚瀬 [2] が述べているように評価闘教はそこ そこに探索の方へ注力することが一般的であると思 われる.その結果実現確率探索 [3] のように優れた 摘している [1] ように悪手であるにもかかわらず玉 探索アルゴリズムが開発されるなど,探索に閲する-88-が自分の駒に接近してしまうなど重大な副作用があ
3
TACOSYSTE勘f る.本稿ではこのような副作用のない絶対評価をメ インにして相対評価の使用を大幅に制限する評価関 数 rTACOSYSTEMJ を提案し,我々の開発した将 棋プログラム rTACOSJ に実装しその省用性を論 じていく.2
相対評価の問題点
相対評価は強豪プログラム YSS の手法として公 表されたこともあり将棋プログラムの評価関数の基 本となっている.対象とする駒の相手玉または自玉 との相対位置を求め,予め用意したテ}プルを参照 してその相対位置の値を出すという方法である.将 棋は玉を詰ますゲームであり,大まかには玉に近い ほど価値が高いと雷えるが,この方法には以下に挙 げるような問題点がある. 王が自分の駒(特に金銀)に接近してしまう相対 評価の最も深刻な問題で,本来は玉に自分の駒 を近づけなければいけない周面であっても駒 を一つ一つ動かすと手数がかかるため,玉を動 かして各駒の評価を一気に上げて良いと勘違 いしてしまう.上述した山下の白戦記の他にも 将棋プログラム KFEnd のページ [51 でもこの 問題について論じており,そこでは悪形チェッ クという方法でこれを押さえようとしている が逆に強い水平性効果を生じさせることもあ り本質的な解決にはなっていない.玉の囲いに は「固さ j と「遣さ J (戦場となる地点から離 れていること)が重要だが,相対評価では「固 さ J を表現することは出来ても「遣さ J を表現 することが出来ない. 相対評価には上述したような問題点があるが,これ はある程度強い人聞から見るとかなり違和感のある 問題である.これら問題を軽減するために験胞みテー プルなどの絶対テープルを足すことも考えられるが, 本質的な解決にはならない.では人間プレイヤはど う考えているのか?例えばアマ省段である主著者は, 全ての駒で玉との相対距離を計算するというよりは むしろ「矢倉で銀が 2 六にいるとだいたいこれぐら いj というようないわば絶対テープルによる計算が 主で,玉との距離を強く意融するのは寄せに関係し そうな駒,すなわち相手玉との距離が十分近い駒だ けであると認識している.この感覚を表現しようと して作成したのが絶対テ}プルがメインの評価関数 rTACOSYSTEMJ である.以下 TACOSYSTEM の特徴を挙げる. ・相手玉に近い駒だけ(我々は玉の 5x5 近傍とし ている)相対テ}プルを使い,それ以外は絶対 テープルのみを使う. ・基本的な絶対テ}プルは 2 種類で,盤を左右に 分けて同じ側に双方の玉がいる場合(居飛車対 振り飛車,以下簡単に「向かい玉j と呼ぶ)と そうでない場合(相居飛車,相振り飛車,以下簡 単に「斜め玉j と呼ぶ)でそれぞれ用意する. ・絶対テープルは玉がいると期待される位置から 遠ざかるほど点数が低くなるよう設定すること で,相対テープルを使うのと同様の効果を得る. このようにシンプルな構造であるため,評価関数 にとって重要な要素である計算の速さを損なうこと がないが,従来の相対評価による問題点は完全に解 決できる.具体例
端と中央の遣いを識別できない将棋は 9x9 マスの
4
狭い閉じた空間であり,玉との相対位置が閉じ 我々が開発した将棋プログラム rTACOSJ での 実装を例に TACOSYSTEM の具体的な実装方法を でも端に近し、か中央に近いかでその意味合いは 大きく違ってくるが,やはり相対評価ではその 違いを認織できない.玉はなるべく下段に,端に 追い詰めた方が詰ませやすいが,相対評価の弊 容で玉を詰ませるのに重要な金や銀を価値の低 い端に打ってしまいその結果玉を安全な地点へ 逃がしてしまうという問題が生じやすい. 説明していく. 表 1 に TACOS で使っている「向かい玉J 局面で の銀の絶対評価テープルを示す.1-9,一~九がそ れぞれ将棋盤の座標を示し,表中の数字が各座標に 銀がいた場合に基本価値に足される評価値である. 銀を例として使ったのは,銀は守備の要であるとと-89-いJ が現れることはない.盤面左側の銀はどちらか の玉(のいるべき位置)に近づく事で価値を上げ, 盤面右側の銀は元々価値が低いが左側に行くかとに かく前進する事で価値を上げる,といった事象をこ のテ}プル一つで表現できるため,わかりやすくス ピードも早いという利点がさらに挙げられる. TACOSYSTEM は上の例のように居飛車対振り 飛車等玉が向かい合う形では後手玉が 8 二,先手玉 が 8 八(もしくは 2 二,2 )~)にいるという前提で作 られているので,我々の実装ではそれぞれの玉が 8 ごと 8 八の近傍にいる時にはこれまで特に問題は見 受けられていない.だが,入玉模様になった時に表 1 のようなテーブルをそのまま使うと,もぬけの般に なった 8 二か 8 八の近傍にいる駒の価値が高いまま になってしまい様々な弊容が生じてしまう.この問 題を改善するためには入玉用の絶対テープルを作成 する必要があると考えられる.ただ,我々の実装では 宝が上に上がるほど加点をしているだけで各駒の入 玉用絶対テープルはまだ作成していないが,それに 起因する問題はあまり生じておらずその頼度はあま り商くないと予想される.玉が横方向に大きく移動 した局面でも同様の問題が起こるので,その場合も 新たなテープルを用意するなど対策を講じる必要は ある.
問題点
4
.
2
もに棒銀を始めとして攻撃で重要な役目を果たす駒 であるが,攻隼に失敗すると遊び駒としてほとんど 価値の無い駒になってしまい,かといって攻撃に参 加させないと作戦負けになりやすいなどテープルの 値の調整が最も難しいと思われるからである.なお, 評価値の基本として歩の基本価値を 100 点とし,銀 の基本価値は 640 点としている. このテープルは先手玉が 8 JI..,後手玉が 8 こにい ることを想定して作られている. TACOS の現在の 実装では,銀に関しては相手玉の 5x5 近傍にいる場 合はこの絶対テープルの値は使わず,相手玉との相 対テープルの値のみを使っている.例えば図 1 で 8 四の銀は表 1 の値を参照すると・25 であるが,相手 玉との距離が 2 で 5x5 近傍の中に入るため,仮に玉 の 2 マス真下の銀の価値を+600 とするとこの銀の 価値は基本価値 640+ 6
0
0
= 1240 となる.その他 の銀の価値については表 1 の値だけを参照するため, 5 三, 3 五, 7 七の銀はそれぞれ・25,・300,るが足さ れて 615,340
,
635 点となる. TACOS ではさらに ここで得られた値を局面の進行度というパラメ}タ を元に調整しており,終盤ではだいたい上記値その ままの値を,中盤では進行度に応じて何割か減じた 値を評価値として使っている. また,これらとは別に自宝近傍の駒に関しては絶 対テープルの一種である駒組みテープルを用意しそ の値を足している. この表の特徴をまとめると以下のようになる. 1.段では下から上がるほど数字が大きくなり三段 目が最大.筋では 8 筋が最も高い.値の勾臨を つけることにより,玉に近づくほど高くなると いう相対評価と同様の効果を実現させる. -持駒なし -二三四五 1 2 ヨ 4 5 6 7 8 9 2. すべての値がマイナスである.これは持ち駒よ りも価値が高くなる場所は絶対テープル上には ないことを意味する. 六七八九 q'q 楢録。 ここでは例として銀のテープルを示したが,すべ ての駒についても同様のテープルを作成し評価値の 計算を行う. 図 1: 銀を使った局面利点
とのテープルを用いる事で, 2 章で挙げた相対テー プルが抱えるこつの問題『玉が自分の駒(特に金鋤 に接近してしまう J r端と中央の違いを穂別できな-90-4
.
1
表 1: 銀の絶対値テープル