見出し画像

将棋AIエンジン「elmo」の利用(1) 自作詰将棋の検証


0. はじめに

ここ3ヶ月ほどの間、著作権フリーな1手詰、3手詰、5手詰の問題集の作成を目指して、noteに問題を投稿してきました。

しかし、何度か詰将棋の不備を発見し、その都度修正を行なってきましたが、今後も詰将棋を作成していくことを考えると、全てを人力で行うことは現実的とは思えません。

将棋ソフトを購入することも考えられますが、私の望みの機能がついているとは限らないので、なかなか購入に踏み切れませんでした。

そのような時に、後輩(?)が「将棋所」というアプリケーションを使っているのを見て、それまで私が利用していた「柿木の将棋ソフトウェア」と使い比べてみたいと思い、「将棋所」のアプリをダウンロードして使ってみることにしました。

使用する過程で、ネットの情報を収集していると、「やねうら王」や「elmo」といったアプリケーションを「将棋所」上で動かせることを知り、さらに、私の使っているものと同じOSでこれらを導入した記事を見つけました。

その記事を参考に「やねうら王」と「elmo」を導入して動かしてみると、詰将棋の余詰検証に利用できることが分かりましたので、このnote記事としてまとめようと思うに至りました。

私は、自身のパソコンに導入することはできましたが詳細なところはさっぱり理解できておらず、またOS毎の詳しい導入方法はインターネット上にございますので、この記事では導入方法は省略させていただきます。


1. 将棋GUIソフト

市販の将棋ソフトは、将棋盤の画像や駒の画像やその動き、将棋のルールが内包された「将棋GUIソフト」と、コンピュータの思考エンジンに対応する「将棋AIエンジン」の両方がパッケージ化された状態で販売されています。

それに対して、一から自身のパソコンに導入する際には、「将棋GUIソフト」と「将棋AIエンジン」をそれぞれインストールする必要があります。

私がこれまでに利用してきた将棋GUIソフトは、「柿木の将棋ソフトウェア(図1)」と「将棋所(図2)」の2つで、ともにソフトウェアの局面図の画像やソフトウェアの画面をWeb上で公開できることから、詰将棋の盤面の保存や将棋教室の棋譜の保存、将棋教室において詰将棋の出題図をスクリーンに移すといったことも自由に利用してよいようです[1]。

そのため、私も日々、開発者の方々に感謝しながら利用させていただいております(^◇^;)

このうち、0. はじめに においても述べたように、「将棋所」はGithubで公開されている将棋AIエンジンを追加することを想定して作られた将棋GUIソフトであり、この記事では、「将棋所」に「やねうら王」と「elmo」の2種類の将棋AIエンジンを追加して自作詰将棋の余詰チェックなどに利用しました。


図1. 柿木の将棋ソフトウェアのアプリケーションの画像。
図2. 将棋所のアプリケーションの画像。


2. 将棋AIエンジン

将棋AIエンジンの作成の歴史は1990年以前まで遡ることができますが、将棋AIエンジンの強さを競うコンピュータ将棋選手権は1990年から始まりました。

私がこれまでに「柿木将棋(2002年頃)」「激指(2005年頃)」「Bonanza(2006年頃)」と対戦したことがありますが、その当時はコンピュータ将棋選手権の存在を認知しておらず、ただ単に将棋の勉強の一環として活用しておりました。

このうち私が最初に触れたソフトは「柿木将棋」で、私が利用していた当時は25手以下の詰将棋を解答する機能がついており、詰将棋問題集に記載されている十数手詰を解けることに感動した記憶があります。

私が最も衝撃的だったのは「Bonanza」というソフトで、対戦したのはコンピュータ将棋選手権でチャンピョンに輝いた2006年頃だったと記憶しています。

当時の私の棋力はアマ二段くらいだったのですが、全く歯が立たず非常に衝撃を受けた記憶があります。

あとで知ったことですが、「Bonanza」を動かすのにノートパソコンで十分だったらしく、私の対戦した「Bonanza」はコンピュータ将棋選手権のものと同等の実力を発揮していたと考えると、負かされてしまうのも仕方なかったと思います。

