Решение распространенной (на первый взгляд) статистической задачи
Я шел из паба со своей командой, и у меня был жаркий спор о самых разных вещах, во время которого один парень задал вопрос, который, по-видимому, является обычной статистической проблемой:
«Здесь 50 дверей, а за одной только сокровище. Вы можете выбрать любую дверь; Остальные 48 дверей я уберу без сокровища. Итак, у вас останется ваша дверь и еще одна, вы знаете, одна из них должна спрятать сокровище. Теперь вы можете изменить свой выбор. Не могли бы вы изменить его?»
Недолго думая, я сказал, что не буду. Однако мне сообщили, что правильно будет изменить первоначальный выбор, так как это даст мне гораздо больше шансов получить сокровище.
Мои мысли об этом в данный момент
В то время как мой первоначальный выбор имеет только 2%-й шанс, второй выбор, независимо от того, изменю я его или нет, дает 50%-й шанс сделать его правильным. Логика, которой я следовал, похожа на подбрасывание монеты — шанс выпадения «орла» всегда составляет 50%, независимо от того, каким был предыдущий подбрасывание, но этот пример не так похож, как я думал. Каждый бросок монеты — это несвязанное событие. Это не продолжение предыдущего, и я ошибочно предположил, что здесь то же самое.
Я слишком долго не думал обо всей этой проблеме и вскоре забыл о ней… но наступили выходные, и она вернулась ко мне бумерангом.
Поговорим о бумеранге
Пока я пишу эти слова, я еще не знаю ответа, и не хочу искать его в интернете — я хочу узнать его сам.
Почему я теперь думаю, что мой ответ неверен?
За исключением того, что мне сказали, что это неправильно :)
Хотя верно то, что первый выбор составляет 2%, а второй — 50%, это действительно только в том случае, если я действительно изменю свой первоначальный выбор во время второй возможности. Если я оставлю свой первоначальный выбор, ничто не сделает его лучше, чем всего лишь 2%. Второе изменение создает у меня впечатление, что эти два события не связаны друг с другом, и у меня действительно есть 50%, даже если я придерживаюсь исходной двери.
Примечание. Я только что прочитал то, что написал до сих пор, и я почти уверен, что это будет 2% против 50%, и внесение изменений — это правильно.
Я обратился к некоторому коду JavaScript, чтобы помочь мне.
Решение проблемы с помощью кода
Я написал простую функцию, которая будет выполняться 100 000 раз. Один запуск без изменения ответа, а другой с другим выбором двери меняется при второй возможности. У первого должно быть около 2% успеха, а у второго около 50%. Конечно, поскольку эти прогоны генерируют случайные числа, результат не будет идеальным, но с таким количеством итераций он будет чертовски близок.
Я сделал код простым, без каких-либо ярлыков, чтобы было легко следовать ему. Вы можете запустить его в браузере и настроить SHOULD_SWAP на true, если хотите изменить ответ при второй возможности. Вы можете поиграть с другими переменными, такими как количество проходов или количество дверей, чтобы увидеть, к каким результатам это приведет.
const RUNS = 100000; const DOORS = 50; const SHOULD_SWAP = false; let allDoors = []; let myChoice = null; let otherDoors = null; let result = []; let accuracy = null; function chooseDoors() { // generate 50 doors, and make one treasure (true) allDoors = Array(50).fill(false); allDoors[Math.floor(Math.random() * DOORS)] = true; // choose one door and eliminate remaining except 1 let selectedDoorsIndex = Math.floor(Math.random() * DOORS); myChoice = allDoors[selectedDoorsIndex].toString(); // I don't have to chop the array, it's easy to figure out what the "otherDoors" will be if (myChoice === 'false') { otherDoors = 'true' } else { otherDoors = 'false' } // swap the answer at second chance? if (SHOULD_SWAP) { myChoice = otherDoors; } result.push(myChoice); } // run X times for (let i = 0; i < RUNS; i++) { chooseDoors(); } // calculate the final % let trues = 0; for (let item in result) { if (result[item] === 'true') { trues++; } } accuracy = trues / RUNS * 100; console.log(accuracy.toString() + '%');
Вывод (не то, что я думал!)
Я спросил нескольких человек об ответе, и большинство ответило: 2 %, если я не изменю свой ответ, и 50 %, если изменю. Несколькими абзацами ранее я тоже это говорил!
Очень интересно узнать, что это 2% и 98%!
ЭТО СМЫСЛО… СЕЙЧАС! Конечно, это будет 98! 😂
Проявив немного любопытства и написав несколько строк кода, я обнаружил кое-что новое о числах. Самый важный урок на будущее заключается в том, что вещи не всегда такие, какими кажутся, и как бы я ни был уверен в себе, я могу просто ошибаться. Это напоминание о том, что передумать — тоже неплохая идея.
Это напоминает мне исследования об изменении нашего мнения и о том, как часто люди остаются при своем первоначальном выборе, полагая, что он должен быть лучшим. Страх сожаления настолько силен, что влияет на наше логическое мышление. Будем честны; эмоции контролируют нас чаще, чем мы хотим верить. Мы боимся того, что произойдет, если мы передумаем при второй возможности, но наша дверь скрывает сокровище. Классика «Я так и знала! Я знал, что должен придерживаться своей двери!» … и в 2% случаев это было бы правдой :)
Соревнование завершено. Это было весело :)