Kemungkinan bahwa pengaturan Secret Santa akan menghasilkan pasangan sempurna

11

Jadi, kami punya Secret Santa di kantor.

Kami 8 orang. Kami masing-masing bergiliran dan menarik selembar kertas kecil dari mangkuk dengan nama di atasnya. Satu-satunya aturan: Jika Anda menarik nama Anda, Anda harus meletakkan kembali kertas itu di mangkuk dan coba lagi.

Sebut saja orang-orang A, B, C, D, E, F, G, H, yang juga merupakan urutan di mana mereka mengambil kertas mereka.

Kami melakukan pertukaran hadiah tadi malam.

A adalah santa rahasia F.
B adalah santa rahasia E.
C adalah santa rahasia D.
D adalah santa rahasia C.
E adalah santa rahasia B.
F adalah santa rahasia A.
G adalah santa rahasia H.
H adalah santa rahasia G.

Lihat apa yang terjadi? Kami membuat pasangan.

A dan F adalah santa rahasia masing-masing.
B dan E adalah santa rahasia masing-masing.
C dan D adalah santa rahasia masing-masing.
G dan H adalah santa rahasia masing-masing.

Berapa probabilitas hal ini terjadi dan bagaimana Anda menghitungnya?

hermann
sumber
1
"Jika kamu menarik namamu, kamu harus meletakkan kembali kertas itu di mangkuk dan coba lagi." Apa yang terjadi jika Anda adalah orang terakhir yang mengambil dan menarik nama Anda sendiri?
Juho Kokkala
Jika orang A menarik label C (katakanlah), dan kemudian orang B menarik label B, apakah orang A juga memasukkan label C kembali ke topi dan menggambar lagi? Inilah yang tampaknya disiratkan oleh jawaban, tetapi saya memahami kata-kata yang berarti bahwa A membuat label C dan B digambar ulang dari topi yang berisi label (A, B, D, E, F, G, H).
Juho Kokkala

Jawaban:

14

2n

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

Jika mereka sesuai dengan pasangan sempurna, maka mereka adalah produk dari transposisi terpisah . Ini menyiratkan struktur siklus mereka adalah dari bentuk

(a11a12)(a21a22)(an1an2).

2nn!2nn!

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

pasangan seperti itu.

Karena semua pasangan sempurna seperti itu adalah kekacauan, dan semua kekacauan sama-sama mungkin, kesempatannya sama

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

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


Untuk mengecek, Rsimulasi ini menarik sejuta permutasi acak dari delapan objek, hanya mempertahankan yang merupakan gangguan, dan menghitung yang merupakan pasangan sempurna. Ini menghasilkan estimasi, kesalahan standar estimasi, dan skor-Z untuk membandingkannya dengan nilai teoritis. Outputnya adalah

       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))
whuber
sumber
1 untuk wajah rakun konyol dan kacamata ... Saya mengambil sedikit jalan pintas pada konsep "elemen penstabil" karena saya tidak tahu harus mulai dari mana, tapi itu masuk akal bahkan mengambil bit itu secara intuitif.
Antoni Parellada
@Antoni Lihat en.wikipedia.org/wiki/Burnside's_lemma misalnya.
whuber
1
@Amoeba saya sudah berpikir untuk melakukan itu tetapi memutuskan untuk tetap fokus pada masalah saat ini, karena gangguan sudah sangat terkenal. Artikel Wikipedia yang saya tautkan menyediakan beberapa metode untuk menurunkan rumus ini. Metode yang paling jelas menggunakan Prinsip Inklusi-Pengecualian, seperti yang terlihat dalam ekspresi jumlah bergantian.
whuber
1
Apakah Anda berasumsi bahwa gambar label dimulai dari awal jika seseorang menggambar labelnya sendiri (lihat komentar saya untuk pertanyaan). Kalau tidak, saya tidak berpikir semua kekacauan kemungkinan sama.
Juho Kokkala
1
@ Juho Itu pertanyaan yang bagus, layak untuk dipikirkan lebih lanjut. Saya telah menjawab berdasarkan niat implisit dari prosedur menggambar, yang akan membuat semua kekacauan dengan probabilitas yang sama, tetapi tidak jelas prosedur apa yang diikuti atau apakah akan menghasilkan kekacauan dengan distribusi seragam (atau apakah itu adalah bahkan dijamin akan berhasil menghasilkan kekacauan!).
whuber
7

Saya cukup terkesan dengan keanggunan jawaban @whuber. Sejujurnya saya harus banyak berkenalan dengan konsep-konsep baru untuk mengikuti langkah-langkah dalam solusinya. Setelah menghabiskan banyak waktu untuk itu, saya memutuskan untuk memposting apa yang saya dapatkan. Jadi yang berikut adalah catatan eksegetis terhadap tanggapannya yang sudah diterima. Dengan cara ini tidak ada upaya orisinalitas, dan satu-satunya tujuan saya adalah memberikan beberapa poin penahan tambahan untuk mengikuti beberapa langkah yang terlibat.

Jadi begini ...

2n

2. Bisakah kita menurunkan formula untuk kekacauan?

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

Sekarang memperhatikan paralelisme antara LHS dari persamaan ini dan bagian pada RHS dalam kurung kita dapat melanjutkan secara rekursif:

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

Bekerja mundur:

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)

Jadi secara umum,

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!


Untuk Rsimulasi:

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

x[x]8Paul -> MariaMaria -> PaulMax -> JohnJohn -> MaxMax -> MariaMaria -> MaxPaul -> JohnJohn -> Paulmasukkan deskripsi gambar di sini

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) ada untuk mengecualikan permutasi berpasangan seperti yang di atas dalam diagram, yang bukan gangguan:

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.
Antoni Parellada
sumber
1
e=
1
11
@whuber Terima kasih. Saya benar-benar melakukan kesalahan di sana. Saya tidak pandai mengerjakan tugas yang diindeks berulang-ulang ... Saya tahu ada sesuatu yang tidak beres. Sekarang harus diperbaiki.
Antoni Parellada