2搜索策略详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 搜索策略
通用问题求解方法 宽度优先搜索 深度优先搜索 启发式搜索 与或图启发式搜索 博弈
引言
问题求解要考虑的两个基本问题: 状态空间表示 测试该状态空间中是否出现目标状态
引言
状态空间图表示知识 状态空间图(State Space Graph)是知识表示中一种 常用的方法,它是由节点及节点间的边线所构成的图。 节点对应问题的具体状态,通过节点可以形象地表示 出问题的初始状态、目标状态和中间状态。边线通常 是有向线,称为弧线,对应状态转换操作。弧线具有 方向性,箭头表示其转换方向,表示可从一种状态转 换为另一种状态。问题的解就是从对应于初始状态的 节点连接到一个对应于目标状态的节点间形成的路径。
启发式搜索
汉诺塔问题当阶数取64时,其状态空间将有3的64次方个节点,最短的路 径长度(节点数)为2的64次方减1,这是目前任何计算机都存储不了、计算不 了的。 计算机博弈问题,为了取胜,计算机可以将所有的算法都试一下,然后选 择最佳走步。给出这种算法不困难,但是具体计算的时空消耗却大得惊人。
启发式搜索是在控制性知识中增加关于被解问题和相应任务的某些特性,利
引言
用状态空间求解问题
状态空间图用“状态”和“算符”来表示问题,是表 示问题及问题求解过程的一种常用的表示方法。用 “状态”来描述问题求解过程中不同时刻的状态;用 “算符”表示对状态的操作,算符的每一次使用就使 问题由一种状态变换为另一种状态。当达到目标状态 时,由初始状态到目标状态所用算符的序列就是问题 的一个解。
引言
用状态空间求解问题
状态空间搜索算法的基本思想是: 首先把问题的初始状态(即初始节点)作为当前状 态,选择适用的算符对其进行操作,生成一组子状态 (或称后继节点、子节点),然后检查目标状态是否在 其中出现。若出现,则搜索成功,找到了问题的解;若 不出现,则按某种搜索策略从已生成的状态中再选一个 状态作为当前状态。重复上述过程,直到目标状态出现 或者不再出现可供操作的状态及算符为止。
用启发性信息来确定节点的生成、扩展和搜索顺序,指导搜索朝着目标方向前 进。 启发式搜索大多是深度优先搜索的改进,尽量沿前最有希望成功的路径,逐步 缩小搜索范围,向深度方向前进;在有多条路径可走时,会给出该走哪条路径 的建议,从而指导搜索过程朝最有利的方向前进;利用问题求解的先验知识, 使之尽快找到问题的解;可采用估值方法进行搜索指导;生成的状态空间小、 搜索时间短且效率高、控制性好,易于使问题得到解。
我们把估价函数f(n)定义为从初始结点经过n结点到达目标结点的最小代价 路径的代价估计值,它的一般形式是: f(n)=g(n)+h(n) 其中g(n)是从初始结点到n的实际代价,h(n)是从n到目标结点的最佳路径 的估计代价,主要是h(n)体现了搜索的启发信息。 因为实际代价g(n)可以根据生成的搜索树实际计算出来, 而估计代价h(n) 却依赖于某种经验估计,它来源于我们对问题的解的某些特性的认识,这些 特性可以帮助我们更快地找到问题的解。 一般地, 在f(n)中,g(n)的比重越大,越倾向于广度优先搜索方式; h(n)的 比重越大,越倾向于深度优先搜索方式。
引言
评价搜索策略的4个准则 完备性:如果存在一个解答,该策略是否保证能够找到? 时间复杂性:需要多长时间可以找到解答? 空间复杂性:执行搜索需要多少存储空间? 最优性:如果存在不同的几个解答,该策略是否可以发现最高 质量的解答?
通用问题求解方法
人工智能所要解决的问题大部分不具备明确的解题步骤,只 能利用已有的知识一步一步地探索前进。在此过程中,存在 着如何寻找可用知识的问题,即如何确定推理路线,使其付 出的代价尽可能地少,而问题又能得到较好的解决。这种根 据问题的实际情况不断寻找可利用的知识,从而构造一条代 价较少的推理路径,使问题得到圆满解决的过程称之为搜索 (Search)。 搜索分为盲目搜索和启发式搜索。
迭代加深搜索
有界深度优先搜索 迭代加深搜索
启发式搜索
人工智能研究的课题可分成两大类:一类是具有一般 意义的核心课题;一类是应用课题。搜索策略的研究 是核心课题之一。通常搜索策略的主要任务是确定如 何选取规则的方式。有两种基本方式:一种是不考虑给 定问题所具有的特定知识, 系统根据事先确定好的某 种固定排序, 依次调用规则或随机调用规则,这实际上 是盲目搜索的方法, 一般称为无信息引导的搜索策略 。另一种是考虑问题领域可应用的知识, 动态地确定 规则的排序, 优先调用较合适的规则使用, 这就是通 常称为启发式搜索策略或有信息引导的搜索策略。前 者由于没有启发信息的引导,因而搜索是盲目的,低 效的。后者采用启发信息引导,使搜索朝目标方向进 行,避免走弯路,从而提高了求解的效率。
启发式搜索
启发式搜索通常用于两种不同类型的问题 前向推理:用于状态空间的搜索 反向推理:用于问题归约 前向推理: OR图算法 最好优先算法 A*算法 反向推理: AO*算法
启发信息和估计函数
估价函数的任务就是估计待搜索结点的重要程度, 给它们排定 次序。ห้องสมุดไป่ตู้般来说,估价一个结点的价值, 必须综合考虑两方面的 因素:已经付出的代价和将要付出的代价。
启发式OR图搜索算法
实现启发式搜索最简单的方法是爬山法(hill climbing)。爬 山法在搜索过程中扩展当前结点并估价它的子结点。最优的 子结点被选择并进一步扩展。
通用问题求解方法
盲目搜索(Blind Search)又称为无信息搜索:它只按照预 先规定的搜索控制策略进行搜索,而没有任何中间信息来改 变这些控制策略。由于盲目搜索总是按预先规定的路线进行, 没有考虑问题本身的特性,所以这种搜索具有盲目性,效率 不高,不便于复杂问题的求解。 启发式搜索(Heuristic Search):指在搜索求解过程中, 根据问题本身的特性或搜索过程中所产生的一些与问题有 关的信息指导搜索朝着最有希望成功的方向前进,加速问 题的求解过程。由于搜索过程中利用了问题本身的一些相 关信息来指导搜索的进行,以最快的速度找到问题的最优 解,体现了“智能”的特点。
通用问题求解方法 宽度优先搜索 深度优先搜索 启发式搜索 与或图启发式搜索 博弈
引言
问题求解要考虑的两个基本问题: 状态空间表示 测试该状态空间中是否出现目标状态
引言
状态空间图表示知识 状态空间图(State Space Graph)是知识表示中一种 常用的方法,它是由节点及节点间的边线所构成的图。 节点对应问题的具体状态,通过节点可以形象地表示 出问题的初始状态、目标状态和中间状态。边线通常 是有向线,称为弧线,对应状态转换操作。弧线具有 方向性,箭头表示其转换方向,表示可从一种状态转 换为另一种状态。问题的解就是从对应于初始状态的 节点连接到一个对应于目标状态的节点间形成的路径。
启发式搜索
汉诺塔问题当阶数取64时,其状态空间将有3的64次方个节点,最短的路 径长度(节点数)为2的64次方减1,这是目前任何计算机都存储不了、计算不 了的。 计算机博弈问题,为了取胜,计算机可以将所有的算法都试一下,然后选 择最佳走步。给出这种算法不困难,但是具体计算的时空消耗却大得惊人。
启发式搜索是在控制性知识中增加关于被解问题和相应任务的某些特性,利
引言
用状态空间求解问题
状态空间图用“状态”和“算符”来表示问题,是表 示问题及问题求解过程的一种常用的表示方法。用 “状态”来描述问题求解过程中不同时刻的状态;用 “算符”表示对状态的操作,算符的每一次使用就使 问题由一种状态变换为另一种状态。当达到目标状态 时,由初始状态到目标状态所用算符的序列就是问题 的一个解。
引言
用状态空间求解问题
状态空间搜索算法的基本思想是: 首先把问题的初始状态(即初始节点)作为当前状 态,选择适用的算符对其进行操作,生成一组子状态 (或称后继节点、子节点),然后检查目标状态是否在 其中出现。若出现,则搜索成功,找到了问题的解;若 不出现,则按某种搜索策略从已生成的状态中再选一个 状态作为当前状态。重复上述过程,直到目标状态出现 或者不再出现可供操作的状态及算符为止。
用启发性信息来确定节点的生成、扩展和搜索顺序,指导搜索朝着目标方向前 进。 启发式搜索大多是深度优先搜索的改进,尽量沿前最有希望成功的路径,逐步 缩小搜索范围,向深度方向前进;在有多条路径可走时,会给出该走哪条路径 的建议,从而指导搜索过程朝最有利的方向前进;利用问题求解的先验知识, 使之尽快找到问题的解;可采用估值方法进行搜索指导;生成的状态空间小、 搜索时间短且效率高、控制性好,易于使问题得到解。
我们把估价函数f(n)定义为从初始结点经过n结点到达目标结点的最小代价 路径的代价估计值,它的一般形式是: f(n)=g(n)+h(n) 其中g(n)是从初始结点到n的实际代价,h(n)是从n到目标结点的最佳路径 的估计代价,主要是h(n)体现了搜索的启发信息。 因为实际代价g(n)可以根据生成的搜索树实际计算出来, 而估计代价h(n) 却依赖于某种经验估计,它来源于我们对问题的解的某些特性的认识,这些 特性可以帮助我们更快地找到问题的解。 一般地, 在f(n)中,g(n)的比重越大,越倾向于广度优先搜索方式; h(n)的 比重越大,越倾向于深度优先搜索方式。
引言
评价搜索策略的4个准则 完备性:如果存在一个解答,该策略是否保证能够找到? 时间复杂性:需要多长时间可以找到解答? 空间复杂性:执行搜索需要多少存储空间? 最优性:如果存在不同的几个解答,该策略是否可以发现最高 质量的解答?
通用问题求解方法
人工智能所要解决的问题大部分不具备明确的解题步骤,只 能利用已有的知识一步一步地探索前进。在此过程中,存在 着如何寻找可用知识的问题,即如何确定推理路线,使其付 出的代价尽可能地少,而问题又能得到较好的解决。这种根 据问题的实际情况不断寻找可利用的知识,从而构造一条代 价较少的推理路径,使问题得到圆满解决的过程称之为搜索 (Search)。 搜索分为盲目搜索和启发式搜索。
迭代加深搜索
有界深度优先搜索 迭代加深搜索
启发式搜索
人工智能研究的课题可分成两大类:一类是具有一般 意义的核心课题;一类是应用课题。搜索策略的研究 是核心课题之一。通常搜索策略的主要任务是确定如 何选取规则的方式。有两种基本方式:一种是不考虑给 定问题所具有的特定知识, 系统根据事先确定好的某 种固定排序, 依次调用规则或随机调用规则,这实际上 是盲目搜索的方法, 一般称为无信息引导的搜索策略 。另一种是考虑问题领域可应用的知识, 动态地确定 规则的排序, 优先调用较合适的规则使用, 这就是通 常称为启发式搜索策略或有信息引导的搜索策略。前 者由于没有启发信息的引导,因而搜索是盲目的,低 效的。后者采用启发信息引导,使搜索朝目标方向进 行,避免走弯路,从而提高了求解的效率。
启发式搜索
启发式搜索通常用于两种不同类型的问题 前向推理:用于状态空间的搜索 反向推理:用于问题归约 前向推理: OR图算法 最好优先算法 A*算法 反向推理: AO*算法
启发信息和估计函数
估价函数的任务就是估计待搜索结点的重要程度, 给它们排定 次序。ห้องสมุดไป่ตู้般来说,估价一个结点的价值, 必须综合考虑两方面的 因素:已经付出的代价和将要付出的代价。
启发式OR图搜索算法
实现启发式搜索最简单的方法是爬山法(hill climbing)。爬 山法在搜索过程中扩展当前结点并估价它的子结点。最优的 子结点被选择并进一步扩展。
通用问题求解方法
盲目搜索(Blind Search)又称为无信息搜索:它只按照预 先规定的搜索控制策略进行搜索,而没有任何中间信息来改 变这些控制策略。由于盲目搜索总是按预先规定的路线进行, 没有考虑问题本身的特性,所以这种搜索具有盲目性,效率 不高,不便于复杂问题的求解。 启发式搜索(Heuristic Search):指在搜索求解过程中, 根据问题本身的特性或搜索过程中所产生的一些与问题有 关的信息指导搜索朝着最有希望成功的方向前进,加速问 题的求解过程。由于搜索过程中利用了问题本身的一些相 关信息来指导搜索的进行,以最快的速度找到问题的最优 解,体现了“智能”的特点。