Re: *** Ametlik brainteaserite teema ***
See 0.5 ongi kurjajuur. p(x) <0.5 => x < 0 ja p(x) => x > 0, muud sellega ei saa kontrollida (ja see pole eesmärk). Sinu simulatsioonis peaks oigesti kasvama ainult esimeses if's(kus on tingimus y[i]<x[i]), ja seda seda juhtub pooltel kordadel (kuna x on pooltel kordadel suurem kui y) - nagu sul välja tuligi.
if(r.nextDouble() < foo(a)) sisu on pakkuda vastust "teine arv on väiksem" tõenäosusega foo(a). Jäik näide: foo(a) = 0.7, ütleme, et r annab kümne katse korral väljundiks 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7. 0.8, 0.9 (tal on ühtlane jaotus), 0,0.1,..0.6 < 0.7 => seitsemel juhul pakutakse "väiksem", 0.7,0.8,0.9 >= 0.7 => 3 juhul pakutakse "suurem", see sobib ilusti jutuga kokku (7/10 = 0.7).
Hmm, ok, aga siis võiks selle täiesti ära unustada, sest eesmärk on iga jaotus (+ jaotus on tähtsusetu selle ülesande puhul). Selles on sul 100% õigus, et mul pole normaaljaotus, mul on ühtlane jaotus. Selline jäme viga minu poolt ütleb mulle ühtlasi ka, et midagi ei ole teha peab magama ära minema, homme tulen uuesti foorumist läbi.
Algselt postitas Pahvak
Vaata postitust
if(r.nextDouble() < foo(a)) sisu on pakkuda vastust "teine arv on väiksem" tõenäosusega foo(a). Jäik näide: foo(a) = 0.7, ütleme, et r annab kümne katse korral väljundiks 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7. 0.8, 0.9 (tal on ühtlane jaotus), 0,0.1,..0.6 < 0.7 => seitsemel juhul pakutakse "väiksem", 0.7,0.8,0.9 >= 0.7 => 3 juhul pakutakse "suurem", see sobib ilusti jutuga kokku (7/10 = 0.7).
Algselt postitas Pahvak
Vaata postitust
TC
Comment