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

2019.06.12

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

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

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

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

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

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

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

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

最新記事

過去の記事一覧