Qhapaqの評価関数を公開します

WCSC27の最終日が終わるのを待ってから公開しようと思っていたら、elmoが最終局開始と同時にバイナリを公開してくれたため、恐らく出番がなくなってしまったQhapaqのバイナリですが、公約通り(?)公開します。

 

注:onedriveにアップしていた時はonedriveの不具合でDLできなかったようでしたので、バイナリはgithubに引っ越しました。現状、DL障害は生じてないようです

 

github.com

 

qh.zipが本体です。
 

河童全力定跡 (Qhapaq_z.db)

 

【使い方】

最新版のやねうら王のバイナリを上記バイナリにすげ替えていただければOKです。Qhapaqは定跡採択とクラスタ化とtimemanを改造していますが、持ち時間固定対局に於いてはやねうら王と動作は同じです。

 

【定跡を使う際の注意】

定跡については、量子焼きなましで作っているため時々ゴミが入っています。narrowbookをonにしてゴミ手を回避するようにしてください。

 注:やねうら王のnarrowbookはデータベース上での採択率が10%以上の手を等しい確率で選ぶ仕様ですが、河童全力定跡はデータベース上での採択率にそのまま従って手を選ぶ仕様になっています。どうしようもないクソ手の大半は採択確率が10%以下になっているため、棋譜を楽しむ上ではさほど問題はないと思いますが、レートをできるだけ正確に測定したい、河童定跡を狙撃したい場合には適さない可能性があります(やねうら王のnarrowbook上でのQhapaqの勝率は未検証)

 

【現在解っているQhapaqのスペック】

有志の皆様、検証誠にありがとうございます。取り急ぎ、本ブログで私の手元PCでの測定結果について公開していきます。

 

1.1手1秒4スレ、やねv_441 河童バイナリ+真やね定跡 vs 真やねバイナリ+真やね定跡

461 - 3 - 226(レート差約120)

 

2.1手1秒8スレ、やねv_441 河童バイナリ+真やね定跡 vs 真やねバイナリ+真やね定跡(上記実験は自作の自己対局スクリプトでやったため信用できぬと将棋guiで再測定)

113-5-51(レート差約130)

追加実験結果

491-11-228(レート差約130)

 

3.1手1秒8スレ、やねv_441(ただし定跡探索は河童仕様) 河童バイナリ+河童全力定跡 vs 真やねバイナリ+真やね定跡(現在測定中)

85-3-26(レート差約200。流石に測定誤差が載ってると思う)

追加実験結果

 536-8-203(レート差170)

 

実験結果を眺めて思うこと:

Qhapaqについては、どうやら、評価関数でレート+130、定跡でレート+40程度のようです。

Qhapaq同士の対局では vs 真やね定跡への勝率が56%(ただし、0.1秒対局)だったので、意外と綺麗にレートの足し合わせができているようにみえます。

有志によるvs elmoの実験(本当にありがとうございます!)でelmoがQhapaqに6割ぐらい勝つようなので(持ち時間依存性があるようですが)、単純に考えればelmoと真やねのレート差は200ぐらいです。

elmoの登場によって評価関数作りが急激に進むのと同時に、評価関数の品質評価にも長い持ち時間が必要であることが示唆されて無課金勢的には辛い話です orz

 

Qhapaqの今後について:

私がgithubとかの使い方を覚え次第、河童絞りとやねうら王のクラスタ化部分についても公開していきます。学習やクラスタ化の理論についてはコード公開の際に書いていきたいと思います。

今後はQhapaqの各種ツール、バイナリなどのデータをライブラリとして公開していきたいと思います(評価関数はapery、探索部はやねうら王と依存関係がかなり面倒くさいですが)。

他にも優秀なライブラリ公開者がいるので、Qhapaqについては理論説明がしっかりしていること、更新頻度が高めなことを売りにしていく......予定です。

Qhapaqの定跡とtimemanを公開します

WCSC参加、ご視聴の皆様、お疲れ様でした。

Qhapaqは大会を10位で終えました。無課金でもできる学習理論の構築を目指し、色々頑張ったのですが、残念ながら負けてしまいました。応援してくださった皆様には心よりお礼申し上げます。

さて、私の大会は終わりましたが、まだやることはあります。そう、やねチルとして同じ釜の飯を食う仲間達を応援する必要があるのです。

というわけで、今からできる微調整としてQhapaqの定跡とtimemanを公開します。

