・正順                                GAI 氏

 トランプでマジックの創作をしていた時、スペードのA、2、3、・・・、Kを順序通りにしていたも
のが、操作後バラバラの順になったのを再び順番通りに戻す作業を何度もやっていた。

 もちろん目で、A、2、3、4、・・・、k のカードを探しながら集めていけばいいのであるが、その
バラバラになった順序から何とか元に戻らぬものかといろいろ実験していた。

 すると、次のように機械的にカードを入れ替えていくと、思いの外速く1〜13の順番になるこ
とに気づいた。

<例1> 最初のバラバラ状態:{10,  5, 13, 11,  9,  3,  6,  1,  4,  7,  2,  8, 12}

@. 1番目のカードが10なので、10番目のカード( 7)と単純に入れ替える。
  { 7,  5, 13, 11,  9,  3,  6,  1,  4, 10,  2,  8, 12}
A. 2番目のカードが 5なので、 5番目のカード( 9)と入れ替える。
  { 7,  9, 13, 11,  5,  3,  6,  1,  4, 10,  2,  8, 12}
B. 3番目のカードが13なので、13番目のカード(12)と入れ替える。
  { 7,  9, 12, 11,  5,  3,  6,  1,  4, 10,  2,  8, 13}
C. 4番目のカードが11なので、11番目のカード( 2)と入れ替える。
  { 7,  9, 12,  2,  5,  3,  6,  1,  4, 10, 11,  8, 13}
 5番目のカードが 5なので、スキップ
D. 6番目のカードが 3なので、 3番目のカード(12)と入れ替える。
  { 7,  9,  3,  2,  5, 12,  6,  1,  4, 10, 11,  8, 13}
E. 7番目のカードが 6なので、 6番目のカード(12)と入れ替える。
  { 7,  9,  3,  2,  5,  6, 12,  1,  4, 10, 11,  8, 13}
F. 8番目のカードが 1なので、 1番目のカード( 7)と入れ替える。
  { 1,  9,  3,  2,  5,  6, 12,  7,  4, 10, 11,  8, 13}
G. 9番目のカードが 4なので、 4番目のカード( 2)と入れ替える。
  { 1,  9,  3,  4,  5,  6, 12,  7,  2, 10, 11,  8, 13}
 10,11番目のカードが 10,11なので、スキップ
H.12番目のカードが 8なので、 8番目のカード( 7)と入れ替える。
  { 1,  9,  3,  4,  5,  6, 12,  8,  2, 10, 11,  7, 13}
 13番目のカードが 13なので、スキップ(はじめの順番に戻る)
 1番目のカードが 1なので、スキップ
I. 2番目のカードが 9なので、 9番目のカード( 2)と入れ替える。
  { 1,  2,  3,  4,  5,  6, 12,  8,  9, 10, 11,  7, 13}
 3,4,5,6番目のカードが 3,4,5,6なので、スキップ
J. 7番目のカードが12なので、12番目のカード( 7)と入れ替える。
  { 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13}・・・完成!

<例2> 最初のバラバラ状態:{ 8,  5, 12,  3, 11, 13,  6, 10,  1,  4,  7,  2,  9}
@. 1番目のカードが 8なので、 8番目のカード(10)と単純に入れ替える。
  {10,  5, 12,  3, 11, 13,  6,  8,  1,  4,  7,  2,  9}
A. 2番目のカードが 5なので、 5番目のカード(11)と入れ替える。
  {10, 11, 12,  3,  5, 13,  6,  8,  1,  4,  7,  2,  9}
B. 3番目のカードが12なので、12番目のカード( 2)と入れ替える。
  {10, 11,  2,  3,  5, 13,  6,  8,  1,  4,  7, 12,  9}
C. 4番目のカードが 3なので、 3番目のカード( 2)と入れ替える。
  {10, 11,  3,  2,  5, 13,  6,  8,  1,  4,  7, 12,  9}
 5番目のカードが 5なので、スキップ
D. 6番目のカードが13なので、13番目のカード( 9)と入れ替える。
  {10, 11,  3,  2,  5,  9,  6,  8,  1,  4,  7, 12, 13}
