Pull to refresh

Comments 47

Честно говоря, в вероятностях не разбираюсь (и питона нет), однако попробуйте рассмотреть граничные условия, когда красные таблетки лежат только в правой или левой руке.
Простите, я не понимаю зачем? Если красные таблетки лежат только в правой руке, значит вероятность того, что красная таблетка была взята из правой руки — 100%. Ну и 0% если они были только в левой. Или я чего-то не так понял?
Для проверки расчетов.
Для примера — все красные таблетки в правой руке, 10 таблеток (синих) в левой руке, 13 (красных) в правой (пример вашего расчета относительно моих условий):
Таблетка уже есть. Красная. Вероятность того, что я, взяв таблетку, получу красную — 56.52% (13 из 23). Вероятность того, что, выбирая таблетку, я возьму ее из левой руки — 43.48% (10 из 23). Из правой — 56.52% (100% — 43.48%). Вероятность, что взятая таблетка будет из левой руки и окажется красной — 0%. Вероятность, что взятая таблетка будет из правой руки и окажется красной — 56.52% (вот тут могу ошибаться). Всего вероятность взять красную таблетку равна 56.52% (13 из 23 и 0% + 56.52%). Вероятность того, что взятая красная таблетка была из правой руки — ?% (100% (судя по дальнейшему описанию) из 56.52% (то есть 56.52 %). Процент вероятности взять красную таблетку из правой (100%) от вероятности достать красную вообще(56,52%)). Результат расчетов в данном случае не совпал с ожиданием.
Если не прав, пожалуйста, напишите, как считать в таком случае. Именно считать, потому что ответ — 100% и так ясен из самого условия.
Вероятность того, что взятая красная таблетка была из правой руки — ?% (100% (судя по дальнейшему описанию) из 56.52% (то есть 56.52 %).


Вот тут ошибка. Вероятность того, что взятая красная таблетка была из правой руки — 100% (56.52% (вероятность, что таблетка будет взята из правой руки и окажется красной) из 56.52% (вероятность взять красную таблетку вообще)).

Прошу прощения. Кажется я хреново расписал решение. Надо было как-то по адекватнее расписать откуда и что бралось.
В вашем решении тот же изъян, что и в «неправильном»: вы делаете некие предположения. А именно вы предполагаете, что вероятность взять любую таблетку одинакова. А это также нигде не сказано в условии.
Я ждал такого комментария :)

Хоть это и будет доказательством того, что я «не жираф», но все же…

Допустим мы абстрагируемся от рук. Пусть задача звучит так: На столе лежит 8 целых яблок, 3 надкусанных яблока, 5 целых персиков и 7 надкусанных персиков.

Вы закрываете глаза и берете фрукт. Это яблоко. Какова вероятность, что оно целое?

В этой задаче вопроса о методе выбора не возникает? У любого фрукта интуитивно одинаковый шанс быть выбранным.
На самом деле, задача не изменилась. Целость — это атрибут соответствующий правой руке. Надкусанность — левой. Формулировка с руками заставляет искать методику выбора завязанную на количество рук, но как мне кажется — это ошибка.
UFO just landed and posted this here
ерунда какая то, у таблеток не равновероятная выбираемость.
выбор руки равновероятен.
В том-то и дело, что в задаче ничего не сказано про равновероятность выбора рук. Равно как и про равновероятность выбора таблеток.
например, есть у нас 2 руки, мы точно знаем, что в каждой руке есть таблетки и только они. каков шанс взять таблетку из правой руки?
в задаче сказано именно про ДВЕ руки. а если бы рук было 5? это так же не повляло бы ни на что?
Да все вроде правильно, и так и так получается 8/11 (если мы вытаскиваем каждую таблетку равновероятно).
Картиночка:



Это у нас универс, т.е. P1+P2+P3+P4 = 1
Пусть А — событие, когда мы берем из правой руки, а B — когда достаем красную.
Тогда по определению P(A/B) = P3 / (P1+P3)

А теперь пропустим это все через формулу байеса:
P(B/A) = P3 / (P3+P4)
P(A) = P3+P4
P(B) = P1+P3
P(B/A) P(A) / P(B) = P3 / (P1+P3)
Расшифруйте, пожалуйста, почему «по определению P(A/B) = P3 / (P1+P3)»?
Легко объяснить чисто геометрически, по картиночке выше.

