|
(GPS将棋開発参加記録)
|
もうすぐコンピュータ将棋王者決定戦である。開発時間があまり無いので大きな改造は見送って細かい修正をしているが、あらためてGPSは穴だらけのプログラムであることを認識するこの頃。
局面は、ラクラク次の一手 基本手筋集の111問目より引用。この問題の正解は、5九に底歩を打つのだが、GPSは自玉のピンチに気づかずにのんびり▲8一飛成り。理由を調べると、後手の△4八銀が一見銀損のため(実現確率が悪くて)読めていなかった。そこで、取ると両取りがかかりそうな手を読めるよう修正してみる。さて解決したかな?と思いきや、次にGPSが指すようになった手は▲7四角。もし△4八銀なら、▲4一角成△同玉▲8一飛成△5一角▲6二金で角を取れて優勢とか思っているらしい。先手陣の方がピンチなの分からないのはなぜかな? と調べるとなんと△3九角が読めていない。△8九の龍の利きが一見遮られていて、△3九角▲同金△同銀不成▲同玉(!)と角損に見えるらしい。こんなことで今まで良く無事だったなと思いつつ、きちんと龍の利きを伸ばすように修正する。ようやく解決かと思いきや、次にGPSが捻り出した手は、何と▲1八玉の早逃げ。
なんというか、あー言えばこう言うという性格の子供を育てているようである。でも、まあ、そういう子の方が大成するかもしれない。愛着が湧くのは確実だろうね。
と言いつつ研究者としては、手塩にかけて育てるよりも、こういう作業は自動化したいものである。読み抜けの発見は、一手広く読むと評価値が大きく変わる局面を集めればよさそうなので、問題は見付けた例題をどう一般化するかだろうか。条件を絞りすぎればその例題しか解けるようにならないし、反対に緩めすぎれば全幅探索になってしまう。プログラムが製作者より遥かに強くなってしまえば、この辺の(半)自動化が今よりずっと重要になるように思う。
P1-KY-KE * * * -KI * -KE-KY P2 * +HI * * * -KI-OU * * P3 * * * * -FU-FU * -FU * P4-FU * * * -GI * -FU * -FU P5 * -FU+FU * * * * * * P6+FU * * +FU+GI+FU * * +FU P7+KY * +KE+KI * * +FU+FU * P8 * * * * * * +GI+OU * P9 * -RY * * * +KI * +KE+KY P+00KA00FU00FU00FU00FU P-00KA00GI + +0059FU
先日ちょっとしたコンピュータ将棋関係者の飲み会がありました。トップレベルの方々のコメントはとても刺激的。声をかけていただけたのはやっぱり今年の選手権で決勝まで進めたからかな、としみじみ。
席上、bonanzaよりgpsは遥かに弱いと発言したら、あまり信じていただけなかったのでその日に対戦させた証拠を:-)
ちなみにbonanzaはpentium4 2ghz, gps はopteron 2.4ghzで動いているのですごいハンディキャップつき。でも5秒bonanzaにつぶされなかったのはここ数ヵ月の数少ない進歩かなと思ったり。
さて、あと少しで強くすることができるかどうか。ちなみにgpsはようやく駒落ち対応プロジェクトが始まりましたが、弱いだけでなく対局中に落ちると失礼極まりないので、今から10000局くらいテストできない限り辞退しそうな雲行きです。いや、その前に優勝できる気がしないけど。
日本将棋連盟がコンピュータとプロ棋士の勝負を管理するとの意向というニュースが結構将棋関係者以外にも広まっているようで。gps的は、まだコンピュータプログラムのトップに追い付いていないので他人事ですが、<大口モード>そのうち誰よりも強いソフトを作るよーとか宣言してみたり</大口モード>。
コンピューター将棋王者決定戦へ参加するために早起きして東陽町へ。5月の選手権で決勝に残ったチームだけが出場できる名誉ある大会である。
最初の対局で激指に逆転勝利し、驚きつつ皆で喜ぶ。激指の方に疑問手が出たとはいえ今までの実力では勝ちきれなかっただろうから。
最終的に成績は数字としては3勝4敗で、将棋の内容としては2勝くらいの気分。負けた将棋は実力通りといった感じで、引き続き頑張りましょう。
優勝は、全勝(!)で山下さん。おめでとうございます。選手権の激指にも思ったけれど、相当頑張らないとトッププログラムには追い付けない感じ。
他の感想としては、怪しげながら成績が上がってきたので、後回しにしてきたことを色々やらないとなと思った次第。無駄王手をかけないとか、定跡にあまり頼らないようにするとか、千日手になりそうだった時にこちらから手を変えるとか。後、会場でどたばたしてしまった反省から、当日用のスクリプトを整備してミスをしにくいように直したりとか。一人前のプログラムにしないとね。
余談だが関係者用のネームプレートはなんと「コンピュータ」であった。コンピュータ将棋のコンピュータと将棋のどちらを省略するかと考えると、普段(大学の環境はほぼ全員コンピュータ関係者なので)将棋を名乗ることが多いのだが、ここでは全く逆なのだなと実感。
岐阜チャレンジ2005というコンピュータ囲碁の大会のために大垣まで出張。 囲碁のプログラミングは将棋とはだいぶ様子が異なっていて、将棋プログラミング経験者でも、普通の(囲碁っぽい)囲碁を打てるようなプログラムを作るのは大変そうである。ちなみに最近自分も開発に参加している某プログラムも正視できない手を打っていてまだまだ先が長い感じ。
この大会で印象的だったことは、選手用のスペースがとても広く確保されていること。プログラマが集中できて良い環境と思う。
他の感想としては、運営の手伝いをしていて、大会な円滑な運営はなかなか大変だなあと実感したり。dhcpでipアドレスを割り当てているのに同じipアドレスが異なるマシンに割り振られるとか良く分からないことも起こったり。
あと解説がない時間に対局の投影だけでは寂しいので、選手がマイクで読み筋とか評価値とか紹介しても面白いかもしれない。