簡単な詰将棋はやる方だが難しいのはとても無理だ。
次の一手なら適当でも結構当たるが,詰将棋は少しのミスも許されないので甘くない。
コンピュータにとっては詰将棋の方が簡単で本格的な指し将棋より詰将棋の方が先に実装されている。1960年代の話である。
1997年に脊尾詰が1525手のミクロコスモスを解いて一段落とされている。
しかしながら,最長手数のミクロコスモスよりも難解なものがあることが知られており,下記サイトでは著名な幾つかが紹介されている。
岡村孝雄作の「驚愕の曠野」が筆頭にあがっているが,コンピュータにとって何が難しいかと言うと手の広さである。裸玉に対して持ち駒が大駒含め多種であるため初手すら安易に定まらない。
コンピュータによる回答時間も他のものが最短4桁秒であるのに対してこれだけ5桁秒である。うちのノートPCでも8時間弱要した。
そう,8時間弱なので同サイトの他のものより若干早い。
使ってみた詰将棋エンジンは以下のものである。
他にも上記サイトの「木星の旅」や「FAIRWAY」なども解かせてみたが更に数倍の大差で早いようである。
KomoringHeightsも登場時話題になったがどうやらそれを上回りそうな性能である。
shtsumeの面白いのは世間でCと呼んでも大概C++な昨今でPureなCで実装されている点である。詰将棋エンジンの大きな肝となる部分はメモリ管理であるため古典的なCでの実装は苦痛ではないかと思われるが独自のGCをスクラッチ実装されている模様である。
このような問題はもはやコンペやベンチマークの領域であるので一般的な詰将棋とは相当剥離した世界である。冒頭に脊尾詰を挙げたが現時点では32ビットエンジンで公開されているため利用できるメモリ量が少ないため極端な難問に対してはどうしても弱くなってしまう。
また,マニアックな話で「攻方打歩詰誘致」というトラップには引っかかるエンジンが多いとの指摘もある。攻め方の打歩詰は詰将棋エンジンでは考慮されていないことが多いようであるが,柿木将棋だけはさすがと言える。
加藤徹さんの、攻方打歩詰誘致の1号局(加藤徹全作品 3手詰 No.11a)をソフトに解かせてみた。https://t.co/uSOLgw2jig
— おかもと (@Araiyayon) 2025年1月9日
柿木将棋IX 9.77 正解(3手)
脊尾詰 1.2 誤解(3手)
KomoringHeights 1.1.0 準正解(7手)
shtsume 1.2.2 誤解(不詰) pic.twitter.com/0I4SQp9kfI
詰将棋界隈も決定版と言われつつ,まだまだ終わっていないようである。
うちの詰将棋エンジンも欠点を知りつつ数年放置している状況なので暇を見つけて改良したいものである。