Полная площадь прямоугольника — I = P1+P2+P3+P4 = 1 — это пространство всех возможных событий. Это *первоначальное условие*, относительно которого будет рассчитываться вероятность первого выбора.

Первый выбор у нас — это выбор либо строки (только цвета), либо столбца (только руки), и его вероятность — это отношение площади столбца или строки к площади всего прямоугольника.

Событие А «выбран красный цвет» — это отношение площадей левого столбца и всего прямоугольника: P(A) = (P1 + P3) / I = P1 + P3.
Событие B «выбрана правая рука» — это отношение площадей нижней строки и всего прямоугольника: P(B) = (P3 + P4) / I = P3 + P4.

Каждый последующий выбор — это дальнейшее *сужение нашего предыдущего выбора* (разрезание уже выбранной площади на ячейки), и его вероятность равна отношению площади новой ячейки к площади предыдущей. Это и есть «условная вероятность». Кстати, вероятности для самого первого выбора тоже можно записать как условные: P(A/I) или P(B/I), т.е. «выбрали столбец (строку) после того как выбрали весь прямоугольник I», но так как площадь прямоугольника P(I) равна единице, то формула условной вероятности вырождается в «обычную» долю.

Итак, после того, как первый выбор сделан, можно на его основе сделать второй. Событие A/B означает «выбрали красный цвет A после того, как выбрали правую руку B», т.е. вначале выбрали строку «right», а потом из неё выбрали ячейку «3». Вероятность P(A/B) этого будет отношением ячейки «3» к площади строки B: P(A/B) = P3 / P(B) = P3 / (P3 + P4)

Аналогично для события B/A «выбрали правую руку B после того, как выбрали красный цвет A» (условие задачи поста). Вероятность будет отношением площади ячейки «3» к площади столбца A: P(B/A) = P3 / P(A) = P3 / (P1 + P3).

Вот и вся премудрость.
Спасибо, за подробное описание.
Только я очень хорошо разобрался и знаю не только байесовскую теорию, но и её «физический» смысл.
Чтобы не заподозрили в хвастовстве — смысл в перевзвешивании вероятностей (апостериори) после получения дополнительной информации к априорным предположениям.
Целью моего вопроса был уточнить правильный ли смысл вкладывает автор сообщения с картиночкой в объяснение (не уесть).
Убедился — правильный :)
Но всё равно ещё раз спасибо, и от меня, и от тех, кто не понимал, но смог понять после этого описания.

Что касается задачи, я целиком и полностью разделяю мнение о её неправильной (неполной) постановке.
И решаю всегда с двухфазным процессом выбора — сначала рука, потом таблетка в руке.
Здесь просто из-за равновероятности размывается тонкость, которая возникает, если вероятности выбора руки не равны (допустим, Морфеус стоит криво или вообще руки разной длины).
В целом, конечно, задача для заворота мозгов начинающих разбираться с теорией Байеса.
Мне кажется, что вся проблема этой задачи в том, что в ней не указан алгоритм выбора таблетки. И в зависимости от того, какой алгоритм мы додумываем, получаются разные ответы.
Формулировка задачи допускает 2 толкования:
— Морфеус предлагает сначала выбрать руку, затем таблетку из нее
— Морфеус сводит руки вместе, таблетка выбирается из 2 рук сразу, но некоторым образом можно узнать, в какой руке была эта таблетка.
Аналогия автора с фруктами правильная, она относится ко второму варианту. Еще можно по-другому: представим, что в правой руке таблетки более темные. Какая вероятность вытащить темно-красную таблетку из всей кучи?
Теорема Байеса применяется в первом варианте.

