最長手順                               戻る

 当HPがいつもお世話になっているHN「GAI」さんからの出題です。(平成21年11月3日)

 Aから6までの数字のトランプ6枚を十分にシャッフルする。この初期配列から、次の操作
を繰り返す。

 トップにあるカードの数字を見て、その枚数だけカードを取り上げ、順番をまったく
逆にして元に戻す。


 このとき、初めて「 A 」がトップから出現する「手間が最もかかる」初期配列は何かを探し
て下さい。また、それは何手かかるでしょうか。

 ただし、トップのカードを見ることを1手と数えることにする。

 (構造が掴めたら、A〜Kの13枚のカードでも挑戦して下さい。)




























(答) いくつか実験をして、上記の操作の構造を眺めることにしよう。

(1) 初期配列が「 A 」 1枚のときは自明で、必要手数は、1手である。

(2) カードが、Aと2の2枚のとき、初期配列は、(上→下)として、(A2)、(2A)の2通り。

   初期配列が(A2)のときは、必要手数は、1手である。
   初期配列が(2A)のとき、 (2A) → (A2) となり、必要手数は、2手である。

  したがって、カードが、Aと2の2枚のとき、初めて「 A 」がトップから出現する「手間が最
 もかかる」初期配列は、 (2A) で、2手を要する。

(3) カードが、Aから3までの3枚のとき、初期配列は、

     (A23)、(A32)、(2A3)、(23A)、(3A2)、(32A) の6通り。

   初期配列が(A23)のときは、必要手数は、1手である。
   初期配列が(A32)のときは、必要手数は、1手である。
   初期配列が(2A3)のとき、 (2A3) → (A23) となり、必要手数は、2手である。
   初期配列が(23A)のとき、 (23A) → (32A) → (A23) となり、必要手数は、
  3手である。
   初期配列が(3A2)のとき、 (3A2) → (2A3) → (A23) となり、必要手数は、
  3手である。
   初期配列が(32A)のとき、 (32A) → (A23) となり、必要手数は、2手である。

  したがって、カードが、Aと2と3の3枚のとき、初めて「 A 」がトップから出現する「手間
 が最もかかる」初期配列は、 (23A) または (3A2) で、3手を要する。

  上記の計算をボンヤリ眺めていると、初めて「 A 」がトップから出現する「手間が最もか
 かる」初期配列になるためには、「 A 」がトップから k 番目にあるとき、トップのカードは
 決して数字の「k」であってはいけないということが分かる。

  この観点で、上記(3)の場合を見直すと、

  「 A 」がトップから2番目にあるとき、 (3A2)
  「 A 」がトップから3番目にあるとき、 (23A)

 であることが直ちに求められる。

(4) カードが、Aから4までの4枚のとき、上記の観点で計算してみよう。

  「 A 」がトップから2番目にあるとき、

   (3A24) → (2A34) → (A234) の3手
   (3A42) → (4A32) → (23A4) → (32A4) → (A234) の5手
   (4A23) → (32A4) → (A234) の3手
   (4A32) → (23A4) → (32A4) → (A234) の4手

  「 A 」がトップから3番目にあるとき、

   (23A4) → (32A4) → (A234) の3手
   (24A3) → (42A3) → (3A24) → (2A34) → (A234) の5手
   (42A3) → (3A24) → (2A34) → (A234) の4手
   (43A2) → (2A34) → (A234) の3手

  「 A 」がトップから4番目にあるとき、

   (234A) → (324A) → (423A) → (A324) の4手
   (243A) → (423A) → (A324) の3手
   (324A) → (423A) → (A324) の3手
   (342A) → (243A) → (423A) → (A324) の4手

  したがって、カードが、Aから4までの4枚のとき、初めて「 A 」がトップから出現する「手
 間が最もかかる」初期配列は、 (3A42) または (24A3) で、5手を要する。

 上記の場合をもっと整理してみよう。

  「 A 」がトップから2番目にあるとき、最長配列の候補は、

     (3A○□) または (4A○□)

   (3A○□) のとき、最長配列になるためには、 ○に入る数字は、2以外

    よって、 (3A42) と確定する。実際に、

   (3A42) → (4A32) → (23A4) → (32A4) → (A234) の5手

   (4A○□) のとき、最長配列になるためには、 □に入る数字は、3以外

    よって、 (4A32) と確定する。実際に、

   (4A32) → (23A4) → (32A4) → (A234) の4手

  「 A 」がトップから3番目にあるとき、最長配列の候補は、

     (2○A□) または (4○A□)

   (2○A□) のとき、最長配列になるためには、 ○に入る数字は、3以外

    よって、 (24A3) と確定する。実際に、

   (24A3) → (42A3) → (3A24) → (2A34) → (A234) の5手

   (4○A□) のとき、最長配列になるためには、 □に入る数字は、2以外

    よって、 (42A3) と確定する。実際に、

   (42A3) → (3A24) → (2A34) → (A234) の4手

  「 A 」がトップから4番目にあるとき、最長配列の候補は、

     (2○□A) または (3○□A)

   (2○□A) のとき、最長配列になるためには、 ○に入る数字は、4以外

    よって、 (234A) と確定する。実際に、

   (234A) → (324A) → (423A) → (A324) の4手

   (3○□A) のとき、最長配列になるためには、 □に入る数字は、4以外

    よって、 (342A) と確定する。実際に、

   (342A) → (243A) → (423A) → (A324) の4手

  したがって、カードが、Aから4までの4枚のとき、初めて「 A 」がトップから出現する「手
 間が最もかかる」初期配列は、 (3A42) または (24A3) で、5手を要する。

 ここで見方を変えよう。

 上記で手順が長い配列の最終形は何れも (A234) であることに気がつく。

 配列で、「上から k 番目には数字の k 」という場合がたくさんある方が最長手順を生む
