MENU
174,774

スレッドNo.1427

特殊トランプのカード当て

64枚のトランプ(各種マークの14,15,16を作り追加して、計64枚にしたデック)
をある規則で配列させたものを準備する。

(1)観客に好きな回数だけそのデックをカット(任意の場所で上下のパケットを入れ替える。)
させる。

(2)その後上から6枚のカードを表向きにテーブルに並べさせる。
 (この時演者は並べているカードは見ないことにする。)

(3)並び終えたら、そのカードの色が赤か黒かの状態を並べた順番で言ってもらう。

(4)これを聞いて演者は並んだ6枚のカードの名前(マークと数字)を全部言い当てる。


[原理]
色の情報から0,1よりなる6ビットの列(abcdef)が得られる。
abの配列から最初に並べたカードのマーク(4種類対応できる)
cdefの配列からそのカードの数字(2進数表示とみて16通りの違いを作れる)
とし、これが初めに並べるカードとなるように対応させておく。
次に2番目に並べたカードは
今並んでいる1番目のカードを取り去りデックのボトムへ納める。
次に出すカードの色で6個のビット列を作った場合、
これが2番目のカードと対応するように、以下配列状態を
次々と起こせる順番にカードを組み合わせおけば、カードの配列状態から
6枚のカードのすべての名前を当てることが可能になる。

従って初めに並べた6個のビット状態から、次に出すカードの色をどう決定
するかのルールを見つけ出すことさえできておけば自動的にカードの数字も
決められることになり、目的の現象が可能となる64枚のトランプの配列が
見つかることになる。

これを元にその配列のルールを求めてコンピュータで試行錯誤を繰り返し
実験していて偶然も重なりその配列を一応見つけました。
但しカットされた状態が見つけたデックの初期の配列状態に戻ってしまった
ものと、ボトムにあったカードがカットの結果トップにきた2つの場合では
出来なくなりますが(この状態が起こることはまずないとは思いますが)
これが傷と言えば今のところ傷です。

通常の52枚のトランプでこれを試みていたのですが、むしろ64枚での方が
やり易く感じたので敢えてこの特殊トランプで挑戦しました。


興味が出た方はこの配列状態を見つけ出して下さい。
もっと効率よい方法をお知りの方は教えて下さい。

引用して返信編集・削除(編集済: 2023年09月22日 08:03)

しばしば話題に上がる de Bruijn 数列の B(2,6) ですか?

引用して返信編集・削除(未編集)

たぶん結果的に凄く関係していると思います。

引用して返信編集・削除(未編集)

「お茶の時間 > ゲームの達人」の中で何回か話題になっているものの仲間ですね。

64枚で残ったパケットのトップを当てるものが
「19.ある応用」
にあります。
また、52枚(ただし1枚抜き取り1枚付け足し)の場合が
「20.52枚での挑戦」
にあり、正規の52枚の場合が
「36.6回の赤黒質問で52枚のトランプ当て」
にあります。




今回の64枚の場合は基本的に
「36.6回の赤黒質問で52枚のトランプ当て」
と同じようにできて、次のカードの決め方は同じルールでいけます。

「6枚目のカードで使った6桁の数字の最初と最後の組合せから、
 (0,0)→0 、(0,1)→1 、(1,0)→1 、(1,1)→0
の数字を新しく生み出し、これを先頭に挿入し、末尾にある数字は除去する。」

ただし、例外処理が次のように変更になります。
000001 から構成されるのは、法則通りなら 100000 だが、000000 とする。
000000 から構成されるのは、法則通りなら 000000 だが、100000 とする。

このルールで6ビット列の配列を作ったらあとはカードをその通りに割り当てればOKです。


ただし、このルールだと先頭4桁が数・末尾2桁がマークに対応していますので、
先頭2桁がマーク・末尾4桁が数に対応するのならば、次のようになります。
「6枚目のカードで使った6桁の数字の最初と最後の組合せから、
 (0,0)→0 、(0,1)→1 、(1,0)→1 、(1,1)→0
の数字を新しく生み出し、これを"末尾"に挿入し、"先頭"にある数字は除去する。
例外処理は以下の通り。
100000 から構成されるのは、法則通りなら 000001 だが、000000 とする。
000000 から構成されるのは、法則通りなら 000000 だが、000001 とする。」

引用して返信編集・削除(未編集)

