W poprzedniej notce wystąpiło takie oto równanie wyrażające rozkład prawdopodobieństwa w kroku m+1 przez rozkład prawdopodobieństwa w kroku m:
p(k,m+1) = 0.5( p(k-1,m) + p(k+1,m) )
W równaniu tym k numeruje klatki na okręgu. W notce zażyczyłem sobie by tych klatek było 360. To trochę dużo. Głowa od tak wielkiej liczby boli. Oczy dostać mogą pląsawicy. Zaczynać trzeba od czegoś łatwiejszego. Od jednej klatki? Nieciekawe. Od dwóch? Mało ciekawe. Zacznijmy od trzech. Zatem k =0,1,2. Pamiętajmy o tym, że to jest okrąg, zatem 2+1 = 0, 0 – 1 = 2. Co prawda ktoś z polotem mógłby chcieć zamiast 0 pisać 1/∞ , ale my jesteśmy praktyczni a nie perfidni, tak robić nie będziemy.
Teraz będziemy mieć trzy równania:
p(0,m+1) = 0.5( p(2,m) + p(1,m) )
p(1,m+1) = 0.5( p(0,m) + p(2,m) )
p(2,m+1) = 0.5( p(1,m) + p(0,m) )
Utwórzmy wektor P(m) prawdopodobieństwa w chwili m. Wektor ten ma trzy składowe
P(m) = [p(0,m);p(1,m);p(2,m)]
Wtedy, czary mary, nasze trzy równanka można zapisać jednym równaniem macierzowo-wektorowym:
P(m+1) = M P(m)
Gdzie M jest macierzą:
0
|
0.5
|
0.5
|
0.5
|
0
|
0.5
|
0.5
|
0.5
|
0
|
P(0) znamy, wiemy, że pijak z całą pewnością zaczynał od klatki 0:
P(0) = [1;0;0]
No to mamy:
P(1) = M P(0)
P(2) = M P(1) = MM P(0)
P(3) = M P(2) = MMM P(0)
I oto mamy już formułę na rozkład prawdopodobieństwa w dowolnej chwili:
P(m) = Mm P(0)
Byle tylko umieć podnosić do potęgi macierze!
Zastosujmy tę metodę do …. powiedzmy 11 klatek. Nasza macierz M ma wtedy postać:
Na przekątnej są zera, na lewo i prawo od przekątnej (modulo 11) jest 1/2, reszta to zera. Suma elementów każdego wiersza jest równa 1, suma elementów każdej kolumny jest równa 1. Jest to macierz podwójnie stochastyczna.
Możemy teraz pójść do
Maxima online i poprosić o narysowanie wykresu prawdopodobieństwa powrotu do punktu wyjściowego po n krokach, powiedzmy n=1,...,100.
Czyścimy okienko, wpisujemy do czystego okienka ten kod:
n:11;
h[i,j]:= if mod(i-j,n)=1 or mod(j-i,n)=1 then 1/2 else 0;
M:genmatrix (h,n,n);
p: ematrix(n,1,1,1,1);
plp(i,j):=((M^^j).p)[i][1];
p100: makelist(plp(1,j-1),j,1,100);
load(draw);
draw2d(point_type=6,point_size=1,points_joined = true,points(p100))
Otrzymujemy (po pewnym namyśle) w wyniku taki oto obrazek:
Widzimy, że najpierw prawdopodobieństwo powrotu po nieparzystej liczbie kroków jest systematycznie równe zeru, potem jednak, gdzieś po 11 krokach, tajemniczo systematycznie rośnie zbliżając się do 1/11. Dlaczego tak jest?
Pozostaje nam namalowanie jak zmienia się rozkład prawdopodobieństwa w czasie. Mógłbym dalej używać Maximy, ale za słabo ją znam. Więc tylko obrazki:
Czy już choć trochę rozumiemy teraz pijaków? No, mamy pierwsze kroki za sobą. Bo przecież mogą jeszcze dryfować. A mogą też zachowywać się nie-ergodycznie. Bo ten nasz pijak, po dostatecznie dużej liczbie kroków, dąży do stanu równowagi – gdy z jednakowym prawdopodobieństwem może się znaleźć wszędzie. Jak ciepło. Mówi się więc o "śmierci termicznej Wszechświata". Są jednak też pijący nieobliczalni. Z tymi jest pewien kłopot. W nieobliczalności może też tkwić nadzieja.