2010年以前に、私は当時最強だった将棋AIに触れる機会がありましたが、2010年以降に将棋から離れてしまい、それとともに将棋AIへの関心がすっかり薄れてしまいました。

もちろん、ニュースとして報道されたプロ棋士 vs 将棋AIの対戦(例えば、2007年に行われたBonanza vs 渡辺明先生の対戦や、2012年のボンクラーズ vs 米長邦雄先生の対戦)は存じてましたが、2012年にAI将棋がプロ棋士に勝利したことで将棋AIが人間を凌駕したと認識し、それ以降の当該対戦への興味も薄れてしまいました。

悲しきかな、私が将棋AIについてウォッチしてこなかったこの10年ほどの間に、将棋ソフトが目まぐるしく進化してきたようで、時代に取り残された気分です(^_^;)

最近、オンラインでの将棋の指導や詰将棋の創作を行うようになり、将棋AIを利用する必要が生じてきたため、いろいろ調べる中で私のパソコンに導入できそうな「やねうら王」とその改良版の一種と思われる「elmo」をこの度、導入することとなりました。

私が「elmo」を導入する際に参考にしたHPの関係で、バージョンは第29回コンピュータ将棋選手権大会のものを導入しました。

「elmo」はelmo囲いという、対抗形において居飛車側の囲いとして有力な作戦を最近発見した将棋AIエンジンとしても有名です。

ちなみに、「Bonanza」が発見したBonanza囲いも将棋AIが編み出した囲いとして有名ですね(^_^)

図3. elmo囲いとボナンザ囲い

3. 将棋AIエンジンの設定と将棋所における出力

将棋所を起動させ、
[対局] → [エンジン管理] → [追加]
で「elmo」を導入した後、画面右下の [閉じる] を押さずに、エンジンを選択し、
[エンジン設定]
をクリックすると、将棋AIエンジンの詳細な設定を行うことができます。
このnoteでは以下のエンジンの設定で詰将棋の検証を行いました。

(太字部分が変更箇所)

ハッシュメモリ (USI_Hash) : 1024 MB

Thread : 4 (default)
MultiPV : 5
NetworkDelay2 : 1020 (default)
SlowMover : 100 (default)
DepthLimit : 0 (default)
EvalDir : eval (default)

GenerateAllLegalMoves : no (default)
USI_OwnBook : yes (default)

BookMoves : 16 (default)
BookFile : user_book1.db
BookEvalDiff : 30 (default)
BookEvalWhiteLimit : -140 (default)
BookOnTheFly : no (default)
BookPvMoves : 8 (default)
FlippedBook : yes (default)

DrawValueBlack : -2 (default)
PvInterval : 300 (default)
ConsiderationMode : yes (default)
FV_SCALE : 16 (default)

Stochastic_Ponder : no (default)
NetworkDelay : 120 (default)
MinimumThinkingTime : 2000 (default)
MaxMovesToDraw : 0 (default)
NodesLimit : 0 (default)
WriteDebugLog : (default)
EnteringKingRule : CSARule27 (default)

NarrowBook : no (default)
BookIgnoreRate : 0 (default)
BookDir : book (default)
BookEvalBlackLimit : 0 (default)
BookDepthLimit : 100
ConsiderBookMoveCount : no (default)
IgnoreBookPly : no (default)

SkillLevel : 20 (default)
DrawValueWhite : -2 (default)
ResignValue : 9999 (default)
OutputFaiLHPV : yes (default)

将棋所におけるelmoの検証結果の出力について、2023年7月25日に投稿した5手詰の第1問(図4)を例に説明します。


図4. 5手詰No.1の図面

この図面を
[局面編集] → [局面編集開始]
で作成します。

ここで、将棋AIエンジンを動かすために、先手の玉をテキトーな場所に置く必要があります。

詰将棋の局面を作成後、
[対局] → [詰将棋解答] → [設定して開始]
をクリックすると、図5のような出力結果が得られます。

