Najprostszą grą jest rzucanie monetą. Grają dwie osoby Alicja i Adam. Jeśli wypadnie orzeł to Alicja płaci Adamowi złotówkę a jeśli reszka to odwrotnie.
Bez żadnych dodatkowych ograniczeń gra może ciągnąć się bez końca. Postawmy pierwsze pytanie: jeśli Twój kapitał początkowy wynosi K, to jak długo, średnio, trzeba grać aby przegrać. Jak myślicie? Wystarczy tylko kilka rzutów? Trzeba to sprawdzić! Weź monetę i zagraj z koleżanką/kolegą. Zakładamy, że przeciwnik ma nieskończenie duż pieniędzy.
Trochę długo to trwało? Nic nie szkodzi komputer nam pomoże. Pograjmy z komputerem.
Wydaje się, że zawsze przegramy! Jeśli gramy z przeciwnikiem z bardzo dużą ilością pieniędzy to prędzej, czy później zawsze przegramy! Nie jest to miła wiadomość. Jak się okazuje, nawet gdy prawdopodobieństwo wyrzucenia orła (naszej wygranej) jest większe od 50% to i tak w końcy zbankrutujemy.
Jak długo trwa gra w orła i reszkę?
W każdym komputerze jest tak zwany generator liczb losowych. Jak działa taki generator możesz dowiedzieć się tutaj.
Napiszmy prosty program liczący długość gry. Zakładamy, że dysponujemy kwotą k=3 (złote) a przeciwnik jest nieskończenie bogaty.
#include
#include
main(){
long k = 3, n = 0; /* k - kapitał początkowy, n - długość gry */
srand( time( NULL ) );
while (k > 0){
k += 2 * (rand () % 2) -1;
n ++;
}
printf("%s%d\n","Czas = ", n);
}
Po skompilowaniu programu i uruchomieniu dostajemy: Czas = 3, Czas = 234 itp. Widać, że długość gry może wahać się od 3 do nawet kilku tysięcy! Możemy modyfikować powyższy listing i przeprowadzić badania.