ミクロコスモスが1分で解ける謎のソフト「shtsume」

詰将棋解図ソフトといえば、何を思い浮かべるだろうか。

まずは柿木将棋IXだろう。柿木将棋シリーズは少なくとも1990年代から存在する指将棋用ソフトで、家庭用ゲーム機などにも搭載されていたが、バージョンIXはネット上でダウンロードできるようになった。

柿木将棋IXの詳細情報 : Vector ソフトを探す!
棋譜管理、詰将棋の検討等、多機能な将棋プログラム

過去バージョン(ディスク販売)は1万円代だったが、現在は1100円で買える。
操作性もよく、余詰検討機能もあり、詰将棋作家にとっては必須のソフトだろう。

ただ柿木将棋にも弱点があり、指将棋機能がメインなだけあって詰将棋の解図力は実はそこまで高くない。短編なら一瞬か、ものの数秒で解けるが、難解な中編になってくると数分かかる。100手超えの長編では解けない作品もかなり多い。
また、余詰検討も万全というわけではなく、柿木では検出されなかった余詰が詰パラの解答者に指摘されるケースもそれなりにあった。

そこで、第二の候補として、脊尾詰(せおつめ)というものがある。

脊尾詰ダウンロード

これももともとは90年代に開発されたソフト。この時代は詰将棋を解くためのソフト研究が盛んだったようで、その中でも抜きん出た解図力を誇ったのが脊尾詰である。最長の1525手の詰将棋「ミクロコスモス」を初めて解いたソフトだとか。

