Rachunek prawdopodobieństwa i statystyka/Ćwiczenia 10: Łańcuchy Markowa: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Moskala (dyskusja | edycje)
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 33 wersji utworzonych przez 3 użytkowników)
Linia 9: Linia 9:
od czasu, podczas spaceru losowego o zadanych parametrach.
od czasu, podczas spaceru losowego o zadanych parametrach.
Funkcja  <tt>empirical[q,r,p]</tt> generuje rozkład, według którego losuje się liczby 1, 2 i 3
Funkcja  <tt>empirical[q,r,p]</tt> generuje rozkład, według którego losuje się liczby 1, 2 i 3
z prawdopodobieństwami <math>\displaystyle q</math>, <math>\displaystyle r</math> i <math>\displaystyle p</math>.
z prawdopodobieństwami <math>q</math>, <math>r</math> i <math>p</math>.


   ''> Spacer :<nowiki>=</nowiki> proc(N,p,q,sa,sb,M)
   ''> Spacer :<nowiki>=</nowiki> proc(N,p,q,sa,sb,M)
Linia 43: Linia 43:


Wygenerujemy teraz cztery ścieżki w spacerze
Wygenerujemy teraz cztery ścieżki w spacerze
losowym o 300 krokach. Bariery ustawiamy w punktach <math>\displaystyle -10</math> i <math>\displaystyle 10</math> oraz przyjmujemy następujące parametry:
losowym o 300 krokach. Bariery ustawiamy w punktach <math>-10</math> i <math>10</math> oraz przyjmujemy następujące parametry:




<center><math>\displaystyle p = 0.5, \;q = 0.45, \;r = 0.05,\; sa = sb = 0.8.</math></center>
<center><math>p = 0.5, \;q = 0.45, \;r = 0.05,\; sa = sb = 0.8</math>.</center>




Linia 71: Linia 71:
</center>
</center>


{{cwiczenie|10.2|cw 10.2|
{{cwiczenie|10.2|cw_10.2|
Przyjrzymy się jeszcze raz przykładowi [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#przy_10.4|10.4]] przy założeniu, że
Przyjrzymy się jeszcze raz [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#przy_10.4|przykładowi 10.4]] przy założeniu, że
<math>\displaystyle d \ge 2</math>.
<math>d \ge 2</math>.
}}
}}


Niech <math>\displaystyle {\mathbf{P}}_d</math> oznacza macierz przejścia naszego
Niech <math>{\mathbf{P}}_d</math> oznacza macierz przejścia naszego
łańcucha Markowa. Ustalmy stan <math>\displaystyle i = (i_1, \dots, i_d) \in {\Bbb Z}^d</math>.
łańcucha Markowa. Ustalmy stan <math>i = (i_1, \dots, i_d) \in {\Bbb Z}^d</math>.
Zauważmy, że przejście w  <math>\displaystyle n</math> krokach ze  stanu <math>\displaystyle i</math> z
Zauważmy, że przejście w  <math>n</math> krokach ze  stanu <math>i</math> z
powrotem do tego stanu podczas <math>\displaystyle d</math>-wymiarowego spaceru losowego, jest równoważne przejściom  ze
powrotem do tego stanu podczas <math>d</math>-wymiarowego spaceru losowego, jest równoważne przejściom  ze
stanów <math>\displaystyle i_j</math> do <math>\displaystyle i_j</math> w <math>\displaystyle n</math> krokach podczas niezależnych od siebie jednowymiarowych
stanów <math>i_j</math> do <math>i_j</math> w <math>n</math> krokach podczas niezależnych od siebie jednowymiarowych
spacerów losowych. Właśnie korzystając z
spacerów losowych. Właśnie korzystając z
tej niezależności, dostajemy:
tej niezależności, dostajemy:




<center><math>\displaystyle
<center><math>
{\mathbf{P}}^n_d(i)={\mathbf{P}}_d^n(i,i) = {\mathbf{P}}^n(i_1,i_1)\cdot \dots \cdot
{\mathbf{P}}^n_d(i)={\mathbf{P}}_d^n(i,i) = {\mathbf{P}}^n(i_1,i_1)\cdot \dots \cdot
{\mathbf{P}}^n(i_d,i_d) = \left({\mathbf{P}}^n(0,0)\right)^d.
{\mathbf{P}}^n(i_d,i_d) = \left({\mathbf{P}}^n(0,0)\right)^d</math></center>
</math></center>




Korzystając z powyższego wzoru oraz z twierdzenia [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#tw_10.8|10.8]], można obliczyć  prawdopodobieństwa <math>\displaystyle {\mathbf{P}}_d^n(i)</math> oraz
Korzystając z powyższego wzoru oraz z [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#tw_10.8|twierdzenia 10.8]], można obliczyć  prawdopodobieństwa <math>{\mathbf{P}}_d^n(i)</math> oraz
prawdopodobieństwa powrotu w czasie skończonym <math>\displaystyle F^d_n(i)</math> dla <math>\displaystyle d = 2, 3, 4, 5, 6</math>.
prawdopodobieństwa powrotu w czasie skończonym <math>F^d_n(i)</math> dla <math>d = 2, 3, 4, 5, 6</math>.
Warto w tym przypadku znowu skorzystać z programu Maple. Okazuje się, że:
Warto w tym przypadku znowu skorzystać z programu Maple. Okazuje się, że:


;  
;  
:<math>\displaystyle {\mathbf{P}}_2^n(i) \approx \infty</math>, <math>\displaystyle F_2(0) = 1</math>,
:<math>{\mathbf{P}}_2^n(i) \approx \infty</math>, <math>F_2(0) = 1</math>,


;  
;  
:<math>\displaystyle {\mathbf{P}}_3^n(i) \approx 0.3932039296</math>, <math>\displaystyle F_3(0) \approx 0.2822299888</math>,
:<math>{\mathbf{P}}_3^n(i) \approx 0.3932039296</math>, <math>F_3(0) \approx 0.2822299888</math>,


;  
;  
:<math>\displaystyle {\mathbf{P}}_4^n(i) \approx 0.1186363871</math>, <math>\displaystyle F_4(0) \approx  0.1060544682</math>,
:<math>{\mathbf{P}}_4^n(i) \approx 0.1186363871</math>, <math>F_4(0) \approx  0.1060544682</math>,


;  
;  
:<math>\displaystyle {\mathbf{P}}_5^n(i) \approx 0.04682554981</math>, <math>\displaystyle F_5(0) \approx 0.04473099631</math>,
:<math>{\mathbf{P}}_5^n(i) \approx 0.04682554981</math>, <math>F_5(0) \approx 0.04473099631</math>,


;  
;  
:<math>\displaystyle {\mathbf{P}}_6^n(i) \approx 0.02046077706</math>, <math>\displaystyle F_6(0) \approx 0.02005052768</math>.
:<math>{\mathbf{P}}_6^n(i) \approx 0.02046077706</math>, <math>F_6(0) \approx 0.02005052768</math>.
Powyższe wyniki można interpretować w sposób następujący: w przypadku jedno i dwuwymiarowym
Powyższe wyniki można interpretować w sposób następujący: w przypadku jedno i dwuwymiarowym
nie można się podczas spaceru zgubić, natomiast jest to możliwe w wyższych wymiarach, przy czym im wymiar większy,
nie można się podczas spaceru zgubić, natomiast jest to możliwe w wyższych wymiarach, przy czym im wymiar większy,
Linia 119: Linia 118:
}}
}}


