ライブラリ再考

こっそり書いてしまう。

現状の選手権の通過制限のルール自体は(今後緩くなる方向に向かうのでなければ)悪くないと思っています。今のところ参加者とライブラリ使用者の数を見ても大体折り合いがついているように思えますし。

むしろ正しく申請されているか(いくか)のほうが問題のような。チェスはすごいですね。。

まぁ自分にとって大事なのは、Bonanzaなんて圧倒できるようなプログラムを目指す、の一点に尽きるのですけど。なかなか。

コンピュータ将棋選手権

参加してきました。本当は今年も参加できるようなクオリティではなかったのですが、2年連続で参加しないと心が離れてしまいそうなので、リハビリも兼ねて強行出場を。
プログラム自体は2年前とは全く違うもので、去年の作りかけをベースに4月から開発を始めた即席プログラムです。評価関数は3つの駒の位置関係に挑戦してみました。時間の都合上、マシン発送直前まで学習を回してそのまま選手権へ。数回yowai_gpsと対局しただけで、まともなテストはほとんどできていなかったので、ちゃんと動くかかなり心配でした。ちなみにGPWの手法は並列化が間に合わなかったので今回は適用できていません…。

一次予選

4連勝3連敗。最終戦でGA将!!!!にひどい負け方をしたときは心が折れそうになりました。プログラムはいまいちでしたが、今年も薄型のマシンが注目を集めたようです(笑)。

二次予選

このままでは1勝もできないかもということで、いろいろ修正を。

・ 延長、枝刈りを強めに
・ 評価関数の駒割りの値を少し重めに
・ 一昨年の評価関数と足して2で割る(!?)

3つ目の変更は、意味不明なので最初の4戦でやめました。最初の2つはある程度効果があったようです。調整は大事。
ツツカナにはリベンジできてよかったです。ponanzaに勝てなかったのは残念。

終戦で竜の卵に逆転勝ちできたのはかなり嬉しかったです。決勝がかかっている対局だったので、竜の卵さんには申し訳なかったですが、この一勝のおかげで来年に向けて頑張れます。

決勝(ネット観戦)

激指優勝おめでとうございます。やっぱ強いですね。棋理がアシストした習甦の活躍も嬉しいです(笑)。GPSは3位ということで666コアを有効に使うのはやっぱ難しいんでしょうね。上手くできていれば圧倒的な強さでもいい気がするので。bona本体+ライブラリ群が1つも3位以内に入らなかったのは意外でしたが、同時にちょっとホッとしてしまいました。

選手権を終えて

継続が大事。開発日記も週一くらいで更新したい。

確率の精度改善

  • 指し手の情報そのもの
  • 移動元の3x3パターン
  • 移動先の3x3パターン

などの膨大な特徴を入れてみました。激指にはまだかなわないのですが、一致率はかなり向上して、序盤〜終盤通して30%以上は出るようになってきました(必ずしも一致率の向上=強さの向上とはいえないです。)。学習データを増やせば、もっといきそうです。やはり、駒の損得+簡単な将棋の特徴だけでは一致率は20%台が限界のような気がします。

LMRと実現確率の併用

金子さんが補足してくださっています。

http://www.sgtpepper.net/kaneko/diary/20091118.html

注目するポイントは、実現確率を決める際に指手単独についてのみ見ていると、良さそうに見える手が沢山ある局面と、他に有力な候補がない局面で、同じ確率がつくという点です。同じ確率が良いのかどうかは別に議論が必要ですが、LMR風の考え方を取り込めば前者の確率は下げられます。という背景で、GPS将棋は、ロジスティック回帰が(他の手をみないで)出してきた数値順に全合法手を並べた時の順位やトップとの差なども考慮して確率を決めています。

同じ確率が良いかどうかは場合によりけりな気がしますね。同じ「歩を取る手」でも、ほかの指し手に有力なものがない場合と、例えば「飛車を取る手」などの手がある場合では、探索深さに違いが出てほしいというのはもっともだと思います。一方で、本当に(同じくらい)有力な手が複数あった場合には、どれも深く探索した方がよいと考えられます。ただ、実現確率がそこまで正確なものかといわれるとちょっと自信がないので、GPS将棋のようにした方がいいのかもしれませんね。GPS将棋はトップとの差まで考慮しているということで、かなり凝った実装になっていそうです。今回の発表の手法ですが、killerやhistoryを考慮することは、一応、間接的に他の指し手との比較も行っていることになるかと思います。

GPW 2009

今年もGPWに参加してきました。関係者の皆様お世話になりました。

今年も優秀論文賞をいただきました。会場ではなぜか謝り倒していましたが(笑)、素直にうれしいです。今後も研究・開発を頑張っていきたいと思います。

特に興味深かった発表をいくつか。

合議システム(木幡さん,杉山さん)

非常に面白い発表でした。私は合議制は乱数を入れて多数決をとることで、評価関数の小さな誤りを修正する、というような手法だと思っていたので、違うプログラムの合議であれだけ高い勝率が出ているのは正直意外でした。
 同一プログラムの合議の場合、評価値に乱数を入れるだけではなく、探索の手法を変えてみたり、探索中のパラメータ(枝刈のマージンなど)に乱数を加えてみるといったこともやってみると面白いかもしれません。

静止探索中の動的指し手生成(竹内さん)

静止探索中にどんな指し手を生成するか、ということは前に自分もいろいろといじっていたので、興味深く聞いていました。静止探索中でも時間(計算コスト)が許すならより多くの手を読んだほうがよくなりそうだと思っていたのですが、どうもそうではないらしい。SEEとRating(top 20%)は実際に探索中で用いる場合(つまり計算コストも考慮した場合)どちらのほうが優秀なのか、ということを聞き忘れていました。今回棋理でも実現確率を実装したのでこのあたりも試してみたいと思いました。

あとみんな発表上手いなーとか思いながら聞いてました。自分ももう少し上手くなれるよう努力したいです。

今年は、去年以上に上位陣の開発者の方々からもいろいろとお話を聞くことができて、大変勉強になりました。学生時代に将棋を始めて就職してからも続けている人は大槻さんくらいという話もありますが、自分も生き残れるよう頑張りたいと思います。

観戦

というわけで、昨日は選手権の観戦&恒例の(?)飲み会に参加させていただきました。選手権不参加なのに当然のようについていってすみません(笑)。
いろいろな方から「参加しなきゃ面白くないでしょ」と言われましたが、見てるだけでも結構面白かったです。運の要素もあるとはいえ、マイムーブでぎりぎり2次シードとは厳しい時代になりましたね・・・。

今日はネットで観戦していました。GPS将棋優勝、大槻将棋準優勝おめでとうございます。個人的には結構応援しているチームだったので、嬉しいことだと思います。