◇ 『再帰的手順』についての考察                  近藤真一



『再帰的手順』についての考察
目次
0.始めに
1.再帰的手順とは?
 1.1『再帰的』の定義
2.『再帰的手順』の起源
 2.1フェアリー将棋での作例
   ・『寿限無』の紹介
3.詰将棋での作例
 3.1始めに
 3.2作品紹介


0.始めに
 『再帰的手順』という言葉自体、初耳の方も多いかも知れません。詰将棋界
でも一部のマニアにしか通用しない言葉です。これに該当する作品はまだ、数
作ですのでジャンルを築くにはいたってはいません。しかし、長手数を構成す
る機構として、『再帰的手順』を考察するのは意味のあることだと思います。
ただ、未開発の分野で作例も少なく、かつ、極めて創作の難しい機構なので、
機構の種類や今後の展開については余り語れないのが実際のところです。その
点はご了承願います。
 最初に数学やプログラミング言語で語られる『再帰的』という言葉について
話をします。この方面を学習された方には基本と言えることですので、そう言
う方は読み飛ばしてください。『再帰的手順』の作品はフェアリー将棋の協力
詰(バカ詰)で初めて作られました。協力詰の単純なルールの中にこのような
長手数の機構が潜んでいたのはある意味驚きでした。作品としては超長手数作
品として初めて1万手を超えた加藤徹さんの『寿限無』を紹介します。
 続いて詰将棋で『再帰的手順』を実現した作品を発表順に鑑賞します。機構
の確認が目的の鑑賞なので、手順に関しては簡略したものになります。


1.再帰的手順とは?
1.1『再帰的』の定義
【再帰的】
 ある事象は、それが自分自身を含んでいたり、それを用いて定義されている
とき、再帰的であるといわれます。

 初めて聞く方はピンとこないかも知れません。『再帰的』なアルゴリズムは
数学やプログラミングでよく使われています。階乗の例がシンプルな例です。

整数nの階乗は以下のように再帰的に定義されます。
例1  (a) 0! = 1
    (b) n > 0ならば n! = n × (n - 1)!
たとえば、10の階乗である10!は、(b)によって
    10! = 10 × 9!
と求めることができます。もちろん、右辺の9!は、
    9! = 9 × 8!
で同様に8!7!……を展開します。
(b)の中の(n - 1)!と言う定義の仕方が再帰的な定義そのものです。
勿論、下記のようにも表せます。
例2  10!=10×9×8×7×6×5×4×3×2×1

再帰的定義を用いると定義そのものが簡略化できる事があります。しかし、例
2のような直接的な定義の方が簡単な場合もあります。

プログラミングでは【再帰呼び出し】という手法があります。
【再帰呼び出し】【recursive call 】
サブルーチンの中から、さらに自分自身を呼び出すような処理。

このような例としてパズル『ハノイの塔』が有名です。この解法のアルゴリズ
ムに再帰呼び出しが使われます。下記のHPを参考に御覧ください。

http://web2.incl.ne.jp/yaoki/hanoi.htm
http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/Hanoi.html

『ハノイの塔』から、加藤徹さんの『寿限無』を連想される方には、『再帰的
手順』の説明は無用でしょう。

さて、『再帰的手順』とは詰将棋ではどんなものなのでしょうか。上に習えば、
『再帰的手順』とは手順が再帰的に定義出来る時に『再帰的手順』と呼ばれる
ことになります。具体的なイメージがわかず、戸惑うかも知れませんが、プロ
グラミングを習われた方なら、手順が入れ子構造になり、手順が『再帰呼び出
し』で幾度となく繰り返し呼び出される事が想像できると思います。


2.『再帰的手順』の起源
 2.1フェアリー将棋での作例
   ・『寿限無』の紹介
協力詰においては呼び出しハガシと言う形で部分的に再帰手順が表れました。
それを明確な形で表し、19447手という超長手数で実現したのが、加藤徹氏の
「寿限無」でした。
1976年4月 詰パラ フェアリー詰将棋研究室
 ・加藤徹1975年度前衛賞「寿限無」
 

手順についてはおもちゃ箱を御覧ください。
http://www.ne.jp/asahi/tetsu/toybox/kato/fbaka4.htm

本作は歩を下げ、突きだして玉を移動させていく手順です。一段行うとそれま
での歩下げが崩れ、リセットしてしまうので、また、一からやり直すことが長
手数の機構となっています。まさしく詰将棋版『ハノイの塔』です。そして、
手順を眺めるとA×Bといった繰り返し趣向とは違った構造を持っている事に
気づかれると思います。


3.詰将棋での作例
 3.1始めに
 再帰手順を実現する事は難しく、協力詰で再帰手順が登場した当初は伝統ル
ールの詰将棋では無理ではないかという意見もあったくらいです。何人かの作
家がチャレンジしていましたが、最初に再帰手順を実現したのは、近代将棋
1995年12月今村修『天月舞』335手です。本作は逆王手を利用したコロンブス
の卵的な発想の作品で、その発想に詰マニアは驚きました。その後、再帰手順
を実現した作品は以下の作品だけです。

詰パラ1999年8月 橋本孝治『アルカナ』639手
詰棋めいと2000年2月 田島秀男 345手
詰棋めいと2001年5月 田島秀男『まだら』569手
おもちゃ箱HP2004年7月 近藤真一 367手

再帰手順は超長手数への道を切り開いたかと思われた方もいると思います。し
かし、現実の作図は盤面の制限、コンパクトな機構の構成が難しい、等の理
由から最長手数を更新する作品が出現する様子は今のところありません。


 3.2作品紹介

近代将棋1995年12月今村修『天月舞』335手


逆王手を利用する事で、中合の歩が残る変化を巧く割り切った記念碑的作品。

詰パラ1999年8月 橋本孝治『アルカナ』639手


打歩と角の変則合をからめて、と金の呼び出しハガシを実現した作品。

詰棋めいと2000年2月 田島秀男 345手


寿限無型の再帰手順を龍追いで表現した作品。

詰棋めいと2001年5月田島秀男『まだら』569手


 本作は平成13年看寿賞長編賞を受賞している。
 解説は看寿賞のページで

おもちゃ箱HP2004年7月 近藤真一 367手


「天月舞」とおなじ再帰歩ハガシの趣向。



ウィンドウを閉じる


inserted by FC2 system