人工智能实验报告——1170300720陶飞宇.docx

人工智能实验报告——1170300720陶飞宇.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

人工智能实验报告

题目实验2有哪些信誉好的足球投注网站策略

专业物联网工程

学号1170300720

学生陶飞宇

指导教师李钦策

同组人员王鹏杨开来张春博蒙俊雄

简介/问题描述

1.1待解决问题的解释

实验要求采用且不限于课程第四章内各种有哪些信誉好的足球投注网站算法此编写一系列吃豆人程序解决以下列出的问题1-8,包括到达指定位置以及有效的吃豆等。

1.2问题的形式化描述

前四个问题是是不同种的有哪些信誉好的足球投注网站策略,后四个问题是对有哪些信誉好的足球投注网站策略的各种细节的优化。

1.3解决方案介绍(原理)

以上为前四个问题的基本通用思路

问题一:DFS

util给出了栈的结构,可以利用在DFS算法当中,因为其符合DFS算法后入先出的特点。

做法是先将根节点入栈,然后开始以下循环:

将栈顶元素出栈,检查该元素是否已经被遍历过。如果被则跳过,否则将该节点的所有子节点进行扩展。直到找到目标节点为止,返回从根节点到达目标节点的路径。

期间利用了两种结构记录过程:用path记录节点经过的路径,用visited记录节点是否被遍历。

问题二:BFS

BFS和DFS的算法逻辑是完全一致的,唯一的区别就是用普通的队列取代了栈结构,适应BFS先入先出的特点。两者代码完全一致,不多赘述。

问题三:代价一致有哪些信誉好的足球投注网站

代价一致有哪些信誉好的足球投注网站算法要求每次扩展的都是当前代价最小的路径,于是选择带有代价函数的优先队列的数据结构,代价函数为有哪些信誉好的足球投注网站状态三元组的第三个成员cost。

与之前不同,这里引用了一个parent的数据结构记录每个节点的父亲节点,因为代价一致有哪些信誉好的足球投注网站中需要在某些情况下更改一个节点的父亲节点。另外,只有根节点的父亲节点是“None”,这样可以在回溯路径时,作为回溯的终止条件。

有哪些信誉好的足球投注网站的逻辑部分类似于BFS和DFS,首先将队列元素出队,因为是优先队列,会出队目前代价最小的元素。之后检测该节点是否是目标节点,是则返回。最后检测该节点是否被遍历,如果没有,遍历该节点所有未被遍历的子节点,并更新父亲节点。重复以上过程,直至找到了目标节点。

之后,对目标节点,利用parent数据结构进行回溯,回溯到根节点,就找到了一条从根节点到目标节点的最短路径。

问题四:A*算法

A*算法与代价一致算法一样,利用优先队列,满足其每次选择最小代价的特性。

代码的逻辑和问题123相同,都是依次扩展最小代价的节点,唯一的区别就是在扩展子节点的部分,需要计算前往子节点的代价f(n)=g(n)+h(n)。

g(n)通过记录节点前进的路径来计算,h(n)则通过不同的估计算法进行计算,默认的估计算法是无估计(h(n)恒为0)

问题五:找到所有的角落

该问题首先需要规定吃豆人的状态,这里规定为一个二元组:当前位置和已经前往过的角落数量。

需要实现三个函数:

GetStartState:返回初始状态的二元组

isGoalState:判断二元组的第二个状态是否为4,是则说明完成了角落搜寻。

getSuccessor:找到下一步:做法是判断当前的前进策略会不会撞墙,如果不会撞墙则前进,期间遇到目标节点(即角落)就将其标记为已遍历。

问题六:角落问题(启发式)

该问题实质上是为问题五提供一个启发式函数:

启发式策略如下,计算当前节点距离四个角落的曼哈顿距离,选取其中的最小的角落,并记录这段最短距离。再将选取的节点作为当前节点,再去和其他没遍历过的角落比较,计算最短曼哈顿距离并记录,和之前记录的曼哈顿距离相加,直至所有的角落都被这样计算过。

这样我们就得到了节点从当前位置前往所有角落的曼哈顿距离之和,并将其作为启发式函数的返回值完成这个问题。

问题七:吃掉所有的豆子

该问题的重点同样是完成一个启发式函数的计算。

思路很简单:选择当前节点距离豆子的最短距离,也就是找到一条最快前往豆子的路。

做法是遍历当前地图上的所有豆子,并调用mazeDistance函数计算当前位置与各个豆子之间的距离,比较的到最小距离,并将其作为启发式函数的返回值返回。

问题八:次最优有哪些信誉好的足球投注网站

对于目标节点的测试部分,选取之前的思路:计算当前节点和各个食物之间的曼哈顿距离的最小值。如果这个最小值为0,就证明当前位置和某个食物的位置是重合的,就说明吃豆人到达了食物,到达了正确位置。

至于找到路径函数的实现,直接调用之前四种有哪些信誉好的足球投注网站策略其一即可。

算法介绍

2.1所用方法的一般介绍

问题中使用了BFS,DFS,代价一致和A*四种有哪些信誉好的足球投注网站策略,无论是哪一种,其核心都是在数据结构上对节点在ope

文档评论(0)

godcoovAuxsv + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档