Набросал на PHP оба варианта, различие в 3 строчках. Первый выдает 67%, второй 72%.
1 вариант
function test1()
{
    define('LEFT',  0);
    define('RIGHT', 1);
    
    define('BLUE', '0000FF');
    define('RED',  'FF0000');
    
    $hands = [];
    $hands[LEFT] = [];
    $hands[RIGHT] = [];
    
    $config = [
        LEFT  => [BLUE => 7, RED => 3],
        RIGHT => [BLUE => 5, RED => 8],
    ];
    
    foreach ($config as $hand => $handConfig) {
        foreach ($handConfig as $color => $tabletCount) {
            for ($i = 0; $i < $tabletCount; $i++) {
                $hands[$hand][] = ['color' => $color, 'hand' => $hand];
            }
        }
    }
    
    
    $totalCount = 100000;
    $redTabletCount = 0;
    $rightHandCount = 0;
    for ($i = 0; $i < $totalCount; $i++) {
        $hand = mt_rand(LEFT, RIGHT);
        $tablets = $hands[$hand];
        
        $tablet = $tablets[mt_rand(0, count($tablets) - 1)];
        if ($tablet['color'] == RED) {
            $redTabletCount++;
            
            if ($hand == RIGHT) {
                $rightHandCount++;
            }
        }
    }
    
    echo $rightHandCount.' / '.$redTabletCount.' = '.($rightHandCount * 100 / $redTabletCount).'%';
}


2 вариант
function test2()
{
    define('LEFT',  0);
    define('RIGHT', 1);
    
    define('BLUE', '0000FF');
    define('RED',  'FF0000');
    
    $hands = [];
    $hands[LEFT] = [];
    $hands[RIGHT] = [];
    
    $config = [
        LEFT  => [BLUE => 7, RED => 3],
        RIGHT => [BLUE => 5, RED => 8],
    ];
    
    foreach ($config as $hand => $handConfig) {
        foreach ($handConfig as $color => $tabletCount) {
            for ($i = 0; $i < $tabletCount; $i++) {
                $hands[$hand][] = ['color' => $color, 'hand' => $hand];
            }
        }
    }
    
    
    $totalCount = 100000;
    $redTabletCount = 0;
    $rightHandCount = 0;
    for ($i = 0; $i < $totalCount; $i++) {
        //$hand = mt_rand(LEFT, RIGHT);                         // changed
        $tablets = array_merge($hands[LEFT], $hands[RIGHT]);    // changed
        
        $tablet = $tablets[mt_rand(0, count($tablets) - 1)];
        if ($tablet['color'] == RED) {
            $redTabletCount++;
            
            if ($tablet['hand'] == RIGHT) {                     // changed
                $rightHandCount++;
            }
        }
    }
    
    echo $rightHandCount.' / '.$redTabletCount.' = '.($rightHandCount * 100 / $redTabletCount).'%';
}

Вот меня как раз и смущает вариант «сначала выбрать руку». Ничего такого в задаче вроде как не говорится. Ты закрываешь глаза и случайным образом тыкаешь пальцами вниз пока не наткнешься на таблетку. А была там рука, и какая, это второстепенное. Блин… Филолога поискать что ли… Пусть объяснит как понимать фразу: «Вы закрываете глаза и берете таблетку».
Есть задачи с неполным условием. Самый известный пример такого типа задач — «Обезьяна и груз» Кэрролла. Такие задачи вызывают продолжительные диспуты.
Через блок переброшена верёвка, на одном её конце конце висит груз, за другой конец держится обезьяна. Вес обезьяны равен весу груза. Как будет двигаться груз, если обезьяна полезет наверх?
Где тут не полные условия?
А в случае когда 0 синих и много красных ответ тоже правильный?
Реализация на R для обоих случаев. Отличия только в векторе вероятностей для сэмплирования.

set.seed(123) # to reproduce results with RNG
sample.size<-1000000

pills.1<-sample(c("blue_left", "red_left", "blue_rigth", "red_right"), sample.size, TRUE, c(7/23, 3/23, 5/23, 8/23))
1/(1+sum(pills.1=="red_left")/sum(pills.1=="red_right"))

pills.2<-sample(c("blue_left", "red_left", "blue_rigth", "red_right"), sample.size, TRUE, c(7/20, 3/20, 5/26, 8/26))
1/(1+sum(pills.2=="red_left")/sum(pills.2=="red_right"))


