Probabilité que l'arrangement Secret Santa se traduira par des accords parfaits


11

Donc, nous avions Secret Santa au travail.

Nous sommes 8 personnes. Nous avons chacun tour à tour et tiré un petit morceau de papier d'un bol avec un nom dessus. La seule règle: si vous tirez votre nom, vous devez remettre le morceau de papier dans le bol et réessayer.

Appelons les gens A, B, C, D, E, F, G, H, qui est également l'ordre dans lequel ils ont choisi leur morceau de papier.

Nous avons fait l'échange de cadeaux hier soir.

A était le père Noël secret de F.
B était le père Noël secret d'E.
C était le père Noël secret de D.
D était le père Noël secret de C.
E était le père Noël secret de B.
F était le père Noël secret de A.
G était le père Noël secret de H.
H était le père Noël secret de G.

Tu vois ce qui s'est passé? Nous avons fait des couples.

A et F étaient le père Noël secret de l'autre.
B et E étaient le père Noël secret de l'autre.
C et D étaient le père Noël secret de l'autre.
G et H étaient le père Noël secret de l'autre.

Quelle est la probabilité que cela se produise et comment la calculez-vous?


1
"Si vous tirez votre nom, vous devez remettre le morceau de papier dans le bol et réessayer." Que se passe-t-il si vous êtes le dernier à choisir et à tirer votre propre nom?
Juho Kokkala

Si la personne A dessine l'étiquette C (disons), puis la personne B dessine l'étiquette B, la personne A remet-elle également l'étiquette C dans le chapeau et dessine-t-elle à nouveau? C'est ce que les réponses semblent impliquer, mais je comprends que le libellé signifie que A garde les étiquettes C et B redessinées du chapeau qui contient les étiquettes (A, B, D, E, F, G, H).
Juho Kokkala

Réponses:


14

2n

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

S'ils correspondent à des appariements parfaits, ils sont le produit de transpositions disjointes . Cela implique que leur structure de cycle est de la forme

(a11a12)(a21a22)(an1an2).

2nn!2nn!

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

ces appariements.

Étant donné que tous ces appariements parfaits sont des dérangements et que tous les dérangements sont également probables, la chance est égale à

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

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


Pour vérifier, cette Rsimulation dessine un million de permutations aléatoires de huit objets, ne retient que ceux qui sont des dérangements et compte ceux qui sont des appariements parfaits. Il produit son estimation, l'erreur standard de l'estimation et un score Z pour le comparer à la valeur théorique. Sa sortie est

       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 pour le visage de raton laveur idiot et les lunettes ... J'ai pris un peu de raccourci sur le concept "d'élément stabilisant" parce que je ne sais pas par où commencer à le chercher, mais cela a beaucoup de sens même de prendre ce bit intuitivement.
Antoni Parellada

@Antoni Voir en.wikipedia.org/wiki/Burnside's_lemma par exemple.
whuber

1
@Amoeba J'avais pensé à faire cela, mais j'ai décidé de rester concentré sur le problème actuel, car les dérangements sont si bien connus. L'article Wikipédia auquel j'ai lié fournit plusieurs méthodes pour dériver cette formule. La méthode la plus évidente utilise le principe d'inclusion-exclusion, comme cela apparaît dans l'expression de somme alternée.
whuber

1
Supposez-vous que le dessin des étiquettes commence à partir de zéro si quelqu'un dessine sa propre étiquette (voir mes commentaires à la question). Sinon, je ne pense pas que tous les dérangements soient également probables.
Juho Kokkala

1
@Juho C'est une bonne question, qui mérite réflexion. J'ai répondu sur la base de l' intention implicite de la procédure de dessin, qui serait de créer tous les dérangements avec une probabilité égale, mais on ne sait pas exactement quelle procédure a été suivie ou si elle générerait des dérangements avec une distribution uniforme (ou si elle est même garanti de réussir un dérangement!).
whuber

7

J'ai été assez impressionné par l'élégance de la réponse @whuber. Pour être honnête, j'ai dû beaucoup me familiariser avec de nouveaux concepts pour suivre les étapes de sa solution. Après y avoir passé beaucoup de temps, j'ai décidé de publier ce que j'avais. Ce qui suit est donc une note exégétique à sa réponse déjà acceptée. De cette façon, il n'y a aucune tentative d'originalité, et mon seul objectif est de fournir des points d'ancrage supplémentaires pour suivre certaines des étapes impliquées.

Alors c'est parti ...

2n

2. Peut-on dériver la formule des dérangements?

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)]

Remarquant maintenant le parallélisme entre le LHS de cette équation et la partie sur le RHS entre parenthèses, nous pouvons continuer récursivement:

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

Travail en arrière:

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)

Donc en général,

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!


Pour la Rsimulation:

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

x[x]8Paul -> MariaMaria -> PaulMax -> JohnJohn -> MaxMax -> MariaMaria -> MaxPaul -> JohnJohn -> Paulentrez la description de l'image ici

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) est là pour exclure les permutations appariées comme celle ci-dessus dans le diagramme, qui ne sont pas des dérangements:

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 Merci. J'ai vraiment gaffé là-bas. Je ne suis pas doué pour les tâches répétitives et indexées ... Je savais que quelque chose n'allait pas. Maintenant, cela devrait être corrigé.
Antoni Parellada
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.