АТ>Ну, ну, ну... Стоп. А какова, простите, вероятность встретить динозавра на улице? Согласго ходу выших рассуждений — 1/2, ибо исходов всего два: либо встретишь, либо не встретишь.
Кстати совершенно верно — 1/2
В условие задачи не упоминается что диназавры вымерли и фактически не появлятся на улицах,
поэтому абстрактно, динозавр может быть на улице либо не наулице(в зоопарке, дома или под улицей; не важно)
Здравствуйте, Андрей Тарасевич, Вы писали:
АТ>Здравствуйте, rus blood, Вы писали:
RB>>Так что меняй дверь — не меняй, все равно. RB>>Была вероятность 1/3, стала 1/2 при условии, что машины за дверью не оказалось. Вот и все.
RB>>...
RB>>И просил бы прекратить всякие догадки и измышления.
АТ> Я лично никоим образом не считаю такие упражения бессмысленными и, более того, сам ими занимаюсь. Но при этом не надо забывать о главном критерии правильности полученного решения: ответ задачи при смене выбора = 2/3, без смены = 1/3.
Позвольте не согласится.
Что есть смена выбора, когда вы стоите перед двумя дверьми? Вы говорите что если выбрать дверь отличную от той которую вы выбрали в начале, то вероятность угадать будет 2/3.
И так перед нами две двери, перед нами будет всегда 2 одинаковые двери, какую бы мы не выбрали в начале и какую бы ни открыл ведущий.
Мы выбираем одну дверь из двух(отличную от начальной). Допустим вероятность будет 2/3.
Но если мы выбираем ту же самую дверь то это тоже выбор, равноценный по вероятности выбор, и по идее вероятность тоже 2/3.
Тоесть получется 2/3 и 2/3 в обоих случаях, что есть пополам или 1/2.
Здравствуйте, DmitryDV, Вы писали:
АТ>>Ну, ну, ну... Стоп. А какова, простите, вероятность встретить динозавра на улице? Согласго ходу выших рассуждений — 1/2, ибо исходов всего два: либо встретишь, либо не встретишь.
DDV>Кстати совершенно верно — 1/2 DDV>В условие задачи не упоминается что диназавры вымерли и фактически не появлятся на улицах, DDV>поэтому абстрактно, динозавр может быть на улице либо не наулице(в зоопарке, дома или под улицей; не важно)
А при чём тут вероятность? Ведь в условии не говорится и то, что эти два исхода равновероятны
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, DmitryDV, Вы писали:
АТ>> Я лично никоим образом не считаю такие упражения бессмысленными и, более того, сам ими занимаюсь. Но при этом не надо забывать о главном критерии правильности полученного решения: ответ задачи при смене выбора = 2/3, без смены = 1/3.
DDV>Позвольте не согласится.
DDV>Что есть смена выбора, когда вы стоите перед двумя дверьми? Вы говорите что если выбрать дверь отличную от той которую вы выбрали в начале, то вероятность угадать будет 2/3. DDV>И так перед нами две двери, перед нами будет всегда 2 одинаковые двери, какую бы мы не выбрали в начале и какую бы ни открыл ведущий. DDV>Мы выбираем одну дверь из двух(отличную от начальной). Допустим вероятность будет 2/3. DDV>Но если мы выбираем ту же самую дверь то это тоже выбор, равноценный по вероятности выбор, и по идее вероятность тоже 2/3. DDV>Тоесть получется 2/3 и 2/3 в обоих случаях, что есть пополам или 1/2.
Блин вскочил среди ночи, и написал полную ерунду
Когда лег спать, после этого меня осенило, что уважаемый Андрей Тарасевич был прав, лень уже было встать и написать что ошибся
Вот только добрался до Януса, извиняюсь
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: ТВ: задача Монти Холла
От:
Аноним
Дата:
21.12.06 14:05
Оценка:
Здравствуйте, Andy77, Вы писали:
A>Монти Холл — ведущий пеpедачи "Let's make a deal"
A>Вы — участник пеpедачи "Давайте заключим сделку". Монти Холл показывает вам тpи закpытых двеpи. Он говоpит, что за двумя двеpьми ничего нет, а за тpетьей двеpью находится машина. Вы выбиpаете двеpь, но, пеpед тем как откpыть ее, Монти откpывает одну из оставшихся двеpей (он всегда выбирает пустую, т.к. знает, где машина) и показывает, что за ней ничего нет. Затем он пpедлагает вам изменить свой выбоp на оставшуюся двеpь. Дает ли это вам пpеимущества?
Это лишь только понижает Ваши шансы с 1/3, до 1/6, т.к. выбор приходится делать дважды. То что шансы увеличиваются это лишь иллюзия.
Здравствуйте, Andy77, Вы писали:
A> Дает ли это вам пpеимущества?
После такого длинного топика только один вопрос:"Правильно ли я понимаю слово "преимущество"?
Риторический.
Здравствуйте, Аноним, Вы писали:
A>>Вы — участник пеpедачи "Давайте заключим сделку". Монти Холл показывает вам тpи закpытых двеpи. Он говоpит, что за двумя двеpьми ничего нет, а за тpетьей двеpью находится машина. Вы выбиpаете двеpь, но, пеpед тем как откpыть ее, Монти откpывает одну из оставшихся двеpей (он всегда выбирает пустую, т.к. знает, где машина) и показывает, что за ней ничего нет. Затем он пpедлагает вам изменить свой выбоp на оставшуюся двеpь. Дает ли это вам пpеимущества?
А>Это лишь только понижает Ваши шансы с 1/3, до 1/6, т.к. выбор приходится делать дважды. То что шансы увеличиваются это лишь иллюзия.
Задача подрорбно рассмотрена в дискуссии выше, где также детально объяснено, почему вероятность вырастает до 2/3. И никаких иллюзий.
Здравствуйте, Андрей Тарасевич, Вы писали:
АТ>Задача подрорбно рассмотрена в дискуссии выше, где также детально объяснено, почему вероятность вырастает до 2/3. И никаких иллюзий.
ничего, что задачка уже давнишняя, а я только-только?
ну так вот
во-первых, как ни крути перед чуваком остаются две двери, т.е. вероятность победы в любом случае не может быть больше 1/2 (никак не 2/3)
во-вторых, код набросал, брутальный
using System;
using System.Collections;
using System.Collections.Generic;
public class Test
{
public static int N = 3;
// выбираем любую из закрытых дверей ("не меньше" beg, вариант "меньше" мы уже проверили)
// ход игрока
// мы можем выбрать дверь, которую выбирали раньше (для N>3) актуальноstatic int makeChoice( bool[] ab, List<int> excluded, int beg )
{
while ((beg < ab.Length) && (excluded.IndexOf( beg ) != -1))
++beg;
return (beg < ab.Length) ? beg : -1;
}
// ищет одну из "незанятых" пустых дверей ("не меньше" beg, вариант "меньше" мы уже проверили)
// ход ведущегоstatic int findEmpty( bool[] ab, List<int> excluded, int beg)
{
--beg;
do {
beg = Array.IndexOf( ab, false, beg+1 );
} while ((beg != -1) && (excluded.IndexOf( beg) != -1));
return beg;
}
// машину "вставляем" в следующую дверьstatic bool permutation( bool[] ba)
{
int setted = Array.IndexOf( ba, true);
if ((setted < 0) || ((setted+1) == ba.Length)) // not exists OR lastreturn false;
ba[ setted] = false;
ba[ setted+1] = true;
return true;
}
// static int iter( bool[] ab, List<int> ex, bool change, ref int all)
{
int wins = 0;
int choice = makeChoice( ab, ex, 0);
while (choice >= 0)
{
if (!change)
{
// мы уперлись, и не хотим выбирать другие двери (а зря)
wins += ab[ choice] ? 1 : 0;
++all;
choice = makeChoice( ab, ex, choice+1 );
continue;
}
// мы будем выбирать из оставшихся закрытых дверей (когда ведущий откроет новую пустую) (правильно)
ex.Add( choice); // исключаем дверь, выбранную игроком из возможного выбора ведущегоint open = findEmpty( ab, ex, 0);
while (open >= 0)
{
ex.Add( open);
if (ab.Length > (ex.Count + 1))
{
ex.Remove( choice ); // чтобы можно было выбрать эту же дверь (т.е. на данном шаге мы можем не менять наш выбор)
wins += iter( ab, ex, change, ref all );
ex.Add( choice ); // чтобы выбор ведущего не совпадал с нашим текущим
}
else// осталось 2 двери на выбор
{
int other = makeChoice( ab, ex, 0 );
if (other < 0)
throw new Exception( "something wrong" );
wins += ab[ other ] ? 1 : 0;
++all;
}
ex.Remove( open);
open = findEmpty( ab, ex, open+1 );
}
ex.Remove( choice);
choice = makeChoice( ab, ex, choice+1); // след.выбор
}
return wins;
}
// вычисляем по 2 стратегиям: меняем наш выбор и не меняем
// all - количество перебранных вариантов всегоstatic int calc( bool change, ref int all)
{
bool[] garage = new bool[N];
garage[0] = true;
List<int> ex = new List<int>();
int res = 0;
do {
res += iter( garage, ex, change, ref all);
} while( permutation( garage));
return res;
}
public static void Main( string[] argv)
{
try
{
if (argv.Length != 0)
N = Int32.Parse( argv[0]);
int all = 0;
Console.WriteLine( "not change = {0}/{1}", calc( false, ref all ), all );
all = 0;
Console.WriteLine( "change = {0}/{1}", calc( true, ref all ), all );
}
catch (Exception e)
{
Console.WriteLine( e );
}
}
}
который выдает (если параметра не задавать — считается для 3)
..\bin\Debug>cons.exe
not change = 3/9
change = 6/12
..\bin\Debug>cons.exe 4
not change = 4/16
change = 72/144
..\bin\Debug>cons.exe 5
not change = 5/25
change = 1440/2880
..\bin\Debug>cons.exe 6
not change = 6/36
change = 43200/86400
..\bin\Debug>cons.exe 7
not change = 7/49
change = 1814400/3628800
т.е. в случае, если мы упираемся и не хотим менять двери, то вероятность выигрыша 1/N (даже и считать не надо)
а в случае если все же выбираем двери из оставшихся, то приходим к последнему случаю, где нам надо выбрать одну из двух дверей
если код все же глючный, то в любом случае вероятность выигрыша не больше 1/2
Очень много поскипано...
Z>, где нам надо выбрать одну из двух дверей Z>если код все же глючный, то в любом случае вероятность выигрыша не больше 1/2
Или вам платят очень много, или очень мало...
P.S. Выбор происходит 1 раз (последний) и выбирается между 1 и 2 дверми ...
Не верите? Распишите на листочке все варианты (9, если менять и 9, если не менять).
Здравствуйте, zelyony, Вы писали:
Z>во-первых, как ни крути перед чуваком остаются две двери, т.е. вероятность победы в любом случае не может быть больше 1/2 (никак не 2/3)
Это, как уже говорилось, неверно. Это логика блондинки из анекдота: верятность встретить динозавра на улице равна 1/2 — либо встречу, либо не встречу.
Из того факта, что выбор делается из двух дверей никаким образом не следует, что вероятность победы не может превышать 1/2. 1/2 бы мы получили, если бы второй выбор из двух дверей делался бы случайно, т.е. если бы двери были равнозначны. А в данном случае, после выбора ведущего, двери больше не равнозначны. В этом, собственнно, и состоит вся соль ситуации, просто для случая N=3 она не так очевидна, как, например, для случая N=1000 (см.ниже)
Z>[код пропущен]
В очередной раз напоминаю, что ред идет не о численном решении данной задачи. Численно она уже правильно решена много раз, в том числе классиками математики (задача известна с незапамятных времен) и ответ — вероятность выигрыша равна 2/3 при смене выбора. Речь идет о нахождении интуитивно понятного объяснения верятностного "механизма", который дает такое повышение вероятности.
Твоя программа не дает ответа 2/3 для стратегии со сменой выбора? Ищи ошибки в программе — это все, что можно тут сказать.
Z>т.е. в случае, если мы упираемся и не хотим менять двери, то вероятность выигрыша 1/N (даже и считать не надо) Z>а в случае если все же выбираем двери из оставшихся, то приходим к последнему случаю, где нам надо выбрать одну из двух дверей Z>если код все же глючный, то в любом случае вероятность выигрыша не больше 1/2
Опять ерунда написана. Обобщение этой задачи на число дверей N выглядит так: сначала игрок выбирает одну дверь из N, затем ведущий открывает N-2 пустых дверей (выбранную игроком дверь ему открывать нельзя), затем игрок имеет возможность поменять свой выбор. В случае N=1000 вероятность выигрыша без смены двери равна, очевидно 1/1000, т.е. выиграть "почти невозможно". А вот в стратегии со сменой двери (после того, как ведущий открыл 998 пустых дверей) вероятность выигрыша равна 999/1000, т.е. выигрыш "почти гарантирован". Для случая высоких N тот "механизм", который приводит к повышению вероятности выигрыша — очевиден. Т.е. очевидно именно то, как своим выбором ведущий вынужденно сообщает игроку дополнительную информацию о расположении приза. Именно эта дополнительная информация и делает оставшиеся неоткрытыми две двери неравнозначными (и именно из-за не о 1/2 не может быть и речи). Если ты не в состоянии увидеть, почему в случае N=1000 стратегия со сменой двери приводит к выигрышу в 999 случаев из 1000, то я уж и не знаю, что тут еще можно сделать...
> Если ты не в состоянии увидеть, почему в случае N=1000 стратегия со сменой двери приводит к выигрышу в 999 случаев из 1000, то я уж и не знаю, что тут еще можно сделать...
никак не вижу
открыли 998 дверей, в них тачки нет, осталось 2 двери: в одной — тачка, в другой — пусто.
от дверей, что уже открылись нет никакой больше подсказки кроме как уменьшения количества пустых дверей, все, они свою роль сыграли.
я стою перед 2 дверьми: слева и справа. КАК мой выигрыш определяется 998 уже открытыми пустыми дверьми? если я сейчас выберу правую, то я выиграю 999/1000 и если выберу левую — столько же.. хмм.. хорошее спортлото!
все таки здесь я за блондинку: либо я сейчас выиграю тачку, либо выиграю пустоту
не подскажешь, в инете по каким словам искать задачку? хоть инглиш, хоть рус.. что-то сейчас не соображу
подумал, что надо сэмулировать ситуацию, когда я переключаюсь только в последнем выборе, а до этого держу свой первый выбор
(либо я выбираю каждый раз еще невыбиравшуюся мною дверь — то же самое)
P — игрок (и ПЛЮС его первый выбор, второй его выбор определяется как "не первый и не выбор ведущего")
C — ведущий (ПЛЮС выбор ведущего, он выбирает всегда пустую дверь)
W — выиграл ли игрок (исходя из оставшегося выбора)
т.е. вероятность выигрыша (N-2)/(N-1) (для N=3. вовсе необязательно чтобы эта формула была правильной, но чтобы было похоже на (N-1)/N).
если практически нельзя в случае N=3 добится 2/3, то что эта цифра означает теоретически? кот бежит со скоростью света?
дальше
если ссылаться на бОльшее количество дверей, то ведущий тоже может применять какую-либо стратегию для минимизации выигрыша игрока (выбирать пустую дверь, еще не выбранную игроком (актуально для непервого хода и если игрок выбирал пустые двери).. выбирать пустую дверь уже когда выбранную игроком (при этом первый раз и, возможно, другой раз, когда из выбранных игроком остается только с тачкой, ведущему придется выбрать еще не выбранную дверь)... и т.д.)
потому давай ссылаться на 1000 дверей пока не будем (а что в случае четного и нечетного количества дверей?)
вот вариант на 2/3
отбросив один из двух вариантов, когда ведущий выбирает одну из двух пустых дверей
получим 2/3 но почему мы должны этот вариант отбрасывать? он ведь может быть частью злостной стратегии ведущего, и в реале он есть
PS
а прога позволяла выбирать игроку на следующем ходу ту же дверь что и на предыдущем (т.е. дверь не меняем на данном ходу)
PPS
если всегда выбирать из еще невыбранных, и если ведущий станет открывать двери из невыбранных(игрок эту дверь еще не выбирал), так ведущий увеличивает или уменьшает или не меняет вероятность выигрыша игроком? а если ведущий будет открывать пустые двери за игроком, вероятность тоже не меняется?,
итак, игроку придется на последних ходах все равно выбирать одну из уже когда-то им выбранных дверей
вероятность выигрыша уменьшается или увеличивается или не меняется?
если у игрока есть выигрышная стратегия, то есть ли стратегия(минимизирующая выигрыш игрока) у ведущего? (в случае N>3)
Здравствуйте, zelyony, Вы писали:
Z>... ведущий тоже может применять какую-либо стратегию для минимизации выигрыша игрока ...
Похоже, что есть небольшое непонимание условий задачи.
У ведущего нет никакой стратегии — он открывает все оставшиеся двери,
за исключением одной. Если среди дверей ведущего есть дверь с машиной, то он не открывает ее,
если все пустые, то не открывает любую. Здесь нет места для стратегии.