E. 7番目のカードが 6なので、 6番目のカード( 9)と入れ替える。
  {10, 11,  3,  2,  5,  6,  9,  8,  1,  4,  7, 12, 13}
 8番目のカードが 8なので、スキップ
F. 9番目のカードが 1なので、 1番目のカード(10)と入れ替える。
  { 1, 11,  3,  2,  5,  6,  9,  8, 10,  4,  7, 12, 13}
G.10番目のカードが 4なので、 4番目のカード( 2)と入れ替える。
  { 1, 11,  3,  4,  5,  6,  9,  8, 10,  2,  7, 12, 13}
H.11番目のカードが 7なので、 7番目のカード( 9)と入れ替える。
  { 1, 11,  3,  4,  5,  6,  7,  8, 10,  2,  9, 12, 13}
 12,13番目のカードが 12,13なので、スキップ(はじめの順番に戻る)
 1番目のカードが 1なので、スキップ
I. 2番目のカードが11なので、11番目のカード( 9)と入れ替える。
  { 1,  9,  3,  4,  5,  6,  7,  8, 10,  2, 11, 12, 13}
 3,4,5,6,7,8番目のカードが 3,4,5,6,7,8なので、スキップ
J. 9番目のカードが10なので、10番目のカード( 2)と入れ替える。
  { 1,  9,  3,  4,  5,  6,  7,  8,  2, 10, 11, 12, 13}
 10,11,12,13,1番目のカードが 10,11,12,13,1なので、スキップ
K. 2番目のカードが 9なので、 9番目のカード( 2)と入れ替える。
  { 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13}・・・完成!

 ソートの方法として、バブルソートやクイックソートなどのアルゴリズムを聞くことがあるので、
調べたらこの方法はどうもそれとは違うように思える。何方か、これの原理でソートする方法
をなんというのか御存知の方はお知らせ下さい。また、他の方法と較べ効率はどうなのか知
りたい。
 いろいろな配列からスタートしていたら、多くて12回の置換をすれば揃う様なんです。(これ
以上の回数を要する配列があったら知らせてほしい。)

 一組のトランプ(52枚)なら何回ぐらいの回数で揃うのだろう?


 at さんからのコメントです。(平成27年3月18日付け)

 これは、「バケットソート」と呼ばれる方法と原理的には同じものではないのでしょうか?
(「N」という番号が書かれたカードを、N番目の位置に移動させるのですから)
一回の操作で少なくとも1枚のカードが正しい位置に移動するので、13枚のカードを全て正し
い位置の移動させるには、高々12回の操作をすれば十分ですね。


 らすかるさんからのコメントです。(平成27年3月18日付け)

 バラバラの順番になっている52枚のトランプを順番通りにする競争を子供のころにやった
ことがあります。その時に一番速かった方法は、

(1) 52枚のカードが13枚×4列に置けるテーブルを用意します。
# カードをすべらせることができて端にひっかからないことが重要

(2) 52枚から1枚ずつ取り出して、
  スペード スペード スペード ・・・
  ハート ハート ハート ・・・
  ダイヤ ダイヤ ダイヤ ・・・
  クラブ クラブ クラブ ・・・
のようにテーブルに4つの列に並べます。
# 数は考えず、種類別に左端から順に置いていきます。自分に最も近い列がクラブ、最も遠
 い列がスペードです。

(3) クラブのK、クラブのQ、クラブのJ、・・・、クラブのA、ダイヤのK、ダイヤのQ、・・・、スペ
 ードのAの順にテーブルからカードを手元に滑らせて持ってきて、もう片方の手中に重ねて
 いきます。

 この方法ならば、練習すれば1分以内で揃えられるようになると思います。


(コメント) GAI さんの手法は、原理的にも興味がありますが、現実に実行するとなると時間
      がかかりそうな...雰囲気。

 らすかるさんの手法を応用して、例えば、{10,  5, 13, 11,  9,  3,  6,  1,  4,  7,  2,  8, 12}ならば、
まず、大小は考えず、偶奇別に左端から順に置いていく。
(自分に最も近い列が奇数、最も遠い列が偶数です。)

 (偶数):{10,  6,  4,  2,  8, 12}
 (奇数):{  5, 13, 11,  9,  3,  1,  7}

 まず、(奇数)のカードを見て、小さい順にテーブルからカードを手元に滑らせて持ってくる。