この図5から、elmoの詰将棋の検討結果が「読み筋」の列に表示されています。
また、「評価値」の列に読み筋の評価が表示されています。

5種類の手順について読み筋が表示されているのは、エンジンの設定において「MultiPV = 5」としているためです。

1つ目の「評価値:+Mate:7」は7手を進めた結果、mate(死 = 詰み)となることを意味し、+Mateは先手の勝ちを表しています。

与えた図面は5手詰ですが、7手で詰ます結果になったのは、読み筋に無駄合を含んでいるためです。

2つ目〜5つ目の評価値が「−Mate」となっていますが、これらは後手が勝つ読み筋を表しています。

初手から別手順の余詰がある場合、2つ目の評価値が「+Mate」と表示されます。

また、不詰の場合、1つ目の評価値が「−Mate」と表示されます。

完全作の場合、上述のように1つ目の評価値が「+Mate」、2つ目以降の評価値が「−Mate」となります。

ここで注意点として、3手目以降に別手順による余詰がある場合、完全作と同様の出力結果が得られてしまいます。

この対策として、2手進めた盤面において、再度、[詰将棋解答]を行うことにより余詰を正確にチェックすることができます。

次章で、私がnoteに発表した5手詰において余詰/不詰と判定された局面について解説します。

図5. 図4に示した詰将棋を将棋所上でelmoに解かせた出力結果

4. 余詰/不詰が確認された図面およびその修正

4.1. 5手詰 No. 6(先手玉の位置の問題)

1つ目の作品は、作品の不備ではなく先手玉を置いたことによって不詰となった問題についてです。

当該の5手詰を図6に示します。

この詰将棋の作意手順は

▲3四銀 △4二玉 ▲2二龍 △同馬 ▲4三銀上成 まで5手詰

ですが、この順を進めと、4手目△2二同馬で逆王手(先手玉に王手)がかかるため、5種類の読み筋全ての評価値が「−Mate」となってしまいました。

この問題は、「7七と」を置くことで解決しました。(図7)

図6. 5手詰No.6に先手玉を置いた局面をelmoで[詰将棋解答]を実行した結果
図7. 5手詰No.6に先手玉を置いた局面をelmoで[詰将棋解答]を実行した結果(改)


4.2. 5手詰 No. 24(余詰)

2つ目の作品は超手数の余詰が発見された例についてです。

当該の5手詰を図8に示します。

この詰将棋の作意手順は

▲2五桂 △同と ▲3四金 △同玉 ▲4四龍 まで5手詰

ですが、elmoによる検証の結果をもとに考えると、

▲4四龍 △2二玉 ▲2三銀成 △同玉 ▲2四金 △1二玉 ▲1三歩 △2一玉 ▲3三桂 △2二玉 ▲4二龍 △3二合駒 ▲1二歩成 △同玉 ▲3二龍 △2二合駒 ▲2三金 △1一玉 ▲2二金 まで19手駒余り

という余詰があることが明らかになりました(^_^;)

この問題は「2一桂」を置くことで解決しました。(図9)

このような超手数の余詰はあるとわかれば読み切れるのですが…あるかどうかわからないものを発見するのはなかなか難しいですね^^;

図8. 5手詰No. 24に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図9. 5手詰No. 24に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.3. 5手詰 No. 31(余詰)

3つ目の作品も作意手順より超手数の余詰が発見された例についてです。

当該の5手詰を図10に示します。

この詰将棋の作意手順は

▲3二銀成 △1二玉 ▲1三角成 △同玉 ▲2二角成 まで5手詰

ですが、初手を▲3二銀不成だと9手で詰むこととなります。正直、この9手の手順は5手目以降が作意手順に合流するので余詰に分類されるか微妙なところですが、少しモヤモヤするので、初形の「2三銀」を「2三金」としてこの問題を回避しました。(図11)

図10. 5手詰No. 31に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図11. 5手詰No. 31に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(2)


4.4. 5手詰 No. 36(余詰)

