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

搜索算法 姚金宇 Outline • 产生式系统 • 剪枝 • 博弈问题 最简单or最困难的算法 • 最简单 –入门算法 –所需基本知识不多,算法描述简单,思考直白 • 最困难 –搜索不难,时间不够 –如何选择搜索方法,如何选择顺序,如何剪枝 –难以举一反三 搜索问题 • 搜索问题:在一个空间中寻找目标 –搜索什么(目标) –在哪里搜索(状态空间) • 在搜索中,如何扩展状态空间是关键性问 题 • 搜索可以根据是否使用启发式信息分成 –盲目搜索:只能区分当前状态是否为目标状态 –启发式搜索:在搜索过程中加入与问题相关的 启发信息,指导搜索的方向 产生式系统 • 知识单元之间存在着因果关系,或者说前 提和结论,一般用产生式 (或者称为规则) 来表示。 • 把一组产生式放在一起,让它们互相配合, 协同作用,一个产生式生成的结论可以供 另一个产生式作为前提使用,以这种方法 求得问题的解决,这就叫做产生式系统。 产生式系统的组成部分 • 一个综合数据库(GlobleDatabase) – 用来表述问题状态或有关事实,含有所求解问题 的信息,其中有些部分可以是不变的,有些部分 则可能只与当前问题的解有关。 • 一组产生式规则(Set of Rules) – 产生式规则表示为:if……then… – 一条产生式规则满足了应用的先决条件之后,就 可对综合数据库进行操作,使其发生变化。 • 一个控制系统(Control System) – 规定如何选择一条可应用的规则对数据库进行操 作,决定了问题求解过程的推理路线。 例子:八数码问题 • 在3*3组成的九宫格棋盘上,摆有八个将牌, 每一个将牌都刻有1—8 中的某一个数码。 • 棋盘中留有一个空格,允许其周围的某一 个将牌向空格移动,这样通过移动将牌就 可以不断改变将牌的布局。 • 这种游戏求解的问题是,给定一种初始的 将牌布局或结构(称初始状态)和一个目标的 布局(称目标状态),问如何移动将牌,实现 从初始状态到目标状态的转变。 八数码问题:综合数据库 • 选择一种数据结构来表示将牌的布局。通 常可用来表示综合数据库的数据结构有符 号串、向量、集合、数组、树、表格、文 件等。 • 对八数码问题,选用二维数组来表示将牌 的布局很直观,因此该问题的综合数据库 可以如下形式表示: –(S ),其中1=i、j=3 ,S ∈{0,1,…,8},且S 互不 ij ij ij 相等。 八数码问题:产生式规则 • 改变状态有4种走法: – 空格左移、空格上移、空格右移、空格下移。 • 设Si,j记矩阵第i行第j 列的数码,i0、j0记空格所在的 行、列数值,即Si0,j0=0,则 • 1.if j0-1≥1 then Si0j0:=Si0(j0-1), Si0(j0-1):=0;(Si0j0 向左) • 2.if i0-1≥1 then Si0j0 :=S(i0-1)j0, S(i0-1)j0:=0;(Si0j0 向上) • 3.if j0+1≤3 then Si0j0 :=Si0(j0+1), Si0(j0+1):=0;(Si0j0 向右) • 4.if i0+1≤3 then Si0j0 :=S(i0+1)j0, S(i0+1)j0:=0;(Si0j0 向下) 八数码问题:控制系统(搜索策略) • 深度优先的搜索策略 • 广度优先的搜索策略 • 启发式方法 • …… 盲目搜索策略 • 宽度优先搜索 (Breadth-first search )

文档评论(0)

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

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

1亿VIP精品文档

相关文档