Tym razem bariery ustawiamy w punktach <math>\displaystyle -2</math> oraz <math>\displaystyle 2</math>, zaś parametrami  określającymi spacer są:
Tym razem bariery ustawiamy w punktach <math>-2</math> oraz <math>2</math>, zaś parametrami  określającymi spacer są:




<center><math>\displaystyle p = 0.5, \; q = 0.3,\; r = 0.2, \;sa = 0.9,\;sb = 0.1.</math></center>
<center><math>p = 0.5, \; q = 0.3,\; r = 0.2, \;sa = 0.9,\;sb = 0.1</math>.</center>




Linia 128: Linia 127:




<center><math>\displaystyle \mathbf{P} = \left[ \begin{array} {ccccc}  0.9& 0.1& 0.0& 0.0& 0.0
<center><math>\mathbf{P} = \left[ \begin{array} {ccccc}  0.9& 0.1& 0.0& 0.0& 0.0
\\\noalign{\medskip} 0.3& 0.2& 0.5& 0.0& 0.0\\\noalign{\medskip} 0.0&
\\\noalign{\medskip} 0.3& 0.2& 0.5& 0.0& 0.0\\\noalign{\medskip} 0.0&
0.3& 0.2& 0.5& 0.0\\\noalign{\medskip} 0.0& 0.0& 0.3& 0.2& 0.5
0.3& 0.2& 0.5& 0.0\\\noalign{\medskip} 0.0& 0.0& 0.3& 0.2& 0.5
\\\noalign{\medskip} 0.0& 0.0& 0.0& 0.9& 0.1\end{array}  \right], </math></center>
\\\noalign{\medskip} 0.0& 0.0& 0.0& 0.9& 0.1\end{array}  \right]</math></center>




Linia 137: Linia 136:




<center><math>\displaystyle
<center><math>
\mathbf{P}^{10} \approx  \left[ \begin{array} {ccccc}  0.545& 0.115& 0.122& 0.145& 0.0731
\mathbf{P}^{10} \approx  \left[ \begin{array} {ccccc}  0.545& 0.115& 0.122& 0.145& 0.0731
\\\noalign{\medskip} 0.346& 0.103& 0.159& 0.252& 0.140
\\\noalign{\medskip} 0.346& 0.103& 0.159& 0.252& 0.140
Linia 143: Linia 142:
\\\noalign{\medskip} 0.157& 0.0906& 0.195& 0.353& 0.205
\\\noalign{\medskip} 0.157& 0.0906& 0.195& 0.353& 0.205
\\\noalign{\medskip} 0.142& 0.0909& 0.194& 0.368& 0.205\end{array}  
\\\noalign{\medskip} 0.142& 0.0909& 0.194& 0.368& 0.205\end{array}  
\right].
\right]</math></center>
</math></center>




