秘密圣诞老人的安排将导致完美配对的可能性


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 2015年

如果人A绘制了标签C(例如),然后人B绘制了标签B,那么人A是否也将标签C放回帽子并再次绘制?这似乎是答案所隐含的含义,但我理解这样的用语是指A保留标签C,B从包含标签(A,B,D,E,F,G,H)的帽子上重新绘制。
— Juho Kokkala 2015年

Answers:


14

个人(其中没有人分配给自己)的总分配数量为d (2 n )= (2 n )!(1 / 2 - 1 / 6 + ⋯ + (- 1 )ķ / ķ !+ ⋯ + 1 /(2 Ñ )!)。 (这些称为排列。)该值非常接近(2ñ

d(2ñ)=(2ñ)!(1个/2-1个/6+⋯+(-1个)ķ/ķ!+⋯+1个/(2ñ)!)。
。(2ñ)!/Ë

如果它们与完美配对相对应,则它们是不相交换位的产物。这意味着它们的循环结构为以下形式

(一种11一种12)(一种21一种22)⋯(一种ñ1个一种ñ2)。

2ññ!2ññ!

p(2ñ)=(2ñ)!2ññ!

这样的配对。

由于所有这样的完美配对都是错位,并且所有错位的可能性均等,因此机会等于

p(2ñ)d(2ñ)=1个2ññ!(1个-1个/2+1个/6-⋯+(-1个)ķ/ķ!+⋯+1个/(2ñ)!)≈Ë2ññ!。

2ñ=815/2119≈0.00707881Ë/(244!)≈0.00707886


为了进行检查,此R模拟绘制了八个对象的一百万个随机排列,仅保留了那些排列错乱的对象,并对那些完美配对的对象进行了计数。它输出其估计值,估计值的标准误差和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。
— ub

1
@Amoeba我曾经考虑过这样做,但由于对混乱的了解非常多,所以决定专注于当前的问题。我链接到的Wikipedia文章提供了几种推导此公式的方法。最明显的方法使用“包含-排除”原理,这在交替和表达式中很明显。
— whuber

1
您是否假定如果有人绘制自己的标签,标签的绘制是从头开始的(请参阅我对问题的评论)。否则,我认为并非所有情况都可能发生。
— Juho Kokkala 2015年

1
@Juho这是一个很好的问题,值得进一步思考。我已经基于绘制过程的隐含意图进行了回答,该意图是以相等的概率创建所有排列,但不清楚确切地遵循了哪个过程,或者它是否会生成具有均匀分布的排列(或者是否是甚至保证成功导致了混乱!)。
— ub

7

@whuber答案的优雅给我留下了深刻的印象。老实说,我必须熟悉新概念才能遵循他的解决方案中的步骤。在花了很多时间之后,我决定发布我得到的东西。因此,下面是他已经接受的回应的训诫性注释。这样,就不会尝试独创性了,我的唯一目标是提供一些附加的定位点,以遵循其中涉及的某些步骤。

所以就这样...

2ñ

2.我们可以推导错位公式吗?

ñ

d(ñ)=(ñ-1个)[d(ñ-2)+d(ñ-1个)]=

=ñd(ñ-2)-d(ñ-2)+ñd(ñ-1个)-d(ñ-1个)

d(ñ)-ñd(ñ-1个)=-[d(ñ-1个)-(ñ-1个)d(ñ-2)]

现在注意到该方程式的LHS与括号中RHS的零件之间的平行性,我们可以递归继续:

d(ñ)-ñd(ñ-1个)=-[d(ñ-1个)-(ñ-1个)d(ñ-2)]=

=(-1个)2[d(ñ-2)-(ñ-2)d(ñ-3)]=⋯=(-1个)ñ-2d(2)-2d(1个)

d(ñ)=ñd(ñ-1个)+(-1个)ñ

向后工作:

d(2)=1个

d(3)=3d(2)-1个=3∗1个-1个

d(4)=4d(3)+1个=4∗3∗1个-4+1个

d(5)=5d(4)-1个=5∗4∗3∗1个-5∗4+5-1个

d(6)=6d(5)+1个=6∗5∗4∗3∗1个-6∗5∗4+6∗5-6+1个=

=6!(1个2-1个3∗2+1个4∗3∗2-1个5∗4∗3∗2+1个6!)=

=6!(1个6!-1个5!+1个4!-1个3!+1个2!-1个1个!+1个)

所以总的来说,

d(ñ)=ñ!(1个-1个+1个2!-1个3!+1个4!+⋯+1个ñ!)

ËXX=-1个

d(ñ)≈ñ!Ë

一种,b,C,d,Ë,Fb,d,一种,C,F,Ëa -> b -> d -> c after which it returns to ae -> f(Abdc)(ef)

4

(2ñ)!2ñ2ññ!p(2ñ)=(2ñ)!2ññ!


对于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
Ë≈=

1
1个-1个

@whuber谢谢。我真的很无聊。我不擅长重复的索引工作...我知道有些事情不对劲。现在应该修复。
— 安东尼帕雷拉达
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.