Всем, привет!
На днях задали следующую задачку:
В семье двое детей. Какова вероятность того, что если один из детей – девочка по имени Флорида, то и другой ребенок девочка?
(Условие в точности перепечатано из русского издания книги, человек, который рассказывал условие задачи использовал ту же формулировку, но сослался на англоязычное издание)
Это задача из книги Млодинов Л. - (Не)совершенная случайность (стр. 160). И в ней утверждается, что ответом будет ½. Заметим, что в случае если поменять условие "один из детей - девочка по имени Флорида" на "один из детей - девочка", то ответ 1/3.
Ход рассуждений из книги:
Р1 дочь? | Р2 дочь? | Р1 Флорида? | Р2 Флорида? | ||
|
|
|
|
| |
|
|
|
|
| Недостоверны - так как вероятность не существования дочери равно нулю (по условию) |
|
|
|
|
| |
|
|
|
|
| |
|
|
|
|
| Недостоверны - так как P(не сущ дочь.Имя(Флорида))=0 (по условию) |
|
|
|
|
| |
1 | 0 | 1 | 0 | | |
|
|
|
|
| Пренебрежем вероятностью, что парня назовут Флоридой |
|
|
|
|
| |
0 | 1 | 0 | 1 | ||
|
|
|
|
| |
|
|
|
|
| |
|
|
|
|
| |
1 | 1 | 0 | 1 | ||
1 | 1 | 1 | 0 | ||
|
|
|
| Пренебрежем вероятностью, что обе дочки Флориды |
Оставшиеся случаи в книжке считают равновероятными и P(2 дочери)=2/4=1/2
Я не согласен с тем, что случай "две дочери и первая Флорида" равновероятен случаю "первый ребенок дочь и она Флорида", поскольку если одна дочь из двух детей, то она гарантировано является Флоридой (P(сущ Флорида)=1 по условию), когда как из 2-х дочерей может быть примерно с вероятностью 0.5 первая Флоридой, и с вероятностью примерно 0.5 вторая, а обе с вероятностью близкой к нулю (в зависимости от популярности имени).
Что вы думаете по этому поводу и как еще доказать или опровергнуть утверждаемое Млодиновым ?
Почему автор считает оставшиеся (невычеркнутые в таблице) 4 события равновероятными.
^
там должно быть написано, что эта задача очень чувствительна ко всяким мелочам, так что для того, чтобы о чём-нибудь спорить, нужна строгая формальная постановка
Представь себе, что никакой дополнительной информации ни о том, что Флорида женское имя, ни о том, что это редкое имя, ни о том, что детей не называют одинаково, ни о том, что первый ребенок - дочь, и ее зовут Флорида, нет. В этом случае мы имеем как раз те 16 равновероятных вариантов, которые приведены в таблице, т. е., если так можно выразиться, информация из условия задачи не является априорной.
Теперь сначала вычеркнем те варианты, которые нам запрещает условие (первый ребенок - дочь Флорида). Вычеркнули. Теперь для оставшихся вариантов применим знания из здравого смысла. Отсюда еще 3 варианта вычеркиваются, это как раз те, у которых комментарий "Пренебрежем вероятностью..." Далее вроде все понятно.
Т. е. твои рассуждения неверны, потому что ты опираешься на информацию в условии как априорную, а она таковой не является.
Тогда исходную задачу переформулируем так: первый дротик попал в сектор 20 (он вертикально в верхней части мишени), какова вероятность, что второй дротик попал в верхнюю половину мишени? Если пренебрегать вероятностью того, что оба дротика попали в сектор 20, получается, что, даже с учетом независимости событий для обоих бросков, попадание второго дротика в любую часть мишени равновероятно (кроме сектора 20, чем мы пренебрегли). Поэтому искомая вероятность - 1/2 - доля половины мишени от всей мишени.
Если задача ставится так: первый дротик попал в верхнюю половину, какова вероятность, что второй дротик попал в верхнюю половину, то, очевидно, здесь вероятность попадания будет меньше - простые вычисления для комбинаций 2 событий показывают, что она равна 1/3.
Для случая, который ты привел, ответ будет не 1/2, не 1/3, а что-то между ними. Это потому, что пренебрегать тем, что у двух дочерей голубые глаза, нельзя, следовательно "девочка с голубыми глазами" - это и не половина мишени, как во второй формулировке, и не пренебрежимо малая ее часть, как в первой.
В предложенной задаче, оба исхода независимы друг от друга, следовательно, вероятность 1/2.
Если ошибаюсь, поправьте.
Проблема во всех этих задачах, что даже имея очень хороший бэкграунд в ТВ, можно легко накосячить в перечислении случаев, или в оценке их равновероятности. Хорошо всегда проверять свои предположения, делая код. Например, я интуитивно был согласен с автором поста в том, что ответ должен совпадать, но написал код, и был приятно удивлен.
Для начала уточним понимание. Мы взяли миллион теток с двумя детьми, затем отсеяли тех, у кого оба ребенка девочка. Каков процент оставшихся теток имеет двух девочек? Это легкий вариант, и ответ 1/3. Это подтвердится кодом.
Второй вариант -- мы также выбрали миллион мам, и оставили только тех, у кого есть доча по имени Фекла. Тут проблема -- делая оценку, как оценить, каков шанс, что дочу зовут Фекла? А это, вообще говоря, важно. Например, в коде, который я приведу ниже, я делаю предположение, что дочу зовут Фекла с шансом 50%, и получаю в итоге 3/7 шанс, что второй ребенок тоже доча. Понижаем шанс на то, что дочу зовут Фекла до одной четвертой, и шанс повышается. Я полагаю, что при стремлении шанса того, что дочу зовут Фекла, к нулю, шанс на то, что второй ребенок -- доча, будет стремиться к одной второй.
То есть грубо говоря, отвечая на вопрос топикстартера, почему варианты 1 0 1 0 и 1 1 1 0 равновероятны -- потому что (если закрепить то, что первого ребенка зовут Флоридой) если второй ребенок девочка, то шанс того, что ее зовут Флорида настолько ничтожно мал, что шанс обратного можно считать равным 100%.
Код для этого случая (да, да, pastebin и вся фигня, это сложно):
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main( ) {
srand( time( 0 ) );
int satisfy1 = 0;
int total1 = 0;
int satisfy2 = 0;
int total2 = 0;
// case 1. One of the children is a girl
for( int i = 0; i < 1000000; ++ i ) {
bool isGirl1 = rand() < (RAND_MAX >> 1);
bool isGirl2 = rand() < (RAND_MAX >> 1);
if( isGirl1 || isGirl2 ) {
++ total1;
if( isGirl1 && isGirl2 ) {
++ satisfy1;
}
}
}
// case 2. One of the children is a girl with a given name
for( int i = 0; i < 1000000; ++ i ) {
bool isGirl1 = rand() < (RAND_MAX >> 1);
bool isGirl2 = rand() < (RAND_MAX >> 1);
bool isFekla1 = (isGirl1 && ( rand() < (RAND_MAX >> 1) ));
bool isFekla2 = (isGirl2 && ( rand() < (RAND_MAX >> 1) ));
if( isGirl1 && isFekla1 || isGirl2 && isFekla2 ) {
++ total2;
if( isGirl1 && isGirl2 ) {
++ satisfy2;
}
}
}
printf( "%lf %lf\n", (double)satisfy1 / total1, (double)satisfy2 / total2 );
return 0;
}
Поскольку по твоим расчетам:
МД p
ДМ р
ДД 2*p-p^2
Чем меньше р (вероятность свойства существующего ребенка), тем больше влияние количества экспериментов на вероятность существования ребенка с этим свойством.