原動力になっているような...そんな雰囲気。

 この最長手順を生むであろう配列から逆算して初期配列を求めることにしよう。

  (234) ← (234) ← (3A24) ← (42A3) ← (24A3)
                 ※ (3A24) の代わりに (43A2) とすると、「上から k 番目には数字のk」
                       という場合が消失するので、そこで操作はストップしてしまう。


  (234) ← (324) ← (23A4) ← (4A32) ← (3A42)
                 ※ (23A4) の代わりに (4A23) とすると、「上から k 番目には数字の k 」
                       という場合が消失するので、そこで操作はストップしてしまう。


  (234) ← (432) 
                 ※ この場合は、「上から k 番目には数字の k 」という場合が消失するので、
                       そこで操作はストップしてしまう。


 以上から、カードがAから4までの4枚のとき、初めて「 A 」がトップから出現する「手間が
最もかかる」初期配列は、 (3A42) または (24A3) で、5手を要する。

(5) カードが、Aから5までの5枚のとき、初めて「 A 」がトップから出現する「手間が最も
  かかる」初期配列を上記の方法で求めてみよう。

  (2345) ← (2345) ← (3A245) ← (42A35)

              ← (24A35) ← (53A42) ← (4A352) ← (3A452)

  (2345) ← (3245) ← (23A45) ← (4A325)

              ← (3A425) ← (524A3) ← (254A3)

  (2345) ← (4325) ← (5A234)

  (2345) ← (5432) ← (3452A)


 以上から、カードがAから5までの5枚のとき、初めて「 A 」がトップから出現する「手間が
最もかかる」初期配列は、 (3A452) で、8手を要する。

