私事 ・ 遊事 ・ 独言
しごとあそびごとひとりごと
〜 Private, Works, and my Favorites 〜


FlashPlayerやAcrobatReaderが必要な場合があります。
悪意のあるものは含まれていませんので、ポップアップブロックを解除してご覧ください。



2007/12/22 (土)  継子立て1
2007/12/25 (火)  継子立て2
2007/12/27 (木)  継子立て3
2007/12/28 (金)  継子立て4
2008/01/14 (月)  シャッフル
2008/01/15 (火)  シャッフル2
2008/01/18 (金)  シャッフル3
2008/01/23 (水)  シャッフル4
2007/12/22 (土)  継子立て1

またもや毎度お世話になっているG先生からの出題。

トランプ52枚を揃えて手に持つ。そのカードの一番上の1枚を捨てて次の1枚を残りのカードの一番下にもってくる、という作業を繰り返す。このとき、最後まで残っているのは最初の並びの上から何番目のカードか?

たとえば5枚のカード@ABCDでその操作を行うと、@BDCAの順に捨てられるので、答えは2番目ということになる。6枚のカードなら4番目だ。この問題は「継子立て(ままこだて)の問題」と言われる問題の変形だと思ったので検索してみると、「ヨセフスの問題」とも言われるようだ。実際にトランプでやってみれば答えはすぐに出るのだが、もっと違う枚数のカードだったらどうなるだろうか?

一番上に戻る


2007/12/25 (火)  継子立て2

52枚のカードを上から1枚捨てて、次の1枚を一番下に、次の1枚を捨てて、次の1枚は下に・・・ということを繰り返すとき、最後に捨てるカードは最初の並びで上から何番目か?という問題。やってみれば分かると思うのだが、40枚目だ。これを一般化してn枚のカードでやってみたら・・・ということも面白いのだが、nの式で表すにはちょっとスッキリいかない(ので、ここでは書かない)。

ところでこのような一定手続きの操作なら、延々と繰り返していけば、いつかは最初の並びに戻るはずではないか、と思った。たとえば5枚のカード@ABCDでやってみると、

@ABCD→@BDCA→@DACB→@ABCD

と、3回の操作で元の並びに戻る。これを周期3ということにする。カードが増えれば、当然周期も増えるだろうと思っていたのだが、意外なことにそうでもないのだ。たとえば10枚のカードなら周期は9なのだが、11枚のカードなら

@ABCDEFGHIJ

@BDFHJCGAIE

@DHCAEFGBIJ

@HAFBJCGDIE

@ABCDEFGHIJ

と、周期はたったの4なのだ。で、12枚のカードなら周期28と跳ね上がる。この周期を調べていくのも面白い(ので、調べた結果はまた次回)。

一番上に戻る


2007/12/27 (木)  継子立て3

トランプ継子立てのつづき。前回提起した継子立てシャッフルの周期を調べてみた。

C言語でプログラムして、2回目、3回目・・・とシャッフルしたものを目視で確認したため、プログラムミスの可能性があり、目視での確認時の見間違いの可能性もあり、ちょっと信憑性の薄いデータです。何かミスがありましたらご指摘いただけるとありがたく思います。一応、C言語で作ったexeファイルをアップしときます(mamako.exe)。

ちなみにトランプの枚数52枚だと周期は644。最初は実際にやろうとして3回目くらいですぐに断念したのだが、良い判断だった。44枚だと1000を超える周期になってしまって(たぶん)、そのあたりで調べるのを断念した。周期は大きくなる一方かと思うと、65枚ではなんと周期7。法則をここしばらく考えてるんですが・・・。うーーーん、ひらめかない。年末というのに気持ち悪い。年越し迷宮入りとなってしまうのか???(つづかない)

一番上に戻る


2007/12/28 (金)  継子立て4

先日の表に間違いがありましたので訂正します。35枚の時の周期が308でした。すみません、そそっかしいですね。表の画像も訂正しました。

やはり目視確認には限界があるので、プログラムでチェックすることにした。最初はプログラムを考える方が面倒くさいと思っていたのだが、実際にやってみると最初からこうすればよかったなぁと反省した。目視による確認の方がよっぽど面倒くさいし、不正確だ。今まではとにかく紙と鉛筆で試行錯誤するしかなかったのだが、プログラミングを勉強し始めてから選択肢が広がったことがとても嬉しい。それで、ついでにカード100枚までの周期表をあらためて掲載します。今度は間違いはないはずだ(と思う)。

ちょっと気づいたのは、カードが5枚で周期3、9枚で周期4、17枚で周期5、33枚で周期6、65枚で周期7だから、129枚なら周期8、257枚で周期9、513枚で周期10、1025枚なら周期11・・・のはずだと思ってプログラムでチェックすると、その通りだった(プログラムはこちらmamako2.exe。前回のものではチェックできないので改善した。)。でも分かったのはそれくらいで、進展がない。
もうこのまま年を越そうと思います。それでは、よいお年をお迎えください。

一番上に戻る


2008/01/14 (月)  シャッフル

