第9回詰将棋の世界は解くアルゴリズムの進化の歴史の話

【当サイトの記事はPRを含む場合があります。】

「将棋世界」の方はすでに2018年の1月号が発売していますが、「数学セミナー」も、2018年の1月号がそろそろ発売される時期です。

 

ということで(?)数学セミナー12月号 に掲載されている、「詰将棋の世界」の第9回について、紹介します。

 

第8回出題詰将棋の解説に関して

 

第8回連載で出題された作品は、なかなかの難問でした。

 

流れるような解説で詰将棋を解く「気持ち」がわかる

 

いつも丁寧な解説で好感度が高い、「詰将棋の世界」の解説。

今回は特にいい感じだと思います!

 

第1問、第2問ともに詰将棋を解くときの考えの手順が、臨場観あふれる説明によって伝わってきます。

 

特に印象的な第2問解説に出てきた言葉だけ紹介しておきますね。

 

どうしても詰みません。おかしい、可能な手は全部調べたのに・・・・・・。

 

攻め方の候補手をたくさん挙げ、一つ一つ詰まない理由を説明していくことで、正解手が何故正解であるのかを納得しやすくしてくれています。

 

第1問は移動合の筋が、第2問は「驚愕の手」が登場

 

私は最近毎日詰将棋を解いています。

将棋連盟サイトの「毎日詰将棋」や、将棋世界に載っている問題を解いています。

 

それと、「詰将棋の世界」と合わせて、詰将棋に親しくなってきました。

 

 

レベルの高い詰将棋によく出てくるのが、「移動合」などの筋です。

素朴に読むと簡単に詰みそうでも、玉型の工夫した抵抗によって逃げられてしまうことがあります。

「移動合」はそのような手強い応手の一つです。

 

第1問でも移動合が水面下に登場します。

私も自分で解いたとき、その筋は読み抜けていたかもしれません。

 

第1問は、「玉型の応手をもらさず読むことがポイント」だったとのことでした。

詰将棋というのはやはり膨大な量の手を読むことが大切なのですね。

 

第2問は、先ほどの引用からもわかるように、普通の感覚で思い浮かぶ手では詰みません。

「驚愕」の手が登場します。派手です。

 

さらにその後に続く手も「浮かびにくい手」とのことでした。

 

この作品をすらすら解けたら、相当な実力者だそうです。

 

私は20分くらいはかかってしまったので、まだまだでしょうか?

 

第9回出題でついに登場!双子詰将棋

 

第9回で出題の作品で注目なのは、第1問です。

 

 

3手詰めの作品なのですが、「双玉詰将棋」というタイプの作品です。

 

双玉詰将棋では、盤上に攻め方の玉もいます。

双玉の場合、「逆王手」の筋に警戒する必要があります。

 

攻め方の王手に対して、玉方の手が、攻め方の玉への王手になってしまうことがあります。

指し将棋でも、まれににそのような筋がありますね。

 

そのような、王手に対して反撃の王手がかかってしまうことを、逆王手と呼びます。

 

逆王手に対してさらに逆王手で返す、というような応酬も起こり得るので、双玉詰将棋は楽しいです。

もちろん、その分難しくもありますが(笑)。

 

詰将棋を解くアルゴリズムのさらなる進化

 

前回の連載で説明されていたコンピュータによる詰将棋の解法は、さらに進化を遂げていったそうです。

ここでは、連載の核心に触れない範囲で、紹介されていた解法についてのまとめを書いておきます。

 

プログラム「脊尾詰」

 

第8回では、コンピュータが詰将棋の正解を探す方法(探索法)が二つ紹介されていましたね。

 

深さ優先と、最良優先でしたね。

 

 

詳しい説明は省きましたが、どちらも一長一短なところがあるのでしたね。

 

深さ優先は計算量(読みの量)が増えてしまい、時間がかかります。

最良優先は、メモリの量(おぼえておく局面の数)がたくさん必要になってしまい、実行が困難です。

 

「脊尾詰」というプログラムでは、深さ優先と最良優先を組み合わせたものです。

いわば、ハイブリッド解法とでもいうべきものでしょうか。

(ハイブリッドとは、混合というような意味です。)

 

この脊尾詰は、大きな成果を出した後、ながらく「幻のプログラム」となっていたそうです。

 

df-pnアルゴリズム

 

脊尾詰とはまた異なる探索方法が、df-pnアルゴリズムです。

 

連載には書かれていなかったので調べてみると、df-pnは、”deep first, proof number”の略だとわかりました。

 

このうち、”deef first”は深さ優先の略です。

