Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.154 c
1-1108639708
Ivolg
2005-02-17 14:28
2005.03.06
Емуляция TaskBar


14-1108378587
Ega23
2005-02-14 13:56
2005.03.06
Где фотки можно выложить?


3-1107326776
Kazus
2005-02-02 09:46
2005.03.06
Как лучше?


4-1106658123
Aleksandr.
2005-01-25 16:02
2005.03.06
Как правильно заполнить PCopyDataStruct?


14-1108022908
Хинт
2005-02-10 11:08
2005.03.06
Хостинг: h15 (holm) vs fatal





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский