トップサービス導入事例強み開発ブログよくある質問会社案内 お問い合わせ
Dev Blog

将棋の最善手をAPI経由で取得する

将棋のエンジンは多々あり、それぞれの開発者が日々しのぎを削っています。 その中でも今回は「技巧」を有難く使わせていただく。

■目的 サーバ上に将棋エンジンを配置し、API経由で最善手を取得したい

■準備 ・技巧をソースからビルド ・技巧の学習済みデータをアップ

■方式 ・盤面をFSEN形式のデータにする ・APIに対し、FSEN形式のデータを投げる ・APIが技巧に問い合わせ ・APIがレスポンスを返す

■実行 (1)こちらの局面で試す。

将棋エンジンAPIで試した局面図

(2)FSEN形式にする l3g2G1/1+B+Rskp3/p1pp4p/4GB1K1/5Gps1/1LPP1P1n1/P+n2PGP1P/9/+s3s1SNL w R2BSN2L2P 1

(3)APIからレスポンスを取得する 「5b4a」が返る。「5b」の駒を「4a」に動かしなさい、という意味。 次は後手の手番なので、符号でいうと「4一玉」が最善予測。

APIが返した最善手を示した局面図

■感想 API化することで疎結合になり、ソフト側でエンジンを持つ必要がなくなります。 イメージしていたものができました。 盤面をスマホのカメラで映しておくだけで、棋譜の記録や最善手の表示ができるようになれば面白いか。