4つ目の作品も作意手順より超手数の余詰が発見された例についてです。

当該の5手詰を図12に示します。

この詰将棋の作意手順は

▲1二角 △同香 ▲2二香 △1一玉 ▲3一龍 まで5手詰

ですが、elmoによる検証の結果をもとに考えると、

▲3二角 △1二玉 ▲4一角成 △3二歩合 ▲同龍 △2二銀合 ▲1三歩 △同玉 ▲1四歩 △同玉 ▲3四龍 △2三桂合 ▲1六香 △1五桂合 ▲2三馬 △同銀 ▲2六桂 △1三玉 ▲1五香 △1四合駒 ▲2五桂 △同歩 ▲1四香 △同銀 ▲3一角 △1二玉 ▲3二龍 まで27手駒余り

という余詰があることが明らかになりました(^_^;)

この問題は、この余詰手順の11手目▲3四龍を防ぐために初形で「3三歩」とすることで解決しました。(図13)

余談ですが…この余詰手順は中合や限定合を含む「なかなか良い筋」だと思うので、これに近い図面で新しく詰将棋を作れそうですね(^_^;) これも将棋AIに余詰を探してもらうことの利点かもしれません。

図12. 5手詰No. 36に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図13. 5手詰No. 36に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.5. 5手詰 No. 37(余詰)

5つ目の作品も作意手順より超手数の余詰が発見された例についてです。

当該の5手詰を図14に示します。

この詰将棋の作意手順は

▲4三角 △同玉 ▲2三香 △3一玉 ▲2二飛成 まで5手詰

ですが、初手を▲5四角、▲6五角、▲7六角で駒余りになる順をうっかりしていました。

この問題は、初形に「5三歩」を置くことで解決しました。(図15)

図14. 5手詰No. 37に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図15. 5手詰No. 37に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.6. 5手詰 No. 53(余詰)

6つ目の作品も作意手順より超手数の余詰が発見された例についてです。

当該の5手詰を図16に示します。

この詰将棋の作意手順は

▲1五金 △同玉 ▲1六龍 △同玉 ▲2六金 まで5手詰

ですが、

▲2四金 △同金 ▲2六龍 △1四玉 ▲2四龍 まで5手駒余り

の順をうっかりしていました。

この問題は、初形に「2三歩」を置くことで解決しました。(図17)

図16. 5手詰No. 53に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図17. 5手詰No. 53に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.7. 5手詰 No. 64(打歩詰回避問題)

7つ目の作品は大駒の不成を含む打歩回避問題です。

当該の5手詰を図18に示します。

この詰将棋の作意手順は

▲3三角不成 △1三玉 ▲1四歩 △2三玉 ▲3四馬 まで5手詰

ですが、[詰将棋解答] を実行した結果の評価値は全て後手勝ち(不詰)という判定になりました。

初形で「4二角」を持ち駒にすると、同様の手順の詰みを読み切れました。(図19)

インターネットで検索してもこの問題の解決方法が見当たらなかったため、私が導入した将棋AIエンジンelmoは「打歩詰を反則」とするルールは実装されていますが、大駒の不成手順を読み筋に含めないと考えられます(^_^;)

図18. 5手詰No. 64に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図19. 5手詰No. 64を一部変更した局面においてelmoで[詰将棋解答]を実行した結果(改)


4.8. 5手詰 No. 65(余詰)

8つ目の作品も作意手順より超手数の余詰が発見された例についてです。

当該の5手詰を図20に示します。

この詰将棋の作意手順は

▲2九銀 △4九玉 ▲3九龍 △同玉 ▲3八馬 まで5手詰

ですが、

▲2七銀 △2八玉 ▲3七龍 △1七玉 ▲2六銀 △1六玉 ▲1七龍 まで7手詰

の余詰順がありました。玉方の2五金は▲2七銀以下の詰みを防ぐために配置したものですが、読みが足りませんでした(^_^;)

この問題は初形で「4五桂」を追加することで解決しました。(図21)

