第28回世界コンピュータ将棋選手権 Aperyアピール文書 2018年5月6日 平岡 拓也、杉田 歩 ・Aperyとは - 読み方は「えいぷりー」です。 - GPL v3ライセンスでオープンソースで開発しています。 - ソースコードや実行ファイルは以下で公開しています。 - http://hiraokatakuya.github.io/apery/ - CSAライブラリとして登録しているので、誰でもAperyを改造してご自身のソフトとして出場出来ます。 ・作者紹介 - 平岡 拓也 (ひらおか たくや) 趣味で作っています。 Mail : hiraoka64@gmail.com Twitter: @HiraokaTakuya - 杉田 歩 (すぎた あゆむ) ・実績 - 第22回世界コンピュータ将棋選手権 22位 (2次予選敗退) - 第23回世界コンピュータ将棋選手権 9位 (2次予選敗退) 決勝進出に一歩足りず。 新人賞に一歩足りず。 - 第1回将棋電王トーナメント 6位 (5位決定戦敗退) 第3回電王戦出場に一歩足りず。 - 第24回世界コンピュータ将棋選手権 優勝 - 第2回将棋電王トーナメント 5位 - 将棋電王戦FINAL 斎藤慎太郎五段(段位は当時)に完敗 - 第25回世界コンピュータ将棋選手権 4位 - 第3回将棋電王トーナメント 3位 出場ソフト名は「大樹の枝」。 名前はヤフオク!の「みんなのチャリティー」で命名権をオークション(全額チャリティー)で販売して落札者の方に決めて頂きました。 - 第26回世界コンピュータ将棋選手権 4位 - 第4回将棋電王トーナメント 2位 出場ソフト名は「浮かむ瀬」。 名前はヤフオク!の「みんなのチャリティー」で命名権をオークション(全額チャリティー)で販売して落札者の方に決めて頂きました。 - 第26回世界コンピュータ将棋選手権 12位 - 第5回将棋電王トーナメント ベスト12 ・技術的特徴 - 全体的にチェスソフトのStockfishの設計を取り入れており、評価関数は3駒関係です。利きのデータなどは持っておらず、シンプルな構成になっています。 - 評価関数で手番も評価しています。 - 評価関数の教師データ生成を皆さんにお願いするシステムを今年も使っています。 今回は Linux 限定になっています。 ご協力ありがとうございます! https://github.com/HiraokaTakuya/apery-machine-learning ・昨年との違い - 昨年の選手権で elmo が採用していた、評価関数の学習データ生成時の対局で、 勝敗を記録し、学習にその局面と後の勝敗を考慮する方式を取り入れました。 - 学習部を書き直した過程でバグが取れたのか、WCSC27 の elmo の評価関数より精度が上がり、 半年前の第5回将棋電王トーナメント時には、オープンソースの中では最も評価関数の性能が高かったようです。 - 半年前からの変更点は、学習データ生成時の探索深さを8から10に変更した点です。 とても計算量が多いので、半年前は出来ませんでしたが、やることにしました。 これは DeepMind の AlphaZero が AlphaGo と同様の方法で将棋でも既存のソフトより強くなったという発表を受けて、 単に学習に使った計算量が桁違いに大きいからではないかと考えたからです。 既存手法でももう少し計算量を増やして学習すれば、更に強くなるのではないかと考えました。 具体的には、探索深さを 10 で学習し、その後 12 でもう一度学習する計画でした。 学習データ生成を誰でも出来るシステムなども作りましたが、時間的に探索深さ 12 は実験出来そうにないです。 まだ実験中で、探索深さ 10 でのデータ量が 8 の時よりも少し少なかったりで、結論を出すには早いですが、 探索深さ 10 の時点で伸びがほとんど無いかも知れません。 本番までにもう少し実験しようかと思います。 (5/6 追加文) - 探索深さ 10 での学習は結局ほとんど効果がなく、優位に強くなる事を確認出来ませんでした。 弱くはなってなさそうだったので、選手権本番では学習したものを使っています。 興味ある方は第5回選手権バージョンとの差を比較してみて下さい。 - 二次予選で Hefeweizen 相手に 80 手近くまで一方的に定跡で指されて非常に苦しかったので、 決勝では、一次、二次予選で elmo, the end of genesis T.N.K.evolution turbo type D, Hefeweizen が勝った時の手を全て登録するという安直な定跡を追加し、2戦目から使用しました。 (初戦の名人コブラ戦には定跡作成が間に合いませんでした。)