Pogledajte određenu poruku
Staro 26. 04. 2007.   #2
filmil
хардвераш
Qualified
 
Datum učlanjenja: 04.01.2007
Lokacija: Маунтин Вју, САД
Poruke: 117
Hvala: 4
25 "Hvala" u 10 poruka
filmil is on a distinguished road
Default

Citat:
Originalno napisao kodi
to bi znacilo da je 3x veca mogucnost da funkcija vrati veci broj tj blizi 100
a ako bi faktor bio -3 znaci veca verovatnoca da ce biti manji broj, tj blizi 10
Теби треба генерисање псеудо-случајног целог броја на задатом интервалу, са произвољном расподелом. Програмски језици обично нуде генерисање псеудо-случајног целог броја са униформном расподелом.

Срећом па се то лако ради ако имаш на лагеру генератор униформне расподеле, можеш да направиш ма који други.

Међутим овако како си ти дефинисао неће да може, или бар не може директно. Бољи начин је да одредиш функцију расподеле која ти врши посао, а онда да пробаш некако ту функцију да пресликаш у твој параметар.

Почиње се од функције расподеле за униформну случајну променљиву на интервалу 0 до 1. За друге интервале можеш да скалираш, али овај је најједноставнији. Означи са U ту случајну променљиву.

Њена функција расподеле је:

F_U(x) = P( U < x) = { 0, x <0 ; x, x E [0, 1]; 1, x > 1

Претпостави сад да знаш која ти функција расподеле G(x) треба. Она ти зависи од примене, тако да је дефинисање G(x) твој посао. Претпостављам из твог описа да се ради о линеарној функцији густине расподеле, према томе о квадратној функцији расподеле, на опсегу који те занима. То је зато што је функција расподеле интеграл функције густине расподеле, а како је густина вероватно линеарна, то је расподела квадратна. Али о овом касније.

Све што треба јесте да генеришеш случајну променљиву Y = G^-1(U), где је G^-1 инверзна функција од G, а U случајна променљива са униформном расподелом. Тако добијена променљива има управо расподелу G(x). Доказ следи:

F_Y(x) = P ( Y < x) = P( G^-1(U) < x) = P [U < G(x)]= G(x).

Дакле добили смо да је тачно: F_Y(x) = G(x) а то је оно што нам треба.

Због појављивања инверза функције расподеле G, она мора да буде монотона. Уколико није, у овом случају то може да се реши накнадним пермутовањем елемената, а у општем случају можда треба да се потражи други генератор.

ф
__________________
Рад је створио човека. Рад ће га и уништити.
filmil je offline   Odgovorite uz citat