将棋の神様〜0と1の世界〜

「三間飛車のひとくちメモ」管理人、兼「フラ盤」&「チェスクロイド」作者がおくる、将棋コラム

将棋「形勢評価・次の一手」WebAPI

「WebAPI」という技術がある。下記ページなど参考下さい。

「Web APIとは:ITPro」
「Web APIという巨人の力を使っちゃえ! − @IT」

いろいろと調べたものの、未だいまいちよくわかっていない。
とにもかくにも、あったらうれしい将棋関連WebAPIについて記しておく。

「形勢評価API
●送信内容:
・局面
・手番

●取得内容:
・形勢評価(「もう詰んでいる局面」だとか、「詰めろの局面」などもわかるとうれしい)

                                                                                              • -

「次の一手API」(以下は、上記「形勢評価API」を含んだ内容)

●送信内容:
・局面
・手番
・強さ
・1手あたりの最大思考時間

●取得内容(and/or。多いほうがうれしい):
・現局面の形勢評価
・次の一手
・「次の一手」着手後の形勢評価
・コンピュータの読み筋

→つまり、一手毎に通信する(ページをリロードしない非同期通信)ことで、「次の一手API」を組み込んだ、Web上での対局ソフトの実現も可能ということ。

                                                                                              • -


端的に言ってしまえば、将棋の思考ルーチンをWebAPI化してほしい、ということだ。
(思考ルーチン開発は計り知れないほど大変)

これは、フリーの将棋対局ソフトを少人数(1人含む)で開発している方にとっても、都合の良いことなのではないかと思う。思考ルーチンを向上させることが最大の目標であって、ユーザーインターフェース(以下「UI」)は二の次のはず。実際、フリーの将棋対局ソフト「Bonanza」(ボナンザ)も、UIは完全に二の次といえると思う(ごめんなさい)。

思考ルーチンもUIもパッケージ化したデスクトップアプリを配布しても、対局ソフト製作者にはダウンロード数と批評が達成感の源となり、Web上には盤面の形では残らない。
自分の作成した思考ルーチンを組み込んだ将棋盤がWeb上に溢れてくれれば、とてもうれしいことではないだろうか。API利用者は、感謝を込めて思考ルーチン名をどこかに表示するようにすべきだ。

このWebAPIを使うことで思考ルーチンの開発をしなくて済む。これにより、将棋の知識が全く無いデザイナー(職人)の方々が、すぐれたデザインの盤駒を用いた将棋対局盤をWebに公開することができるようになる。私の「フラ盤」もまたしかり。棋譜再生中、任意の局面からコンピュータとの対戦を開始することができるようなフラ盤も作れるだろう(ブログパーツに最適なサイズのものを作ってもよい)。また例えば、形勢評価のデータを使って、「ハチワンダイバー」に出てきたゲーセンの将棋ゲーム『将棋学園クエスト』のように、デフォルメキャラクタが形勢にあわせて取っ組み合いを行なうようなアニメーションを搭載した、将棋対局盤も可能になるだろう。
(これ、アニメーションの部分だけでもいいのでFlashで誰か作れないものか。形勢ステータス(互角、優勢、互角→優勢、逆転、詰めろ、詰み、のようなステータス)を読み込めるようにしておいてもらえば、アニメーションの部分と盤の部分のFlashを上下に並べることで実現できる。)


個人レベルの管理サーバーでは、こんなWebAPIを作るのは無理なのでしょうか。よくわかりません。

                                                                                                                      • -

よく、「まずサービスのアイデアありきでよい。開発の技術は二の次(目的にあわせて勉強すればいくらでもついてくる)」といわれている(と思う)が、私の場合は、「まず『将棋の』サービスであること」からスタートしているので、門戸がかなり狭い。「棋譜情報内の戦型と書籍を結びつけるサービス」とか、「棋譜情報内の対局場所や出来事(陣屋事件とか)とWikipedia APIGoogleマップを結びつけるサービス」とかやっても誰も使わないだろう(笑)。
ただ、途中の局面情報を用いて戦法名を具体的に特定し、定跡本の検索精度を上げる、なんてことは可能か。


★2008/03/18追記:
「2008/3/18のエントリー」に続きます。