上から、{13, 11,  9,  7,  5,  3,  1} と並ぶカードの山ができる。

(偶数)も同様に小さい順にテーブルからカードを手元に滑らせて持ってくる。
上から、{12, 10,  8,  6,  4,  2} と並ぶカードの山ができる。

{13, 11,  9,  7,  5,  3,  1} の山と {12, 10,  8,  6,  4,  2} の山から交互にカードをとり、上から
{ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13}と並ぶカードの山が出来る。


 GAI さんからのコメントです。(平成27年3月19日付け)

 「52枚のカードが13枚×4列に置けるテーブルを用意」って相当広い作業場所が必要になり
ますね。カードを揃える方法として、満員電車の中でも使えるやり方としてランダムに並んでい
るデックに対し、

(1) 奇数のカードだけをアップしていき、これを抜き取りボトム側へ移動。
(2) 偶数群から4,8,Q;奇数群から3,7,J をアップして抜き取りボトム側へ移動。
(3) 最初の偶数群(2,6,10)から2,10、次の奇数群(A,5,9,K)からA,9、次の偶数群(4,8,Q)から8、
   最後の奇数群(3,7,J)から7 のカードをアップして抜き取りボトムへ移動。
(4) 6,5,4,3,2,Aをアップしボトムへ移動。
(5) 赤マークをアップし抜き取りボトムへ移動。
(6) クラブとダイアマークをアップして抜き取りボトムへ移動。

 これも馴れると一分程度で整列可能です。


 らすかるさんからのコメントです。(平成27年3月19日付け)

 七並べが出来るスペースなので、まあ広いと言えば広いですかね。当時は、ダイニングテ
ーブルでやってました。

 「馴れると一分程度で整列可能」とのことですが、それだけの手数を一分って…素人にはと
ても無理そうです。その手数でそんなに速いのなら、広いスペースが必要な私の手順は30秒
かからなそうですね。


 GAI さんからのコメントです。(平成27年3月19日付け)

 正式に測定したことが無かったので、実際ストップウォッチで計測したらどう頑張っても1分
間では無理でした。(イメージとしてはこれ位で揃っていると思っていました。)
せいぜい2分半位です。(カードを抜き取るときに結構時間を使う。)

 最初の奇数群と偶数群に分ける操作で、奇数中3,7,Jと他の奇数、偶数中4,8,Qと他の偶数
という4つのグループ分けの操作を同時に処理していけば、時間短縮も夢ではないが、手先
の処理と頭の混乱が起こりそうだ。
(実際やってみたが、途中で考え込んだりカードを分類すべき場所に送るのが難しく、かえっ
て時間を使ってしまう。)

 ま〜、よい子の皆さんは満員電車の中ではトランプはしないようにしましょう。


 らすかるさんからのコメントです。(平成27年3月19日付け)

 最初の「一分程度」を見て、単純計算すると、(1)〜(6)それぞれ10秒となり、10秒で約50
枚ということは、1秒あたり5枚を分類できることになりますので、超人的な技をお持ちなのか
と思いました。

# 計算の結果1秒あたり20枚とかいう数字だったら、「いくら何でも人間には無理」と思います
 が、1秒あたり5枚なら慣れた銀行員が紙幣を数える速度ぐらいなので、(自分には無理で
 すが)絶対不可能とは言い切れない速度ですね。ルービックキューブも世界一速い人は「平
 均6.5秒」で揃えられるそうですから、そういう人と比べれば、まあ、一分で出来てもおかしく
 ないかな、と思いました。2分半だったら1秒あたり2枚ですから、自分でも一生懸命練習す
 れば出来るかも、という速度で、十分納得できます。

 私が書いた方法は、スペースが必要ですのでテーブルがないと出来ませんが、テーブルが
ある環境で何十回もトランプを整列させる必要がある時には、おそらく役に立つと思いますの
で、もしやる気と出来る環境があれば試してみて下さい。

 多分少し練習すれば、1分を切れると思いますので、もし1日に50回トランプを整列させる
必要があったとすると、2分半×50回=2時間5分 、1分×50回=50分 (この差は大きいと
思います。)


                                             投稿一覧に戻る