From a91f43b6c8664743723bb2bfa249ce6d152fe9c7 Mon Sep 17 00:00:00 2001 From: Yi Pan Date: Mon, 1 Jul 2024 19:08:08 +0800 Subject: [PATCH 1/4] docs(bayes.md): add introduction of bayes network. --- docs/bayes.md | 53 ++++++++++++++++++++++++++++++++++++++ tracking/images/bayes.png | Bin 0 -> 119256 bytes 2 files changed, 53 insertions(+) create mode 100644 docs/bayes.md create mode 100644 tracking/images/bayes.png diff --git a/docs/bayes.md b/docs/bayes.md new file mode 100644 index 0000000..191f5b3 --- /dev/null +++ b/docs/bayes.md @@ -0,0 +1,53 @@ +# 贝叶斯网络 + +## 介绍 + +贝叶斯网络是一种概率图式模型,通过对随机变量构建有向无环图捕捉其概率分布。更具体地,你的任务为通过条件概率表来完成指定的查询,即给定先验概率 $P(Q)$ 和条件概率 $P(E|Q)$, 求解后验概率 $P(Q|e)$. 为了解决这一问题,我们可以构建联合分布 + +$$ P(EQ) = P(E|Q) P(Q) $$ + +再计算 + +$$ P(Q|e) = \frac{P(Qe)}{P(e)} = \frac{P(Qe)}{\sum_{q} P(qe)} $$ + +这样就可以通过联合概率分布来计算后验概率。这一实现存在两个很大的问题: +1. 完整的联合分布概率表的大小与事件个数呈指数关系(为什么?),导致存储与计算开销太大。 +2. 先验地估计所有信息是困难的。 + +为此我们考察使用条件概率分布进行推理,即使用贝叶斯公式: + +$$ P(Q|e) = \frac{P(e|Q) P(Q)}{\sum_{q} P(e|q) P(q)} $$ + +这是贝叶斯网络背后的动机:一种使用简单的局部分布(条件概率)描述复杂联合分布(模型)的技术。我们描述变量如何在局部相互作用,并将这些作用组合建模全局的间接相互作用。 + +## 栗子 + +在使用 Google 搜索时,当你不小心输入一个不存在的单词时,搜索引擎会提示你是不是要输入某一个正确的单词。Google的拼写检查基于贝叶斯方法。下面我们就来看看,怎么利用贝叶斯方法,实现"拼写检查"的功能。 + +用户输入一个单词时,可能拼写正确,也可能拼写错误。如果把拼写正确的情况记做c(代表correct),拼写错误的情况记做 w(代表wrong),那么“拼写检查”要做的事情就是:在发生 w 的情况下,试图推断出 c。换言之,已知w,然后在若干个备选方案中,找出可能性最大的那个 $c$, 也就是求 $P(c|w)=P(w|c)P(c)/P(w)$ 的最大值,故只需考察 $\operatorname{argmax}_{c} P(w|c)P(c)$ 即可。 + +![](images/bayes.png) + +上面是一个实际的贝叶斯网络的例子,其中每个节点代表一个事件,节点对应的表即为贝叶斯网络中存储的信息,若我们想要计算 $ P(+w \mid +s, -g) $,则有: + +$$ P(+w \mid +s, -g) = \frac{P(+w, +s, -g)}{P(+s, -g)} $$ + +(链式规则) + +$$ P(+w, +s, -g) = \sum_h P(h, +w, +s, -g) $$ + +(边缘化) + +$$ \sum_{h, w} P(h, w, +s, -g) = \sum_h P(h)P(+w \mid h)P(+s \mid +w)P(-g \mid +w) $$ + +(联合概率分布 = 边缘概率分布的乘积) +$$ +\begin{aligned} +P(+w \mid +s, -g) &= \frac{P(+w, +s, -g)}{P(+s, -g)} \quad (\text{条件概率}) \\ +&= \frac{\sum_h P(h, +w, +s, -g)}{\sum_{h, w} P(h, w, +s, -g)} \quad (\text{联合分布转边缘分布}) \\ +&= \frac{\sum_h P(h)P(+w \mid h)P(+s \mid +w)P(-g \mid +w)}{\sum_{h,w} P(h)P(w +\mid h)P(+s \mid w)P(-g \mid w)} \quad (\text{转为条件概率的乘积}) \\ +&= \frac{0.1 \times 0.667 \times 0.4 \times 0.75 + 0.9 \times 0.25 \times 0.4 \times 0.75}{0.1 \times 0.667 \times 0.4 \times 0.75 + 0.9 \times 0.25 \times 0.4 \times 0.75 + 0.1 \times 0.333 \times 0.2 \times 0.5 + 0.9 \times 0.75 \times 0.2 \times 0.5} \\ +&= 0.553 +\end{aligned} +$$ \ No newline at end of file diff --git a/tracking/images/bayes.png b/tracking/images/bayes.png new file mode 100644 index 0000000000000000000000000000000000000000..ef1b4b6b90b4cac43d0016f9baef5ef164d6e5b8 GIT binary patch literal 119256 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 Date: Mon, 1 Jul 2024 19:10:55 +0800 Subject: [PATCH 2/4] docs(bayes.md): add introduction of bayes network. --- docs/bayes.md | 53 ++++++++++++++++++++++++++++++++++++++++++ docs/images/bayes.png | Bin 0 -> 119256 bytes 2 files changed, 53 insertions(+) create mode 100644 docs/bayes.md create mode 100644 docs/images/bayes.png diff --git a/docs/bayes.md b/docs/bayes.md new file mode 100644 index 0000000..191f5b3 --- /dev/null +++ b/docs/bayes.md @@ -0,0 +1,53 @@ +# 贝叶斯网络 + +## 介绍 + +贝叶斯网络是一种概率图式模型,通过对随机变量构建有向无环图捕捉其概率分布。更具体地,你的任务为通过条件概率表来完成指定的查询,即给定先验概率 $P(Q)$ 和条件概率 $P(E|Q)$, 求解后验概率 $P(Q|e)$. 为了解决这一问题,我们可以构建联合分布 + +$$ P(EQ) = P(E|Q) P(Q) $$ + +再计算 + +$$ P(Q|e) = \frac{P(Qe)}{P(e)} = \frac{P(Qe)}{\sum_{q} P(qe)} $$ + +这样就可以通过联合概率分布来计算后验概率。这一实现存在两个很大的问题: +1. 完整的联合分布概率表的大小与事件个数呈指数关系(为什么?),导致存储与计算开销太大。 +2. 先验地估计所有信息是困难的。 + +为此我们考察使用条件概率分布进行推理,即使用贝叶斯公式: + +$$ P(Q|e) = \frac{P(e|Q) P(Q)}{\sum_{q} P(e|q) P(q)} $$ + +这是贝叶斯网络背后的动机:一种使用简单的局部分布(条件概率)描述复杂联合分布(模型)的技术。我们描述变量如何在局部相互作用,并将这些作用组合建模全局的间接相互作用。 + +## 栗子 + +在使用 Google 搜索时,当你不小心输入一个不存在的单词时,搜索引擎会提示你是不是要输入某一个正确的单词。Google的拼写检查基于贝叶斯方法。下面我们就来看看,怎么利用贝叶斯方法,实现"拼写检查"的功能。 + +用户输入一个单词时,可能拼写正确,也可能拼写错误。如果把拼写正确的情况记做c(代表correct),拼写错误的情况记做 w(代表wrong),那么“拼写检查”要做的事情就是:在发生 w 的情况下,试图推断出 c。换言之,已知w,然后在若干个备选方案中,找出可能性最大的那个 $c$, 也就是求 $P(c|w)=P(w|c)P(c)/P(w)$ 的最大值,故只需考察 $\operatorname{argmax}_{c} P(w|c)P(c)$ 即可。 + +![](images/bayes.png) + +上面是一个实际的贝叶斯网络的例子,其中每个节点代表一个事件,节点对应的表即为贝叶斯网络中存储的信息,若我们想要计算 $ P(+w \mid +s, -g) $,则有: + +$$ P(+w \mid +s, -g) = \frac{P(+w, +s, -g)}{P(+s, -g)} $$ + +(链式规则) + +$$ P(+w, +s, -g) = \sum_h P(h, +w, +s, -g) $$ + +(边缘化) + +$$ \sum_{h, w} P(h, w, +s, -g) = \sum_h P(h)P(+w \mid h)P(+s \mid +w)P(-g \mid +w) $$ + +(联合概率分布 = 边缘概率分布的乘积) +$$ +\begin{aligned} +P(+w \mid +s, -g) &= \frac{P(+w, +s, -g)}{P(+s, -g)} \quad (\text{条件概率}) \\ +&= \frac{\sum_h P(h, +w, +s, -g)}{\sum_{h, w} P(h, w, +s, -g)} \quad (\text{联合分布转边缘分布}) \\ +&= \frac{\sum_h P(h)P(+w \mid h)P(+s \mid +w)P(-g \mid +w)}{\sum_{h,w} P(h)P(w +\mid h)P(+s \mid w)P(-g \mid w)} \quad (\text{转为条件概率的乘积}) \\ +&= \frac{0.1 \times 0.667 \times 0.4 \times 0.75 + 0.9 \times 0.25 \times 0.4 \times 0.75}{0.1 \times 0.667 \times 0.4 \times 0.75 + 0.9 \times 0.25 \times 0.4 \times 0.75 + 0.1 \times 0.333 \times 0.2 \times 0.5 + 0.9 \times 0.75 \times 0.2 \times 0.5} \\ +&= 0.553 +\end{aligned} +$$ \ No newline at end of file diff --git a/docs/images/bayes.png b/docs/images/bayes.png new file mode 100644 index 0000000000000000000000000000000000000000..ef1b4b6b90b4cac43d0016f9baef5ef164d6e5b8 GIT binary patch literal 119256 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 Date: Mon, 1 Jul 2024 19:36:37 +0800 Subject: [PATCH 3/4] feat: tracking --- tracking/README.md | 167 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 tracking/README.md diff --git a/tracking/README.md b/tracking/README.md new file mode 100644 index 0000000..e8a0293 --- /dev/null +++ b/tracking/README.md @@ -0,0 +1,167 @@ +#### 介绍 + +> 我能听到你的声音,幽灵。 +逃跑并不能让你逃脱我的 +粒子滤波器! + +帕克曼一生都在逃离鬼魂,但事情并不总是这样。传说许多年前,帕克曼的曾祖父帕克曼爷爷学会了猎杀鬼魂。然而,他被自己的力量蒙蔽了双眼,只能通过鬼魂的撞击声和叮当声来追踪它们。 + +在这个项目中,你将设计 Pacman agent,使用传感器来定位和吃掉隐形幽灵。您将从定位单个静止的幽灵进步到以无情的效率猎杀多个移动幽灵群。 + +你需要补全的代码文件有: +- `bustersAgents.py` +- `inference.py`: 用于利用鬼魂的声音来追踪鬼魂随时间变化的代码。 +- `factorOperations.py`: 计算新的联合或边值化概率表的操作。 + +你可以阅读并参考来帮助你实现代码的文件有: +- `bayesNet.py`: `BayesNet` 和 `Factor` 类。 + +你可以忽略其他支持文件。 + +#### Ghostbusters(捉鬼敢死队) and Bayes Nets + +在《捉鬼敢死队》中,目标是追捕那些处于惊恐状态(能吃)但看不见的鬼魂。 Pacman 一如既往地足智多谋,他装备了声纳(耳朵),可以提供到每个鬼魂的曼哈顿距离的噪声读数。当吃豆人吃掉所有鬼魂时,游戏结束。要开始游戏,可以使用键盘进行操作。 + +``` +python busters.py +``` + +彩色方块表示根据提供给吃豆人的噪声距离读数,每个鬼魂可能出现的位置。显示底部的噪声距离总是非负的,并且总是与真实距离相差 7 以内。距离读数的概率随着与真实距离的差异呈指数下降。 + +在这个项目中,你的主要任务是实现推理以追踪鬼魂。对于上面的基于键盘的游戏,默认为你实现了一种粗略的推理形式:所有鬼魂可能存在的方格都被鬼魂的颜色遮蔽。显然,我们希望能更好地估计鬼魂的位置。幸运的是,贝叶斯网络为我们提供了强大的工具,能够最大限度地利用我们拥有的信息。在这个项目的其余部分中,你将使用贝叶斯网络实现精确和近似推理算法。这个项目具有挑战性,因此我们鼓励你尽早开始并在必要时寻求帮助。 + +在使用自动评分器观看和调试代码时,了解自动评分器的工作原理将很有帮助。这个项目中有两种类型的测试,可以通过 `test_cases` 文件夹子目录中的 `.test` 文件来区分。对于 `DoubleInferenceAgentTest` 类的测试,你将看到代码生成的推理分布的可视化,但所有吃豆人的动作都将根据工作人员实现的动作预先选择。这是为了允许将你的分布与工作人员的分布进行比较。第二种测试是 `GameScoreTest`,在这种测试中,你的 `BustersAgent` 将实际为吃豆人选择动作,你将观看你的吃豆人游戏并获胜。 + +在这个项目中,如果运行带图形的测试,自动评分器有时可能会超时。为了准确判断你的代码是否足够高效,你应该使用 `--no-graphics` 标志运行测试。如果使用此标志自动评分器通过了测试,即使带图形的自动评分器超时,你也会获得满分。 + +#### 贝叶斯网络和因子 + +首先,看看 `bayesNet.py` 文件,了解你将要使用的类——贝叶斯网络(BayesNet)和因子(Factor)。你还可以运行这个文件,查看一个贝叶斯网络及其相关因子的示例:`python bayesNet.py`。 + +你应该查看 `printStarterBayesNet` 函数——其中有一些有用的注释,可以让你的工作更轻松。 + +该函数创建的贝叶斯网络如下所示: + +(Raining –> Traffic <– Ballgame) + +下面是术语的摘要: + +**贝叶斯网络(Bayes Net)**:这是一个将概率模型表示为有向无环图(DAG)和一组条件概率表(每个变量一个)的表示。上面的交通贝叶斯网络是一个示例。 + +**因子(Factor)**:这存储了一个概率表,尽管表中条目的总和不一定是1。因子的通用形式是 +$ f(X_1, \ldots, X_m, y_1, \ldots, y_n \mid Z_1, \ldots, Z_p, w_1, \ldots, w_q) $ +请记住,小写变量已经被赋值。对于每个可能的 $X_i$ 和 $Z_j$ 变量的赋值,因子存储一个数字。$Z_j$ 和 $w_k$ 变量被称为条件变量,而 $X_i$ 和 $y_l$ 变量是非条件变量。 + +**条件概率表(CPT)**:这是一个满足两个属性的因子: +1. 条目的总和对于每个条件变量的赋值必须为1。 +2. 只有一个非条件变量。交通贝叶斯网络存储了以下CPT: +$ P(Raining), P(Ballgame), P(Traffic \mid Ballgame, Raining) $ + +#### Q1: Bayes Net Structure + +请在 `inference.py` 中实现 `constructBayesNet` 函数。它构建了一个具有以下结构的空贝叶斯网络。一个贝叶斯网络在没有实际概率的情况下是不完整的,但因子由工作人员代码单独定义和分配;你不需要担心这些。如果你感兴趣,可以在 `bayesNet.py` 中查看 `printStarterBayesNet` 的工作示例。阅读这个函数对于完成这个问题也很有帮助。 + +简化的捉鬼世界是根据以下贝叶斯网络生成的: + +![Bayes Net](https://inst.eecs.berkeley.edu/~cs188/sp24/assets/projects/busters_bayes_net_simplified.png) + +这个看起来很复杂,但不用担心!我们会一步一步来。正如 `constructBayesNet` 代码中所描述的那样,我们通过列出所有变量、它们的值以及它们之间的边来构建空结构。这个图显示了变量和边,但它们的域是什么呢? +- 根据图添加变量和边。 +- 吃豆人和两个鬼魂可以在网格中的任何地方(我们在这里忽略墙壁)。为这些添加所有可能的位置元组。 +- 这里的观察值是非负的,等于吃豆人与鬼魂之间的曼哈顿距离 +$\pm$ 噪声。 + +评分:要测试和调试你的代码,请运行 + +``` +python autograder.py -q q1 +``` + +#### Q2: Join Factors + +请在 `factorOperations.py` 中实现 `joinFactors` 函数。该函数接收一个因子列表并返回一个新因子,其概率条目是输入因子对应行的乘积。 + +`joinFactors` 可以用作乘积规则,例如,如果我们有一个形式为 $P(X \mid Y)$ 的因子和另一个形式为 $P(Y)$ 的因子,那么合并这些因子将得到 \(P(X, Y)\)。因此,`joinFactors` 允许我们为条件变量(在本例中是 \(Y\))加入概率。但是,你不应该假设 `joinFactors` 只对概率表调用——也可以对行和不等于1的因子调用 `joinFactors`。 + +要测试和调试你的代码,请运行 + +``` +python autograder.py -q q2 +``` + +在调试期间运行特定测试可能会很有用,可以只看到一组因子的输出。例如,要仅运行第一个测试,请运行: + +``` +python autograder.py -t test_cases/q2/1-product-rule +``` + +提示和观察: + +1. 你的 `joinFactors` 应返回一个新因子。 +2. 以下是 `joinFactors` 可以执行的操作示例: + - $ \text{joinFactors}(P(X \mid Y), P(Y)) = P(X, Y) $ + - $ \text{joinFactors}(P(V, W \mid X, Y, Z), P(X, Y \mid Z)) = P(V, W, X, Y \mid Z) $ + - $ \text{joinFactors}(P(X \mid Y, Z), P(Y)) = P(X, Y \mid Z) $ + - $ \text{joinFactors}(P(V \mid W), P(X \mid Y), P(Z)) = P(V, X, Z \mid W, Y) $ + +3. 对于一般的 `joinFactors` 操作,返回的因子中哪些变量是非条件变量?哪些变量是条件变量? +4. 因子(`Factor`)存储一个 `variableDomainsDict`,它将每个变量映射到它可以取的值(其域)列表。因子从其实例化的贝叶斯网络(`BayesNet`)获取其 `variableDomainsDict`。因此,它包含贝叶斯网络的所有变量,而不仅仅是因子中使用的非条件和条件变量。对于这个问题,你可以假设所有输入因子都来自同一个贝叶斯网络,因此它们的 `variableDomainsDict` 都是相同的。 + +#### Q3: Eliminate (not ghosts yet) + +请在 `factorOperations.py` 中实现 `eliminate` 函数。它接收一个因子和一个要消除的变量,并返回一个不包含该变量的新因子。这对应于对因子中仅在被消除变量的值上有所不同的所有条目求和。 + +要测试和调试你的代码,请运行 + +``` +python autograder.py -q q3 +``` + +在调试期间运行特定测试可能会很有用,可以只看到一组因子的输出。例如,要仅运行第一个测试,请运行: + +``` +python autograder.py -t test_cases/q3/1-simple-eliminate +``` + +提示和观察: + +1. 你的 `eliminate` 应返回一个新因子(`Factor`)。 +2. `eliminate` 可以用于从概率表中边缘化变量。例如: + - $ \text{eliminate}(P(X, Y \mid Z), Y) = P(X \mid Z) $ + - $ \text{eliminate}(P(X, Y \mid Z), X) = P(Y \mid Z) $ + +3. 对于一般的 `eliminate` 操作,返回的因子中哪些变量是非条件变量?哪些变量是条件变量? +4. 请记住,因子(`Factor`)存储原始贝叶斯网络(`BayesNet`)的 `variableDomainsDict`,而不仅仅是它们使用的非条件和条件变量。因此,返回的因子应具有与输入因子相同的 `variableDomainsDict`。 + +#### Q4: Variable Elimination + +请在 `inference.py` 中实现 `inferenceByVariableElimination` 函数。它回答一个概率查询,该查询使用贝叶斯网络(`BayesNet`)表示,包含一个查询变量列表和证据。 + +评分:要测试和调试你的代码,请运行 + +``` +python autograder.py -q q4 +``` + +在调试期间运行特定测试可能会很有用,可以只看到一组因子的输出。例如,要仅运行第一个测试,请运行: + +``` +python autograder.py -t test_cases/q4/1-disconnected-eliminate +``` + +提示和观察: + +1. **算法应该迭代消除顺序中的隐藏变量**,对这些变量执行合并和消除操作,直到只剩下查询变量和证据变量。 +2. **输出因子的概率之和应为1**,这样它才是一个条件在证据上的真正条件概率。 +3. 查看 `inferenceByEnumeration` 函数在 `inference.py` 中的示例,了解如何使用所需的函数。(提醒:枚举推理首先对所有变量进行合并,然后消除所有隐藏变量。相比之下,变量消除通过迭代所有隐藏变量,在移动到下一个隐藏变量之前对单个隐藏变量执行合并和消除操作,从而交替进行合并和消除。) +4. 你需要处理一个特殊情况,即你合并后的因子只有一个非条件变量(文档字符串详细说明了如何处理)。 + +#### Q5a: DiscreteDistribution Class + +不幸的是,加入时间步长会使我们的图变得过于复杂,不适合使用变量消除。因此,我们将使用 HMM 的前向算法进行精确推理,并使用粒子过滤进行更快但近似的推理。 + +在项目的其余部分,我们将使用 `inference.py` 中定义的 `DiscreteDistribution` 类来模拟信念分布和权重分布。这个类是内置Python字典类的扩展,其中键是分布中的不同离散元素,对应的值与分布赋予该元素的信念或权重成比例。本问题要求你填写该类中缺少的部分,这对后续问题至关重要(尽管本问题本身不计分)。 + +首先,填写 `normalize` 方法,该方法将分布中的值规范化,使其总和为1,但保持值的比例不变。使用 `total` 方法找到分布中值的总和。对于空分布或所有值均为零的分布,不做任何操作。请注意,该方法直接修改分布,而不是返回一个新分布。 + +其次,填写 `sample` 方法,该方法从分布中抽取一个样本,其中抽取某个键的概率与其对应值成比例。假设分布非空,并且所有值不全为零。请注意,在调用此方法之前,分布不必一定是规范化的。你可能会发现Python内置的 `random.random()` 函数对于这个问题很有用。 \ No newline at end of file From cebf87f338eb46f3c42f375ea13fdea78c75a904 Mon Sep 17 00:00:00 2001 From: zsq259 <2530059525@qq.com> Date: Mon, 1 Jul 2024 22:35:15 +0800 Subject: [PATCH 4/4] fix: tracking --- README.md | 4 +- tracking/README.md | 176 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 177 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d97894e..e254704 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,6 @@ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/f 相关文件和介绍在 [logic](https://github.com/ACMClassCourse-2023/PPCA-AIPacMan-2024/tree/main/logic) 文件夹下。 -## 前瞻(开发中项目) +### Tracking -### Tracking \ No newline at end of file +相关文件和介绍在 [tracking](https://github.com/ACMClassCourse-2023/PPCA-AIPacMan-2024/tree/main/tracking) 文件夹下。 \ No newline at end of file diff --git a/tracking/README.md b/tracking/README.md index e8a0293..0258144 100644 --- a/tracking/README.md +++ b/tracking/README.md @@ -36,6 +36,8 @@ python busters.py #### 贝叶斯网络和因子 +[前置芝士](https://github.com/ACMClassCourse-2023/PPCA-AIPacMan-2024/blob/main/docs/bayes.md) + 首先,看看 `bayesNet.py` 文件,了解你将要使用的类——贝叶斯网络(BayesNet)和因子(Factor)。你还可以运行这个文件,查看一个贝叶斯网络及其相关因子的示例:`python bayesNet.py`。 你应该查看 `printStarterBayesNet` 函数——其中有一些有用的注释,可以让你的工作更轻松。 @@ -164,4 +166,176 @@ python autograder.py -t test_cases/q4/1-disconnected-eliminate 首先,填写 `normalize` 方法,该方法将分布中的值规范化,使其总和为1,但保持值的比例不变。使用 `total` 方法找到分布中值的总和。对于空分布或所有值均为零的分布,不做任何操作。请注意,该方法直接修改分布,而不是返回一个新分布。 -其次,填写 `sample` 方法,该方法从分布中抽取一个样本,其中抽取某个键的概率与其对应值成比例。假设分布非空,并且所有值不全为零。请注意,在调用此方法之前,分布不必一定是规范化的。你可能会发现Python内置的 `random.random()` 函数对于这个问题很有用。 \ No newline at end of file +其次,填写 `sample` 方法,该方法从分布中抽取一个样本,其中抽取某个键的概率与其对应值成比例。假设分布非空,并且所有值不全为零。请注意,在调用此方法之前,分布不必一定是规范化的。你可能会发现Python内置的 `random.random()` 函数对于这个问题很有用。 + +#### Q5b: Observation Probability + +在这个问题中,你将在 `inference.py` 中的 `InferenceModule` 基类中实现 `getObservationProb` 方法。该方法接受一个观测值(即到鬼魂距离的噪声读数)、吃豆人的位置、鬼魂的位置和鬼魂监狱的位置,并返回给定吃豆人位置和鬼魂位置的噪声距离读数的概率。换句话说,我们希望返回 +$P(\text{noisyDistance} \mid \text{pacmanPosition}, \text{ghostPosition})$ + +距离传感器在给定吃豆人到鬼魂的真实距离情况下对距离读数具有概率分布。该分布由函数 `busters.getObservationProbability(noisyDistance, trueDistance)` 建模,该函数返回 +$P(\text{noisyDistance} \mid \text{trueDistance})$ +该函数已经为你提供。你应该使用此函数来帮助你解决问题,并使用提供的 `manhattanDistance` 函数来查找吃豆人位置和鬼魂位置之间的距离。 + +但是,我们还需要处理监狱的特殊情况。具体来说,当我们捕获一个鬼魂并将其送到监狱位置时,我们的距离传感器确定性地返回 None,而不是其他任何值(当且仅当鬼魂在监狱中时,观测值为 None)。其一个结果是,如果鬼魂的位置是监狱位置,那么观测值为 None 的概率是1,其他任何值的概率是0。确保在你的实现中处理这种特殊情况;每当鬼魂在监狱中,以及每当观测值为 None 时,我们实际上有一套不同的规则。 + +要测试你的代码并运行这个问题的自动评分器,请执行: + +``` +python autograder.py -q q5 +``` + +#### Q6: Exact Inference Observation + +在这个问题中,你将在 `inference.py` 中的 `ExactInference` 类中实现 `observeUpdate` 方法,以根据吃豆人传感器的观测值正确更新代理对鬼魂位置的信念分布。你正在实现观察新证据的在线信念更新。对于这个问题,在接收到传感器读数后,`observeUpdate` 方法应更新地图上每个位置的信念。你应该遍历 `self.allPositions` 变量,其中包括所有合法位置加上特殊的监狱位置。信念表示鬼魂在特定位置的概率,并作为一个 `DiscreteDistribution` 对象存储在名为 `self.beliefs` 的字段中,你需要更新它。 + +在编写代码之前,写下你要解决的推理问题的方程。你应该使用你在上一个问题中编写的 `self.getObservationProb` 函数,该函数返回给定吃豆人位置、潜在鬼魂位置和监狱位置的观测概率。你可以使用 `gameState.getPacmanPosition()` 获取吃豆人的位置,使用 `self.getJailPosition()` 获取监狱位置。 + +在吃豆人显示中,高后验信念用亮颜色表示,而低信念用暗颜色表示。你应该从一个大的信念云开始,随着更多证据的积累,逐渐缩小。在观看测试用例时,确保你理解方格是如何收敛到最终颜色的。 + +注意:你的 `busters` 代理对他们跟踪的每个鬼魂都有一个单独的推理模块。这就是为什么即使板上有多个鬼魂,如果你在 `observeUpdate` 函数中打印一个观测值,你也只能看到一个数字。 + +要运行这个问题的自动评分器并可视化输出,请执行: + +``` +python autograder.py -q q6 +``` + +如果你想在没有图形的情况下运行这个测试(或任何其他测试),你可以添加以下标志: + +``` +python autograder.py -q q6 --no-graphics +``` + +#### Q7: Exact Inference with Time Elapse + +在前一个问题中,你实现了基于吃豆人的观测进行信念更新。幸运的是,吃豆人的观测并不是他关于鬼魂可能位置的唯一信息来源。吃豆人还知道鬼魂的移动方式,即鬼魂不能穿过墙壁或在一个时间步内移动超过一个格子。 + +为了理解这对吃豆人有何帮助,考虑以下场景:有一个吃豆人和一个鬼魂。吃豆人收到很多观测,表明鬼魂非常接近,但随后有一个观测表明鬼魂非常远。这个表明鬼魂非常远的读数很可能是一个错误的传感器导致的。吃豆人关于鬼魂移动方式的先验知识将减少这个读数的影响,因为吃豆人知道鬼魂不可能在一次移动中移动那么远。 + +在这个问题中,你将在 `ExactInference` 类中实现 `elapseTime` 方法。对于这个问题,时间步的流逝应该更新地图上每个位置的信念。你的代理可以通过 `self.getPositionDistribution` 获取鬼魂的行动分布。为了获取给定其先前位置的鬼魂的新位置分布,使用以下代码行: + +``` +newPosDist = self.getPositionDistribution(gameState, oldPos) +``` + +其中 `oldPos` 指的是鬼魂之前的位置。`newPosDist` 是一个 `DiscreteDistribution` 对象,对于 `self.allPositions` 中的每个位置 `p`,`newPosDist[p]` 表示在时间 `t + 1` 时,鬼魂在位置 `p` 的概率,前提是鬼魂在时间 `t` 时位于位置 `oldPos`。请注意,这个调用可能相当耗时,所以如果你的代码超时,可以考虑是否可以减少对 `self.getPositionDistribution` 的调用次数。 + +在编写任何代码之前,写下你要解决的推理问题的方程。为了单独测试你的预测实现与前一个问题中的更新实现,这个问题不会使用你的更新实现。 + +由于吃豆人没有观测到鬼魂的行动,这些行动不会影响吃豆人的信念。随着时间的推移,吃豆人的信念将反映他认为鬼魂最可能出现的位置,这些位置是根据棋盘的几何结构和鬼魂的合法移动推测的,而吃豆人已经知道这些信息。 + +在这个问题的测试中,我们有时会使用一个随机移动的鬼魂,有时会使用 `GoSouthGhost`。这个鬼魂倾向于向南移动,因此随着时间的推移,在没有任何观测的情况下,吃豆人的信念分布应该开始集中在棋盘的底部。要查看每个测试用例使用的鬼魂,可以查看 `.test` 文件。 + +下图显示了贝叶斯网络/隐马尔可夫模型中发生的情况。然而,你应该依赖上面的描述来进行实现,因为某些部分已经为你实现(即 `getPositionDistribution` 被抽象为 +$ P(G_{t+1} \mid gameState, G_t) $)。 + +![](https://inst.eecs.berkeley.edu/~cs188/sp24/assets/projects/busters_hmm_time_elapse.png) + +要运行这个问题的自动评分器并可视化输出,请执行: + +``` +python autograder.py -q q7 +``` + +如果你想在没有图形的情况下运行这个测试(或任何其他测试),你可以添加以下标志: + +``` +python autograder.py -q q7 --no-graphics +``` + +在观看自动评分器输出时,请记住,较亮的方格表示吃豆人认为鬼魂更有可能占据该位置,而较暗的方格表示鬼魂不太可能占据该位置。对于哪些测试用例,你注意到方格的阴影出现差异?你能解释为什么一些方格变亮而一些方格变暗吗? + +#### Q8: Exact Inference Full Test + +现在,吃豆人知道如何在确定鬼魂位置时利用他的先验知识和观测,他准备自己去追捕鬼魂。我们将结合使用你的 `observeUpdate` 和 `elapseTime` 实现来保持更新的信念分布,并且你的简单贪婪代理将在每个时间步基于最新的分布选择一个行动。在简单的贪婪策略中,吃豆人假设每个鬼魂都在他认为的最可能的位置,然后朝最近的鬼魂移动。到目前为止,吃豆人是通过随机选择一个有效动作来移动的。 + +在 `bustersAgents.py` 中实现 `GreedyBustersAgent` 的 `chooseAction` 方法。你的代理应首先找到每个尚未被捕获的鬼魂的最可能位置,然后选择一个最小化到最近鬼魂的迷宫距离的动作。 + +要查找任意两个位置 `pos1` 和 `pos2` 之间的迷宫距离,请使用 `self.distancer.getDistance(pos1, pos2)`。要查找一个位置在执行一个动作后的后继位置: + +``` +successorPosition = Actions.getSuccessor(position, action) +``` + +你提供了 `livingGhostPositionDistributions`,这是一个 `DiscreteDistribution` 对象的列表,代表每个尚未被捕获的鬼魂的位置信念分布。 + +如果实现正确,你的代理应该在 `q8/3-gameScoreTest` 中以至少8次超过700分的成绩赢得10次游戏中的游戏。注意:自动评分器也将直接检查你的推理的正确性,但游戏结果是一个合理的健全性检查。 + +我们可以通过对前面的图进行如下修改来表示我们的贪婪代理的工作原理: + +![](https://inst.eecs.berkeley.edu/~cs188/sp24/assets/projects/busters_greedy_pacman.png) + +要运行这个问题的自动评分器并可视化输出,请执行: + +``` +python autograder.py -q q8 +``` + +如果你想在没有图形的情况下运行这个测试(或任何其他测试),你可以添加以下标志: + +``` +python autograder.py -q q8 --no-graphics +``` + +#### Q9: Approximate Inference Initialization and Beliefs + +近来,近似推理在鬼魂猎人中非常流行。在接下来的几个问题中,你将实现一个用于追踪单个鬼魂的粒子滤波算法。 + +首先,在 `inference.py` 中的 `ParticleFilter` 类中实现 `initializeUniformly` 和 `getBeliefDistribution` 函数。在这个推理问题中,一个粒子(样本)是一个鬼魂的位置。注意,对于初始化,粒子应该均匀(而不是随机)分布在合法位置上,以确保均匀的先验分布。我们建议考虑如何使用模运算符来实现 `initializeUniformly`。 + +请注意,你存储粒子的变量必须是一个列表。列表只是一组无权重的变量(在这种情况下是位置)。将粒子存储为任何其他数据类型(如字典)是不正确的,会产生错误。然后,`getBeliefDistribution` 方法将粒子列表转换为一个 `DiscreteDistribution` 对象。 + +要测试你的代码并运行这个问题的自动评分器,请执行: + +``` +python autograder.py -q q9 +``` + +#### Q10: Approximate Inference Observation + +接下来,我们将在 `inference.py` 中的 `ParticleFilter` 类中实现 `observeUpdate` 方法。该方法在 `self.particles` 上构建一个权重分布,其中一个粒子的权重是给定吃豆人位置和该粒子位置的观测概率。然后,我们从这个加权分布中重新采样以构建我们的新粒子列表。 + +你应该再次使用 `self.getObservationProb` 函数来找到给定吃豆人位置、潜在鬼魂位置和监狱位置的观测概率。`DiscreteDistribution` 类的 `sample` 方法也将很有用。提醒一下,你可以使用 `gameState.getPacmanPosition()` 获取吃豆人的位置,使用 `self.getJailPosition()` 获取监狱位置。 + +正确的实现必须处理一个特殊情况。当所有粒子都获得零权重时,应通过调用 `initializeUniformly` 重新初始化粒子列表。`DiscreteDistribution` 的 `total` 方法可能会有用。 + +要运行这个问题的自动评分器并可视化输出,请执行: + +``` +python autograder.py -q q10 +``` + +如果你想在没有图形的情况下运行这个测试(或任何其他测试),你可以添加以下标志: + +``` +python autograder.py -q q10 --no-graphics +``` + +#### Q11: Approximate Inference with Time Elapse + +在 `inference.py` 中的 `ParticleFilter` 类中实现 `elapseTime` 函数。该函数应构建一个新的粒子列表,该列表对应于 `self.particles` 中的每个现有粒子前进一个时间步,然后将这个新列表分配回 `self.particles`。完成后,你应该能够像精确推理一样有效地追踪鬼魂。 + +请注意,在这个问题中,我们将分别测试 `elapseTime` 函数,以及结合 `elapseTime` 和 `observe` 的粒子滤波器的完整实现。 + +如同 `ExactInference` 类中的 `elapseTime` 方法一样,你应该使用: + +```python +newPosDist = self.getPositionDistribution(gameState, oldPos) +``` + +这行代码获取给定鬼魂先前位置(`oldPos`)的新位置分布。`DiscreteDistribution` 类的 `sample` 方法也将很有用。 + +要运行这个问题的自动评分器并可视化输出,请执行: + +```python +python autograder.py -q q11 +``` + +如果你想在没有图形的情况下运行这个测试(或任何其他测试),你可以添加以下标志: + +```python +python autograder.py -q q11 --no-graphics +``` + +请注意,即使没有图形,这个测试也可能需要几分钟才能运行完毕。 \ No newline at end of file