人工智能导论实验指导书.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一基本的搜索技术 【实验目的】 通过运行演示程序,理解深度优先、广度优先、A*算法的原理和运行过程。 【实验内容】 分别以深度优先、广度优先、A*算法为例演示搜索过程 观察运行过程记录搜索顺序 设置不同属性,观察和记录搜索过程的变化 分析不同算法的特点 【实验原理】 在知识不完全时,一般不存在成熟的求解算法可以利用,只冇利用已冇的知 识摸索前进,从许多可能的解中寻找真正的解这就是搜索。即使对于结构性能较 好,理论上有算法可依的问题,由于问题本身的复杂性以及计算机在时间、空间 上的局限性,往往也需要通过搜索來进行求解。 总的来说搜索策略分为两大类:盲目搜索和启发式搜索 一、 无信息的搜索策略——肓目搜索 在不具有对特定问题的任何有关信息的条件下,按固定的步骤(依次或随即 调用操作算子)进行的搜索,它能快速地运用一个操作算子。盲口搜索中,由于 没有可参考的信息,因此只要能匹配的操作算子都须运用,这会搜索更多的状态。 最重要的宽度优先和深度优先是最重要的盲目搜索方法。 宽度优先搜索:从根结点出发,按从低到高的层次顺序搜索,同一层的 结点按固定的顺序(例如从左到右、从右到左)搜索。宽度优先总是先搜索到距 离最近的目标结点。宽度优先搜索不适合用于分支较多的情况。 深度优先搜索:用冋溯的思想搜索图。深度优先搜索适用于分支较多而 层次较浅的情况。 二、 利用知识引导搜索——启发式搜索 盲口搜索复朵度很大,为了提高算法效率,应该具体问题具体分析,利用与 问题有关的信息,从中得到启发而来引导搜索,以达到减少搜索量的目的,这就 是启发式搜索。 启发信息: 陈述性启发信息:一般被用于更准确、更精炼地描述状态,使问题的状 态空间缩小,如待求问题的特定状况等属于此类信息 过程性启发信息:一般被用于构造操作算子,使操作算子少而精 如一 些规律性知识等属于此类信息 控制性启发信息:如何选择操作算子 控制性启发信息往往被反映在估价函数之中。估价函数的任务就是估计待搜 索结点的“有希槊”程度(或者说估计操作算子的“性能”),并依此给它们排定 次序。 估价一个结点的价值,必须综合考虑两方面的因素:己经付出的代价(实际) 和将要付出的代价(估计) /(??) = ^(7?) + /?(?) 采用这种估价函数的搜索叫A搜索。令讪为n到口的结点的实际最小代 价,如果对任意节点几均有/心疋护⑷,则此时的A算法为A*算法。 如某一问题冇解,那么利用A*搜索算法对该问题进行搜索则一定能搜索到 解,并且一定能搜索到最优的解而结束。 这三种搜索算法都使用了两张表来记录状态信息:在open表中保留所有己 生成而子状态未扩展的状态;在closed表中记录已扩展过子状态的状态。 广度优先搜索算法中的open表釆用的是先进先出的“队列”。 深度优先搜索算法中的open表采用的是后进先出的“栈”。 启发式搜索算法屮的open表屮的元素是按启发估价函数值的大小排列的一 个表,每次从表屮优先取出启发估价函数值最小的状态加以扩展。同时并不丢弃 其它的状态,而把它们保留在open表中。 【实验步骤】 浏览器打开下而网址,单击“StartApplet”按钮进入演示系统 /jpkc/rengongzhineng/rengongzhineng/search/search.html 图1演示系统 单击主菜单中“File” uLoad Sample Graph”,载入一个例子(例如“简单 搜索树”),如图2红色椭圆标注,激活左侧“create”卡,鼠标指针指向右侧图 中的结点或边,右击弹出菜单,单击“Properties(即属性),可以查看或修改结 点或边的属性。结点的heuristics属性表示结点的启发值,边的Edge cost属性表 示边的代价。 (A*算法中结点的估价函数值为从开始结点、到该结点、所有边的代价和再加 上该结点、的启发值。 S8 S 8 如图3所示B的估价值为13。) 查看并记录所有结点的启发值和边的代价。 激活左侧的“Solved”卡,如图4红色椭圆标注 单击主菜单中 aSearch Algorithms分别选定Depth First”、Breadth First”、 “V 重复单击左侧“Step”按钮(图4蓝色椭圆标注),直到右侧图中所有结 点访问完毕。记录访问的结点顺序,并与口己预测的深度优先、宽度优先、A* 的搜索顺序比较。 (注:运行过程中红色的结点保存于closed表中,绿色的结点保存于open 表中,蓝色的结点表示新展开的结点) 单击主菜单屮“File” Create new Graph激活左侧“create”卡,新建一 个图。分别选定“Depth First”、Breadth First”、“A*”,进彳亍搜索,记录搜索顺 序,并与自己预测的深度优先、宽度优

文档评论(0)

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

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

1亿VIP精品文档

相关文档