На плечах гигантов, на спинах электронов
Помогите с детской задачей по комбинаторике ))
Точнее, по теории вероятностей, но дело всё же в комбинаторике.
Задача такая. Есть 10 человек, которые стоят в кругу. На 4 из них надеты белые перчатки, на 6 — черные.
Какова вероятность, что никакие два человека в белых перчатках не стоят вместе.
Формула классической вероятности `P(A)=m/n`.
И вот, проблемы уже начинаются с расчетом `n`.
Если считать просто "по формуле" перестановки с повторениями, то получаем всего перестановок таких людей: `{10!}/{4!*6!}`
И еще разделим на 10 из-за того, что они стоят в кругу. Имеем: `n={9!}/{4!*6!}`.
Я здесь не уверена до конца, что так можно...
В учебнике написан вот такой способ расчета `n`.
Ставим в круг 6 человек в черных перчатках (это можно сделать единственным способом: просто поставить). Расставляем в промежутки 4 человека в белых перчатках. Имеем: 6 способов для расстановки первого, 7 для второго, 8 для третьего, 9 для четвертого. И всё это разделим на 4!, так как они неразличимы.
Получим:
`n={6*7*8*9}/{4!}={9!}/{4!*5!}`
Т.е. с моим ответом не сходится.
Хорошо, но если мы сделаем наоборот: сперва расставим белых, потом черных?
Тогда имеем по той же логике:
`n={4*5*6*7*8*9}/{6!}={9!}/{3!*6!}`
Что я делаю не так?
Точнее, по теории вероятностей, но дело всё же в комбинаторике.
Задача такая. Есть 10 человек, которые стоят в кругу. На 4 из них надеты белые перчатки, на 6 — черные.
Какова вероятность, что никакие два человека в белых перчатках не стоят вместе.
Формула классической вероятности `P(A)=m/n`.
И вот, проблемы уже начинаются с расчетом `n`.
Если считать просто "по формуле" перестановки с повторениями, то получаем всего перестановок таких людей: `{10!}/{4!*6!}`
И еще разделим на 10 из-за того, что они стоят в кругу. Имеем: `n={9!}/{4!*6!}`.
Я здесь не уверена до конца, что так можно...
В учебнике написан вот такой способ расчета `n`.
Ставим в круг 6 человек в черных перчатках (это можно сделать единственным способом: просто поставить). Расставляем в промежутки 4 человека в белых перчатках. Имеем: 6 способов для расстановки первого, 7 для второго, 8 для третьего, 9 для четвертого. И всё это разделим на 4!, так как они неразличимы.
Получим:
`n={6*7*8*9}/{4!}={9!}/{4!*5!}`
Т.е. с моим ответом не сходится.
Хорошо, но если мы сделаем наоборот: сперва расставим белых, потом черных?
Тогда имеем по той же логике:
`n={4*5*6*7*8*9}/{6!}={9!}/{3!*6!}`
Что я делаю не так?
Давай попробуем решить задачу для
чёрных - 4, белых - 2.
Ссылку на учебник дать не могу ( Но там именно так. Нужно просто понять эту логику. А она от меня ускользает).
Вообще, понимаю, что пишу бред. Не могу понять только, что с ним делать.
Ну положим.
Черных 4, белых 2. Всего вариантов 3. ббчччч, бчбччч, бччбчч.
Расставим 6 человек в черных перчатках. Количество мест для первого человека в белых перчатках - 6, для второго 5, для третьего 4, для четвертого 3. Поскольку люди неразличимы, делим это количество на 4!. Имеем:
6*5*3*4/4! = 15.
У меня руки опускаются от такой логики...
Тут либо делать, как "по учебнику", или как правильно.
Я пока только все варианты считаю.
А подходящих 2 из 3.
0001010101
0010010101
0010100101
Похоже на правду. Или нет?
Это я вчера руками посчитала. Это достаточно легко.
Мой способ:
8 человек из этих 10 расставляются однозначно - через одного. А потом считается, сколько разных вариантов вставить оставшихся двух черных. Первого черного - в любое место - 1 вариант. И еще одного - для него три разных.
И как считать количество всех возможных расстановок.
Это сильно меняет дело.
Для вероятности удобно считать каждого человека уникальным: 1 расстановка людей = 1 элементарный исход. Некоторые расстановки людей будут складываться в одну и ту же последовательность белых и чёрных, но это не страшно, это лишь будет означать, что некоторые расстановки возникают чаще других (что правда).
Зафиксируем одного (допустим, белого с номером 1) на первом месте, следовательно, остальных можно расставить 9! различными способами.
Теперь считаем с условием, что два белых - не рядом. Можно выбрать точку отсчёта так, мы попадём в одну из трех комбинаций.
0001010101 6!*4!
0010010101 6!*4!
0010100101 6!*4!, циклическим сдвигом на 5 эта расстановка переходит сама в себя, но это учитывать не нужно (и делить на два тоже не надо).
Суммируем, делим одно на другое...
Можно не фиксировать порядок и точку отчёта, тогда это будет автоматом означать, что числитель и знаменатель нужно умножить на 10.
То есть, изначально, моя формула для n была верна.
И для m тоже (с учетом 6!*4!)...
Что же делать с учебником?
Так что же нам делать с симметриями вращения при расчете общего количества способов? Там ведь не все перестановки уникальны?..
Trotil, ты так предлагаешь? Верно я мыслю?
Спасибо ))
В учебнике ответ такой.
Всего способов расставить 4 белых, если черные уже стоят: 6*7*8*9/4!.
Подходящих способов расставить этих же 4 белых: 6*5*3*4/4!
Вероятность, соответственно, вычисляется как одно деленное на другое.
Кстати, очень стройное решение...
Алгоритм - генерируем случайную расстановку для белых, а затем проверяем её на "правильность". Получаем одну "хорошую" расстановку на 8.4 плохих...
Это печально. Ошибки пока не вижу, но она есть.
[mel@g4 Denis3]$ g++ -std=c++11 testperm.cpp -o testperm; ./testperm
count=1000000
count_2=119022
div=8.40181
[mel@g4 Denis3]$ g++ -std=c++11 testperm.cpp -o testperm; ./testperm
count=1000000
count_2=118410
div=8.42523
[mel@g4 Denis3]$ g++ -std=c++11 testperm.cpp -o testperm; ./testperm
count=1000000
count_2=119033
div=8.40103
[mel@g4 Denis3]$ g++ -std=c++11 testperm.cpp -o testperm; ./testperm
count=1000000
count_2=119020
div=8.39195
[mel@g4 Denis3]$ g++ -std=c++11 testperm.cpp -o testperm; ./testperm
count=1000000
count_2=118975
div=8.40513
Хм.
> Подходящих способов расставить этих же 4 белых: 6*5*3*4/4!
> Вероятность, соответственно, вычисляется как одно деленное на другое.
> Кстати, очень стройное решение...
А если здесь поделить одно на другое, то тоже будет 10/84.
Пойду сдавать диплом.
Нет, я так не играю. Ошибка в программе? Правильный ответ - 1/7?
Я спрошу.
В учебнике ответ 10/84.
P(m m d m d m m d m d) = (6!*4!)/10!
P(m m m d m d m d m d) = (6!*4!)/10!
С учётом поворотов и центральной симметрии во втором случае имеем (10+5+10)*(6!*4!)/10!.