2007-01-18 [長年日記]
_ [OpenSource] 誰かgnushogiをなんとかしてくれ
チェスは今でもたまに指すのだが、将棋とは縁遠くなって久しい。でも勝手に将棋トピックスはいつも楽しく読ませて頂いている。そこで紹介されていたTakodori's Self-brainstorming How to Promote Shogi Globallyの記事より。
オープンソース(GPL'd、しかもあのhyattせんせいのCraftyよりも強いんだって!)のチェス思考エンジン、Glarungの作者が、コンピュータ将棋に興味を持っているそうである。自分でエンジン書く気満々らしいので、興味のある方は手伝ってあげてください(私は無理)。日本でも将棋思考エンジンの開発はいろいろなところがやっているはずだが、フリーソフトウェア/オープンソースという形では全く出てこないのが残念だ。まあ、いろいろ事情はあるんでしょうが。
ところで、フリーソフトウェアの将棋思考エンジンと言えば先の文中にも出てくるGNU Shogiだが、こう言っちゃなんだがものすごく弱い。自他共に認めるボンクラの私が勝てるんだから相当な弱さである。理由はこれまたいろいろあるのだろうが、ブック(定跡)ファイルが古い上に貧弱なのが主たる原因の一つなのは間違いない。見たところ、実はブックをひたすら追加して充実させるだけで結構強くなるんではという気がするのだが、誰かやりませんかねえ。今どきの居飛車穴熊の基本手筋を教えるだけで相当厄介な相手になると思うのだが(私が振り飛車党だから)。ちなみにブックファイルは頒布tarballのmiscディレクトリの中に入っているgnushogi.tbkだ。実際はこれをバイナリ形式(gnushogi.bbk)に変換して使っている。中身は
# ←から始まる行はコメント
P7f P8d B7g P3d P6f S6b R7h P5d K4h
と言う感じで、もろチェス記法なのだが(gnushogiは昔のgnuchessをベースにしているのでしょうがない)、右から1,2,3...9(これはふつうの将棋と同じ)、上からa,b,c...iというわけ。上の例を解読すると、▲7六歩△8六歩▲7七角△3四歩▲6六歩△6二銀▲7八飛…と言った先手三間飛車の出だしになる。他のよくある記法(7g7fとか)もいくつかサポートしている。今まで出てこなかった駒は、桂馬はN(ight)というのは当り前だが、金将はG(old General)、香車はL(ance)ですね。!や?を使ったチェス風の好悪手指定もできる。このあたりはdocディレクトリ中のBOOKFILESという文書にざっと説明が書いてある。持駒から打つのは*か'だ。終局はResignsだけではなくSennichiteやJishogiの指定も出来る。
ちなみに最初、ブックファイル中のコメントに書いてある「Static (Rook)」だの「Fourth」だのというのは何のことだろうと思ったのだが、もちろん前者は居飛車のことですね(振り飛車はRanging Rook)。Fourthは当然四間飛車。弱いなりに指し手になんとなく昭和の香りがするのは、塚田スペシャル(!)とかのあたりで追加が止まってるからかな。空中戦法とかかまいたちとかを知っているのもおもしろい。なぜかKISHUU TAIZENというコメントも…なつかしすぎる。
戦法どんな人が追加したのかなんとなく分かる気も……<br>あとけっこうインストールとか面倒ですけど、GPL な思考エンジンとしてはhttp://gps.tanaka.ecc.u-tokyo.ac.jp/gpsshogi/ があります。