# でも実際使えうるのは定跡だけだと思う

 

河童全力定跡 (Qhapaq_z.db)

timeman.cpp

 

・森久保量子ガシャを駆使した河童全力定跡

Qhapaqの定跡はメタ対象(まふ定跡、やねうら定跡、定跡off)とQhapaqを戦わせ、評価値がそれほど悪くなく、ある程度進めば評価値が高くなるもの(60手目以内に評価値がある一定値以上になるもの)を選んでいます。相手を悪い手が出やすい局面に誘導する。相手の悪い手を咎めるのが主な目的であるため、相手の持ち時間は短め(5-10秒。定跡を作ってる方は30秒-1分)としています。なお、Qhapaqが悪手を指しているが、相手も悪手を指していたため勝ってしまったという自滅を防ぐために、短い消費時間側が勝った局面はストックし、その局面から短い持ち時間で自己対局をさせて勝率を測定し、勝率が芳しくない場合は削除するという調整も行っています。

広い序盤の変化の枝をネガティブかつ効率的に探索するという意味で森久保量子ガシャと名付けました。

 

・timemanはoptimum timeが一定になるように調整すべし

理論の詳細はコンピュータ将棋流の時間攻めと電王戦の攻防 に任せますが、stockfishの時間制御はbestmoveの変化する確率の時間微分を敷居値にして行われます。

実際は局面の難しさやponderの当り具合によって持ち時間は動的に変化するため、手を読み始める前に「恐らくこのぐらいの時間を使っていい」という仮想消費時間(optimum time) を決め、

 消費時間 ☓ bestmoveの変化確率 > optimum time ☓ 定数

となった時に読みを打ち切るようにしています。やねうら王では持ち時間を80で割った値をoptimum timeに用いていますが、この実装は序盤から終盤になるにつれ、optimum timeが減るため良くありません(終盤になるほど局面の複雑さが落ちるチェスの影響だ多分)。理論的にはoptimum timeは対局開始から終局まで一定であるべきです(机上の空論ではありますが、0−30手目、30手目-60手目、60手目-90手目の持ち時間を倍にして勝率を測定すると、どれも似たようなレート上昇になるのであながち間違いではないと思います)。

Qhapapのtimemanはoptimum timeをできるだけ一定に保つように実装しています。実際、WCSCの棋譜でも、ある程度均等に時間を消費できていると思います。ついでに、浮かむ瀬がやっていた序盤の時間節約ルーチンも実装(最初20手は長くてもoptimumの2倍程度しか時間を使わないようにする)しています。

 

・timemanはハードや評価関数に依存して地味に面倒

 消費時間 ☓ bestmoveの変化確率 > optimum time ☓ 定数

という式をじっと眺めると、stockfishの実装だと、ハードが強くなればなるほど消費時間が短くなることが解ります。また評価関数の質を高めるほど、変な勘違いが減る分、消費時間が減ることが期待されます。elmoは殆どやねうら王の実装そのままだと思うのですが、Qhapaqよりも消費時間が短めでしたし......

Qhapaqのtimemanはtimemanに使うノートPC用にチューニングしたので、恐らく直接使うと時間が余り気味になると思います。

 

・定跡とtimemanのご利益

一応、定跡+timemanを搭載したやねうら王 vs まふ定跡/真やね定跡を搭載した魔女、やねうら王の対局 in WCSC型の持ち時間では、河童側が7割弱勝てているようでした(ただし、50試合ぐらいしか出来ていませんが)

 

最近は自己対局の勝率が探索部以外も持ち時間依存する説が囁かれており、私の行ったテストに意味があるかは謎ですが...

 

まあ、そのままコピーして使えるかは激しく疑問ですが、盟友たちの最後の抵抗の小さな支えになればと思います。

アピール文から読み解くWCSC27の見どころ(大合神クジラちゃん編)

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

 

前回記事:アピール文から読み解くWCSC27の見どころ(うさぴょん2’TURBO編) - qhapaq’s diary

 

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

 

・オープンイノベーションの先駆者 大合神クジラちゃん

大合神クジラちゃんのアピール文:

http://www2.computer-shogi.org/wcsc27/appeal/GodWhale/appeal.pdf

aperyの公開以降のコンピュータ将棋界において、第三勢力としてのオープンイノベーション勢を無視することはできません。最新のstockfishをaperyシリーズに組み込んだsilent majorityや、既存定跡を狙撃するまふ定跡、mizar氏による定跡データベースの拡張などが一例です。