Странные у вас значения в знаменателе во втором варианте.
А почему вероятность красной таблетки в правой руке 8/11, если там 5 синих и 8 красных?
Мне кажется, что всё-таки 8/(5+8) = 8/13
В задаче сказано: Какова вероятность, что вы взяли ее из правой руки? А Ваше решение отвечает на вопрос: Вы взяли из правой руки. Какова вероятность того, что это красная таблетка?
Если перефразировать задачу на манер второго примера из вики то она будет звучать так:
Первый рабочий сделал 10 деталей, 3 из них бракованы. Второй — 13 деталей, из которых 8 бракованы. Начальник цеха берёт случайную деталь, и она оказывается бракованной. Спрашивается, с какой вероятностью эту деталь изготовил второй рабочий?
То есть совершенно не важно сколько синих таблеток и где они расположены.
Начальник цеха берёт случайного рабочего, проверяет у него случайную деталь, и она оказывается бракованной. С какой вероятностью ему попался Вася?
Похоже нужно уточнение. После того как рабочий изготовил деталь он кладёт её на общий конвейер. Начальник проверяет детали, только после того как все они изготовлены и лежат в одном месте. Никакого рабочего выбирать не нужно. Впрочем если у Вас была задача довести мой пример до абсурда, то можете попробовать еще раз.
Это была переформулировка для другого прочтения исходной задачи — когда сначала выбирается рука, а потом таблетка. Которое, как было отмечено, действительно требует использования теоремы Байеса.
Автор задачи запутал людей введя ненужные условия в виде синих таблеток, так как задачи обычно подразумевают что в решении нужно использовать все числовые параметры.
Тут к этой формулировке я бы добавил условие.
«Вася ходит курить раз в час на 15 минут, Федя раз в два часа на 10 минут, Коля раз в полчаса на 3 минуты, Серёжа не курит. Начальник цеха заходит в цех, находит рабочего, который находится там и проверяет у него случайную деталь.»
Так лучше :)
При этом про каждого известно, сколько у него исправных и бракованных деталей :) Хорошая задача.
Это получается стандартная байесовская задача про поиск наиболее правдоподобного распределения по экспериментальным данным.
Тот же самый кредитный скоринг — вероятности мошенника и честного человека всё-таки сильно различаются.
И спам-фильтра и т.д. :)
И вот в вышеприведенной задаче как раз сбивает равновероятность рук.
Оттуда и растут версии про «неважность» первоначального выбора руки.

Пришла в голову аналогия.
Это всё равно как доказывать теоремы о треугольниках только на равносторонних треугольниках.
Если таблетку взяли из правой руки, то вероятность того, что она красная 8/13. А если взяли красную таблетку, то вероятность того, что она из правой руки 8/11. Потому что 3 красных в левой руке и 8 в правой, а 8/(8+3) = 8/11.
«Вероятность того, что выбирая таблетку я возьму ее из левой руки — 43.48% (10 из 23). Из правой — 56.52% (100% — 43.48%).»
Почему это вероятность выбора руки пропорциональна числу таблеток в ней?

Складывать таблетки в руках и получать «общую» вероятность мне кажется некорректным.
Я бы получил ответ как (8/13)/((8/13)+(3/10))
В общем виде это можно доказать с помощью того же Байеса.
Пусть в левой руке x синих и w красных, а в правой — y синих и z красных.
Тогда:
p(right) = (y+z)/(x+y+w+z)
p(red)=(w+z)/(x+y+w+z)
p(red|right)=z/(y+z)
И в итоге P(right|red)=P(red|right)*P(right)/P(red) = z/(y+z) * (y+z)/(x+y+w+z) * (x+y+w+z)/(w+z) = z/(w+z)
То есть как раз доля красных в правой руке из общего количества красных.
Преимущество такого подхода в том, что при пространных размышнениях о вероятности, наподобие «факт того, что у нас в руке уже лежит красная таблетка, просто отбрасывает все случаи, когда мы выбирали синюю», легко упустить что-то из виду, о чем нам и говорит множество статей о неинтуитивности теории вероятностей (да, тут у автора все сошлось, но он и рассуждал уже имея результат, а не наоборот).
А так все строго, по учебнику :)
В смысле, уже имея результат? Результата у меня не было.
Это мой стандартный подход к решению любых вероятностных задач. Просто он не научен, и занимает больше времени, чем использование готовых формул.
Я имел в виду, что сначала вы решили с помощью формул и проверили решение симуляцией, а уже потом
Получив ответ, я заметил, что он один в один совпадает...

