うらお今年のSDT(将棋電王トーナメント)の開催日が発表になりましたね。11月の11,12日だそうです。参加予定の皆さんの開発は捗っているでしょうか?やねうら王はまだ1ミリも強くなってませんが。将棋ソフトに興味のあるプログラマの方から「将棋ソフトばっかりずっといじってて飽きないのか」という質問があったのでこの場でお答えしますが、毎年トレンドって変わるんですよね。SDT1(第一回将棋電王トーナメント)からやねうら王の変遷をざっと振り返ってみましょう。高速化と言っても並列化もさほどする余地がないので、SSE2/4の命令でガシガシ書いて速くなるわけでもなく、アルゴリズム的に等価な変換を利用して計算量を減らすとという感じでした。コメントがほとんど書かれていないBonanzaのソースコードを解読する作業とパズルを解くような作業の繰り返しでした。頭の体操になったような。探索部をStockfishにして丸ごと書き直し。この作業は、アーケードゲームをプレイステーションに移植する、みたいな感じの移植作業に近いですね。Stockfish化したおかげで、ソースコードはずいぶんシンプルになりました。機械学習Bonanzaメソッドによる機械学習、そして、KPP/KPA次元下げ。機械学習について色んな論文を読んだりした時期でした。この次元下げのコードが本当、腕力が必要なコードで大変苦労しました。50億ほど生成してそこからの評価関数を学習させました。連続自己対戦フレームワークの作成、Jenkinsを導入してjob化するなどインフラにずいぶん時間がかかりました。『技巧』の開発姿勢に大いに影響を受けました。新たな評価関数の設計そして今回のSDT5のトレンドは言うまでもなく、新たな評価関数の設計です。KPPT型評価関数が限界を迎えているので、新たな評価関数を設計したチームのみが上位に残れます。新たな評価関数と言うとすぐに(3駒関係の次だから)「4駒関係だろ?」と思われるかも知れませんが、4駒関係は3駒関係に比べると12倍ぐらいの計算量が必要で、現在の3駒関係でも評価関数に40%程度のCPU時間を消費しています。それが12倍も時間がかかるようになるとnpsは1/5以下に低下します。レーティングで言うとR500程度のダウン。4駒にしてそれ以上のリターンがないと結果的に弱くなります。そもそもPCの搭載メモリが128GBあっても4駒関係は収まりませんしね...。SDT1〜4をざっと振り返り、SDT5の展望を書いてみました。して見てみると、毎回トレンドが違うので、力を入れている分野が異なるんですよね。来年のトレンドは探索部かも知れませんし、再来年のトレンドは定跡部やDNNかも知れません。考えると、コンピューター将棋で長年にわたり上位の成績を残すには、このように毎年激しく移り変わるトレンドに適応していく能力が問われているのかも知れませんね。「将棋ソフトを作って5年目になります」とは言っても、毎年やっている内容(競技種目)が異なる感じです。それだけに、私としては、やっていて飽きないのですが、このトレンドについていけなくなったチームは上位から脱落していくのでしょうね。:最近コンピューターの大会を見ていて思うことが、上位のプログラムの殆どが公開されているいわゆる強いライブラリーを使用していて、以前ほどの強烈な個性臭が無くなってきていると感じています。新参のプログラムが勝ち進むと以前なら第2のBonanza登場か!と盛り上がったのですが、○○ライブラリー使用と記載されているのを見てしまうと一気に醒めてしまいます。:評価関数の形が違うと全く異なる棋風にはなるので、次のSDTはライブラリ勢も上位陣は強烈な個性を持った面白い将棋を見せてくれるのではないでしょうか。(何も強くなっておらず!)ですけど...。:ずいぶん煮詰まってますね。自分もジョーク言えるほど何かひらめきがあるわけじゃないですし。ちゃぶ台返しがそろそろ必要なのでしょうか。流行りのディープラーニング型にしちゃうとかもどうなんでしょう。ハニースポット絞りつくしたっていうのがあってるのかなぁ。:評価関数の形を変えればまだR2、300ぐらい余裕で伸びるでしょう...。変えていいのかは知りませんけど...。:PPAPでしょうか?低位テンソルをテーブルにするとかになるんでしょうかねぇ。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。