2007年11月04日

USIに対応した将棋GUIソフト「将棋所」

最近知ったのですが、将棋の思考エンジンとそれ以外のソフトとの通信プロトコルとしてUSI(Universal Shogi Interface)というのがあるんだそうです。これはUCIというチェスのプロトコルを元にしていて、現在はまだ草案の段階だとのこと。囲碁ソフトの、GMPやGTPに相当するものですね。で、今回紹介する「将棋所」というソフトは、そのUSIに対応したGUIのフロントエンドです。非常に良くできてます。すごいです。

将棋所
http://www.geocities.jp/shogidokoro/

将棋所は普通の棋譜再生ソフトとしても使えますので、一般の人にも十分利用価値がありますが(駒や盤もとても美しい!)、先ほどのUSIに対応していたり、連続自動対戦ができるなど、将棋ソフトを開発している人にとって便利な機能がたくさんあります。

ということで早速、かなり無理やりにですが、自分の将棋プログラムもUSIに対応させてみました。と言ってもまだごく一部のコマンドしか話せませんが、一応「将棋所」を通して対局だけはできるようになりました。実は、今まで一度も自分のプログラムと自分自身が対戦したことがなかったのですが、このソフトのおかげでそれが可能に! 結果は自分の圧勝。プログラム弱すぎです。でもちょっと感動しました。「将棋所」にもともと入っているLesserkaiという思考エンジンとも対戦させてみましたが、これとはいい勝負です。どっちも弱いというよりおかしい・・・(笑)

話もどって最初のUSIですが、歩をP(PAWN)と表すのってどうでしょうか? PAWNは歩ではないし、歩はPAWNではないと思うのですが・・・ こういうふうにしておけば過去の遺産を引き継げる、ってこともあまりないような気がします。後、形勢をcp(centipawn)という単位で表すのにも少し違和感があります。チェスは駒得が絶対なのかもしれませんが(よくは知りません)、将棋はけっしてそうではありませんので・・・ 思考エンジンを作っている人たちも、内部で使っている数字をどう変換したものか困ってしまうと思います。しかし一番の問題は、このようなプロトコルが今までなかったことですね。これは大きな進歩です。特に、私みたいに何でもかんでも自分で作れるわけではない人間には、かなりありがたいです。

2007年11月04日 23:51