過去色々なものを作ってきていたので、すっかり記憶から抜け落ちていました。
「6枚目のカードで使った6桁の数字の最初と最後の組合せから、
 (0,0)→0 、(0,1)→1 、(1,0)→1 、(1,1)→0
の数字を新しく生み出し、これを"末尾"に挿入し、"先頭"にある数字は除去する。
例外処理は以下の通り。
100000 から構成されるのは、法則通りなら 000001 だが、000000 とする。
000000 から構成されるのは、法則通りなら 000000 だが、000001 とする。」
ならいとも簡単に次の配列が構成できますね。

赤い色のカードを1に対応させると
C|16;[0, 0, 0, 0, 0, 0]
C|1;[0, 0, 0, 0, 0, 1]
C|3;[0, 0, 0, 0, 1, 1]
C|7;[0, 0, 0, 1, 1, 1]
C|15;[0, 0, 1, 1, 1, 1]
S|15;[0, 1, 1, 1, 1, 1]
H|15;[1, 1, 1, 1, 1, 1]
H|14;[1, 1, 1, 1, 1, 0]
H|13;[1, 1, 1, 1, 0, 1]
H|10;[1, 1, 1, 0, 1, 0]
H|5;[1, 1, 0, 1, 0, 1]
D|10;[1, 0, 1, 0, 1, 0]
S|5;[0, 1, 0, 1, 0, 1]
D|11;[1, 0, 1, 0, 1, 1]
S|6;[0, 1, 0, 1, 1, 0]
D|12;[1, 0, 1, 1, 0, 0]
S|9;[0, 1, 1, 0, 0, 1]
H|3;[1, 1, 0, 0, 1, 1]
D|6;[1, 0, 0, 1, 1, 0]
C|13;[0, 0, 1, 1, 0, 1]
S|11;[0, 1, 1, 0, 1, 1]
H|7;[1, 1, 0, 1, 1, 1]
D|14;[1, 0, 1, 1, 1, 0]
S|13;[0, 1, 1, 1, 0, 1]
H|11;[1, 1, 1, 0, 1, 1]
H|6;[1, 1, 0, 1, 1, 0]
D|13;[1, 0, 1, 1, 0, 1]
S|10;[0, 1, 1, 0, 1, 0]
H|4;[1, 1, 0, 1, 0, 0]
D|9;[1, 0, 1, 0, 0, 1]
S|2;[0, 1, 0, 0, 1, 0]
D|4;[1, 0, 0, 1, 0, 0]
C|9;[0, 0, 1, 0, 0, 1]
S|3;[0, 1, 0, 0, 1, 1]
D|7;[1, 0, 0, 1, 1, 1]
C|14;[0, 0, 1, 1, 1, 0]
S|12;[0, 1, 1, 1, 0, 0]
H|8;[1, 1, 1, 0, 0, 0]
H|1;[1, 1, 0, 0, 0, 1]
D|2;[1, 0, 0, 0, 1, 0]
C|5;[0, 0, 0, 1, 0, 1]
C|11;[0, 0, 1, 0, 1, 1]
S|7;[0, 1, 0, 1, 1, 1]
D|15;[1, 0, 1, 1, 1, 1]
S|14;[0, 1, 1, 1, 1, 0]
H|12;[1, 1, 1, 1, 0, 0]
H|9;[1, 1, 1, 0, 0, 1]
H|2;[1, 1, 0, 0, 1, 0]
D|5;[1, 0, 0, 1, 0, 1]
C|10;[0, 0, 1, 0, 1, 0]
S|4;[0, 1, 0, 1, 0, 0]
D|8;[1, 0, 1, 0, 0, 0]
S|1;[0, 1, 0, 0, 0, 1]
D|3;[1, 0, 0, 0, 1, 1]
C|6;[0, 0, 0, 1, 1, 0]
C|12;[0, 0, 1, 1, 0, 0]
S|8;[0, 1, 1, 0, 0, 0]
H|16;[1, 1, 0, 0, 0, 0]
D|1;[1, 0, 0, 0, 0, 1]
C|2;[0, 0, 0, 0, 1, 0]
C|4;[0, 0, 0, 1, 0, 0]
C|8;[0, 0, 1, 0, 0, 0]
S|16;[0, 1, 0, 0, 0, 0]
D|16;[1, 0, 0, 0, 0, 0]
の配列になりますね。


