1、实习介绍
在本项目中,我们将实现贝叶斯网络的推理算法,特别是变量消除和完美信息值计算。这些推理算法将可以推理隐形颗粒和鬼魂的存在。

在搞懂了整个项目代码框架之后,就可以去进行局部的编码了。
2、问题编码
1、question1-Bayes Net Structure
在这个部分,我们需要根据项目描述构造一个空的贝叶斯网。

- X 位置决定哪个房子在棋盘的哪一边。它要么是食物剩下的,要么是鬼魂留下的。
- Y位置决定了房屋的垂直方向。它同时模拟两个房子的垂直位置,并具有四个值之一:both-top、both-bottom、left-top 和 left-bottom。“左上”顾名思义:棋盘左边的房子在上面,棋盘右边的房子在下面。
- 食屋和鬼屋指定了两间屋子的实际位置。它们都是“X位置”和“Y 位置”的确定性函数。
- 观察结果是吃豆子在绕着棋盘旅行时所做的测量。请注意,有许多这样的节点——可能是房屋墙壁的每个棋盘位置都有一个。如果给定位置没有房子,则对应的观察值是none;否则它要么是红色,要么是蓝色,颜色的精确分布取决于房子的种类。
其中我们要进行编码的文件是BayesAgents.py中的constructBayesNet函数:
该贝叶斯网络中有5种变量:
-单个“x位置”变量(控制房屋的x位置)
-单个“y位置”变量(控制房屋的y位置)
-

本文档详细介绍了实习项目,涉及贝叶斯网络的构建与推理算法,包括变量消除和完美信息值计算。在BayesAgents.py中实现贝叶斯网络的结构,设置变量域和边,并填充CPT。此外,还阐述了如何在factorOperations.py中实现joinFactors函数,用于合并概率因子。通过一系列测试验证了代码的正确性。
最低0.47元/天 解锁文章
1586

被折叠的 条评论
为什么被折叠?