一方、”proof number”は日本語では「証明数」です。

 

「証明数」とか、なんとなく数学的な感じを受けますね。

コンピュータとかプログラムとか、それにゲームとかパズルとかはそもそも数学的なものですので、当然ではありますが、なんとなく格好良くて楽しいです^-^

 

連載によると、「証明数」は「詰みやすさ」の指標になるものだそうです。

これは、最良優先の方法における、「最良」を判断する基準でもあります。

 

この「詰みやすさ」に加えて、「詰みにくさ」の指標である「反証数」をも導入したのがdf-pnアルゴリズムです。

 

 

このdf-pnアルゴリズムは、長井歩氏が開発し、その後岸本章宏氏が改良したそうです。

 

柿木将棋もすごいらしい

 

「詰将棋の世界」著者の斎藤先生は、「柿木将棋」を使われるそうです。

 

「柿木将棋」は、「余詰探索機能」を搭載することで、重宝されてきたとのことでした。

 

この柿木将棋開発者の柿木氏もコンピュータ詰将棋に貢献してきたそうです。

 

斎藤先生の文章から、柿木氏を含む大勢の詰将棋プログラム開発者への尊敬の念が伝わってきました。

 

「脊尾詰」の脊尾氏やdf-pnアルゴリズムの開発者たちだけでなく、柿木氏あるいは柿木将棋も素晴らしい貢献をしてきたようです。

 

コンピュータ解法の発展で解ける詰将棋が増えた

 

コンピュータ詰将棋はアルゴリズムを発展させることで進化してきました。

 

でもどうして、アルゴリズムを進化させようとしたのでしょうか?

そもそも、最良優先の方法の登場の時点で、611手詰の「寿」のような問題さえ解くことができていたのです。

 

 

「寿」は最長の詰将棋なのですが、それはあくまで「江戸時代の詰将棋の中では」の話です。

現代においては、それ以上の手数の詰将棋が存在します。

 

「最良優先」を越えた詰将棋プログラムが、寿以上の長手数の作品をも解きました。

 

ところが、長手数が解けるからといって、すべての詰将棋を解けるとは限りません。

 

そこで開発者たちは、それまでのプログラムで解けなかった作品を解く方向に向かって、コンピュータ詰将棋を進化させていったわけです。

 

そうしてどんどん解ける作品が増えていったのですね。

 

そのような発展の結果、コンピュータ詰将棋は、詰将棋を解くという目標をほぼ達成してしまったそうです。

 

詰将棋がアルゴリズムを進化させた?

 

第9回詰将棋の世界は、興味深い言葉で締めくくられます。

次のような言葉です。

 

江戸時代に生まれた詰将棋が、時を超えてアルゴリズムの進化に寄与した

 

この言葉は、そのまま受け止めれば、江戸時代の作品に挑戦することで、詰将棋のコンピュータ解法が進化していったともとれます。

 

でも、連載での説明からは、どちらかというと、現代の詰将棋の方がアルゴリズムの進化に影響を与えていそうです。

そこで、もう一つの解釈を考えてみました。

 

 

詰将棋を解くためのアルゴリズムが、詰将棋以外のところでも応用ができることが後に判明した。

その結果、コンピュータ詰将棋の発展が、アルゴリズム一般の発展につながったと言っていいほどになった。

 

 

実際、詰将棋を解く方法の根底にあるアルゴリズムは他のゲームにも使えるみたいです。

これについては、下記のリンク先やさらにそこから貼られているリンクを参照してみてください。

 

df-pnとproof number searchはじめました+雑記(外部リンク)

 

指し将棋の方でも、コンピュータ将棋は人工知能のもつ高いポテンシャルを証明するものとして注目されていると思います。

 

それと同様に、コンピュータ詰将棋も、アルゴリズムの進化のきっかけになったことが大きな意義を持つのかもしれません。

 

まとめ

 

いかがでしたか?

 

今回は、2017年11月発売の詰将棋の世界12月号掲載の、「詰将棋の世界」第9回を扱いました。

 

詰将棋を解くために、コンピュータアルゴリズムが進化させられてきた歴史を感じていただくことができましたか?

 

私は、詰将棋のコンピュータ解法の発展は、指し将棋の方のコンピュータ将棋の発展と合わせて、人類の歴史上で語り継がれていくと思います。

そのような大きな一歩を、比較的新鮮な記憶をベースに語って下さる方がいる今という時代を私たちは経験しています。

これをきっかけに、私自身コンピュータ詰将棋に興味を向けておきたいと感じました。

 

スポンサーリンク

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です