その点に於いてクジラちゃんはニコニコチャンネルを駆使したコミュニティー作りと、共同開発を続けており、オープンイノベーション勢の先駆けとも言える存在です。

以下、クジラちゃんが本大会をどう盛り上げてくれるのか予想してみたいと思います。

 

・合議制の難しさ

クジラちゃんの探索部は視聴者の数だけ火力が出るわけですが、アピール文によれば与えられた局面から1手分岐した状態で割り振る仕様だそうです。読むべき局面から1手進んだ状態を読ませ、それらを統合して指し手を決めることで、読みの深さを実質1手深くすることができます。

クジラちゃんの視聴者数的には、2手以上深く読ませることも可能だとは思いますが、手の割り振りが面倒(将棋では合法手の数は局面に応じて激変する)なのと、ユーザとの接続が切れた時、他に当該局面を読んでいるユーザがいないと読み全体が死んでしまう危険があるので、これは茨の道であると言えます。

クジラちゃん式の合議将棋には幾つかの興味深い問題があります。例えば、貧弱なPC2台と屈強なPC1台で局面を読ませた際に、貧弱PC2つの意見と屈強PCの意見が合わなかった時、何方の意見を採用するべきでしょうか。

他にも、幾らたくさんユーザがいても、皆が全く同じ局面を読んでしまえば合議制は意味をなしません。それを避けるには評価関数に乱数を加えるなど、読み筋に多様性を与える必要があります。スペック、数ともに不確定な状態でどのように手の分散具合を制御すればいいでしょうか。

 

・スペックはXeon以上、apery未満と予想

合議制の魅力を諦める(ユーザPCのスペックを測定し、最も強いPCの意見だけを採用する)なら、ユーザが使ってくるPCの中で最も強いPC達+depth1程度の読みができることになります。ユーザのPCのスペックや、クジラちゃんがどういった合議制をしてくるかは謎ですが、12スレッド級のPCを各々の手に割り振るぐらいはできると予想しています。

12スレッド+depth1なら、凡そ、大将軍やNDFのハードと同じぐらいの読みができるのではと思います。逆に巨大なハードを複数台連れてくるようなaperyのような相手には視聴者の数でNPSを稼ぐだけでは探索速度で勝つのは難しいと思います。

 

・Qhapaq的総評

クジラちゃんの立ち回りはハードを大量にこしらえたsilent majorityに近いと予想しています。クジラちゃんがどれだけ勝てるかは加速するオープンイノベーションの強さ、同時に、数の力に抗おうとする開発者個々人の強さをみる良い試金石になると思います。

 

余談ですが、QhapaqはクジラちゃんにWCSC26で2回戦い2回負けています。生放送でひたすら「艦これみたいに評価値に応じてマスコットの服が脱げるほうが面白い」と言いまくった記憶がありますが、果たして実装されたでしょうか。楽しみです。

アピール文から読み解くWCSC27の見どころ(うさぴょん2’TURBO編)

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

 

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

 

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

 

・伝統と独自性を両立するソフト うさぴょん

うさぴょんのアピール文:

http://www2.computer-shogi.org/wcsc27/appeal/Usapyon2'TURBO/wcsc27-usapyon.txt

うさぴょんシリーズはコンピュータ将棋ソフトの中でも古い歴史を持つソフトです。開発者の池さんはSNS書籍などでコンピュータ将棋に関する解説を行っており、開発者の多くは池さんのお世話になったことがあると言えます(かくいう私も、WCSC初参加の時は池さん(となのはさん)には大変お世話になりました)。

WCSC26では決勝リーグ進出、sdt4では決勝トーナメント進出と強力なソフトの一つでありますが、毎回挑戦的な試みをしてくれるソフトでもあります。今回は巷で話題になったryzenを使って来るそうです。

以下、うさぴょんが今季ピョンピョンできるのか、検証してみたいと思います。

 

Ryzenって結局強いの?

RyzenとはAMDから販売されたCPUの名称であり(Ryzen - Wikipedia)、早い安いを強く押し出した作品となっています。早くて安いCPUであれば低予算で強い将棋ソフトが作れると言いたくなりますが、現実はそう甘くはありません。

