Markov chains

This commit is contained in:
Antti H S Laaksonen 2017-01-15 14:31:56 +02:00
parent 63edb1e75b
commit 452a2cfd3d
1 changed files with 51 additions and 51 deletions

View File

@ -205,7 +205,7 @@ are independent. Hence the event
happens with probability happens with probability
\[P(A \cap B)=P(A)P(B)=1/4 \cdot 1/13 = 1/52.\] \[P(A \cap B)=P(A)P(B)=1/4 \cdot 1/13 = 1/52.\]
\section{Random variable} \section{Random variables}
\index{random variable} \index{random variable}
@ -366,32 +366,29 @@ is exactly 4 is $(5/6)^3 1/6$.
The expected value for $X$ in a geometric distribution is The expected value for $X$ in a geometric distribution is
\[E[X]=\frac{1}{p}.\] \[E[X]=\frac{1}{p}.\]
\section{Markovin ketju} \section{Markov chains}
\index{Markovin ketju@Markovin ketju} \index{Markov chain}
\key{Markovin ketju} on satunnaisprosessi, A \key{Markov chain} is a random process
joka muodostuu tiloista ja niiden välisistä siirtymistä. that consists of states and transitions between them.
Jokaisesta tilasta tiedetään, millä todennäköisyydellä For each state, we know the probabilities
siitä siirrytään toisiin tiloihin. for moving to other states.
Markovin ketju voidaan esittää verkkona, A Markov chain can be represented as a graph
jonka solmut ovat tiloja whose nodes are states and edges are transitions.
ja kaaret niiden välisiä siirtymiä.
Tarkastellaan esimerkkinä tehtävää, As an example, let's consider a problem
jossa olet alussa $n$-kerroksisen where we are in floor 1 in a $n$ floor building.
rakennuksen kerroksessa 1. At each step, we randomly walk either one floor
Joka askeleella liikut satunnaisesti up or one floor down, except that we always
kerroksen ylöspäin tai alaspäin, walk one floor up from floor 1 and one floor down
paitsi kerroksesta 1 liikut aina ylöspäin from floor $n$.
ja kerroksesta $n$ aina alaspäin. What is the probability that we are in floor $m$
Mikä on todennäköisyys, että olet $m$ after $k$ steps?
askeleen jälkeen kerroksessa $k$?
Tehtävässä kukin rakennuksen kerros In this problem, each floor of the building
on yksi tiloista, ja kerrosten välillä liikutaan corresponds to a state in a Markov chain.
satunnaisesti. For example, if $n=5$, the graph is as follows:
Esimerkiksi jos $n=5$, verkosta tulee:
\begin{center} \begin{center}
\begin{tikzpicture}[scale=0.9] \begin{tikzpicture}[scale=0.9]
@ -415,29 +412,32 @@ Esimerkiksi jos $n=5$, verkosta tulee:
\end{tikzpicture} \end{tikzpicture}
\end{center} \end{center}
Markovin ketjun tilajakauma on vektori The probability distribution
$[p_1,p_2,\ldots,p_n]$, missä $p_k$ tarkoittaa of a Markov chain is a vector
todennäköisyyttä olla tällä hetkellä tilassa $k$. $[p_1,p_2,\ldots,p_n]$, where $p_k$ is the
Todennäköisyyksille pätee aina $p_1+p_2+\cdots+p_n=1$. probability that the current state is $k$.
The formula $p_1+p_2+\cdots+p_n=1$ always holds.
Esimerkissä jakauma on ensin $[1,0,0,0,0]$, In the example, the initial distribution is
koska on varmaa, että kulku alkaa kerroksesta 1. $[1,0,0,0,0]$, because we always begin at floor 1.
Seuraava jakauma on $[0,1,0,0,0]$, The next distribution is $[0,1,0,0,0]$,
koska kerroksesta 1 pääsee vain kerrokseen 2. because we can only move from floor 1 to floor 2.
Tämän jälkeen on mahdollisuus mennä joko ylöspäin After this, we can either move one floor up
tai alaspäin, joten seuraava jakauma on $[1/2,0,1/2,0,0]$, jne. or one floor down, so the next distribution is
$[1/2,0,1/2,0,0]$, etc.
Tehokas tapa simuloida kulkua Markovin ketjussa An efficient way to simulate the walk in
on käyttää dynaamista ohjelmointia. a Markov chain is to use dynaimc programming.
Ideana on pitää yllä tilajakaumaa The idea is to maintain the probability distribution
ja käydä joka vuorolla läpi kaikki tilat and at each step go through all possibilities
ja jokaisesta tilasta kaikki mahdollisuudet jatkaa eteenpäin. how we can move.
Tätä menetelmää käyttäen $m$ askeleen simulointi Using this method, we can simulate $m$ steps
vie aikaa $O(n^2 m)$. in $O(n^2 m)$ time.
Markovin ketjun tilasiirtymät voi esittää myös matriisina, The transitions of a Markov chain can also be
jonka avulla voi päivittää tilajakaumaa askeleen eteenpäin. represented as a matrix that updates the
Tässä tapauksessa matriisi on probability distribution.
In this case, the matrix is
\[ \[
\begin{bmatrix} \begin{bmatrix}
@ -449,10 +449,11 @@ Tässä tapauksessa matriisi on
\end{bmatrix}. \end{bmatrix}.
\] \]
Tällaisella matriisilla voi kertoa tilajakaumaa esittävän When we multiply a probability distribution by this matrix,
vektorin, jolloin saadaan tilajakauma yhtä askelta myöhemmin. we get the new distribution after moving one step.
Esimerkiksi jakaumasta $[1,0,0,0,0]$ pääsee jakaumaan For example, we can move from the distribution
$[0,1,0,0,0]$ seuraavasti: $[1,0,0,0,0]$ to the distribution
$[0,1,0,0,0]$ as follows:
\[ \[
\begin{bmatrix} \begin{bmatrix}
@ -479,10 +480,9 @@ $[0,1,0,0,0]$ seuraavasti:
\end{bmatrix}. \end{bmatrix}.
\] \]
Matriisiin voi soveltaa edelleen tehokasta By calculating matrix powers efficiently,
matriisipotenssia, jonka avulla voi laskea we can calculate in $O(n^3 \log m)$ time
ajassa $O(n^3 \log m)$, the distribution after $m$ steps.
mikä on jakauma $m$ askeleen jälkeen.
\section{Satunnaisalgoritmit} \section{Satunnaisalgoritmit}