Linia 156: Linia 154:
{{cwiczenie|10.4|cw 10.4|
{{cwiczenie|10.4|cw 10.4|
Zobaczymy, jak funkcjonuje twierdzenie ergodyczne w przypadku
Zobaczymy, jak funkcjonuje twierdzenie ergodyczne w przypadku
spaceru losowego opisanego w ćwiczeniu [[#cw_10.3|10.3]].
spaceru losowego opisanego w [[#cw_10.3|ćwiczeniu 10.3]].
}}
}}


Macierze <math>\displaystyle \mathbf{P}^{30}</math> i <math>\displaystyle \mathbf{P}^{50}</math> wyglądają następująco:
Macierze <math>\mathbf{P}^{30}</math> i <math>\mathbf{P}^{50}</math> wyglądają następująco:




<center><math>\displaystyle \mathbf{P}^{30} \approx  \left[ \begin{array} {ccccc}  0.345& 0.103& 0.159& 0.254& 0.140
<center><math>\mathbf{P}^{30} \approx  \left[ \begin{array} {ccccc}  0.345& 0.103& 0.159& 0.254& 0.140
\\\noalign{\medskip} 0.309& 0.101& 0.165& 0.274& 0.152
\\\noalign{\medskip} 0.309& 0.101& 0.165& 0.274& 0.152
\\\noalign{\medskip} 0.286& 0.0992& 0.170& 0.286& 0.159
\\\noalign{\medskip} 0.286& 0.0992& 0.170& 0.286& 0.159
\\\noalign{\medskip} 0.274& 0.0985& 0.172& 0.293& 0.163
\\\noalign{\medskip} 0.274& 0.0985& 0.172& 0.293& 0.163
\\\noalign{\medskip} 0.271& 0.0983& 0.172& 0.294& 0.164\end{array}  
\\\noalign{\medskip} 0.271& 0.0983& 0.172& 0.294& 0.164\end{array}  
\right],
\right]</math>,</center>
</math></center>




<center><math>\displaystyle  \mathbf{P}^{50} \approx  \left[ \begin{array} {ccccc}  0.309& 0.101& 0.165& 0.274& 0.152
<center><math>\mathbf{P}^{50} \approx  \left[ \begin{array} {ccccc}  0.309& 0.101& 0.165& 0.274& 0.152
\\\noalign{\medskip} 0.302& 0.100& 0.167& 0.277& 0.154
\\\noalign{\medskip} 0.302& 0.100& 0.167& 0.277& 0.154
\\\noalign{\medskip} 0.298& 0.100& 0.167& 0.280& 0.155
\\\noalign{\medskip} 0.298& 0.100& 0.167& 0.280& 0.155
\\\noalign{\medskip} 0.296& 0.0998& 0.168& 0.281& 0.156
\\\noalign{\medskip} 0.296& 0.0998& 0.168& 0.281& 0.156
\\\noalign{\medskip} 0.295& 0.0998& 0.168& 0.281& 0.156\end{array}  
\\\noalign{\medskip} 0.295& 0.0998& 0.168& 0.281& 0.156\end{array}  
\right].
\right]</math></center>
</math></center>




Linia 184: Linia 180:


Znajdziemy teraz rozkład stacjonarny, rozwiązując
Znajdziemy teraz rozkład stacjonarny, rozwiązując
odpowiedni układ równań postaci <math>\displaystyle Ax = b</math>. Wyznaczamy
odpowiedni układ równań postaci <math>Ax = b</math>. Wyznaczamy
najpierw <math>\displaystyle A</math> oraz <math>\displaystyle b</math> tak, aby układ ten był równoważny układowi występującemu
najpierw <math>A</math> oraz <math>b</math> tak, aby układ ten był równoważny układowi występującemu
w twierdzeniu ergodycznym (twierdzenie [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#tw_10.11|10.11]]). Otrzymujemy:
w twierdzeniu ergodycznym ([[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#tw_10.11|twierdzenie 10.11]]). Otrzymujemy:




<center><math>\displaystyle
<center><math>
A  = \left[ \begin{array} {ccccc} - 0.1& 0.3&0&0&0\\\noalign{\medskip} 0.1&- 0.8& 0.3&0&0\\\noalign{\medskip}0& 0.5&- 0.8& 0.3&0
A  = \left[ \begin{array} {ccccc} - 0.1& 0.3&0&0&0\\\noalign{\medskip} 0.1&- 0.8& 0.3&0&0\\\noalign{\medskip}0& 0.5&- 0.8& 0.3&0
\\\noalign{\medskip}0&0& 0.5&- 0.8& 0.9\\\noalign{\medskip}0&0&0& 0.5&
\\\noalign{\medskip}0&0& 0.5&- 0.8& 0.9\\\noalign{\medskip}0&0&0& 0.5&
- 0.9\\\noalign{\medskip}1&1&1&1&1\end{array}  \right], \ \  b = \left[ \begin{array} {c} 0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}1
- 0.9\\\noalign{\medskip}1&1&1&1&1\end{array}  \right], \ \  b = \left[ \begin{array} {c} 0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}1
\end{array}  \right].
\end{array}  \right]</math></center>
</math></center>




Łatwo obliczyć (można, oczywiście, skorzystać z programu Maple),
Łatwo obliczyć (można, oczywiście, skorzystać z programu Maple),
że przybliżonym rozwiązaniem naszego układu równań jest następujący wektor <math>\displaystyle \pi</math>:
że przybliżonym rozwiązaniem naszego układu równań jest następujący wektor <math>\pi</math>:




<center><math>\displaystyle
<center><math>
\pi \approx  \left[ \begin{array} {c}  0.30037 \\ 0.10012 \\ 0.16687\\ 0.27812\\
\pi \approx  \left[ \begin{array} {c}  0.30037 \\ 0.10012 \\ 0.16687\\ 0.27812\\
0.15451\end{array}  \right].
0.15451\end{array}  \right]</math></center>
</math></center>




Widzimy, że rzeczywiście rozkład stacjonarny niewiele różni się od wierszy macierzy
Widzimy, że rzeczywiście rozkład stacjonarny niewiele różni się od wierszy macierzy
<math>\displaystyle P^{50}</math>.
<math>P^{50}</math>.




{{cwiczenie|10.5|cw 10.5|
{{cwiczenie|10.5|cw 10.5|
Znajdziemy rozkłady i wartości oczekiwane zmiennych losowych <math>\displaystyle X_n</math> (dla
Znajdziemy rozkłady i wartości oczekiwane zmiennych losowych <math>X_n</math> (dla
niektórych wartości <math>\displaystyle n</math>), oznaczających kapitał
niektórych wartości <math>n</math>), oznaczających kapitał
Antoniego z przykładu [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#przy_10.5|10.5]]. Przyjmiemy następujące założenia:
Antoniego z [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#przy_10.5|przykładu 10.5]]. Przyjmiemy następujące założenia:




<center><math>\displaystyle A = 8, \; B=5, \; p = 0.2,\; q = 0.4,</math></center>
<center><math>A = 8, \; B=5, \; p = 0.2,\; q = 0.4</math>,</center>




Linia 225: Linia 219:
}}
}}


Przypominamy, że mamy tutaj 14 stanów: <center><math>\displaystyle E = \{0,1,\dots, 13\}.</math></center>
Przypominamy, że mamy tutaj 14 stanów: <center><math>E = \{0,1,\dots, 13\}</math>.</center>


Stan "0" oznacza definitywną ruinę Adama, zaś stan "13" - jego całkowitą wygraną,
Stan "0" oznacza definitywną ruinę Adama, zaś stan "13" - jego całkowitą wygraną,
natomiast gra startuje ze stanu "8".
natomiast gra startuje ze stanu "8".


Konstruujemy macierz przejścia <math>\displaystyle \mathbf{P}</math>:
Konstruujemy macierz przejścia <math>\mathbf{P}</math>:




<center><math>\displaystyle
<center><math>
\mathbf{P} =  \left[ \begin{array} {cccccccccccccc} 1&0&0&0&0&0&0&0&0&0&0&0&0&0
\mathbf{P} =  \left[ \begin{array} {cccccccccccccc} 1&0&0&0&0&0&0&0&0&0&0&0&0&0
\\\noalign{\medskip} 0.4& 0.4& 0.2&0&0&0&0&0&0&0&0&0&0&0
\\\noalign{\medskip} 0.4& 0.4& 0.2&0&0&0&0&0&0&0&0&0&0&0
Linia 254: Linia 248:




<center><math>\displaystyle
<center><math>
\mathbf{p} =  \left[ \begin{array} {cccccccccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \end{array}  \right],
\mathbf{p} =  \left[ \begin{array} {cccccccccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \end{array}  \right]</math>,</center>
</math></center>




Można teraz łatwo obliczać kolejne rozkłady korzystając z wzoru ([[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#10.1|10.1]]) -
Można teraz łatwo obliczać kolejne rozkłady korzystając z [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#10.1|wzoru 10.1]] -
tak wyglądają, obliczone przy pomocy programu Maple,
tak wyglądają, obliczone przy pomocy programu Maple,
rozkłady po zakończeniu piątej, dwudziestej i dwusetnej gry:
rozkłady po zakończeniu piątej, dwudziestej i dwusetnej gry:




<center><math>\displaystyle
<center><math>
\mathbf{p}_5 \approx  \left[ \begin{array} {c} 0 \\ 0 \\
\mathbf{p}_5 \approx  \left[ \begin{array} {c} 0 \\ 0 \\
0 \\ 0.0102 \\ 0.0512 \\ 0.128 \\ 0.205 \\ 0.230 \\ 0.189 \\
0 \\ 0.0102 \\ 0.0512 \\ 0.128 \\ 0.205 \\ 0.230 \\ 0.189 \\
Linia 274: Linia 267:
0.0000114\\ 0.854\cdot 10^{-5}\\ 0.604\cdot 10^{-5}\\ 0.402\cdot 10^{-5}\\ 0.250\cdot 10^{-5}\\
0.0000114\\ 0.854\cdot 10^{-5}\\ 0.604\cdot 10^{-5}\\ 0.402\cdot 10^{-5}\\ 0.250\cdot 10^{-5}\\
0.143\cdot 10^{-5}\\ 0.707\cdot 10^{-6}\\ 0.257\cdot 10^{-6}\\
0.143\cdot 10^{-5}\\ 0.707\cdot 10^{-6}\\ 0.257\cdot 10^{-6}\\
0.0311 \end{array}  \right],
0.0311 \end{array}  \right]</math>,</center>
</math></center>




Linia 281: Linia 273:




<center><math>\displaystyle {\Bbb E}(X_5) \approx 7.00000,\;\;
<center><math>{\Bbb E}(X_5) \approx 7.00000,\;\;
{\Bbb E}(X_{20}) \approx 4.157931285, \;\;
{\Bbb E}(X_{20}) \approx 4.157931285, \;\;
{\Bbb E}(X_{200}) \approx 0.4050783639.
{\Bbb E}(X_{200}) \approx 0.4050783639</math></center>
</math></center>




Linia 291: Linia 282:
(formalnie toczy się przez cały czas, tylko pozostaje w jednym ze stanów pochłaniających: "0" lub " 13").
(formalnie toczy się przez cały czas, tylko pozostaje w jednym ze stanów pochłaniających: "0" lub " 13").


Powyższą sytuację ilustruje także następująca animacja rozkładów prawdopodobieństwa zmiennych losowych <math>\displaystyle X_1, \dots, X_{200}</math>:
Powyższą sytuację ilustruje także następująca animacja rozkładów prawdopodobieństwa zmiennych losowych <math>X_1, \dots, X_{200}</math>:


<div class="thumb" align="center"><flashwrap>file=Rp103.swf|size=small</flashwrap></div>
[[File:Rp103.mp4|253x253px|thumb|center]]
===Zadanie 10.1===
--------------------------------------------------
'''Zadanie 10.1'''<br>
Napisz i uruchom program, który dla zadanej macierzy przejścia i zadanego rozkładu prawdopodobieństwa: (a) symuluje łańcuch Markowa, (b) wyznacza kolejne rozkłady prawdopodobieństwa tego łańcucha.
Napisz i uruchom program, który dla zadanej macierzy przejścia i zadanego rozkładu prawdopodobieństwa: (a) symuluje łańcuch Markowa, (b) wyznacza kolejne rozkłady prawdopodobieństwa tego łańcucha.


===Zadanie 10.2===
<span id="zad_10.2">
'''Zadanie 10.2'''<br>
Rozważmy spacer losowy po
Rozważmy spacer losowy po
okręgu. Załóżmy, że cząsteczka może się znajdować w
okręgu. Załóżmy, że cząsteczka może się znajdować w
punktach odpowiadającym kątom  <math>\displaystyle \displaystyle k\frac{2\pi}{n} </math>,
punktach odpowiadającym kątom  <math>k\frac{2\pi}{n}</math>,
gdzie <math>\displaystyle n</math> jest ustaloną liczbą naturalną,  natomiast <math>\displaystyle k
gdzie <math>n</math> jest ustaloną liczbą naturalną,  natomiast <math>k
= 0, \dots, n-1</math>. Cząsteczka porusza się zgodnie z
= 0, \dots, n-1</math>. Cząsteczka porusza się zgodnie z
ruchem wskazówek zegara z prawdopodobieństwem <math>\displaystyle p</math>,
ruchem wskazówek zegara z prawdopodobieństwem <math>p</math>,
przeciwnie do ruchu wskazówek zegara - z
przeciwnie do ruchu wskazówek zegara - z
prawdopodobieństwem <math>\displaystyle q</math> i&nbsp;nie zmienia położenia z
prawdopodobieństwem <math>q</math> i&nbsp;nie zmienia położenia z
prawdopodobieństwem  <math>\displaystyle r</math> (<math>\displaystyle p + q + r = 1</math>). Wskaż
prawdopodobieństwem  <math>r</math> (<math>p + q + r = 1</math>). Wskaż
macierz przejścia odpowiedniego łańcucha Markowa.  
macierz przejścia odpowiedniego łańcucha Markowa.</span>


===Zadanie 10.3===
'''Zadanie 10.3'''<br>
Znajdź macierz przejścia oraz
Znajdź macierz przejścia oraz
rozkład początkowy łańcucha Markowa, który jest modelem
rozkład początkowy łańcucha Markowa, który jest modelem
zagadnienia opisanego w zadaniu [[##prz43|uzupelnic]].
zagadnienia opisanego w (patrz [[Rachunek prawdopodobieństwa i statystyka/Ćwiczenia 5: Prawdopodobieństwo warunkowe i niezależność#cw_5_9|zadaniu 5.9]]).
 
===Zadanie 10.4===
'''Zadanie 10.4'''<br>
Niech <math>\displaystyle \xi_0, \dots , \xi_n</math> będą niezależnymi
Niech <math>\xi_0, \dots , \xi_n</math> będą niezależnymi
zmiennymi losowymi, przyjmującymi jedynie wartości
zmiennymi losowymi, przyjmującymi jedynie wartości
całkowite.  Załóżmy, że  zmienna <math>\displaystyle \xi_0</math> ma rozkład
całkowite.  Załóżmy, że  zmienna <math>\xi_0</math> ma rozkład
<math>\displaystyle q_0</math>,  natomiast zmienne <math>\displaystyle \xi_1, \dots , \xi_n</math> mają
<math>q_0</math>,  natomiast zmienne <math>\xi_1, \dots , \xi_n</math> mają
wspólny rozkład <math>\displaystyle q</math>. Określmy:
wspólny rozkład <math>q</math>. Określmy:




<center><math>\displaystyle
<center><math>
X_0 = \xi_0\ </math>  oraz  <math>\displaystyle  \ X_{n+1} = X_n + \xi_{n+1}
X_0 = \xi_0\ </math>  oraz  <math> \ X_{n+1} = X_n + \xi_{n+1}
\;\; </math> dla  <math>\displaystyle  \ n = 0,1,2, \dots</math></center>
\;\;</math> dla  <math>\ n = 0,1,2, \dots</math></center>




Sprawdź, że zmienne losowe
Sprawdź, że zmienne losowe
<math>\displaystyle X_n</math> tworzą łańcuch Markowa.  
<math>X_n</math> tworzą łańcuch Markowa.  


===Zadanie 10.5===
'''Zadanie 10.5'''<br>
Niech <math>\displaystyle {\mathbf{P}}</math> będzie macierzą przejścia pewnego
Niech <math>{\mathbf{P}}</math> będzie macierzą przejścia pewnego
łańcucha Markowa. Wykaż, że dla wszystkich potęg <math>\displaystyle k</math> zachodzi warunek:
łańcucha Markowa. Wykaż, że dla wszystkich potęg <math>k</math> zachodzi warunek:




<center><math>\displaystyle
<center><math>
\sum_{ j \in E}{\mathbf{P}^k}(i,j) = 1 </math> dla każdego <math>\displaystyle  i
\sum_{ j \in E}{\mathbf{P}^k}(i,j) = 1</math> dla każdego <math>i
\in E.</math></center>
\in E</math>.</center>


===Zadanie 10.6===
'''Zadanie 10.6'''<br>
Niech zmienne losowe <math>\displaystyle X_n</math>, <math>\displaystyle n = 0,1,2, \dots</math>,
Niech zmienne losowe <math>X_n</math>, <math>n = 0,1,2, \dots</math>,
tworzą łańcuch Markowa. Pokaż, że zmienne <math>\displaystyle X_0, X_k, X_{2k},
tworzą łańcuch Markowa. Pokaż, że zmienne <math>X_0, X_k, X_{2k},
\dots</math>, gdzie <math>\displaystyle k >1</math> jest
\dots</math>, gdzie <math>k >1</math> jest
ustaloną liczbą, także tworzą łańcuch Markowa.  
ustaloną liczbą, także tworzą łańcuch Markowa.  


===Zadanie 10.7===
'''Zadanie 10.7'''<br>
Napisz procedury, które symulują  łańcuchy Markowa
Napisz procedury, które symulują  łańcuchy Markowa
z przykładu [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#przy_10.6|10.6]] oraz z zadań [[##markov11|Uzupelnic markov11|]] i
z [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#przy_10.6|przykładu 10.6]] oraz z zadań [[#zad_10.2|10.2]] i
[[##markov12|Uzupelnic markov12|]].
[[#zad_10.3|10.3]].
 
===Zadanie 10.8===
'''Zadanie 10.8'''<br>
Pokaż, że dla ergodycznego łańcucha Markowa
Pokaż, że dla ergodycznego łańcucha Markowa
oraz dla dowolnego rozkładu początkowego <math>\displaystyle {\mathbf{p}}</math>,
oraz dla dowolnego rozkładu początkowego <math>{\mathbf{p}}</math>,
rozkłady wektorów losowych <math>\displaystyle X_n</math> są zbieżne do
rozkłady wektorów losowych <math>X_n</math> są zbieżne do
rozkładu stacjonarnego <math>\displaystyle \pi</math>, to znaczy:
rozkładu stacjonarnego <math>\pi</math>, to znaczy:




<center><math>\displaystyle
<center><math>
\lim_{n \rightarrow \infty}{\mathbf{p}}_n(i) = \pi(i) </math>  dla
\lim_{n \rightarrow \infty}{\mathbf{p}}_n(i) = \pi(i)</math>  dla
każdego  <math>\displaystyle  i \in E.
każdego  <math> i \in E</math></center>
</math></center>


===Zadanie 10.9===
'''Zadanie 10.9'''<br>
Znajdź rozkłady stacjonarne (o ile istnieją) dla
Znajdź rozkłady stacjonarne (o ile istnieją) dla
łańcuchów Markowa z przykładu [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#przy_10.6|10.6]] oraz zadań
łańcuchów Markowa z [[Rachunek prawdopodobieństwa i statystyka/Wykład 10: Łańcuchy Markowa#przy_10.6|przykładu 10.6]] oraz zadań
[[##markov11|Uzupelnic markov11|]] i [[##markov12|Uzupelnic markov12|]].  
[[#zad_10.2|10.2]] i  
[[#zad_10.2|10.3]].


===Zadanie 10.10===
'''Zadanie 10.10'''<br>
Podaj przykład nieredukowalnego łańcucha Markowa o
Podaj przykład nieredukowalnego łańcucha Markowa o
skończonej liczbie stanów, który nie jest ergodyczny.  
skończonej liczbie stanów, który nie jest ergodyczny.  


===Zadanie 10.11===
'''Zadanie 10.11'''<br>
Wykaż, że ergodyczny łańcuch Markowa jest powracający.
Wykaż, że ergodyczny łańcuch Markowa jest powracający.

Aktualna wersja na dzień 22:17, 11 wrz 2023

Ćwiczenia

Ćwiczenie 10.1

Opiszemy symulację spaceru losowego za pomocą programu Maple.

Poniższa procedura rysuje położenie cząsteczki w zależności od czasu, podczas spaceru losowego o zadanych parametrach. Funkcja empirical[q,r,p] generuje rozkład, według którego losuje się liczby 1, 2 i 3 z prawdopodobieństwami q, r i p.

 > Spacer := proc(N,p,q,sa,sb,M)
 > local A, B, r, PA, PC, PB, stan, krok, droga:
 > A := -N: B := N: r := 1 -p - q:
 > PA := empirical[0.,sa,1-sa]:
 > PC := empirical[q,r,p]:
 > PB := empirical[1-sb,sb,0.]:
 > stan := 0:
 > droga := stan:
 > from 1 to M do
 > if (A < stan  and stan < B) then
 > krok := random[PC](1) - 2
 > elif
 > stan = A then krok := random[PA](1) - 2
 > elif
 > stan = B then krok := random[PB](1) - 2
 > fi:
 > stan := stan + krok:
 > droga := droga,stan
 >od:}{}
 > plots[pointplot]([seq([i,droga[i+1]],
 > i = 0..nops([droga])-1)],axes=BOXED):
 > end:

Rysunek ze strony {ryssl} został utworzony poleceniem:

 > Spacer(3,0.5,0.5,0.8,0.8,20);

Wygenerujemy teraz cztery ścieżki w spacerze losowym o 300 krokach. Bariery ustawiamy w punktach 10 i 10 oraz przyjmujemy następujące parametry:


p=0.5,q=0.45,r=0.05,sa=sb=0.8.


Teraz wykonujemy cztery razy polecenie:

 > Spacer(10,0.45,0.5,0.8,0.8,300);

otrzymując następujące wyniki:

<flash>file=Rp.1.102.swf|width=350|height=350</flash>

<flash>file=Rp.1.103.swf|width=350|height=350</flash>

<flash>file=Rp.1.104.swf|width=350|height=350</flash>

<flash>file=Rp.1.105.swf|width=350|height=350</flash>

Ćwiczenie 10.2

Przyjrzymy się jeszcze raz przykładowi 10.4 przy założeniu, że d2.

Niech 𝐏d oznacza macierz przejścia naszego łańcucha Markowa. Ustalmy stan i=(i1,,id)d. Zauważmy, że przejście w n krokach ze stanu i z powrotem do tego stanu podczas d-wymiarowego spaceru losowego, jest równoważne przejściom ze stanów ij do ij w n krokach podczas niezależnych od siebie jednowymiarowych spacerów losowych. Właśnie korzystając z tej niezależności, dostajemy:


𝐏dn(i)=𝐏dn(i,i)=𝐏n(i1,i1)𝐏n(id,id)=(𝐏n(0,0))d


Korzystając z powyższego wzoru oraz z twierdzenia 10.8, można obliczyć prawdopodobieństwa 𝐏dn(i) oraz prawdopodobieństwa powrotu w czasie skończonym Fnd(i) dla d=2,3,4,5,6. Warto w tym przypadku znowu skorzystać z programu Maple. Okazuje się, że:

𝐏2n(i), F2(0)=1,
𝐏3n(i)0.3932039296, F3(0)0.2822299888,
𝐏4n(i)0.1186363871, F4(0)0.1060544682,
𝐏5n(i)0.04682554981, F5(0)0.04473099631,
𝐏6n(i)0.02046077706, F6(0)0.02005052768.

Powyższe wyniki można interpretować w sposób następujący: w przypadku jedno i dwuwymiarowym nie można się podczas spaceru zgubić, natomiast jest to możliwe w wyższych wymiarach, przy czym im wymiar większy, tym prawdopodobieństwo powrotu jest mniejsze.

Ćwiczenie 10.3

Rozważymy pewien spacer losowy z barierami i zbadamy numerycznie zachowanie się kolejnych potęg macierzy przejścia.

Tym razem bariery ustawiamy w punktach 2 oraz 2, zaś parametrami określającymi spacer są:


p=0.5,q=0.3,r=0.2,sa=0.9,sb=0.1.


Macierz przejścia ma wówczas postać:


Parser nie mógł rozpoznać (nieznana funkcja „\noalign”): {\displaystyle \mathbf{P} = \left[ \begin{array} {ccccc} 0.9& 0.1& 0.0& 0.0& 0.0 \\\noalign{\medskip} 0.3& 0.2& 0.5& 0.0& 0.0\\\noalign{\medskip} 0.0& 0.3& 0.2& 0.5& 0.0\\\noalign{\medskip} 0.0& 0.0& 0.3& 0.2& 0.5 \\\noalign{\medskip} 0.0& 0.0& 0.0& 0.9& 0.1\end{array} \right]}


zatem:


Parser nie mógł rozpoznać (nieznana funkcja „\noalign”): {\displaystyle \mathbf{P}^{10} \approx \left[ \begin{array} {ccccc} 0.545& 0.115& 0.122& 0.145& 0.0731 \\\noalign{\medskip} 0.346& 0.103& 0.159& 0.252& 0.140 \\\noalign{\medskip} 0.219& 0.0956& 0.181& 0.325& 0.180 \\\noalign{\medskip} 0.157& 0.0906& 0.195& 0.353& 0.205 \\\noalign{\medskip} 0.142& 0.0909& 0.194& 0.368& 0.205\end{array} \right]}


Widzimy więc, na przykład, że prawdopodobieństwo przejścia w 10 krokach z lewej bariery do niej samej wynosi około 55, prawdopodobieństwo przejścia z lewej do prawej bariery - około 7, zaś z punktu 0 do niego samego - około 18.

Ćwiczenie 10.4

Zobaczymy, jak funkcjonuje twierdzenie ergodyczne w przypadku spaceru losowego opisanego w ćwiczeniu 10.3.

Macierze 𝐏30 i 𝐏50 wyglądają następująco:


Parser nie mógł rozpoznać (nieznana funkcja „\noalign”): {\displaystyle \mathbf{P}^{30} \approx \left[ \begin{array} {ccccc} 0.345& 0.103& 0.159& 0.254& 0.140 \\\noalign{\medskip} 0.309& 0.101& 0.165& 0.274& 0.152 \\\noalign{\medskip} 0.286& 0.0992& 0.170& 0.286& 0.159 \\\noalign{\medskip} 0.274& 0.0985& 0.172& 0.293& 0.163 \\\noalign{\medskip} 0.271& 0.0983& 0.172& 0.294& 0.164\end{array} \right]} ,


Parser nie mógł rozpoznać (nieznana funkcja „\noalign”): {\displaystyle \mathbf{P}^{50} \approx \left[ \begin{array} {ccccc} 0.309& 0.101& 0.165& 0.274& 0.152 \\\noalign{\medskip} 0.302& 0.100& 0.167& 0.277& 0.154 \\\noalign{\medskip} 0.298& 0.100& 0.167& 0.280& 0.155 \\\noalign{\medskip} 0.296& 0.0998& 0.168& 0.281& 0.156 \\\noalign{\medskip} 0.295& 0.0998& 0.168& 0.281& 0.156\end{array} \right]}


Widzimy, że (tak jak przewiduje twierdzenie) wiersze powyższych macierzy stają się do siebie coraz bardziej podobne.

Znajdziemy teraz rozkład stacjonarny, rozwiązując odpowiedni układ równań postaci Ax=b. Wyznaczamy najpierw A oraz b tak, aby układ ten był równoważny układowi występującemu w twierdzeniu ergodycznym (twierdzenie 10.11). Otrzymujemy:


Parser nie mógł rozpoznać (nieznana funkcja „\noalign”): {\displaystyle A = \left[ \begin{array} {ccccc} - 0.1& 0.3&0&0&0\\\noalign{\medskip} 0.1&- 0.8& 0.3&0&0\\\noalign{\medskip}0& 0.5&- 0.8& 0.3&0 \\\noalign{\medskip}0&0& 0.5&- 0.8& 0.9\\\noalign{\medskip}0&0&0& 0.5& - 0.9\\\noalign{\medskip}1&1&1&1&1\end{array} \right], \ \ b = \left[ \begin{array} {c} 0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}0\\\noalign{\medskip}1 \end{array} \right]}


Łatwo obliczyć (można, oczywiście, skorzystać z programu Maple), że przybliżonym rozwiązaniem naszego układu równań jest następujący wektor π:


π[0.300370.100120.166870.278120.15451]


Widzimy, że rzeczywiście rozkład stacjonarny niewiele różni się od wierszy macierzy P50.


Ćwiczenie 10.5

Znajdziemy rozkłady i wartości oczekiwane zmiennych losowych Xn (dla niektórych wartości n), oznaczających kapitał Antoniego z przykładu 10.5. Przyjmiemy następujące założenia:


A=8,B=5,p=0.2,q=0.4,


które oznaczają, że Antoni ma większy kapitał, ale Bolesław jest lepszym graczem.

Przypominamy, że mamy tutaj 14 stanów:

E={0,1,,13}.

Stan "0" oznacza definitywną ruinę Adama, zaś stan "13" - jego całkowitą wygraną, natomiast gra startuje ze stanu "8".

Konstruujemy macierz przejścia 𝐏:


Parser nie mógł rozpoznać (nieznana funkcja „\noalign”): {\displaystyle \mathbf{P} = \left[ \begin{array} {cccccccccccccc} 1&0&0&0&0&0&0&0&0&0&0&0&0&0 \\\noalign{\medskip} 0.4& 0.4& 0.2&0&0&0&0&0&0&0&0&0&0&0 \\\noalign{\medskip}0& 0.4& 0.4& 0.2&0&0&0&0&0&0&0&0&0&0 \\\noalign{\medskip}0&0& 0.4& 0.4& 0.2&0&0&0&0&0&0&0&0&0 \\\noalign{\medskip}0&0&0& 0.4& 0.4& 0.2&0&0&0&0&0&0&0&0 \\\noalign{\medskip}0&0&0&0& 0.4& 0.4& 0.2&0&0&0&0&0&0&0 \\\noalign{\medskip}0&0&0&0&0& 0.4& 0.4& 0.2&0&0&0&0&0&0 \\\noalign{\medskip}0&0&0&0&0&0& 0.4& 0.4& 0.2&0&0&0&0&0 \\\noalign{\medskip}0&0&0&0&0&0&0& 0.4& 0.4& 0.2&0&0&0&0 \\\noalign{\medskip}0&0&0&0&0&0&0&0& 0.4& 0.4& 0.2&0&0&0 \\\noalign{\medskip}0&0&0&0&0&0&0&0&0& 0.4& 0.4& 0.2&0&0 \\\noalign{\medskip}0&0&0&0&0&0&0&0&0&0& 0.4& 0.4& 0.2&0 \\\noalign{\medskip}0&0&0&0&0&0&0&0&0&0&0& 0.4& 0.4& 0.2 \\\noalign{\medskip}0&0&0&0&0&0&0&0&0&0&0&0&0&1\end{array} \right] }


i zadajemy rozkład początkowy:


𝐩=[00000000100000],


Można teraz łatwo obliczać kolejne rozkłady korzystając z wzoru 10.1 - tak wyglądają, obliczone przy pomocy programu Maple, rozkłady po zakończeniu piątej, dwudziestej i dwusetnej gry:


𝐩5[0000.01020.05120.1280.2050.2300.1890.1150.05120.01600.003200.00032],𝐩20[0.1760.06200.09540.1130.1180.1120.09730.07760.05680.03780.02250.01140.004220.0165],𝐩200[0.9690.00001170.00001600.00001610.00001420.00001140.8541050.6041050.4021050.2501050.1431050.7071060.2571060.0311],


natomiast ich nadzieje matematyczne wynoszą:


𝔼(X5)7.00000,𝔼(X20)4.157931285,𝔼(X200)0.4050783639


Tak więc po 200 grach mamy prawie 97 pewności, że Adam będzie bankrutem (jest też niewielka nadzieja, że wygra). Jednakże jest niezwykle mało prawdopodobne, że gra w ogóle będzie się toczyć (formalnie toczy się przez cały czas, tylko pozostaje w jednym ze stanów pochłaniających: "0" lub " 13").

Powyższą sytuację ilustruje także następująca animacja rozkładów prawdopodobieństwa zmiennych losowych X1,,X200:


Zadanie 10.1
Napisz i uruchom program, który dla zadanej macierzy przejścia i zadanego rozkładu prawdopodobieństwa: (a) symuluje łańcuch Markowa, (b) wyznacza kolejne rozkłady prawdopodobieństwa tego łańcucha.

Zadanie 10.2
Rozważmy spacer losowy po okręgu. Załóżmy, że cząsteczka może się znajdować w punktach odpowiadającym kątom k2πn, gdzie n jest ustaloną liczbą naturalną, natomiast k=0,,n1. Cząsteczka porusza się zgodnie z ruchem wskazówek zegara z prawdopodobieństwem p, przeciwnie do ruchu wskazówek zegara - z prawdopodobieństwem q i nie zmienia położenia z prawdopodobieństwem r (p+q+r=1). Wskaż macierz przejścia odpowiedniego łańcucha Markowa.

Zadanie 10.3
Znajdź macierz przejścia oraz rozkład początkowy łańcucha Markowa, który jest modelem zagadnienia opisanego w (patrz zadaniu 5.9).

Zadanie 10.4
Niech ξ0,,ξn będą niezależnymi zmiennymi losowymi, przyjmującymi jedynie wartości całkowite. Załóżmy, że zmienna ξ0 ma rozkład q0, natomiast zmienne ξ1,,ξn mają wspólny rozkład q. Określmy:


X0=ξ0  oraz  Xn+1=Xn+ξn+1 dla  n=0,1,2,


Sprawdź, że zmienne losowe Xn tworzą łańcuch Markowa.

Zadanie 10.5
Niech 𝐏 będzie macierzą przejścia pewnego łańcucha Markowa. Wykaż, że dla wszystkich potęg k zachodzi warunek:


jE𝐏k(i,j)=1 dla każdego iE.

Zadanie 10.6
Niech zmienne losowe Xn, n=0,1,2,, tworzą łańcuch Markowa. Pokaż, że zmienne X0,Xk,X2k,, gdzie k>1 jest ustaloną liczbą, także tworzą łańcuch Markowa.

Zadanie 10.7
Napisz procedury, które symulują łańcuchy Markowa z przykładu 10.6 oraz z zadań 10.2 i 10.3.

Zadanie 10.8
Pokaż, że dla ergodycznego łańcucha Markowa oraz dla dowolnego rozkładu początkowego 𝐩, rozkłady wektorów losowych Xn są zbieżne do rozkładu stacjonarnego π, to znaczy:


limn𝐩n(i)=π(i) dla każdego iE

Zadanie 10.9
Znajdź rozkłady stacjonarne (o ile istnieją) dla łańcuchów Markowa z przykładu 10.6 oraz zadań 10.2 i 10.3.

Zadanie 10.10
Podaj przykład nieredukowalnego łańcucha Markowa o skończonej liczbie stanów, który nie jest ergodyczny.

Zadanie 10.11
Wykaż, że ergodyczny łańcuch Markowa jest powracający.