Ймовірність того, що влаштування Секретного Санта призведе до ідеальних пар


11

Отже, у нас був таємний Санта на роботі.

Нас 8 людей. Ми кожен по черзі витягували з миски невеликий аркуш паперу з назвою. Єдине правило: якщо ви потягнете своє ім’я, вам потрібно покласти аркуш паперу назад в миску і спробувати ще раз.

Давайте назвемо людей A, B, C, D, E, F, G, H, що також є порядком, в якому вони вибирали свій аркуш паперу.

Ми зробили обмін подарунками минулої ночі.

A був таємним Санта Ф.
B був таємним Санта Е.
C був таємним Санта Ді.
D був таємним Санта С.
E був таємним Санта Б.
F був таємним Санта А.
G був таємним Санта Х.
H був таємним Санта Г.

Бачите, що сталося? Ми робили пари.

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

Загальна кількість завдань серед людей, де ніхто не призначений собі, становить (Це називають дерангуваннями .) Значення дуже близьке до .2n

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

Якщо вони відповідають ідеальним спаренню, то вони є продуктом непересічних транспозицій . Це означає, що їх циклічна структура має форму

(a11a12)(a21a22)⋯(an1an2).

Кількість виразних таких шаблонів - це порядок групи всіх перестановок назв розділених на порядок стабілізатора візерунка. Стабілізуючий елемент може змінювати будь-яку кількість пар, а також може переставлятипари, звідки єстабілізуючі елементи. Тому є2nn!2nn!

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

такі пари.

Оскільки всі такі ідеальні пари є дерангуваннями, а всі дерангування однаково ймовірні, шанс дорівнює

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

Тому для людей точна відповідь - тоді як наближення : вони погоджуються на п'ять значущих цифр.2n=815/2119≈0.00707881e/(244!)≈0.00707886


Для перевірки це Rмоделювання малює мільйон випадкових перестановок з восьми об'єктів, зберігає лише ті, що є дерангуваннями, і підраховує ті, які є ідеальними парними. Він виводить свою оцінку, стандартну похибку оцінки та Z-бал для порівняння її з теоретичним значенням. Його вихід є

       p.hat           se            Z 
 0.006981031  0.000137385 -0.711721705

Невеликий Z-бал відповідає теоретичному значенню. (Ці результати узгоджуються з будь-яким теоретичним значенням між та .)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 Див en.wikipedia.org/wiki/Burnside's_lemma , наприклад.
— whuber

1
@Amoeba Я думав це зробити, але вирішив залишатися зосередженим на цій проблемі, оскільки наріки настільки добре відомі. Стаття у Вікіпедії, до якої я посилався, містить кілька методів виведення цієї формули. Найбільш очевидний метод використовує Принцип включення-виключення, як це очевидно в виразі змінної суми.
— whuber

1
Чи вважаєте ви, що нанесення етикетки починається з нуля, якщо хтось малює власну етикетку (дивіться мої коментарі до питання). В іншому випадку я не думаю, що всі знущання є однаково вірогідними.
— Juho Kokkala

1
@Juho Це гарне запитання, гідне подальшої думки. Я відповів, виходячи з неявного наміру процедури малювання, який полягав би в тому, щоб створити всі дерангування з однаковою ймовірністю, але не ясно, яку саме процедуру слід було б виконати, чи створить вона дерангування з рівномірним розподілом (чи це навіть гарантував, що вдасться створити дегустацію!).
— whuber

7

Мене дуже вразила витонченість у відповіді @whuber. Якщо чесно, мені довелося багато ознайомитись з новими концепціями, щоб виконати кроки в його вирішенні. Витративши на це багато часу, я вирішив опублікувати те, що отримав. Отже, далі - екзегетична примітка до його вже прийнятої відповіді. Таким чином, немає спроби оригінальності, і моя єдина мета - надати деякі додаткові точки прикріплення для виконання деяких кроків.

Так ось це йде ...

1. Чому ? 2nНу, це може бути занадто елементарним: нам потрібна рівна кількість людей, щоб грати в цю гру.