и стали искать объяснение.
Э, момент. Это не означает, что я что-то делал не правильно, или тот факт, что получилось правильно случайность. К сожалению это таки да означат, что я дурак, и сделал кучу лишних действий, вместо того, что бы подумать изначально.
Я этого и не утверждаю. Как раз наоборот, я думаю, что изначально взять за предпосылку то, что задача проще, чем кажется и отбросить часть условия было бы не очень хорошей идеей. Оно да, кажется интуитивно правильным, и в данном конкретном случае таким и оказалось. Но, как я уже писал, популярный статьи о теории вероятностей полны примеров того, как интуиция подводит.
Как уже было неоднократно замечено, процесс выбора руки имеет очень важное значение. Ещё раз взглянем на формулу Байеса

image

Здесь P(Right) и P(Left) = 1 — P(Right) — априорная вероятность руки. Именно она определяет процесс выбора руки и, вообще говоря, в данном случае является свободным параметром. Её можно положить равной разным значениям, например:

  • 0 — Мы знаем, что Морфиус стоит прямо перед нами, поэтому хлопаем его по плечу правой рукой, а потом спускаемся до ладони. С вероятностью 1 мы возьмём таблетку из левой руки.
  • 1/2 — Мы сначала бросаем (честную) монетку для определения, какая рука нам больше нравится, а потом берём оттуда пилюлю.
  • 13/23 (доля таблеток в правой руке) — Морфеус сводит руки вместе, так что они превращаются в одну, а мы выбираем таблетку с полученной «плоскости»
  • p ∊ [0, 1] — вариант с монеткой, где вероятность выпадения одной из сторон равна p.
вся суть формулы байеса в том, что мы можем определить вероятность события (а) при событии (б). когда мы убираем этап выбора руки, мы убираем первое событие, что сводит расчет вероятности к вычислению доли. при наличии двух событий (выбор руки и выбор пилюли) имеют место быть 2 события.
хотя в этом случае на самом деле не важно сколько в руках таблеток и какого цвета.
В левой руке было 2 красных и 12345 других цветов, в правой было 5 красных и 54321 других. вытащили красную, вероятность что из левой 2/7, из правой 5/7. всё.
но я думаю тут не надо путать вероятность определения руки с вероятностью определения цвета таблетки.
Ваш ответ верен только для случая, когда вероятность выбора руки пропорциональна количеству таблеток в ней.
Банальный пример: если вероятность выбрать правую руку P(Right) = 1, то и P(Right|red) будет 1 вне зависимости от каких-либо таблеток (правда, в правой руке всё же должны быть красный таблетки).

Для других значений P(Right) будут промежуточные варианты, которые зависят от количества синих таблеток, в том числе (Кроме описанного случая, где вся зависимость «уходит» в априорную вероятность).
Подобные задачки решаются в девятом классе, и решение обычно представляется так:

Имеется пространство вариантов – 3+8=11 красных таблеток.
Имеется пространство интересующих событий – 8 таблеток.
Делим второе на первое и получаем ответ.

Данная модель, которой мы пользуемся, не несёт каких-то дополнительных свойств касательно неравной вероятности выбора таблеток разного цвета или рук, а значит, это и есть решение поставленной задачи.

Формула Байеса в данной задаче – использование материала первых курсов для решения задач девятого класса.

Вы тоже неявно полагаете, что выбор любой из 11 таблеток это и есть элементароное событие (у которых по определению равные вероятности). Но об этом в условии не говорится.
В ходе обсуждения задачи часто возникает тенденция принять за должное, что вероятность получения таблетки из правой и левой руки 50/50. На самом деле в самой задаче этого нигде не сказано. Мы интуитивно ожидаем такого подхода к методу выбора таблетки из руки. На практике же про то, как была выбрана таблетка ничего не сказано. Значит и придумывать отсебятину не стоит.
В таком случае вероятность взять таблетку из правой руки такая же как вероятность встретить на улице динозавтра — 50% :-)
А если серьёзно, то с чего вы взяли, что у вас вообще была возможность взять таблетку из левой руки? Без подробностей о том как вы получили таблетку никакие вероятности считать нельзя.
Sign up to leave a comment.

Articles