Rustで書かれた、協力詰(ばか詰)専用のソルバー
https://ogiekako.github.io/fmrs にアクセスします。
- 左クリックで駒移動、右クリックで成、向きの変更
- キーボードによる操作も可能。FMと同じキー割当を採用しています。
- Solveボタンを押すと解図がはじまります。
- 簡易的な作問補助として、「+」ボタンで現在の局面に名前をつけて保存できます(最大20件、リロード後も保持)。「↺」ボタンでデフォルトに戻せます。
- URL自体が盤面を表しているため、問題の共有が容易です。
- FMはさまざまなルールをサポートしていますが、本ソルバーは協力詰専用です。
- 高速な解図が特徴で、例えば寿限無19447手を約5秒で解きます。
- 非標準駒数のサポートはありません。
- フェアリー駒は、石のみをサポートしています。(FMと同様、Eでおけます)
- 公開サイトの既定構成では、計算はブラウザ上の wasm で行われます。(つまりあなたの計算資源を消費します)
- 必要なら、重い解図だけ Cloud Run 上の API に逃がす構成も取れます。詳細は CLOUD_RUN.md を参照してください。
- 変化紛れが非常に多く、メモリ使用量が4Gを超えるような問題は解くことができません(例: 加藤徹4197手)。コマンドラインによる使用であれば、解ける可能性があります。
- 二歩があるなど、違法な初形を与えた場合の動作は未定義です。
セットアップ
git clone https://github.com/ogiekako/fmrs
cd fmrs/rust
実行
cargo run -r solve <algo> <sfen>
<algo>はstandardかparallel<sfen>は SFEN文字列
例:
cargo run -r solve standard '8k/9/9/8N/4b4/9/9/9/9 b RGrb3g4s3n4l18p 1'
cargoコマンドが存在しない場合は https://rustup.rs からインストールしてください
Install wasm-pack and run
npm run serve or npm run serve -- --port $PORT
GitHub Pages から重い解図だけ Cloud Run に逃がす構成をサポートしています。構成と手順は CLOUD_RUN.md を参照してください。
「協力詰における全駒煙詰の発見」の原稿・PDF・再検証資料は、ogiekako/papers の smoke-helpmate/ で管理しています。