昨年末の継子立てシャッフルを考えながら、もっと別のシャッフル方法でも規則正しく繰り返せばいつか必ず元の順番に戻るはずだと思って、別のシャッフル方法でも考えてみることにした。例えば、カードを2山に分けてパラパラと交互に噛み合わせるやつ(リフルシャッフルというらしい)だったらどうだろうか。これを完全に行うやり方をパーフェクトシャッフルというらしいが、つまり、カードを2等分してそれを完全に交互に噛み合わせるシャッフルを数回繰り返して元の順番に戻そうという考えだ。例によって、少ない枚数から考えてみた。
例えば4枚の場合、@ABC→@BAC→@ABCと、2回で元に戻る。同様に6枚なら

@ABCDE

@CADBE

@DCBAE

@BDACE

@ABCDE

4回で元に戻る。8枚なら・・・・・意外にも(?)3回に減る。では、トランプ全部の52枚なら何回で元の順番に戻るだろうか。(もしかして、マジシャンの世界では常識問題なのか?)

一番上に戻る


2008/01/15 (火)  シャッフル2

パーフェクト・シャッフル(カードを2等分して完全に交互に噛み合わせるシャッフル)によって何回の周期で元に戻るか、という問題のつづき。これもプログラムを作ってみた(pshuffle.exe)。前回、継子立てシャッフルの話題のときに、あそびをせんとやのhhaseさんからこのページを紹介していただき、自作プログラムのソースコードまで公開してくれました(12月29日のひとこと)。ありがとうございました。このプログラムを実行すると、私が作ったものよりも数倍速く答えを返してくれます。プログラミングの楽しさ、奥深さを感じました。今回のものも相変わらず単純なコーディングで進歩がないのですが、ぼちぼちと勉強していこうと思っています。
えっと、それでカード100枚までの周期表を掲載します。

奇数枚数の場合は、1を含む方を1枚多くして、その山から始めてその山で終わる、という具合に噛み合わせるとします。52枚では8回というかなり少ない回数で元に戻る。実際にやってみようと思ったが、完全にうまく噛み合わせるだけの腕がないので断念した。
さて、この表の周期を見ると、奇数枚数とそれより一枚多い偶数枚数がペアで同じ周期であることが分かる。それ以外に、2n枚のカードのときに周期の規則はどうなっているのでしょうか?

一番上に戻る


2008/01/18 (金)  シャッフル3

あと2ヶ月ちょっとで、夢のような留学生活が終わってしまう。昨年4月当初には無限に感じられた時間が、あと2ヶ月か・・・と思うと少し寂しい。いや、かなり寂しい。すごく寂しい。光陰矢の如し、とは言うが、これほどとは思わなかった。あっという間のタメゴローだ。しかも、そろそろこの1年間のレポートをまとめなければならないのだが、当初思い描いていたことのどれほどもできていない。卒論制作に追われる大学4年生の気分だ。どうせなら、気分だけでも卒業旅行に旅立ちたいところだ。

さて、パーフェクトシャッフルの続き。カード枚数が偶数枚のとき、1枚目と最後のカードの位置は動かない。だからその最後のカードがなかった場合、つまりカード枚数が奇数枚のときも、1枚多い偶数枚のときとまったく同じ混ざり方をするのだ。詳しい説明は省くが、カードがm枚(mは偶数)とするとき、周期nは、2≡1(mod m-1)を満たす数である。
たとえば、カード枚数が6枚なら、それから1引いた5で2のn乗を割った時に1余るような、そんなnを探せばよい。この場合は、2の4乗の16を5で割ると1余るので、周期は4ということになる。カードが8枚なら、2の3乗の8を7で割った余りが1だから周期3である。カード10枚なら、2の6乗の64を9で割った余りが1だから周期は6、という具合だ。

カード枚数が2のべき乗のときは周期が小さくなるのだが、トランプの52枚は2のべき乗でもないのに周期が比較的小さい。8回のシャッフルなら念入りに混ぜているように見えるし、マジシャンなどの慣れた人ならできてしまうかもしれないですね。

一番上に戻る


2008/01/23 (水)  シャッフル4

MISDIRECTIONさんが、このところのシャッフルの記事について紹介してくれました(Unshuffled)。ありがとうございます。リンク先のYouTube動画もとても面白いので、ぜひご覧ください。私は何度も再生したり巻き戻したりして見てしまいました。正しくはパーフェクト・フェイロ・シャッフルというのですね。動画を見ているといとも簡単にやってるので、私も真似してやってみたのですがサッパリできません。それにしてもこういうアイデアを最初に思いついた人はスゴイと思います。

それでMISDIRECTIONさんご指摘のように、「継子立てシャッフル」(これはダウン・アンダーというのですね。勉強になります。)は実際にやってみようと思うと、場に捨てるカードを表に返して置かなければならず、私も違和感を感じていたところだったので、裏返しのままシャッフルできるように改めてプログラムしてみた(mamako4.exe)。前回の方法を正順、今回のものを逆順と呼ぶことにすると、逆順とは例えば5枚のとき、

@ABCD

ACDB@

CB@DA

BDA@C

D@CAB

@ABCD

で周期は5となる。前回の正順と合わせて、カード100枚までの場合を表にしたので掲載します。

うーん。見えてこないす。

一番上に戻る

 
 

このページは(他のページと同様)リンクフリーです
ご意見・ご感想をお聞かせくださいtetetetessy@@gmail.com