Ryzenベンチマークについてはいろいろな記事がありますが、個人的には(RyzenとCore i7 7700Kのベンチマーク比較 ゲーム用ならRyzen、作業用なら7700K | ITハンドブック)がよくまとまっていると思います。ざっくりいうと、動画処理などの解りやすい並列化以外の並列化の挙動が怪しい(効率的に並列化できてない)可能性が指摘されています。

LazySMPにおいて、Ryzenの並列化周りの弱さが響くかは定かではありませんが、開発者達による解析によると、いくつかの命令に地雷が含まれている気がしてなりません。池さんにはぜひ、うさぴょんのNPSがRyzen vs corei7でどうなったか教えてもらいたいところです。

 

・まさかの振り飛車

うさぴょんのアピールで目を引くのが振り飛車を指せる定跡を作るという点です。振り飛車藤井システムが綺麗にハマれば居飛車に対抗できることは示唆されてはいますが、コンピュータに特定の戦型を振り飛車で狙わせることは容易ではなく、また、少しでも定跡からずれると弱く(振り飛車の対居飛車勝率は4割程度)なるのでいろいろ地雷が多いと思います。

 

・Qhapaq的総評

ボナメソ+rootstrapで評価関数をゼロから作りなおそうとするなど、長年挑戦的な試みを続けているうさぴょんは私が最も尊敬しているソフトの一つです。sdt4ではうさぴょんの振り飛車居飛車穴熊でQhapaqが負けるという悲劇を味わったので、今度こそ居飛車の強さを魅せつけてやりたいところです。

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

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

 

前回記事:

アピール文から読み解くWCSC27の見どころ(NineDayFever編) - qhapaq’s diary

 

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

 

・気前の良いオールラウンダー 読み太

読み太のアピール文:

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

読み太はWCSC26組(sdt4の決勝トーナメント生存チームでいえば、読み太、たこっと、Qhapaq、たぬきのもり)の中でも頭ひとつ強いソフトであり、所謂チルドレン世代の代表格とも言えるソフトです。読み太の強さの秘訣は諸説ありますが、私自身は、実装能力、機械学習などの数理に対する知識、人間的な将棋への理解のバランスの良さにあると思っています。

また、読み太はWCSC26の上位8チームの中では最も気前よくアピール文で技術を紹介してくれている(当社比)チームでもあります。

以下、雪辱を果たすべく読み太がどんな準備をしてきているか予想してみましょう。

 

・評価関数は安定路線?

読み太は雑巾の作り方として初手暫くをランダムで指させ、それ以降はdepth7で戦わせたものを使っているとしています。ランダムで指させる手数や雑巾生成時のdepthは地味な調整が延々と続く苦行であり、この手間を如何に減らす(数理的な予想を駆使して候補を削る、自動化して手間を減らすetc)かが勝負と言っても過言ではないのですが、読み太は割と気前よく教えてくれています。

# Qhapaqのバイナリで試した時は強くならなかったですが。既に最適化しすぎてたのかも解らぬ

また、雑巾生成時にはあまり枝を落とし過ぎないことがコツなのではないかという示唆を与えてくれています。たぬきチームなども似たような知見を得ているようです(参考)。

 

・進行度をベースとした探索部

進行度によって枝の落とし方を変えることに成功しているようです(R20程度向上)。終盤になるほど手を広く読まなければならない(詰みとかが絡んでくるので)という発想は実はQhapaqも過去に導入を検討したことがあります。Qhapaqの研究では進行度を予想することを諦め、手数や評価値で枝を切り分けた結果、あまり強くならなかったのですが、読み太は駒の並びに対して進行度の点数を割り振るなどをすることでより高精度化させたのだろうと予想しています。

 

・読み太沼は健在か?

読み太は開発者が独自に手動で入れた定跡が含まれており、横歩や角換わり系の将棋だとスゴク長い定跡に捕まる可能性があります。QhapaqはWCSC26でこれをモロに喰らってしまい(30手目ぐらいまで延々と定跡で1秒指しされた)、ほぼ互角で終盤を迎えたものの最後は持ち時間の差で押し切られてしまいました。

sdt4を経て真やねうら王型の定跡(初手38銀などの力戦型の定跡)が登場したため、読み太のような狭くて深い手動定跡がうまく機能する機会は減りましたが、真やね型の定跡外しは定跡off指しに弱く、定跡off指しは手動定跡に引っかかりやすいという三すくみの関係は健在であるため、対策を怠ってひどい目に合わされるソフトがひとつは出てくるだろうと思っています。

 