図20. 5手詰No. 65に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図21. 5手詰No. 65に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.9. 5手詰 No. 70(銀成/不成非限定)

9つ目の作品は成/不成非限定の例についてです。

当該の5手詰を図22に示します。

この詰将棋の作意手順は

▲1二銀成 △同馬 ▲2三桂不成 △同馬 ▲2一馬 まで5手詰

ですが、初手は▲1二銀不成でも同じ手順で詰みます。

これは詰将棋のルール的に問題ありません(詰将棋の評価を少し低下させることがあります)が、将棋AIは別の詰み手順として判断するようです。

図22. 5手詰No. 70に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果


4.10. 5手詰 No. 79(余詰)

10個目の作品も余詰が発見された例についてです。

当該の5手詰を図23に示します。

この詰将棋の作意手順は

▲1六銀 △同玉 ▲3四角成 △1五玉 ▲2五馬 まで5手詰

ですが、

▲2四銀 △同玉 ▲3四角成 △1五玉 ▲2五馬 まで5手詰

をうっかりしていました。この余詰手順を消すために、初形で「1三歩」を「1三銀」に置き換えることで解決しました。(図24)

図23. 5手詰No. 79に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図24. 5手詰No. 79に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.11. 5手詰 No. 84(余詰)

11個目の作品は余詰が発見された例についてです。

当該の5手詰を図25に示します。

この詰将棋の作意手順は

▲3四飛成 △同玉 ▲4四角成 △2五玉 ▲2六金 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲2一飛成 △2二香合 ▲3三金 △同玉 ▲3一龍 △3二飛合 ▲4四馬 △2三玉 ▲3五桂 △同飛 ▲2二龍 まで11手駒余り

をうっかりしていました。この余詰手順を消すために、初形で「5四歩」を「5四角」として再度、[詰将棋解答] を実行すると、

▲3四金 △2二玉 ▲3三金 △同桂 ▲1一龍 △2三玉 ▲1四龍 △3二玉 ▲1二龍 △2二香合 ▲5四馬 △4三銀合 ▲2三角 △4二玉 ▲2二龍 △5一玉 ▲3三馬 △6一玉 ▲4三馬 △7一玉 ▲8二馬 まで21手駒余り

という新しい余詰手順が発見されてしまいました^^; (図26)

この新しい余詰手順は「5四角」が取られる順であるため、初形で「5四角」の代わりに「6五角」とすることで解決しました。(図27)

図25. 5手詰No. 84に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図26. 5手詰No. 84に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改1)
図27. 5手詰No. 84に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改2)


4.12. 5手詰 No. 102(余詰)

12個目の作品は余詰が発見された例についてです。

当該の5手詰を図28に示します。

この詰将棋の作意手順は

▲1一角 △同玉 ▲3三角 △2二合駒 ▲2三桂不成 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲2三桂成 △1一玉 ▲3三角 △2二合駒 ▲2一銀成 △同玉 ▲2二角成 まで7手駒余り

という余詰を見落としていました。

この余詰手順を解消するために、初形に「3六飛」を追加し(図29)、[詰将棋解答] を実行した結果、

▲2三桂成 △1一玉 ▲2二角 △同歩 ▲1二成桂 △同玉 ▲2一角 △1一玉 ▲1二香 まで9手詰

という余詰が生じました。そのため、この余詰手順で8手目に上部へ脱出できるように、初形で「1三飛」を「1四歩」としたところ、余詰を解消できました。(図30)

図28. 5手詰No. 102に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図29. 5手詰No. 102に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改1)
図30. 5手詰No. 102に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改2)


4.13. 5手詰 No. 115(不詰)

13個目の作品は不詰となった例についてです。

当該の5手詰を図31に示します。

この詰将棋の作意手順は

▲2三銀成 △同玉 ▲1四龍 △同玉 ▲2四角成 まで5手詰

ですが、2手目△2一玉で不詰でした(^_^;)

この不詰は回避するために、図32のように大幅に変更して不詰を回避できました。(図32)

