将棋のエンジンは多々あり、それぞれの開発者が日々しのぎを削っています。 その中でも今回は「技巧」を有難く使わせていただく。
■目的 サーバ上に将棋エンジンを配置し、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化することで疎結合になり、ソフト側でエンジンを持つ必要がなくなります。 イメージしていたものができました。 盤面をスマホのカメラで映しておくだけで、棋譜の記録や最善手の表示ができるようになれば面白いか。