(6) カードが、Aから6までの6枚のとき、初めて「 A 」がトップから出現する「手間が最も
  かかる」初期配列を求めてみよう。

  (23456) ← (23456) ← (3A2456) ← (42A356)

      ← (24A356) ← (53A426) ← (4A3526) ← (3A4526)

          ← (6254A3) ← (2654A3) ← (4562A3)

  (23456) ← (32456) ← (23A456) ← (4A3256)

      ← (3A4256) ← (524A36) ← (254A36) ← (63A452)

          ← (4A3652) ← (3A4652) ← (564A32)

  (23456) ← (43256) ← (5A2346) ← (6432A5) ← (3462A5)

  (23456) ← (54326) ← (6A2345)

  (23456) ← (65432

 以上から、カードがAから6までの6枚のとき、初めて「 A 」がトップから出現する「手間が
最もかかる」初期配列は、 (4562A3) または (564A32) で、11手を要する。

(7) カードが、Aから7までの7枚のとき、初めて「 A 」がトップから出現する「手間が最も
  かかる」初期配列を求めてみよう。

  (234567) ← (234567) ← (3A24567) ← (42A3567)

    ← (24A3567) ← (53A4267) ← (4A35267) ← (3A45267)

      ← (6254A37) ← (2654A37) ← (73A4562) ← (4A37562)

        ← (3A47562) ← (574A362) ← (63A4752) ← (4A36752)

          ← (3A46752)

  (234567) ← (324567) ← (23A4567) ← (4A32567)

    ← (3A42567) ← (524A367) ← (254A367) ← (63A4527)

      ← (4A36527) ← (563A427) ← (365A427) ← (724A563)

        ← (274A563) ← (5A47263) ← (6274A53) ← (2674A53)

          ← (4762A53)

  (234567) ← (432567) ← (5A23467) ← (6432A57)

    ← (3462A57) ← (75A2643)

  (234567) ← (543267) ← (3452A67) ← (6A25437)

    ← (73452A6)

  (234567) ← (654327) ← (7A23456)

  (234567) ← (765432) ← (456732A)


 以上から、カードがAから7までの7枚のとき、初めて「 A 」がトップから出現する「手間が
最もかかる」初期配列は、 (3A46752) または (4762A53) で、17手を要する。

(コメント) 厳密には樹形図を用いて、いろいろ変化した手も吟味する必要がありそう...。
      手計算では限界がありますね!A〜Kの13枚のカードに至っては、気が遠くなり
      そうですね。

 出題者のGAIさんから、アドバイスをいただいた。(平成21年11月11日付け)

 カードがAから6までの6枚のとき、初めて「 A 」がトップから出現する「手間が最もかかる」
初期配列として、 (4562A3) または (564A32) の2つをあげているが、その他に、

  (365A42)  (4A5263)  (4A6523)

も解になる。このうち(4A6523)の最終形は完全順列(A23456)にはならず、(A43256)
である。この6枚の場合が他の場合と少し状況が違うようだ。思ったよりも奥が深い数理を潜
ませている感がある。


 実際に、確認してみよう。

  (365A42) → (563A42) → (4A3652) → (63A452)

      → (254A36) → (524A36) → (3A4256) → (4A3256)

          → (23A456) → (32A456) → (A23456)


  (4A5263) → (25A463) → (52A463) → (64A253)

      → (352A46) → (253A46) → (523A46) → (4A3256)

          → (23A456) → (32A456) → (A23456)


  (4A6523) → (56A423) → (24A653) → (42A653)

      → (6A2453) → (3542A6) → (4532A6) → (2354A6)

          → (3254A6) → (5234A6) → (A43256)

(コメント) 上記でも述べましたが、最初の2つは、樹形図を用いて考えると拾い上げられる
      可能性はありますが、3番目は全く予想外の解ですね!やはり全数検査が必要な
      のでしょうか?何か未知の構造がまだ秘められているような...雰囲気。


 平成21年11月14日付けで、GAI さんより、「最長手順の解析経過報告」を頂いた。

 手調査による手段では限界を感じるので、コンピュータによる全パターンの解析結果の報
告とのことである。ただし、カードの「10」は「X」と表記し、14枚目は「L」とする。
 ※トップのカードを見ることを1手と数えることにさせていただきました。

<カードの枚数> <初期配列> <最長手数>
(6A578324) 23
(6A5972834) 31
10 (59A862X473) 39
11 (49J6X782A35) 52
12 (26AXJ8Q34795) 66
13 (2945JQXA8K367) 81
14 (94J3A8K625XLQ7) 102
15 ・・・・・・(現在、未調査) 114
16 ・・・・・・(現在、未調査) 140

 (カードの枚数が15枚以上については、コンピュータの性能のため、未調査)

 カードが、Aから8までの8枚のとき、初めて「 A 」がトップから出現する「手間が最も
かかる」初期配列は、(6A578324) であるという。実際に体験してみよう。

 (6A578324) → (3875A624) → (7835A624) → (26A53874)

  → (62A53874) → (835A2674) → (4762A538) → (2674A538)

   → (6274A538) → (5A472638) → (274A5638) → (724A5638)

   → (365A4278) → (563A4278) → (4A365278) → (63A45278)

    → (254A3678) → (524A3678) → (3A425678) → (4A325678)

    → (23A45678) → (32A45678) → (A2345678)

 で丁度23手である。

(コメント) GAI さんの調査によれば、カード枚数が12と15以外はすべて最終形は完全順
      列になるとのこと。このページでは、完全順列が最長手順を与えるだろうと「ヤマ」
      をかけて計算してきました。その予想はほぼ当たっていたとはいえ、完全順列でな
      い場合も最長手順の終着点になりうるということを聞いて、数学の奥深さを改めて
      認識させられました。
       GAI さんの報告にはまだ続きがありますが、このような機会を与えていただいた
      GAI さんに感謝いたします。