・Qhapaq的総評

WCSC26の雪辱を果たしたいところです。あと、読み太の中の人は対局中に手の意味を開設してくれたりするので戦っていて楽しいですので、WCSC27でも当たりたいところです。

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

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

 

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

 

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

 

・極北から来た侵略者:NineDayFever

NineDayFeverのアピール文:

http://www2.computer-shogi.org/wcsc27/appeal/NineDayFever/NDF-2017.txt

評価関数、KPPTの進化を語る上でNineDayFeverを抜きにすることはできません。

深い読みの評価値を浅い読みに近づけるようにする学習指針や、KPPに手番の概念を入れるといった技術発展の切欠を作ったソフトであり、NDFの解説は、WCSCのアピール文史上、最も引用されたものの一つです。

以下、NineDayFeverが今回齎すであろう"侵略"を読み解いていきたいと思います。

 

・古参らしさと新しさの共存

他ソフトと比べて特徴的と言えるのが「三駒関係の各変数を分解して共通する要素を抽出」していること「勝率をベースに定跡を選択していること」でしょう。

三駒の変数の分解は、恐らくは、駒の平行移動の考慮(角の頭に歩を打たれるような局面は玉の位置や角の位置によらず辛かろうetc)であると思われます。これは大樹の枝時代のaperyには実装されていましたが、sdt4以降の雑巾絞り時代には使われる機会が減った技術です。

というのも、ボナメソのように棋譜が少ない場合は、こうした工夫で教師データを増やすことが有意義である一方、雑巾絞りのように大量に教師を作れる学習法では、こうした水増しは必須ではないからです。むしろ、不必要な平行移動を加えることで学習の精度が落ちる危険すらあります。

NDFがこうした技術を使うのであれば、新しい工夫をしている可能性が高いです。私個人は教師データの読みの深さを高めている(高精度な少数データで学習をさせている)か、平行移動以外の抽出方法を開発しているのではないかと考えています。

定跡に勝率を用いるのは、拙作の量子ガシャでも用いられているメソッドです。自己対戦の勝率を基準に定跡を作ると、実は変な変化に引っかかってしまうのですが、NDFはそれを回避できているでしょうか...(それを検証出来るだけ数戦えないのですが orz)

 

・Qhapaq的総評

NDFはこれまでも様々な技術を生み出してきた先駆者であるため、いきなりレートが急上昇したとしても驚きではありません。アピール文にはsdt4前後で認知された技術を導入する以外のことはあまり書いていませんので、目新しい変化がなければsdt4勢が有利な気もしますが...

WCSC26では当たることができず、開発者ともほとんど面識がないので、本大会でいろいろ教えてもらいたいところです。

アピール文から読み解くWCSC27の見どころ(Apery編、書きかけ)

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

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

 

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

 

・コンピュータ将棋界の正統派ヒーロー Apery

Aperyのアピール文:http://www2.computer-shogi.org/wcsc27/appeal/Apery/appeal_wcsc27.html

電王トーナメントシーズンがもし少年漫画だったら、間違いなくaperyが主人公でしょう。WCSCでの優勝、bonanza以来の強豪ソフトのオープンソース化、チャリティーオークションによる命名権販売、ボランティアを募っての教師データ生成と、多くの歴史を作ってきたソフトでもあります。

WCSCにおけるaperyの現状は「半年前の成果はライブラリとして公開しているので、今の所アドバンテージがゼロですので、今から何かしら改良して勝とうと思います。(既に3月31日)」(原文ママ)。ライブラリの提供元だからこそ言える(ライブラリ勢がこれ言ったらリジェクトされそう)ことですね。

以下、電王トーナメントでaperyがどういう進化を遂げたのか、復習を兼ねて見ていくことにしましょう。

折角有名なソフトの解説をするというのに、やたらとマニアックな記事になっています。まあ、このブログ自体が極めてマニアックなので今更ですか。

 

ソースコードから見るaperyの雑巾絞り

 sdt4でのapery(浮かむ瀬)は雑巾絞り勢(除 ponanza)の中で最もうまく雑巾を絞ることが出来たソフトと言えます。ソースコード(https://github.com/HiraokaTakuya/apery/blob/master/src/usi.cpp )を見る限り、apery式の雑巾絞りは以下の手順に要約できそうです(間違ってたらご指摘いただけると幸いです)。

 

---雑巾生成部---

1.自己対戦(?)などの棋譜で初期状態を指定

2.初期状態からランダム(単純なランダムムーブに加え、玉を周囲25マスに動かす措置あり。また、ランダムで手を選ぶ確率は1手ごとに下げる)で手を動かし雑巾局面を作る(この実装はやねうら王と大きく異なる)

3.depth6で手を読む(6手先まで通常探索させる)

4.depth6で読んだ評価値とbestmoveを保持する

---雑巾学習部---

1.雑巾局面でqsearch

2.qsearchと教師(depth6で読んだ値)の差を縮めるようにKPPTを発展させる

3.このとき、教師データの次元下げを行う

4.100ステップごとぐらいに、過去100ステップの結果を重みつけ平均させたものに評価関数をすげ替える

 

やねうら王の学習部とは雑巾の作り方、学ばせ方で幾つかの違いがあります。やねうら王と特に違うのは既存の棋譜をスタートに教師を作っていることと次元下げの有無でしょう。気になるところは幾つかありますが、この辺のチューニングは開発チームによって十分されているだろうことを考えると、レートを上げる際には「これは既に十分検討された」程度の理解でもいいかも知れません...

 

・雑巾絞りの性質とソフトの棋風の関連性

雑巾絞りによってコンピュータ将棋が攻めの棋風になるか否かで嘗て平岡さんとディスカッション(on twitter)したのですが、あまりに書くことがない折角なので、もう少し細かく踏み込んでみたいと思います。

 

1.ランダムムーブが含まれる将棋では攻め将棋が勝ちやすい

xxする一手という展開が受け側に多いから。統計的なソースはありませんが、これについては正しいと仮定しておきます。

2.KPPT評価関数は駒の並びの線形和なので、ある形の静的評価値(evaluateの値)が大きくなれば、似たような形の評価値も高くなる

3.本来無理攻めな局面が受側の悪手で攻めが通ってしまうと、無理攻めの局面の評価値も上がってしまう。結果、攻めを優先して読むソフトになるのではないか(私の仮説)

4.雑巾絞りは浅く読んだ値(≒evaluate)と深く読んだ値の差を使って評価値を変えるのだから、無理攻めが通る棋譜が多くても、evaluateの値が攻めに偏った上昇を起こすことはないのでは(平岡さんのご指摘を私が意訳したもの)

 

結論から言うと平岡さんのご指摘は正しいと思います。故に、3の理論を成り立たせるには、2に加え「2+.攻めが通るような局面では深く読むほど評価値が良くなる確率が高い」という仮説が成り立つ必要があります。

ただ、2+の仮説もあながち間違ってはおらず、やはり雑巾絞りをやると棋風が攻めになるのではないかと私は思っています。

さらに言えば、特定の戦型(例えば後手番四間飛車)で相手の悪手の確率がより高くなるように雑巾を作れば、特定の戦型に特化した評価関数も作れるのではと期待しています。

 

・魔女との比較で見るaperyの探索(執筆中)

 # done is better than nothingの精神だ...

 

・Qhapaq的総評

aperyが3月時点のままであれば、sdt4からライブラリを強化したであろう多くのソフトがaperyを上回ることができるはずです。しかし、これまで多くの手法を開発してきたaperyチームを以てすれば、ライブラリ勢全てを上回るような成果を1ヶ月で出せてもおかしくはありません。

半年間全力で開発すれば、大会の上位争いにも参加できるようにしたい、というのがapery公開思想だった気がする(twitterでそんな意図のことを仰ってた気がしますが、元ツイを見つけられなかったので勘違いかも知れません)ので、本大会ではキッチリ巨人の肩の上から巨人を倒したいところです。

 

以下余談:

WCSCでponanza_chainerが引くほど強かった場合、外チームの開発者は一致団結してDNN将棋を開発するぐらいの覚悟を決めないと、そろそろponanzaの勝ち過ぎがコンピュータ将棋界の危機(興行的な面での)につながりかねません。ジャパリaperyパーク(*)を出て暫く立ちますが、パークの危機にはチルドレンの一人として私も馳せ参ずる所存です。余裕があったらディープ平岡さんも連れてきます...

(*) 狸、兎、鯨、コブラ、蛸あたりが居ると言われていますが、コブラと蛸はソフト名を動物から取ってるわけではないとのことです...