図31. 5手詰No. 115に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図32. 5手詰No. 115に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.14. 5手詰 No. 123(余詰)

14個目の作品は余詰となった例についてです。

当該の5手詰を図33に示します。

この詰将棋の作意手順は

▲1三銀 △同玉 ▲3一馬 △同龍 ▲2三金打 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲2二金 △同龍 ▲同金 △同玉 ▲3三銀 △同歩 ▲3二飛 △1三玉 ▲3三飛成 △2三金合 ▲3一馬 △1二玉 ▲1三歩 △同金 ▲同龍 まで15手駒り

という余詰がありました。余詰手順の5手目▲3三銀に対して、△2三玉と躱して不詰にするために、初形で「1五銀」を追加することで、この余詰を解消できました。(図34)

図33. 5手詰No. 123に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図34. 5手詰No. 123に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.15. 5手詰 No. 132(余詰)

15個目の作品は余詰となった例についてです。

当該の5手詰を図35に示します。

この詰将棋の作意手順は

▲1四飛 △同金 ▲3二龍 △1三玉 ▲2二龍 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲3二飛 △1三玉 ▲2二飛成 △1四玉 ▲3四龍 △2四合 ▲2三龍引 まで7手詰

の余詰がありました。

この問題を解消するために、初形で「1一香」を「1一桂」に置き換えることで解決しいました。(図36)

図35. 5手詰No. 132に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図36. 5手詰No. 132に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.16. 5手詰 No. 147(余詰)

16個目の作品は余詰となった例についてです。

当該の5手詰を図37に示します。

この詰将棋の作意手順は

▲3九飛 △1五玉 ▲1六角成 △同玉 ▲1九飛 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲3六飛 △1五玉 ▲3五飛 △2五合 ▲同飛 △1六玉 ▲2六飛 △1五玉 ▲1六角成 まで9手駒余り

の余詰を見落としてました。この余詰手順は、初手▲3九飛でも同様の手順を実行できるため、余詰手順の3手目▲3五飛を消す必要があります。

この問題を解消するために、初形で「4五飛」を追加することで解決しました。(図38)

図37. 5手詰No. 147に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図38. 5手詰No. 147に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.17. 5手詰 No. 150(余詰)

17個目の作品は余詰となった例についてです。

当該の5手詰を図39に示します。

この詰将棋の作意手順は

▲1五飛 △2三玉 ▲1二飛成 △同玉 ▲2二馬 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲2二馬 △1四玉 ▲1三飛 まで3手詰

の余詰を完全にうっかりしてました。

この余詰手順で、初手▲2二馬は作意手順の5手目と共通であるため、3手目を防ぐ必要があります。

この問題は図40に示すような初形を用いることで解消できました。

図39. 5手詰No. 150に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図40. 5手詰No. 150に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.18. 5手詰 No. 153(余詰)

18個目の作品は余詰となった例についてです。

当該の5手詰を図41に示します。

この詰将棋の作意手順は

▲3三角成 △同玉 ▲1四金 △同玉 ▲1二龍 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲2六金 △同龍 ▲同角 △1六玉 ▲1五飛 △2六玉 ▲2五飛 △3六玉 ▲4五龍 △3七玉 ▲5五角成 △4六合 ▲同龍 △3八玉 ▲5六馬 △3九玉 ▲2九馬 まで17手駒余り

という余詰がありました。この問題を作成したときに、この余詰手順の可能性は考えていましたが、4手目△1六玉で詰まないと読んでおり、5手目▲1五飛が見えてませんでした(^_^;)

初形で「3六歩」を追加することで、この余詰手順を消すことができました。(図42)

図41. 5手詰No. 153に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図42. 5手詰No. 153に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.19. 5手詰 No. 156(余詰)

19個目の作品は余詰となった例についてです。

当該の5手詰を図43に示します。

この詰将棋の作意手順は

▲2四金 △同玉 ▲2五香 △同玉 ▲3五龍 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲3三香成 △同銀 ▲1三香成 △同玉 ▲3三龍 △2三合 ▲1四香 まで7手駒り