2. Чи можемо ми вивести формулу для відмов?

Слідуючи запису у Вікіпедії із прикладом, заснованим на відповідності людей і капелюхів , капелюхів, якщо бути точним, ми маємо, що варіанти для першої особи, яка бере шапку, показані тут наступним чином:n

d(n)=(n−1)[d(n−2)+d(n−1)]=

=nd(n−2)−d(n−2)+nd(n−1)−d(n−1) , які можна реорганізувати у такий спосіб:

d(n)−nd(n−1)=−[d(n−1)−(n−1)d(n−2)] .

Тепер помічаючи паралелізм між LHS цього рівняння та частиною на RHS в дужках, ми можемо продовжувати рекурсивно:

d(n)−nd(n−1)=−[d(n−1)−(n−1)d(n−2)]=

=(−1)2[d(n−2)−(n−2)d(n−3)]=⋯=(−1)n−2d(2)−2d(1)

Це означає, що .d(n)=nd(n−1)+(−1)n

Робота назад:

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!(12−13∗2+14∗3∗2−15∗4∗3∗2+16!)=

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

Так загалом,

d(n)=n!(1−1+12!−13!+14!+⋯+1n!)

І запам'ятовуючи серію Тейлора оцінену на :exx=−1

d(n)≈n!e

3. Непересічне переміщення : Поняття транспозиції легко дістати за посиланням, поданим у вихідній відповіді , але "неперервне" було трохи менш зрозумілим. Дивлячись на приклад, із множини перестановка може бути виражена циклом як:, але утворює цикл на себе - неперервний цикл. Або, склавши ці два цикли разом, перестановка може бути виражена як добуток .b , d , a , c , f , e ( abdc ) ( ef )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

4. Щоб знайти кількість двоелементних циклів, нам потрібно розділити всі можливі перестановкиз набору восьми ( ) людей від загальної можливої ​​кількості підкачок двох елементів та загальної кількості перестановок цих пар: .2 n 2 n n ! p ( 2 n ) = ( 2 n ) !(2n)!2n2nn!p(2n)=(2n)!2nn!


Для Rмоделювання:

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

Ця функція зводиться до розуміння x[x]: Мається на увазі оцінити вектор елементів, що представляє присутні завдання, та визначити, чи складається він з 2-х елементів петель, як у проблемі Діда Мороза. Поки перестановки відповідають переносним елементам, так що якщо Павло повинен був подарувати подарунок Марії ( і навпаки ), а Максу - Іоанну ( / ) спочатку, то отримане переміщення просто призводить до нового ідеального спарювання ( / і / ) ми виконуємо початкову умову ідеального сполучення: 8Paul -> MariaMaria -> PaulMax -> JohnJohn -> MaxMax -> MariaMaria -> MaxPaul -> JohnJohn -> Paulвведіть тут опис зображення

Іншими словами, якщо ми повернемося до прикладу капелюхів у Вікіпедії, людина i завжди знімає шапку .1

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

Ця функція оцінює, чи маємо ми справу з дерангуванням, порівнюючи вектор елемент, мудрий із вектором , і переконуючись у тому, що немає збігу.( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 )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, але формула відхилень з повинна бути лише приблизною, тобто з не . ≈ =e≈=
— амеба

1
+1, тому що це гідне і корисне зусилля, щоб зрозуміти і пояснити рішення. Пояснення перехресного продукту виглядає неправильним: воно просто обчислює суму квадратів записів. Зокрема, і неможливо "скасувати". Використання поперечного продукту є несуттєвим; це був лише перший, досить ефективний спосіб, який прийшов до тями для перевірки рівності двох числових векторів, що є його логічною роллю в алгоритмі. Не плутайте реалізацію з поясненнями! - 11−1
— whuber

@whuber Дякую Я справді туди губив. Я непоганий у повторюваних, індексованих завданнях ... Я знав, що щось не так. Тепер це слід виправити.
— Антоні Пареллада
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.