シークレットサンタの配置が完璧な組み合わせになる確率


11

だから、私たちは秘密のサンタを仕事にしていた。

私たちは8人です。私たちはそれぞれ順番に、名前の書かれたボウルから小さな紙を引き出しました。唯一のルール:名前を引く場合は、紙をボウルに戻し、もう一度試す必要があります。

人々をA、B、C、D、E、F、G、Hと呼びましょう。これは、紙を選んだ順序でもあります。

昨夜はギフト交換をしました。

AはFの秘密のサンタでした。
BはEの秘密のサンタでした。
CはDの秘密のサンタでした。
DはCの秘密のサンタでした。
EはBの秘密のサンタでした。
FはAの秘密のサンタでした。
GはHの秘密のサンタでした。
HはGの秘密のサンタでした。

何が起こったのかわかりますか?カップル作りました。

AとFはお互いの秘密のサンタでした。
BとEはお互いの秘密のサンタでした。
CとDはお互いの秘密のサンタでした。
GとHはお互いの秘密のサンタでした。

これが発生する可能性はどのくらいですか?


1
「自分の名前を引っ張ったら、紙をボウルに戻し、もう一度やり直さなければならない。」あなたが自分の名前を選択してプルする最後の人である場合はどうなりますか?
Juho Kokkala

人物AがラベルC(たとえば)を描画し、その後人物BがラベルBを描画した場合、人物AもラベルCを帽子に戻して再度描画しますか?これは答えが意味するように見えるものですが、私はAがラベルCを保持し、Bがラベル(A、B、D、E、F、G、H)を含む帽子から再描画することを意味する表現を理解しています。
Juho Kokkala

回答:


14

自分自身に割り当てられていない人の割り当ての総数は、d 2 n = 2 n です。1 / 2 - 1 / 6 + + - 1 K / K + + 1 /2 N (これらは混乱と呼ばれます。)値は2n

d(2n)=(2n)!(1/21/6++(1)k/k!++1/(2n)!).
(2n)!/e

それらが完全なペアリングに対応している場合、それらは互いに素な転置の産物です。これは、それらのサイクル構造が次の形式であることを意味します

(a11a12)(a21a22)(an1an2).

2nn!2nn!

p(2n)=(2n)!2nn!

そのようなペアリング。

そのような完璧なペアリングはすべて混乱であり、すべての混乱は等しく可能性があるため、確率は

p(2n)d(2n)=12nn!(11/2+1/6+(1)k/k!++1/(2n)!)e2nn!.

2n=815/21190.00707881e/(244!)0.00707886


チェックするために、このRシミュレーションは8つのオブジェクトの100万個のランダムな順列を描画し、混乱しているオブジェクトのみを保持し、完全なペアリングであるオブジェクトをカウントします。推定値、推定値の標準誤差、および理論値と比較するためのZスコアを出力します。その出力は

       p.hat           se            Z 
 0.006981031  0.000137385 -0.711721705

0.00660.0073

paired <- function(x) crossprod(x[x] - 1:length(x))==0
good <- function(x) sum(x==1:length(x)) == 0

n <- 8
set.seed(17)
x <- replicate(1e6, sample(1:n, n))
i.good <- apply(x, 2, good)
i.paired <- apply(x, 2, paired)

n.deranged <- sum(i.good)
k.paired <- sum(i.good & i.paired)
p.hat <- k.paired / n.deranged
se <- sqrt(p.hat * (1-p.hat) / n.deranged)
(c(p.hat=p.hat, se=se, Z=(p.hat - 15/2119)/se))

愚かなアライグマの顔と眼鏡の+1 ...「安定化要素」の概念に少し近道を取りました。どこから始めればいいのかわからないからです。直感的に。
Antoni Parellada、2015

@Antoni たとえば、en.wikipedia.org / wiki / Burnside's_lemmaを参照してください。
whuber

1
@Amoeba私はそうすることを考えていましたが、混乱が非常によく知られているので、現在の問題に集中することを続けることにしました。私がリンクしたWikipediaの記事は、この公式を導き出すいくつかの方法を提供しています。最も明白な方法は、交互合計式で明らかなように、包含-除外の原理を使用します。
whuber

1
誰かが自分のラベルを描く場合、ラベルの描画は最初から始まると思いますか(質問への私のコメントを参照)。そうでなければ、私はすべての混乱が同じくらい起こりそうであるとは思いません。
Juho Kokkala

1
@Juhoそれは良い質問で、さらに考える価値があります。描画手順の暗黙の意図に基づいて答えましたが、これはすべての混乱を同じ確率で作成することになりますが、どの手順に従ったのか、それが均一分布の混乱を生成するのかどうか(またはそれが混乱を生み出すことに成功することさえ保証されています!)
whuber

7

@whuberの回答の優雅さにかなり感銘を受けました。正直に言うと、彼の解決策の手順に従うために、新しい概念に精通する必要がありました。それに多くの時間を費やした後、私は得たものを投稿することにしました。したがって、以下は彼のすでに受け入れられた応答への明確なメモです。このように、独創性の試みはありません。私の唯一の目的は、関連するいくつかの手順に従うためにいくつかの追加のアンカーポイントを提供することです。

だからここに行く...

2n

2.混乱の公式を導出できますか?

n

d(n)=(n1)[d(n2)+d(n1)]=

=nd(n2)d(n2)+nd(n1)d(n1)

d(n)nd(n1)=[d(n1)(n1)d(n2)]

ここで、この方程式のLHSとRHSの括弧内の部分との並列性に注意してください。再帰的に続けることができます。

d(n)nd(n1)=[d(n1)(n1)d(n2)]=

=(1)2[d(n2)(n2)d(n3)]==(1)n2d(2)2d(1)

d(n)=nd(n1)+(1)n

逆方向の作業:

d(2)=1

d(3)=3d(2)1=311

d(4)=4d(3)+1=4314+1

d(5)=5d(4)1=543154+51

d(6)=6d(5)+1=65431654+656+1=

=6!(12132+143215432+16!)=

=6!(16!15!+14!13!+12!11!+1)

だから一般的に

d(n)=n!(11+12!13!+14!++1n!)

exx=1

d(n)n!e

a,b,c,d,e,fb,d,a,c,f,ea -> b -> d -> c after which it returns to ae -> f(a b d c)(e f)

4

(2n)!2n2nn!p(2n)=(2n)!2nn!


以下のためのRシミュレーション:

1。 paired <- function(x) crossprod(x[x] - 1:length(x))==0

x[x]8Paul -> MariaMaria -> PaulMax -> JohnJohn -> MaxMax -> MariaMaria -> MaxPaul -> JohnJohn -> Paulここに画像の説明を入力してください

i 1

2。 good <- function(x) sum(x==1:length(x)) == 0

x(1,2,3,4,5,6,7,8)

3.k.paired <- sum(i.good & i.paired)図の上記のようなペアの順列を除外しますが、これらは混乱ではありません。

v <- c(1,2,3,4,5,6,7,8)
w <- c(1,2,3,5,4,6,7,8)

(c("is v paired?" = paired(v), "is w paired?" = paired(w),
   "is v a derang?" = good(w), "is w a derang?" = good(w)))

# not all paired permutations are derangements.

1
e=

1
11

@whuberありがとうございます。私は本当にそこから抜け出しました。反復的なインデックス付きタスクが得意ではありません...何かがおかしいとわかっていました。これで修正されるはずです。
Antoni Parellada
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.