これをすっかり失念していたので
こんな構造を持てる次のカードの色を何にしていいのかを決めるのにコンピュータで
条件を様々探っている中で
「6枚目のカードで使った6枚のカードの色の配列から、
Check=(1番目+2番目+4番目+5番目)%2 (そこに赤カードがあれば1とし和を2で割った余りを計算。)
もしこの値が1番目と一致(黒カード=Check(0)または赤カード=check(1))なら
1番目を取り去り1番目のカードと同じ色を最後尾に補充する。
また先頭のカードの色≠Checkなら
1番目を取り去りCheckの数と同じ色を最後尾に補充する。」
のルールで上手く行けると偶然にも気付いた。
このルールから
C|16;[0, 0, 0, 0, 0, 0]
C|1;[0, 0, 0, 0, 0, 1]
C|2;[0, 0, 0, 0, 1, 0]
C|5;[0, 0, 0, 1, 0, 1]
C|11;[0, 0, 1, 0, 1, 1]
S|7;[0, 1, 0, 1, 1, 1]
D|15;[1, 0, 1, 1, 1, 1]
S|15;[0, 1, 1, 1, 1, 1]
H|15;[1, 1, 1, 1, 1, 1]
H|14;[1, 1, 1, 1, 1, 0]
H|12;[1, 1, 1, 1, 0, 0]
H|9;[1, 1, 1, 0, 0, 1]
H|2;[1, 1, 0, 0, 1, 0]
D|5;[1, 0, 0, 1, 0, 1]
C|10;[0, 0, 1, 0, 1, 0]
S|5;[0, 1, 0, 1, 0, 1]
D|10;[1, 0, 1, 0, 1, 0]
S|4;[0, 1, 0, 1, 0, 0]
D|8;[1, 0, 1, 0, 0, 0]
S|1;[0, 1, 0, 0, 0, 1]
D|3;[1, 0, 0, 0, 1, 1]
C|6;[0, 0, 0, 1, 1, 0]
C|12;[0, 0, 1, 1, 0, 0]
S|9;[0, 1, 1, 0, 0, 1]
H|3;[1, 1, 0, 0, 1, 1]
D|7;[1, 0, 0, 1, 1, 1]
C|15;[0, 0, 1, 1, 1, 1]
S|14;[0, 1, 1, 1, 1, 0]
H|13;[1, 1, 1, 1, 0, 1]
H|11;[1, 1, 1, 0, 1, 1]
H|7;[1, 1, 0, 1, 1, 1]
D|14;[1, 0, 1, 1, 1, 0]
S|13;[0, 1, 1, 1, 0, 1]
H|10;[1, 1, 1, 0, 1, 0]
H|5;[1, 1, 0, 1, 0, 1]
D|11;[1, 0, 1, 0, 1, 1]
S|6;[0, 1, 0, 1, 1, 0]
D|13;[1, 0, 1, 1, 0, 1]
S|10;[0, 1, 1, 0, 1, 0]
H|4;[1, 1, 0, 1, 0, 0]
D|9;[1, 0, 1, 0, 0, 1]
S|3;[0, 1, 0, 0, 1, 1]
D|6;[1, 0, 0, 1, 1, 0]
C|13;[0, 0, 1, 1, 0, 1]
S|11;[0, 1, 1, 0, 1, 1]
H|6;[1, 1, 0, 1, 1, 0]
D|12;[1, 0, 1, 1, 0, 0]
S|8;[0, 1, 1, 0, 0, 0]
H|1;[1, 1, 0, 0, 0, 1]
D|2;[1, 0, 0, 0, 1, 0]
C|4;[0, 0, 0, 1, 0, 0]
C|9;[0, 0, 1, 0, 0, 1]
S|2;[0, 1, 0, 0, 1, 0]
D|4;[1, 0, 0, 1, 0, 0]
C|8;[0, 0, 1, 0, 0, 0]
S|16;[0, 1, 0, 0, 0, 0]
D|1;[1, 0, 0, 0, 0, 1]
C|3;[0, 0, 0, 0, 1, 1]
C|7;[0, 0, 0, 1, 1, 1]
C|14;[0, 0, 1, 1, 1, 0]
S|12;[0, 1, 1, 1, 0, 0]
H|8;[1, 1, 1, 0, 0, 0]
H|16;[1, 1, 0, 0, 0, 0]
D|16;[1, 0, 0, 0, 0, 0]
の配列が見つかった。
これもルールが複雑に見えますが、慣れると結構スムーズに作業可能です。

引用して返信編集・削除(編集済: 2023年09月23日 08:15)

このスレッドに返信

ロケットBBS

Page Top