Skip to content

Commit

Permalink
format
Browse files Browse the repository at this point in the history
  • Loading branch information
johnjim0816 committed Jul 31, 2023
1 parent dc786ba commit c460045
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 40 deletions.
45 changes: 35 additions & 10 deletions docs/ch2/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@


<div align=center>
<img width="800" src="../figs/ch2/interaction_mdp.png"/>
<img width="600" src="../figs/ch2/interaction_mdp.png"/>
</div>
<div align=center>图 2.1 马尔可夫决策过程中智能体与环境的交互过程</div>

Expand Down Expand Up @@ -77,7 +77,7 @@ $$
<div align=center>
<img width="400" src="../figs/ch2/fsm.png"/>
</div>
<div align=center>图 2.2 马尔可夫链</div>
<div align=center>图 $2.2$ 马尔可夫链</div>

如图 2.2 所示,图中每个曲线箭头表示指向自己,比如当学生在认真听讲即处于状态 $s_1$ 时,会有 $0.2$ 的概率继续认真听讲。当然也会分别有 $0.4$ 和 $0.4$ 的概率玩手机($s_2$)或者睡觉($s_3$)。此外,当学生处于状态 $s_2$ 时,也会有 $0.2$ 的概率会到认真听讲的状态($s_1$),像这种两个状态之间能互相切换的情况我们用一条没有箭头的线连接起来,参考无向图的表示。

Expand All @@ -89,14 +89,39 @@ $$

即当前状态是 $s$ 时,下一个状态是 $s'$的概率,其中大写的 $S$ 表示所有状态的集合,即 $S=\{s_1,s_2,s_3\}$ 。

由于状态数是有限的,我们可以把这些概率绘制成表格的形式,如下:


| | $S_{t+1} = s_1$ | $S_{t+1} = s_2$ | $S_{t+1} = s_3$ |
| :---------: | :-------------: | :-------------: | :-------------: |
| $S_t = s_1$ | $0.2$ | $0.4$ | $0.4$ |
| $S_t = s_2$ | $0.2$ | $0.5$ | $0.3$ |
| $S_t = s_3$ | $0.1$ | $0.3$ | $0.6$ |
由于状态数是有限的,我们可以把这些概率绘制成表格的形式,如表 $2.1$ 所示。

<div style="text-align: center;">
<div style="display: table; margin: 0 auto;">
<table>
<tr>
<th> $\space$ </th>
<th>$S_{t+1} = s_1$</th>
<th>$S_{t+1} = s_2$</th>
<th>$S_{t+1} = s_3$</th>
</tr>
<tr>
<td>$S_t = s_1$</td>
<td>$0.2$</td>
<td>$0.4$</td>
<td>$0.4$</td>
</tr>
<tr>
<td>$S_t = s_2$</td>
<td>$0.2$</td>
<td>$0.5$</td>
<td>$0.3$</td>
</tr>
<tr>
<td>$S_t = s_3$</td>
<td>$0.1$</td>
<td>$0.3$</td>
<td>$0.6$</td>
</tr>
</table>
</div>
<div>表 $2.1$ :马尔可夫状态表</div>
</div>


在数学上也可以用矩阵来表示,如下:
Expand Down
9 changes: 5 additions & 4 deletions docs/ch3/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,21 @@

这种问题有很多的解法,比如可以直接数出来有多少不同的路径,但当 $m$ 和 $n$ 很大时这种直接计数法就不太适用了。我们讲一讲动态规划的做法,动态规划的解法主要有几个步骤:确定状态,写出状态转移方程和寻找边界条件。

在这个例题中我们首先可以定一个 $f(i,j)$,表示从左上角即坐标为$(0,0)$到坐标$(i,j)$的路径数量,其中 $i \in [0,m)$ 以及$j \in [0,n)$。由于机器人只能向右或者向下走,所以当机器人处于$(i,j)$的位置时,它的前一个坐标只能是上边一格$(i,j-1)$或者左边一格 $(i-1,j)$ ,这样一来就能建立出一个状态之间的关系,如下:
在这个例题中我们首先可以定一个 $f(i,j)$ ,表示从左上角即坐标为 $(0,0)$ 到坐标 $(i,j)$ 的路径数量,其中 $i \in [0,m)$ 以及$j \in [0,n)$。由于机器人只能向右或者向下走,所以当机器人处于 $(i,j)$ 的位置时,它的前一个坐标只能是上边一格 $(i,j-1)$ 或者左边一格 $(i-1,j)$ ,这样一来就能建立出一个状态之间的关系,如式 $\text(3.1)$ 所示。

$$
\tag{3.1}
f(i,j) = f(i-1,j) + f(i,j-1)
$$

即走到当前位置$(i,j)$的路径数量等于走到前一个位置$(i,j-1)$$(i-1,j)$的所有路径之和,这个就是状态转移方程。
即走到当前位置 $(i,j)$ 的路径数量等于走到前一个位置 $(i,j-1)$$(i-1,j)$ 的所有路径之和,这个就是状态转移方程。

此外我们需要考虑一些边界条件,因为在状态转移方程中$i$$j$是不能等于$0$的,比如都等于$0$的时候会出现$f(0,0)+f(-1,0)+f(0,-1)$,$f(-1,0)$或者$f(0,-1)$在本题中是没有意义的,因此我们需要额外判断$i$$j$等于0的情况。如图 3.2 所示,首先我们考虑$i=0,j=0$的情况,即$f(0,0)$,显然此时机器人在起始点,从起始点到起始点$(0,0)$对应的路径数量必然是 $1$,对于$i\neq0,j=0$,此时机器人会一直沿着网格左边沿往下走,这条路径上的所有$f(i,j)$也都会是1,$i=0,j\neq0$的情况同理。
此外我们需要考虑一些边界条件,因为在状态转移方程中 $i$$j$ 是不能等于 $0$ 的,比如都等于$0$的时候会出现 $f(0,0)+f(-1,0)+f(0,-1)$ ,$f(-1,0)$ 或者 $f(0,-1)$ 在本题中是没有意义的,因此我们需要额外判断 $i$$j$ 等于 $0$ 的情况。如图 $3.2$ 所示,首先我们考虑 $i=0,j=0$ 的情况,即 $f(0,0)$ ,显然此时机器人在起始点,从起始点到起始点 $(0,0)$ 对应的路径数量必然是 $1$ ,对于 $i\neq0,j=0$ ,此时机器人会一直沿着网格左边沿往下走,这条路径上的所有 $f(i,j)$ 也都会是 $1$ ,$i=0,j\neq0$ 的情况同理。

<div align=center>
<img width="400" src="../figs/ch3/robot_maze_2.png"/>
</div>
<div align=center>图 3.2 路径之和解析</div>
<div align=center>图 $3.2$ 路径之和解析</div>

因此我们的状态转移方程可以完善为:

Expand Down
Loading

0 comments on commit c460045

Please sign in to comment.