2012-01-09 11 views
4

私の友人はこの質問を私に提出しました。ここでそれを共有するように感じた。Mathematicaのリフレリングカード

カードのデッキがある場合、2つのグループに分割して「インターリーブ」します。この操作を「分割結合」と呼ぶことにしましょう。結果のデッキで同じ操作を繰り返します。

など。{1、2、3、4}{1、2} & {3,4}(スプリット)なり、我々は{1、3、2、4}を(取得しますまた参加)

、我々はカードすなわち奇数、{1、2、3}を持っている場合、我々は{1,2} & {3}(より大きい半ようにそれを分割することができ最初に){ 1、3、2} (すなわち、nCeil[n/2] & n-Ceil[n/2]として分割される)

彼女は私に尋ねた質問:

など分割合流を取得するために必要ないくつありますかオリジナルのデッキバック?

  • Nが偶数:

そして、それは思ってくれました:あればデッキはn個カードを持っている場合

、数何分割 - 結合に必要?

  • nは奇妙ですか?
  • nは「2」の威力ですか?
  • (そのような異なるシナリオを探求する自由を感じる。)
  • シンプルあります[私たちは、その後(n)の分割 - 結合の(ベース2)数は... ログを必要とすることがわかりました]パターン/数式/概念の相関関係nと分割結合の数は必要ですか?

    これはMathematicaで探索するのが良いことです。特に、Riffle[]メソッドを提供しています。 MathWorldを引用する

    +3

    ? – Benoit

    +1

    適切な英語を書いてください。異常な収縮、顔文字、そしてあなたのすべての "and"をアンパサンドに変えて質問を捨てないでください。ここでプロのトーンが期待されます。 – BoltClock

    +1

    @Benoit - 質問に1つの戦略を追加しましたが、もっと興味深いものを見つけることができれば、その反対も仮定できます。 – fritz

    答えて

    1

    古い私が知っている問題が、誰が、実際のMathematicaのソリューションを設置しない奇妙な..

    countrifflecards[deck_] := Module[{n = [email protected], ct, rifdeck}, 
         ct = 0; 
         rifdeck = 
         Riffle @@ 
          Partition[ # , Ceiling[ n/2], Ceiling[ n/2], {1, 1}, {} ] &; 
         NestWhile[(++ct; rifdeck[#]) &, deck, #2 != deck &,2 ]; ct] 
    

    これは、偶数および奇数の場合を扱う:

    countrifflecards[RandomSample[ Range[#], #]] & /@ Range[2, 52, 2] 
    

    {1、2、4、3、6、10、12、4、8、18、6、11、20、18、28、5、 10個、12個、36個、 12個、20個、14個、12個、23個、 21、8}

    countrifflecards[RandomSample[ Range[#], #]] & /@ Range[3, 53, 2] 
    

    {2、4、3、6、10、12、4、8、18、6、11、20、18、28、5、10、12、 36、12、 20、14、12、23、21、8、52}

    あなたは容易にあなたが奇数の場合にカードを追加する場合、余分なカードが底に滞在し、変更されません表示することができますシーケンス、したがって奇妙なケースの結果はちょうどn+1でもあります。アイテムの数が奇数であるとき、あなたのデッキを分割するにはどうすればよい

    ListPlot[{#, countrifflecards[RandomSample[ Range[#], #]]} & /@ 
         Range[2, 1000]] 
    

    enter image description here

    14

    N = 2、4のデッキを返すために必要な外シャッフルの数を...元の順序には、1、2、4、3、6であります単純に2の乗法次数(mod n-1)である10,12,4,8,18,6,11、...(スローンのA002326)である。例えば、52枚のカードのデッキは、2 ** 8 = 1(mod 51)(Golomb 1961)なので、8回のシャッフル後に元の状態に戻されます。 1、2、3、...を必要とするカード2nの最小数デッキの元の状態に戻るためのシャッフルは1,2,4,3,16,5,64,9,37,6、...(SloaneのA114894)です。

    nが奇数の場合は対応していません。

    この記事には、アウトシャッフルを調べる機能を備えたMathematica notebookも含まれています。

    +0

    これらのポインタに感謝します。 さまざまなケースを調査し、面白いものがあるかどうかを確認します。 – fritz

    5

    我々はカードn==2m-1の奇数がある場合、我々はそれぞれの間に第1のグループはmカード、第二群m-1カードを含み、基がそのようのない二枚のカードこと接合されているシャッフルようにカードを分割する場合同じグループが互いに隣り合っている場合、必要なシャッフルの数はMultiplicativeOrder[2, n]に等しくなります。

    はこのことを示すために、我々は1つが位置kにあったカードをシャッフルした後0<=k<mため2kを位置に移動していることに注意してkは、その0<=k<2m-1あるm<=k<2m-1ため2k-2m+1、へ。 n==2m-1モジュロで書かれているのは、すべて0<=k<nの場合、新しい位置がMod[2k, n]であることを意味します。従って、各カードが元の位置に戻るためには、Nシャッフルが必要であり、N0<=k<nMod[2^N k, n]==Mod[k, n]であり、それに続くのはNであり、MultiplicativeOrder[2, n]の任意の倍数である。私たちは、他の方法の周りのデッキを分割した場合の原因は、結果を対称性

    注意がまったく同じであったであろう、すなわち最初のグループは、常にm-1カードと第二のグループmカードが含まれています。最初のグループにはmカードが含まれていて、シャッフルにはm-1カードが含まれています。

    +0

    それは美しいです(対称、私はそれが違いを生むべきではないと感じましたが、時には直感が間違ってしまうことがあります)...私の心にはいくつかの特殊な事例があります。確かに多くのおかげで... – fritz

    3

    マジシャン/数学者Persi Diaconnisは、完璧なリッフルシャッフルで注文を復元するという古い仕事があります。イアン・スチュワートは、彼の1998年サイエンティフィック・アメリカン数学レクリエーション柱の一つにその仕事について書いた - 、参照例:http://www.whydomath.org/Reading_Room_Material/ian_stewart/shuffle/shuffle.html

    +0

    うわー...!それは非常に有益で素晴らしい...!ありがとう:) – fritz