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


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ñ

d2ñ=2ñ1个/2-1个/6++-1个ķ/ķ++1个/2ñ
2ñ/Ë

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

一种11一种12一种21一种22一种ñ1个一种ñ2

2ññ2ññ

p2ñ=2ñ2ññ

这样的配对。

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

p2ñd2ñ=1个2ññ1个-1个/2+1个/6-+-1个ķ/ķ++1个/2ñË2ññ

2ñ=815/21190.00707881Ë/2440.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-ñ-2dñ-3]==-1个ñ-2d2-2d1个

dñ=ñdñ-1个+-1个ñ

向后工作:

d2=1个

d3=3d2-1个=31个-1个

d4=4d3+1个=431个-4+1个

d5=5d4-1个=5431个-54+5-1个

d6=6d5+1个=65431个-654+65-6+1个=

=61个2-1个32+1个432-1个5432+1个6=

=61个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ññË

一种bCdËFbd一种CFËa -> b -> d -> c after which it returns to ae -> fAbdcef

4

2ñ2ñ2ññp2ñ=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

X1个2345678

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.