Próba Bernoulliego to eksperyment losowy z dwoma możliwymi wynikami, np.
rzut monetą z wynikami 0 (reszka, porażka), 1 (orzeł, sukces). Przyjmujemy, że
moneta nie jest symetryczna, tzn. zadajemy, jakie jest prawdopodobieństwo
p wyniku 1 (dla monety symetrycznej byłoby równe 0.5). Symulację
takiego eksperymentu należy zrealizować stosując biblioteczny generator liczb
pseudolosowych.
Należy przyjąć, że wynik próby jest równy 1 gdy wylosowana z przedziału
[0, RAND_MAX] liczba jest mniejsza od p *
(RAND_MAX+1).
Napisz funkcję bernoulli_gen(int* t, int n, double p), która
generuje losowo tablicę n prób bernoulliego. Elementami tej tablicy
mają być wyniki prób.
Definicje: https://en.wikipedia.org/wiki/Bernoulli_sampling
Wejście: n p
Wyjście: Wylosowana tablica liczb binarnych.
Wejście: 20 0.3
Wyjście: 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
Paradoks Monty'ego Halla, w przypadku trojga drzwi (bramek) do wyboru, polega na tym, że intuicyjnie przypisujemy równe szanse dwóm sytuacjom –- wskazanie wygranej w jednej z dwóch zakrytych ciągle bramek wydaje się równie prawdopodobne jak wskazanie bramki pustej, bo przecież nic nie wiadomo. Tymczasem układ jest warunkowany przez początkowy wybór zawodnika i obie sytuacje nie pojawiają się równie często.
rand() dokładnie 2 razy.Funkcja oblicza (i przekazuje do funkcji ją wywołującej) ile razy w ciągu $n$ rozgrywek wygrywał gracz, który po otwarciu jednych drzwi zmieniał pierwotną decyzję.
Napisz funkcję pmf(...) (probability mass function), która
symuluje wykonanie n rzutów dwoma kostkami i zapisuje wartości
otrzymanego przybliżonego rozkładu prawdopodobieństwa w tablicy. Losując liczbę
oczek jednej kostki -- dla uzyskania powtarzalności wyników -- należy raz
wywołać funkcję rand() i jej wynik sprowadzić do przedziału
[1,6].
Napisz również funkcję print_histogram(double v[], int n, int x_start,
double y_scale), która w trybie znakowym przedstawia histogram funkcji o
n wartościach zapisanych w argumencie v. Należy
przyjąć założenia:
x_start. Są one pisane od pierwszej lewej kolumny, w
polu o szerokości 2 znaków z wyrównaniem w prawo.x.'*'. Liczba
znaków jest przeskalowaną i zaokrągloną wartością funkcji. Parametr
y_scale jest wartością zmiennej zależnej odpowiadającej szerokości
jednego znaku na wykresie.double) są
wyprowadzane z dokładnością do 3 cyfr po kropce dziesiętnej w każdym wierszu, po
jednej spacji na prawo od ostatniego znaku '*'.Definicje: https://en.wikipedia.org/wiki/Probability mass function
Wejście: n
Wyjście: Dyskretny rozkład prawdopodobieństwa
wyrażający prawdopodobieństwo wyrzucenia każdej z liczb od 2 do 12.
Wejście: 1000
Wyjście:
2 |***** 0.024
3 |************** 0.068
4 |******************* 0.094
5 |************************ 0.120
6 |**************************** 0.140
7 |********************************* 0.165
8 |************************* 0.125
9 |******************* 0.096
10 |***************** 0.083
11 |********** 0.051
12 |******* 0.034
Proszę napisać program, który w zależności od podanej opcji (podanej z linii komend) albo:
abcccdeeffffgab[3c]d[2e][4f]g