You are on page 1of 9

Lab.

Vežba iz
Verovatnoće i
Statistike
ANDRIJA NICIĆ 2020/0176
Zadatak

 Bacamo 2 kocke 20 puta. Dogadjaj A (Z=1) je ako su se bar jednom u 20 bacanja


pojavile dve 6-tice, u suprotnom Z=0. Postupak može da se ponovi n puta.
 Na izlazu dobijamo:
 Binarni niz Z1,Z2,…,Zn
 Broj puta kada se dogodio dogadjaj A
Rešenje preko Monte-Carlo metode (kod)
• Opis koda-algoritma:
• Koristimo dve promenljive, z za pamćenje
binarnog niza, i cntA za pamćenje kolko se
puta dogadjaj dogodio
• Ulazimo u for petlju sa n iteracija, prvo
postavimo zi na nulu, onda ulazimo u drugu
for petlju koja uvek ima 20 iteracija tj. U
simulaciju od 20 bacanja 2 kocke
• Dobijene vrednosti pamtimo u k1 i k2 i
ukoliko bar jednom obe budu 6, zi menjamo
na 1, i kad se završi simulacija ukoliko smo
promenili zi, povećavamo cntA za 1 da bi znali
kolko puta se on dogodio
• Pisano na programskom jeziku Java
Relzutatati
Za 10 ponavljanja Za 100 ponavljanja
Relzutati
Za 1 000 ponavljanja Za 10 000 ponavljanja
Rezultati za n=1 000 000

• Sada možemo biti poprilično sigurni da smo dobili približno tačno rešenje jer su izlazi poprilično slični

• Izbačen je niz sa izlaza jer ga je nezgodno ispisati pošto ima 1 000 000 elemenata
Poredjenje rešenja dobijenog Monte-Carlo
metodom sa analitičkim
 Analitičko rešenje se može u ovom slučaju poprilično jednostavno dobiti:
 P(A)=1-P(A’)=1-(35/36)20=0.4307… =>43.07% (A’ je dogadjaj kad u 20 bacanja
nijednom ne dobijemo dve 6-tice)

Broj Ponavljanja Simulacije (n) Dobijena Verovatnoća Razlika u odnosu na analitičko


(%) rešenje (%)
10 20, 70, 60, 40 u proseku 47.5 4.43
100 41, 51, 43, 52 u proseku 46.75 3.68
1 000 42.3, 42.2, 41.9, 44.4 => 42.7 0.37
10 000 42.89, 42.55, 43.08, 42.89 => 42.83 0.24
1 000 000 43.16, 43.07, 43.02, 43.13 => 43.09 0.02
Zaključak

 Očigledno možemo primetiti da tako što povećavamo n dobijamo sve tačnije i


tačnije rešenje, sa 10 dobijamo svašta, sa 100 malo dobijamo bliže rezultate, sa
1000 to već počinje da liči na tačno rešenje itd.
 Takodje, na ovom zadatku možemo tačno videti, prednosti i mane Monte-Carlo
metode
 Prednost: sa poprilično jednostavnim algoritmom smo na 1 000 000 simulacija dobili
približno tačno rešenje za manje od sekunde
 Mana: ako bi smo hteli još preciznije rešenje da dobijemo ovako morali bi da radimo
sa dosta većim brojem simulacija, a to bi zahtevalo dosta vremena – kada sam stavio
za n=10 000 000 Java nije htela da izbaci rešenje ili joj je trebalo preko 20 sekundi, što
je jako puno vremena
Grafički prikaz greške u zavinosti od n

Greška (%)
5

4.5

3.5

2.5

1.5

0.5

0
10 100 1000 10000 100000 1000000

You might also like