読者です 読者をやめる 読者になる 読者になる

アピール文から読み解くWCSC27の見どころ(大将軍編)

久々のシリーズ物として、WCSC27に参加しているソフトのアピール文を、私、Qhapaqの開発者が読解/解説していきたいと思います。本シリーズを通じて、皆様がコンピュータ将棋を好きになってくれれば、そして、人工知能の織りなす科学を楽しんでいただければ幸いです。

 

前回記事:アピール文から読み解くWCSC27の見どころ(技巧編) - qhapaq’s diary

 

注:以下の考察はQhapaq開発者の予想です。開発者に確認をとっているわけではありません。あくまで参考として楽しんでいただけると幸いです。

 

機械学習の一流トラブルシューター 大将軍

 大将軍(たいしょうぐん)のアピール文:

http://www2.computer-shogi.org/wcsc27/appeal/taishogun/appeal.txt

sdt4のアピール文:

http://denou.jp/tournament2016/img/PR/Daishogun.pdf

# 運営さーん、DaishogunじゃなくてTaishogunですよー

 

大将軍はWCSC26では3位、sdt4では5位と非常に強いソフトの一つですが、そこに至るまでには多くの苦杯をなめたソフトでもあります。四駒を用いた盤面評価など、独自性豊かな挑戦にも取り組んできたソフトであり、大将軍が結果を残し優れたソフトとして評価されることは大変喜ばしいことであります。

 

http://denou.jp/tournament2016/img/img_result_02_after.png

こうして見直すと、大将軍 vs Qhapaq(たいしょうぐん ばーさす かぱっく)なんて、初見じゃ誰も正しく読めないんじゃないか...

 

以下、私怨をできるだけ抑えながら、将軍の名を冠するほどに挑戦的な大将軍の今回の試みを読み解いていきたいと思います。

 

・kkpt を用いた評価関数

注:幸運なことにもQhapaqの敗戦後、和服を畳んでいたら遅めの休憩を取りに来た大将軍チームと一緒になりました。折角だからと開発の手法などについてディスカッションさせていただきました。以下の考察には横内さんから教えていただいた情報も含まれていますが、あくまで私の記憶が元であることをご承知おきください。

今回の大将軍の最大の試みはなんと言ってもkpptからkkptに評価関数を切り替えたことでしょう。玉以外の2駒の並びを使わずに盤面を評価するのは流石に厳しい(駒の取れる取られるの関係を直接扱えなくなる)ので、3駒についてはkkpt + kppで盤面を評価するという意味なのではないかと予想しています。

aperyややねうら王が用いている、NineDayFever式のkpptでは、kppの素の値に手番ボーナスを加えることでkpptを計算していきます。Qhapaqの手元の実験ではkppの手番ボーナスには全部で(1局面で出てくるkpptのボーナスの総和で)100-200点程度の値が付いており、これを0にしてしまうことで盤面評価の質が落ちる危険性は十分にあります。高速化の割に合うかは謎です。

また、大将軍のsdt4のアピール文には少し詳しく書かれていますが、大将軍は3駒に加え「利きをまとめて学習」、「駒の位置関係の相対位置による評価」(原文ママ)がなされているようです。盤面評価に効きを使っているのか、学習時に効きを加味した計算を行っているのかは定かではないですが、効きの計算はコストが高いこと(参考:魔女をめぐる冒険 | やねうら王 公式サイト)、sdt4で大将軍のNPSがQhapaqより高かったこと、そして、sdt4のアピール文のviewer(pp-5)を見る感じでは、sdt4までは純粋なkpptを評価に用いており、効きは学習用のパラメタとしてのみ用いているのだと予想しています。

大将軍の評価関数においてもうひとつ特徴的なのが、今なおプロの棋譜から学習をさせていることでしょう。3駒のような広大なパラメタを最適化するにはプロの棋譜は圧倒的に数が少ないのですが、駒の相対位置などを駆使して少ないデータから情報を抽出する、評価関数を可視化することで過学習を避けるなどをしているのだと思います(あと、やねうら王ライブラリの雑巾絞りは使ってるとのこと)。

# 昨年のWCSCではponanzaの棋譜から学ばせたら強くなるんじゃないか仮説を立てて、Qhapaqも色々試してみたのですが、駒の相対位置の学習の実装は想像以上にしんどく、また、ノートPCでは相対位置の計算に死ぬほど時間がかかることが発覚したので諦めました

 

・大将軍の弱点?

大将軍は非常に強いソフトですが、序盤運用には若干の難があると思います。sdt4の棋譜だけではサンプル不足は否めませんが、定跡が終わった時点で、消費時間、評価値において大将軍が有利をとっているケースは少ないです。また、大将軍は角道を塞ぐことが多いようですが、これはプロ棋士棋譜はコンピュータに比べて矢倉率が高い(*,**)のが影響しているかも知れません。または、定跡はプロ棋士棋譜を評価し、評価値が悪くないものを用いているかだと思います。

やねうら王ライブラリを用いているなら、やねうら王定跡にシフトすることは可能ですが、公開されている定跡は狙撃されるリスクが高く、序盤の安定化は課題が多いです。

 

(*) 最近は矢倉率は減ってきていると言います。NHKで勝又先生が非常に解りやすい解説をしてくれたのですが、残念ながら手元に資料は残っていません。

(**) 最近の棋譜を集中的に使えば矢倉率は減りますが、そうなると今度は棋譜の数が足りなくなると思います。

 

・Qhapaq的総評

評価関数の可視化や、kkptへの移行による評価関数の作り直し(やねうら王を改造するのも面倒だし、それ以上に学習をちゃんと回すのが大変)など、大将軍は挑戦的な試みを続けているソフトであり、その開発技術はもっと評価されるべきだと思います。

Qhapaq的には死ぬまでに一度は倒さねばならないソフトです。大将軍側は評価関数の作りなおしにリソースを割いている以上、特に序盤には付け入る隙があると思っているのですが、有志による定跡開発も進んでますし、最終的には評価関数の質勝負になるでしょう。河童絞りがうまく行くよう、今からお祈りしておかねば。

 

将棋電王トーナメントPonanzaが連覇。コンピューター将棋界の進化が止まらない - Engadget 日本版 より。5位決定トーナメントの貴重な資料......?

http://o.aolcdn.com/hss/storage/midas/ee2484231c177f463a5f3197a0241bd/204437913/IMG_0972.jpg

余談ですが、大将軍はaperyの1期後輩でNDFと同期(旧名はN4) だそうです。