Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2009, 19:48   #41
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

О! Блин, теперь я понял. Действительно так получается.
MaTBeu вне форума Ответить с цитированием
Старый 01.03.2009, 21:20   #42
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Но вероятность того, что мы выбрали козла - 66%, а дверь со вторым козлом уже открыта. А значит вероятность нахождения машины за оставшейся - 66%.
Вероятность 66% - для 3-х дверей... А после исключения одной из них проводится уже новый опыт...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 01.03.2009, 21:28   #43
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от DomiNick
Вероятность 66% - для 3-х дверей... А после исключения одной из них проводится уже новый опыт...
Вы ошибаетесь.
Чем вас не устраивает доказательство на языке программирования? Там много раз повторяется описанная последовательность действий (выбор двери, открытие и выбор оставшейся).

Не нужно говорить, что новый выбор двери - это новый опыт. Программа не высчитывает вероятности. Она просто выполняет те же действия, что и человек. И показывает результат. 66%
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 01.03.2009, 21:40   #44
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Тут уже много разных программ сделали... Которую вы имели ввиду?
Надо бы самому тоже попробовать написать...


А к знакомому специалисту по Теории Вероятности я всё-таки схожу.....
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 01.03.2009, 21:41   #45
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Подолью масла в огонь Нам препод по теорверу как-то задал задачу:

Есть самолёт. Вероятность того, что он разобьется в результате отказа двигателя условно равна 0.001. От подрыва бомбы террористами - 0.0005. Найти вероятность катастрофы с бомбой и отказавшим двигателем одновременно.

Решения не знаю ибо забил) Теоретически вероятности надо перемножать, т.к. события независимы и приводят к одному результату - но это противоречит здравому смыслу
пыщь
JTG вне форума Ответить с цитированием
Старый 01.03.2009, 21:47   #46
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от DomiNick
Тут уже много разных программ сделали... Которую вы имели ввиду?
Ну, например, мою )
На C++ - пост #6, на паскале - пост #12.
Все шаги закомменчены.

Цитата:
Сообщение от DomiNick
Надо бы самому тоже попробовать написать...
Если будете писать, то помните, что результат работы программы будет зависеть именно от метода последнего выбора двери.

to JTG, надо будет подумать)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 02.03.2009, 02:28   #47
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

to JTG
Цитата:
Сообщение от JTG Посмотреть сообщение
Есть самолёт. Вероятность того, что он разобьется в результате отказа двигателя условно равна 0.001. От подрыва бомбы террористами - 0.0005. Найти вероятность катастрофы с бомбой и отказавшим двигателем одновременно.
Вот, что надумал. Вроде, правильно.
Вероятность отказа двигателя - P(D) = 0.001
Вероятность взрыва бомбы - P(B) = 0.0005

Т.к. D и B - события совместные, то искомая вероятность:
P(X) = P(D) + P(B) - P(D*B)

т.к. D и B - события независимые, то
P(D*B) = P(D) * P(B)

В итоге:
P(X) = P(D) + P(B) - P(D)*P(B) = 0.001 + 0.0005 - 0.001*0.0005

P(X) = 0.0014995


ps Сильно извиняюсь за оффтоп, но задачка зацепила )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 02.03.2009, 17:01   #48
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

По поводу парадокса. Сегодня понял что был не прав. Озарило меня так сказать =))) Действительно получается, что вероятность выигрыша при смене варианта увеличивается в 2 раза.
Всем спасибо за обсуждение, задача очень интересная.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 02.03.2009, 21:06   #49
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,672
По умолчанию

Я по прежнему утверждаю что в конкретной задаче нет второго испытания.

добавил блок кода, где получил вероятность около 55%

Код:
 //Я два раза добавляю ту коробку что не выбрал и 1 раз ту что выбрал
// и з них потом буду рандомно выбирать.
    if (CheckBox1.enabled=true)and(CheckBox1.visible=true) then 
memo2.Lines.Add('1');
  if (CheckBox2.enabled=true)and(CheckBox2.visible=true)  then memo2.Lines.Add('2');
   if (CheckBox3.enabled=true)and(CheckBox3.visible=true)   then memo2.Lines.Add('3');
Код:
procedure TForm1.Button3Click(Sender: TObject);
var s2,s3:integer;
begin
//в каких дверях может быть козёл, дверь которую удалит ведущий.
if (CheckBox1.enabled=true)and(CheckBox1.Checked=true)then memo1.Lines.Add('1');
if (CheckBox2.enabled=true)and(CheckBox2.Checked=true)then memo1.Lines.Add('2');
if (CheckBox3.enabled=true)and(CheckBox3.Checked=true)then memo1.Lines.Add('3');

//удаление 1 козы
 randomize;

 s2:=memo1.Lines.count;
 label5.caption:='количество не выбранных и доступных к удалению коз ='+inttostr(s2);

  //удаление 1 козы случайно
 s2:=strtoint(memo1.Lines[random(s2)]);
 label3.Caption:='Была удалена коза под номером двери = '+inttostr(s2);

 if s2=1 then  CheckBox1.visible:=false;
 if s2=2 then  CheckBox2.visible:=false;
 if s2=3 then  CheckBox3.visible:=false;

 //повторный выбор, так как мы знали, что нам предоставится 2 шанс выбрать и одна из коз уйдёт
 // нам предоставляется второй выбор из козы и автомобиля
 // до этого мы выбрали с вероятностью 33% автомобиль, так что было логичнее сменить свой выбор,
 //где вероятность 66%  процентов от первого испытания

 // но второе испытание должно произойти с новым выбором из козы и авто

 // по сути эти 66 процентов вероятность того что вы смените дверь

 if CheckBox1.visible=true then memo2.Lines.Add('1');
  if CheckBox2.visible=true  then memo2.Lines.Add('2');
   if CheckBox3.visible=true   then memo2.Lines.Add('3');

   //Я два раза добавляю ту коробку что не выбрал и 1 раз ту что выбрал.
    if (CheckBox1.enabled=true)and(CheckBox1.visible=true) then memo2.Lines.Add('1');
  if (CheckBox2.enabled=true)and(CheckBox2.visible=true)  then memo2.Lines.Add('2');
   if (CheckBox3.enabled=true)and(CheckBox3.visible=true)   then memo2.Lines.Add('3');

  randomize;

  s3:=random(3);
 if (memo2.Lines[s3]='1')and(CheckBox1.Checked=false) then SpinEdit1.Value:=SpinEdit1.Value+1;
 if (memo2.Lines[s3]='2')and(CheckBox2.Checked=false) then SpinEdit1.Value:=SpinEdit1.Value+1;
 if (memo2.Lines[s3]='3')and(CheckBox3.Checked=false) then SpinEdit1.Value:=SpinEdit1.Value+1;


 end;
Alar вне форума Ответить с цитированием
Старый 02.03.2009, 21:34   #50
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Alar
Цитата:
Я по прежнему утверждаю что в конкретной задаче нет второго испытания.
То есть, что вероятность успеха 50%?
Цитата:
добавил блок кода, где получил вероятность около 55%
А не могли бы вы описать по действиям? А то что-то не очень понял, что это значит..
Код:
  //Я два раза добавляю ту коробку что не выбрал и 1 раз ту что выбрал.


Вот есть выбранная дверь. Ведущий открывает ту, за которой коза. Что вы делаете дальше?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прописать алиас в коде проги(компонента TABLE, бд парадокс) sashaslam БД в Delphi 2 07.07.2008 13:42