Pull to refresh
-19
0
Send message
5) Открываем ту дверь, которую не выбрал игрок и которую ещё не открывали. -> openDoor2


Зачем нам вообще эта дверь?
И почему выигрышем считается ситуация, когда приз оказался именно за этой никем не открытой и никем не выбранной дверью?

win += (openDoor2 == prize) ? 1 : 0;


Собственно, если заменить условие на
(choose2== prize)

чтобы выигрышем считалась ситуация, когда приз за той дверью, которую выбрали, то все встает на свои места и вероятности выводятся правильные.
Это для того, чтобы распределение равномерным оставалось. Если просто брать по модулю 3, то будет небольшой перекос в сторону нуля.

Например, если принять, что RAND_MAX равен 7 и rand() выдает числа, которые равномерно распределены на промежутке [0; RAND_MAX], то rand() % 5 будет давать числа 0, 1, 2, 3, 4 с вероятностями, соответственно, 2/8, 2/8, 2/8, 1/8, 1/8. Т.е. числа 0-2 будут появляться в 2 раза чаще, чем 3-4. И такая вот «нормализация» позволяет этого поведения избежать.

Хотя в рамках данной задачи, конечно же, это было совершенно не обязательно делать. Учитывая, что RAND_MAX как минимум на несколько порядков больше, чем 3 и, соответственно, эффект от такой нормализации вряд ли выйдет за рамки погрешности.
Но вот если рассматривать ситуацию как единственный выбор, как участие в игре, то шанс выигрыша становится 50 на 50, один к двум и все в том же духе, после открытия одной двери для участника (не для математики или теории вероятности).


Ну по такой логике для одного человека вероятность заболеть простудой и бубонной чумой тоже одинаковая — 50 на 50, один к двум и все в том же духе. Либо заболеешь, либо нет.
Звучит абсурдно, по моему.

Для одного человека (при условии, что он не знает, где машина), выгоднее менять свой первоначальный выбор. И вероятности будут не 50/50, а 33/66.

Интересно было бы посмотреть статистику этой игры (именно игры, а не тестов)


Можете пояснить, что вы имеете в виду под «тестами» и под «игрой», и чем они отличаются?
Вы, видимо, не совсем понимаете, что значит вероятность и как она работает.
Если достоверно известно, что машина за той дверью, которую вы выбрали изначально, то вероятность того, что вы угадали — 1, а не 1/3. А если достоверно известно, что машина не там, то вероятность — 0. Но ни один из этих случаев не имеет отношения к исходной задаче, потому что в ней игроку неизвестно, где машина.
Почему для первой двери вероятность не изменилась? Почему переходит полностью на оставшуюся?

Потому что ведущий не может открыть ту дверь, которую мы выбрали изначально. Соответственно, перераспределять вероятности, открывая двери, он может только между невыбранными дверями.

Если бы он мог открыть любую дверь без машины (в том числе и выбранную) — то да, между оставшимися двумя дверями вероятность распределялась бы поровну. Но это не так.
Вы не знаете. Знает ведущий. И открывая двери, за которыми заведомо нет машин, он этой информацией делится (частично) с вами.

Вот еще одно «интуитивное» объяснение: пусть вы выбрали дверь 1. Вероятность того, что машина за ней — 1/3. Вероятность того, что машина за дверью 2 или 3 — 2/3. После того, как ведущий открыл одну из дверей эти вероятности не изменились: для первой двери это по прежнему 1/3, а для 2 или 3 двери — 2/3. Но, благодаря информации от ведущего, вероятность для пары дверей 2-3 делится между ними не пополам (по 1/3, как это было до открытия двери ведущим), а полностью «переходит» к одной из дверей, так как за второй машины точно нет.
Выше уже писали, что достаточно поставить на винду xming и все заработает. У меня, во всяком случае, без проблем графические приложения завелись таким образом. Немного подтормаживало, конечно, по сравнению с «нативным» линуксом, но в целом вполне сносно все было.
12 ...
16

Information

Rating
Does not participate
Location
Украина
Registered
Activity