Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Задачка   Найти похожие ветки 

 
default ©   (2005-02-17 19:42) [0]

Имеется несимметричная монета, для которой вероятность
выпадения орла есть неизвестное нам число p (0 < p < 1).
Покажите, как с её помощью можно имитировать симметричную
монету, сделав несколько бросаний.
(Указание: бросьте монету дважды; если результаты разные,
дайте ответ; если одинаковые, повторяйте испытание.)
P.S. таким образом, найдя алгоритм, можно от обычных
    монеток, независимо от того насколько они несимметричны,
    получать тот же результат что и от симметричных монеток
    правда подрасывать придётся более одного раза.


 
Virgo_Style ©   (2005-02-17 21:12) [1]

Для начала, imho, надо найти p, что вообще говоря, требует в идеале бесконечного числа экспериментов. Когда с этим будет покончено ;-D , можно будет разговаривать дальше. AFAIR.


 
MBo ©   (2005-02-17 21:14) [2]

не совсем понятно, в чем состоит задача.
при бросании 2 раза возможны исходы с вероятностями:
ОО  p^2
ОР  p(1-p)
РО  (1-p)p
РР  (1-p)^2
поскольку p не знаем, игнорируем первый и последний исходы.
Последовательности же ОР и РО равновероятны, так что выпадение первой считаем квазиорлом, а второй - квазирешкой :)


 
Virgo_Style ©   (2005-02-17 21:17) [3]

MBo ©   (17.02.05 21:14) [2]
КЛАСС!! :-)


 
default ©   (2005-02-17 22:24) [4]

MBo ©   (17.02.05 21:14) [2]
да!!я тоже догадался
признайте красивая задача?
и есть практическое её применение и не требует каких-то знаний, больших выкладок:)


 
default ©   (2005-02-17 22:27) [5]

MBo ©   (17.02.05 21:14) [2]
кстати если бы не было указания, наверно, решение на дольше бы затянулось или нет(для вас)?


 
default ©   (2005-02-17 22:30) [6]

вот моделирование на всякий

const
 p = 0.3;
 N = 1000000;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 F: Boolean;
 i, succ: Cardinal;
begin
 Randomize;
 succ := 0;
 for i := 1 to N do begin
   repeat
     F := Random <= p;
     if (F <> (Random <= p)) then begin
       if F then Inc(succ);
       Break
     end;
   until False;
 end;
 Caption := FloatToStr(succ / N);
end;


 
MBo ©   (2005-02-18 06:31) [7]

Да, задача занятная.
В принципе, достаточно наводки "сделав несколько бросаний"
>решение на дольше бы затянулось или нет
Это непредсказуемо ;)



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
1-1108828876
assa
2005-02-19 19:01
2005.03.06
Как в CLX изменять темы?


1-1109234508
Brain Force
2005-02-24 11:41
2005.03.06
Как получить текущую позицию курсора мыши


14-1108572484
Ермак
2005-02-16 19:48
2005.03.06
Прошу прочитать статью


3-1107514881
Yerbol
2005-02-04 14:01
2005.03.06
как быстро открыть БД из 130000 зап с небольшой потерей памяти


1-1108637607
Lord Zmiy
2005-02-17 13:53
2005.03.06
Замена KEY