励棋と脊尾詰 - 詰将棋メモ
[2014年3月12日注釈追記]現在は、この記事で紹介している「コンピュータを利用した将棋の世界」はなくなり、励棋や脊尾詰の販売も中止されています。昔のトップページのイメージがアーカイブされていたので、「コンピュータを利用した将棋の世界」のリンクはそちらに切り替えました。中のページは参照できませんのでご注意ください。[...

なお、「脊尾詰」自体は詰将棋を解くためのアルゴリズムそのものなので、実際にこれを動かすためには人間が図面を入力したり手順を表示させたりするGUIが必要となる。20年前はGUIとして「励棋」というソフトが使われていたのだが、励棋の公開終了にともなって脊尾詰も使えなくなってしまった。

が、2017年になって開発者が突如、複数の将棋GUIに対応させたとして脊尾詰をネット上に無料公開するという対応に踏み切った。
その経緯については、鈴川が当時担当していた詰パラの連載「ちえのわ雑文集」にも書いていただいている。

詰将棋パラダイス 2017年8月号 #将棋情報局
終盤が強くなりたい全ての将棋ファンのための老舗詰将棋専門誌

そして、肝心の解図力だが、ミクロコスモスを解くだけあってなかなかのもの。無料でこれが使えるのはすごいと思う。Androidにも対応している。
ただし精度に関しては少し難があり、変化を長く詰ませた順を答えてくるケースが非常に多い。20手代を超えてくるとだいたいは変別解になってしまう。
また余詰検討機能もついているのだが、時間制限(最大3600秒)で打ち切られてしまうという難点がある。
よって、オススメの使い方としては、創作をしていて際どい紛れ順が余詰まないかを検討したいときに、その分岐を2手進めた図を脊尾詰にお伺いするというもの。つまり、詰むか詰まないかだけを知りたいときには信頼性が高い。私も柿木をメインに、このやり方で創作をしている。

さて、一般的に詰将棋作家によく知られたソフトとしてはこの2つだが、時折耳にするのがWhite Solver。

White Solver by Fumihiro Okabe
download White Solver app for MacBooks & iMac and other MacOS devices . White Solver - Mac App Store trended app from Fumihiro Okabe

開発者の岡部氏が将棋ソフトの研究者だけあって、解図力に関しては最強クラスのようだ。
例えば、最難解の裸玉として有名な「驚愕の曠野」を16時間で解いただとか(2014年)。これは脊尾詰ではおそらく解けない。

ただ、このWhite Solver、相当に癖のあるソフトなようで、まず第一にMacでしか動かない。鈴川は生粋のAppleアンチなので、この時点で抵抗感がある。
そして、実際に使った人の感想としては、操作性の悪さがすごいらしい。

White Solverについて - 書きかけのブログ
OS Xで使える詰将棋解図プログラムのWhite Solverを買って使ってみた。 WhiteSolver index まず盤面編集の操作がとんでもなく難しい。 思ったところに思った駒が置けないので、たまらずヘルプを開いたがそこにはこう書いてあった。 配置したい駒を何度かクリックすると駒周辺の色が黒く反転します。 この...

それでも詰将棋作家の中には実際に活用している人もいるようで、「余詰検討のときに[余詰なし]と結論を出してくれるので安心感がある」という声を聞いたことがある。White Solverが不詰と言っているなら不詰というわけだ。

ただし、現在はソフトが公開終了しているようで、入手できなくなってしまった。


そういうわけで、White Solverが入手不可な現状、難解作は脊尾詰でなんとか検討していくしかなかったのだが、大学の後輩がこんなソフトが最近出たことを教えてくれた。
その名も「shtsume」。

GitHub - hkijin/shtsume: AN USI Compliant Tsumeshogi Engine
AN USI Compliant Tsumeshogi Engine. Contribute to hkijin/shtsume development by creating an account on GitHub.

ここでは俗称として「シェル(貝殻)詰」とでも呼ぼうと思う。
開発者は棋人(hkijin)氏。Githubからダウンロードできる。
使えるようにする方法が少し難しいので、ここにメモがてら書いておく。(64bitのWindows10用)


まずは配布サイトのAssetsから「shtsume_v●●●_win64.zip」をダウンロードする。

解凍したら、自分の好きなフォルダに「shtsume.exe」と「shtsume_ja.txt」をコピーして置いておく。


Windows上でシェル詰を実行するにはlibwinpthread-1.dllという特殊なライブラリが必要なようなので、自分のPCにMinGW-w64というパッケージを入れておく必要がある。(←詳しくないので間違っていたらすみません)
いろいろ方法はあるようだが、下記リンクからダウンロードできる。

WinLibs - GCC+MinGW-w64 compiler for Windows
WinLibs - MinGW-w64 personal build = GCC for Windows 32-bit and 64-bit - Coming soon: the largest collection of open source libraries ported to Windows using Mi...

たくさんバージョンがあってややこしいが、64bitの最新版を選んでおけばとりあえず大丈夫だと思う。

ダウンロードしたら解凍し、適当な場所に「mingw64」フォルダを置いておく。
不用意に動かさないようにCドライブ直下とかがいいかもしれない。


パッケージを入れたはいいが、それがどこに置いてあるのかをPC自体に教えてあげなくてはいけない。そこで、環境変数のPathに追加する。
Windowsの左下のボタンを右クリックし、「システム」を選ぶ。(Windowsキー+Pauseボタンを押してもいい)

下のほうに行き「システムの詳細設定」を選ぶ。

「環境変数」をクリック。

「システム環境変数」の中に「Path」があればそれを選択して「編集」。
(もしなければ「新規」から自分で変数名に「Path」と入力すればいい)

空いている行にmingw64のbinを置いたフォルダのパスを入力する。

例:Cドライブ直下に置いたなら「C:\mingw64\bin」
入力したらOKボタンを押していき設定画面を閉じる。


次に、シェル詰を動かすためのGUIをインストールする。
指将棋のソフト検討などが趣味の人にはお馴染みだろうが、ここでは「将棋所」をオススメしておく。

将棋GUIソフト「将棋所」のページ

上記リンクに詳しく書いてあるので、それに従って将棋所をインストールしてソフトを立ち上げる。
「対局」→「エンジン管理」。

「追加」から、先ほど好きな場所に置いといた「shtsume.exe」を選ぶ。

環境変数の追加がうまくいっていれば、「エンジン”shtsume”が登録されました」と出てくる。
しばらく待っても登録できなかった場合は失敗なので、将棋所を再起動したり、PCを再起動したり、環境変数の設定のところをどうにかしたりして頑張ってください。

詰将棋を解かせるには、将棋所の「対局」→「詰将棋解答」で、エンジンにshtsumeを選んで「エンジン設定」を開く。

設定内容は開発者のGitHubに書いてあるとおり。ハッシュメモリは超難解作を解かせるわけでもなければ1024MBあれば十分だと思う。マシン性能が良ければどんどん増やしてもいい。
なお残念なことに、「余詰探索レベル」のほうは、おそらく機能が壊れていて使えなさそうだ。

ひとまず、詰将棋の盤面を並べて「詰」ボタンを押せば一瞬で解いてくれる。

参考までに、ミクロコスモスが私のPCで1分ちょっと。これは速い。メモリ使用量を増やせばもう少し速くなる。
解けた時は、どんな手を考えたかのログを出力することもできる。

そして驚くべきことに、「驚愕の曠野」も解かせることに成功した。

解図時間は16時間40分。White Solverと同じくらいだが、使っているマシンの時代を考えればあちらのほうがプログラムとしては優れているのかもしれない。

だが特筆すべきは精度のほうで、脊尾詰が変別解ばかり答えてくるところを、シェル詰は「末端探索レベル」の数値を少し大きくするだけで変化も短く詰ますよう努力して作意解を答えてくれる。

例えば、直近の2024年解答選手権チャンピオン戦のラスボス若島作を解かせてみると、作意39手のところを柿木IX・脊尾詰ともに41手の変別を答えてくるのだが、シェル詰は「末端探索レベル=6」にすれば39手の正解に辿り着く。

詰将棋解答選手権 出題作一覧

無駄合絡みについてはやや判定が甘い部分もあるようだが、ともかく解図の速さと精度が高いレベルで融合されており、実用には十分だろう。「木星の旅」なんかも20分で作意解に辿り着いた(これはWhite Solverより相当速い)。

個人的な印象でそれぞれのソフトを並べてみると、こんな感じ。(White Solverは使ったことないので噂ベースだが)

解図力: White Solver >= シェル詰 >= 脊尾詰 >>>> 柿木IX
精度: シェル詰 ≒ White Solver > 柿木IX >> 脊尾詰
操作性: 柿木IX >>>> シェル詰 > 脊尾詰 > White Solver
余詰検討力: White Solver >>>> 柿木IX > 脊尾詰

シェル詰にも余詰検討オプションは用意されているのに、現在使えないのが非常に残念。
これさえ正常に動けば、現在入手不可能のWhite Solverはさておき、詰将棋創作の第一選択となるソフトになるに違いない。少なくとも、ネット上で誰一人話題にしていないのは不思議すぎる。

出てきたばかりのソフトで、開発者が頻繁にアップデートを行っているため、今後に期待したい。

コメント

  1. KT より:

    「shtsume」の紹介記事ありがとうございました。
    早速インストールして難解な詰め将棋を解くのに大変重宝しています。
    ある日、簡単な五手詰めを解かしたところ解けませんでした。(三手詰めと誤解答)
    それ以来、他のエンジンでも確認するようにしました。
    https://d.kuku.lu/j6cwrkjdh

タイトルとURLをコピーしました