という余詰がありました。この余詰を消すために、初形で「1八龍」を追加するとうまくいきました^o^(図44)

図43. 5手詰No. 156に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図44. 5手詰No. 156に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.20. 5手詰 No. 157(余詰)

20個目の作品は余詰となった例についてです。

当該の5手詰を図45に示します。

この詰将棋の作意手順は

▲4九飛 △3九銀合 ▲同飛 △同桂成 ▲1八銀 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲4七馬 △3八歩合 ▲同馬 △1九玉 ▲4九飛 △2九銀合 ▲同飛 △同香成 ▲1八金 △同玉 ▲2七銀 △1九玉 ▲1六飛 まで13手駒余り

の余詰が見逃していました。余詰手順の初手▲4七馬を消すために、初形で「4六歩」を追加するとうまくいきました。(図46)

図45. 5手詰No. 157に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図46. 5手詰No. 157に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.21. 5手詰 No. 169(余詰)

21個目の作品は余詰となった例についてです。

当該の5手詰を図47に示します。

この詰将棋の作意手順は

▲1二馬 △同玉 ▲1三銀打 △2三玉 ▲1二角 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲4五角 △3四金 ▲1二馬 △同玉 ▲3四角 △2二玉 ▲2三金 △2一玉 ▲2二銀 まで9手詰

という余詰を見逃してしまっていました。余詰手順の4手目に△2四玉として逃れられるように、初形で「2五銀」を追加するとうまくいきました(^◇^;)(図48)

図47. 5手詰No. 169に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図48. 5手詰No. 169に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.22. 5手詰 No. 171(余詰)

22個目の作品は余詰となった例についてです。

当該の5手詰を図49に示します。

この詰将棋の作意手順は

▲2一金 △同玉 ▲3三桂 △同金 ▲3一飛 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲2一飛 △同玉 ▲3三桂 △同金 ▲2二金 まで5手詰

という余詰をうっかりしてました。余詰手順の5手目に▲2二金を消すために、初形で「1二金」を追加するとうまくいきました(^◇^;)(図50)

図49. 5手詰No. 171に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図50. 5手詰No. 171に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


4.23. 5手詰 No. 195(余詰)

23個目の作品は余詰となった例についてです。

当該の5手詰を図51に示します。

この詰将棋の作意手順は

▲1五銀 △同玉 ▲1六歩 △2五玉 ▲1五金 まで5手詰

ですが、[詰将棋解答] を実行した結果、

▲1五金 △同玉 ▲1六歩 △2五玉 ▲2六銀 △2四玉 ▲1五銀 △2五玉 ▲2六歩 まで9手詰

の余詰を見落としていました。余詰手順の9手目▲2六歩を防ぐように初形で「2九龍」を追加するとうまくいきました。(図52)

図51. 5手詰No. 195に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果
図52. 5手詰No. 195に先手玉を配置した図面においてelmoで[詰将棋解答]を実行した結果(改)


5. まとめ

このnoteで「やねうら王」と「elmo」という将棋AIエンジンを自身のパソコンへ導入し、これまでにnoteで発表した5手詰全200問の不詰/余詰の確認を行いました。

その結果、20問程度の不備があり、私のセルフチェックでは10%程度の不良問題があることがわかりました。

今後は、3手詰全200問の余詰/不詰の確認に加えて、今後作成する詰将棋に将棋AIエンジンを利用していこうと思います。

また、時間のある時に、Githubで公開されている他の将棋AIエンジンも自身のパソコンに導入してみようと思います。

最後に、フリーソフトウェアとして「将棋GUIソフト」と「将棋AIエンジン」をフリーソフトウェアとして公開してくださった開発者の皆様に感謝します。


[参考]
[1] 「柿木の将棋ソフトウェア」の利用に関する規則は、例えばHPのページ末に記載されています。また、「将棋所」の利用に関する規則は、将棋所HPのページ末に記載されています。

次の記事:https://note.com/shogi_chem_ai/n/nb9176956e2f8