第三章_搜索策略-1

合集下载

搜索的策略

搜索的策略

1 搜索策略搜索策略是指在搜索过程中如何选择扩展节点的次序问题。

一般来说,搜索策略就是采用试探的方法。

它有两种类型:一类是回溯搜索,另一类是图搜索策略。

2 盲目的图搜索策略图搜索策略又可分为两种:一种称为盲目的图搜索策略,或称无信息图搜索策略;而另一种称为启发式搜索策略,又称为有信息的图搜索策略。

最常用的两种无信息图搜索策略是宽度优先搜索和深度优先搜索。

2.1 宽度优先搜索它是从根节点(起始节点)开始,按层进行搜索,也就是按层来扩展节点。

所谓按层扩展,就是前一层的节点扩展完毕后才进行下一层节点的扩展,直到得到目标节点为止。

这种搜索方式的优点是,只要存在有任何解答的话,它能保证最终找到由起始节点到目标节点的最短路径的解,但它的缺点是往往搜索过程很长。

2.2 深度优先搜索它是从根节点开始,首先扩展最新产生的节点,即沿着搜索树的深度发展下去,一直到没有后继结点处时再返回,换一条路径走下去。

就是在搜索树的每一层始终先只扩展一个子节点,不断地向纵深前进直到不能再前进(到达叶子节点或受到深度限制)时,才从当前节点返回到上一级节点,沿另一方向又继续前进。

这种方法的搜索树是从树根开始一枝一枝逐渐形成的。

由于一个有解的问题树可能含有无穷分枝,深度优先搜索如果误入无穷分枝(即深度无限),则不可能找到目标节点。

为了避免这种情况的出现,在实施这一方法时,定出一个深度界限,在搜索达到这一深度界限而且尚未找到目标时,即返回重找,所以,深度优先搜索策略是不完备的。

另外,应用此策略得到的解不一定是最佳解(最短路径)举例BFS搜索的一般过程。

POJ 2251Dungeon Master#include<iostream>#include<stdio.h>#include<algorithm>#include<queue>using namespace std;#define MMax 31struct node//入队的每个节点的信息{int x,y,z,t;};char map[MMax][MMax][MMax];int r,c,l;node start,end;//上,下,左,右,前,后六个方向,三维地图的搜索intdis[6][3]={{0,0,1},{0,0,-1},{0,1,0},{0,-1,0},{1,0,0},{-1,0,0}};/*二维的有左,右,前,后方向:int dis[4][2]={{0,1},{0,-1},{1,0},{-1,0}}*//*当然,还有相应的八个方向的搜索什么的,修改一下dis就可以了*/bool judge(node a)//判断节点a有无越界{return(a.x>=0&&a.x<l&&a.y>=0&&a.y<r&&a.z>=0&&a.z<c);}int bfs(){node now,next;queue<node>Q;//申请一个结构体node类型的队列Qstart.t=0;//开始节点Q.push(start);//开始节点入队map[start.x][start.y][start.z]='#';//标记while(!Q.empty())//判断队是否为空,空返回true{now=Q.front();//出队一个节点给nowQ.pop();//删除队头元素/*上面两个一般是连起来用的*/for(int i=0;i<6;i++)//枚举6个方向{//next为该方向要搜的那个点next.x=now.x+dis[i][0];next.y=now.y+dis[i][1];next.z=now.z+dis[i][2];if(judge(next)&& map[next.x][next.y][next.z]!='#')//条件{next.t=now.t+1;if(map[next.x][next.y][next.z]=='E')//搜到了return next.t;map[next.x][next.y][next.z]='#';//标记Q.push(next);//入队}}}return-1;}int main(){//freopen("D://1.txt","r",stdin);while(scanf("%d%d%d",&l,&r,&c)!=EOF){if(l+r+c==0)break;for(int i=0;i<l;i++){for(int j=0;j<r;j++){//cin>>map[i][j];scanf("%s",map[i][j]);for(int k=0;k<c;k++){if(map[i][j][k]=='S')start.x=i,start.y=j,start.z=k;//开始节点else if(map[i][j][k]=='E')end.x=i,end.y=j,end.z=k;//}}}int ans=bfs();if(ans==-1)printf("Trapped!\n");else printf("Escaped in %d minute(s).\n",ans);}return0;}。

检索策略

检索策略

策略及失误
计算机检索还须选定检索词编制布尔逻辑提问式。 (4)调整检索方案:根据检索过程中出现的各种问题及时调整方案,扩大或缩小检索范围。 明确课题需求、选择数据库 检索过程中的首要环节,就是要明确课题需求,第一步如果搞错了,就谈不上最后检索结果的正 确性。由于用户对自己的需求,特别是潜在的、模糊的需求并不总是非常明确,因此需要进行分 析,以求得一个完整而明确的表达。在用户需求分析中,应搞清楚以下一些问题: (1)分析课题检索的目的通常有几种类型: 1、开始某一项科学研究或承接某项工程设计,需要对课题进行全面的文献普查,并从中筛选出 所需的资料,用以编写可行性报告、计划任务书等。
策略设计
策略设计
络信息检索策略设计应遵循快、准、全及低成本的原则,以实现检索策略最优化。所谓快、准、 全,是指设计出来的检索策略能够快速、准确、全面地从上检索到所需要的信息;低成本则是指 以最低的费用获取所需的信息。由于检索上信息要付通讯费,有些数据库还要付数据库使用费, 因而降低信息成本对消费能力较弱的我国用户有比较重要的意义。 主题分析 明确检索需求后,就要对用户课题的具体内容作主题分析,这是正确选用检索词和逻辑算符的的 关键,它将决定检索策略的质量并影响检索效果。 主题分析就是对用户的课题进行主题概念的分析,并用一定的概念词来表达这些主题内容,同时 明确概念与概念之间的逻辑关系。主题分析必须注意: (1)概念的表达要确切。抓住课题的实质性内容,分析出课题中有几个概念组面。
策略及失误
6、为撰写论文查找相关文献等。以期刊论文、学位论文等学术研究性的数据库为主。 (2)明确题所涉及的学科范围和专业面 明确课题所涉及的主要学科范围、相关学科范围、交叉学科范围,并根据数据库的主题收录范围 进行选择。 (3)对文献的新颖性程度的要求 对文献新颖性要求高,就要选择数据更新周期短、速度快的数据库。 (4)用户对检索的查全与查准要求 为满足查全要求,就要普查多种数据库,为快速满足查准要求,应选择主题范围最专指的数据的乐趣和满足。因为,这不仅是一场搜 索的旅程,更是一场知识的盛宴,一次智慧的挑战。

三章状态空间搜索策略

三章状态空间搜索策略
在搜索过程中,未扩展节点表OPEN中 的节点排序准则是:“先入先出”, 即先进入的节点排在前面,后进入的 节点排在后面。
第三章 状态空间搜索策略
第三章 状态空间搜索策略
算法3.2 状态空间图的宽度优先搜索算法
(1)把初始节点S0放人OPEN表中。
(2)如果OPEN表是空表,则没有解,失败退出;否则继续。
第三章 状态空间搜索策略
3.1.2 搜索的种类
搜索分为盲目搜索和启发式搜索两种。
盲目搜索:又称无信息搜索。即在搜索过程中,只按预先规 定的搜索控制策略进行搜索。问题本身的特性对搜索控制策 略没有任何影响,搜索带有盲目性,效率不高,只用于解决 比较简单的问题。
启发式搜索:又称有信息搜索。指在搜索求解过程中,根据 问题本身的特性来不断地改变或调整搜索的方向,使搜索朝 着最有希望的方向前进,加速问题的求解,并找到最优解。 搜索求解的效率高,易于求解复杂的问题,但抽取出问题的 相关特性和信息难。
初始棋局目标棋局第三章状态空间搜索策略状态空间图是一类问题的抽象表示有许多智力问题如hanoi塔问题旅行商问题八皇后问题农夫过河问题等和实际问题如路径规划定理证明演绎推理机器人行动规划等都可以归结为在状态空间图中寻找目标或路径的问题
第三章 状态空间搜索策略
第三章 状态空间搜索策略
3.1 搜索的概念及种类 3.2 盲目搜索策略 3.3 启发式搜索策略
第三章 状态空间搜索策略
3.1 搜索的概念及种类
3.1.1 搜索的概念
现实世界中的大多数问题都是非结构化问题,一般不存在现 成的求解方法来求解这样的问题,而只能利用已有的知识一 步一步地摸索着前进。
搜索:是一种求解问题的方法,是寻找从问题初始事实到最 终答案的推理路线的一种过程。

第3章 搜索策略

第3章 搜索策略
小 ←─费用─→ 大
总费用 操作费用 控制费用
小 ←─── 启发式信息量 ───→ 大
搜索的费用
一般地,盲目搜索算法需要搜索的空间比较大, 因而,其操作的费用较高;而启发式搜索算法的控制 策略比较复杂,因而,其控制的费用较高。 一方面,启发式信息利用程度越高,问题的搜索 空间越小,操作的费用越低。另一方面,启发式信息 利用程度越高,控制策略越复杂,控制的费用越高。 操作费用与控制费用的这种辨证关系对于我们设 计或选择图搜索算法具有指导意义。
搜索的策略和算法
在状态图(树)中,寻找由起始节点通向目标节点的 路径可以有各种不同的搜索策略。不同的策略以不同的方 式控制着搜索的过程。因此,搜索策略又称控制策略。 与问题相关的信息往往能帮助我们进行更为有效的搜 索,当然,这取决于相关信息的质和量。依据控制策略利 用与问题相关信息的情形来对图搜索算法进行分类,可将 其分为: (1) 盲目搜索算法 (Blink Search) (2) 启发式搜索算法 (Heauristic Search)
搜索的相关定义
开节点(open node):未进行扩展操作的节点; 闭节点(closed node) :已进行扩展操作的节点;
扩展节点(expended node):已进行扩展操作,并生长 出子结点的节点;
死节点(dead node):闭节点,但不是扩展节点; 叶节点(leaf node):无子节点或未生成子节点的节点。
深,搜索图上的节点数将成几何级数地增长,这意
味着,对于大的问题,宽度优先搜索算法需要巨大 的记忆体或存储空间。
A
B
C
D
宽度优先搜索
K
E
F
G
H
I
J
L
M

人工智能之搜索策略介绍课件

人工智能之搜索策略介绍课件
基本概念:模拟生物进化过程, 通过选择、交叉、变异等操作,
实现搜索策略的优化
2
步骤:初始化种群、计算适应 度、选择、交叉、变异、迭代
3
优点:全局搜索能力强,能够 找到最优解
4
缺点:计算复杂度高,收敛速 度慢,容易陷入局部最优解
搜索策略的优化
优化目标
01 提高搜索效率:减少搜索 时间,提高搜索结果的准 确性
01
02
03
信息检索:搜索引擎、 路径规划:地图导航、 问题求解:数学问题、
学术论文检索等
物流配送等
逻辑问题等
04
05
06
游戏AI:棋类游戏、 电子游戏等
机器人控制:自主导 航、路径规划等
优化问题:生产调度、 资源分配等
搜索策略的实现
启发式搜索
概念:根据问题特点,选择 合适的搜索策略,提高搜索
效率
01
03
02
剪枝策略:提前 终止无效或低效 的搜索路径,提 高搜索效率
04
自适应搜索:根 据搜索过程中的 反馈信息,动态 调整搜索策略, 提高搜索效果
优化效果评估
准确率:衡量搜索 结果的准确性
召回率:衡量搜索 结果中相关结果的
比例
速度:衡量搜索算 法的执行效率
稳定性:衡量搜索 算法在不同数据集
上的表现一致性
演讲人
人工智能之搜索策略介 绍课件
目录
01. 搜索策略概述 02. 搜索策略的实现 03. 搜索策略的优化 04. 搜索策略的应用案例
搜索策略概述
搜索策略的定义
搜索策略是指在解
1 决一个问题时,如 何找到最优解或近 似最优解的方法。
搜索策略可以分
2 为两类:无信息 搜索和有信息搜 索。

第三章-搜索策略11.

第三章-搜索策略11.

5.3.1 回溯策略
end; 将CS加入PS;
end else
begin 将CS子状态(不包括PS、NPS和NSS中已有的) 加入NPS; CS:= NPS中第一个元素;
将CS加入到PS; end end; return FAIL; end.
5.3.1 回溯策略
回溯搜索示意图的回溯轨迹: 初值:PS=[A]; NPS=[A]; NSS=[ ]; CS=A。
为了保证找到解,应选择合适的深度限制值,或 采取不断加大深度限制值的办法,反复搜索,直 到找到解。
5.3.3 深度优先搜索策略
深度优先搜索过程:
Procedure depth_first_search
begin
open:=[start];closed:=[ ];d:=深度限制值
while open[ ] do
A BC
(a) 初始状态
积木问题
A B C
(b) 目的状态
5.3.2 宽度优先搜索策略
操作算子为MOVE(X,Y):把积木X搬到Y(积 木或桌面)上面。
MOVE(A,Table):“搬动积木A到桌 面上”。
操作算子可运用的先决条件:
(1)被搬动积木的顶部必须为空。 (2)如果 Y 是积木,则积木 Y 的顶部也必须为空。 (3)同一状态下,运用操作算子的次数不得多于一次。
第3章 搜索策略
第3章 搜索求解策略
3.1 搜索的概念 3.2 状态空间的搜索策略 3.3 盲目的图搜索策略 3.4 启发式图搜索策略 3.5 与/或图搜索策略
第3章 搜索求解策略
3.1 搜索的概念 3.2 状态空间知识表示方法 3.3 盲目的图搜索策略 3.4 启发式图搜索策略 3.5 与/或图搜索策略

搜索策略五步

搜索策略五步

搜索策略之分析搜索需求 2007年10月21日 sowatch--------------------------------------------------------------------------------搜索之前要思考,而思考的第一步是分析自己的搜索需求(或检索主题)。

我们的搜索需求(检索主题)大体可分为以下几类:+需求很明确,能用很独特的、非常有区分性的关键词来描述如:佳能EOS400D相机报价、huipk的百度空间等等。

+我们不能用独特而有区分性的关键词来描述我们的搜索需求(检索主题),或我们暂时想不到这样的关键词,而只能用普通或较为常见的术语来描述我们的需求。

这有可能把我们带到错误的地方。

如:搜索技巧、搜索策略+我们只是想浏览一个比较宽范的主题如:搜索引擎、google、百度+我们想了解一个宽泛主题的某一方面如:搜索引擎界面设计、百度提供的服务+我们的搜索需求(或检索词)需要用同义词、近义词、不同写法(如:繁简体)、加辅助词、减辅助词来扩展或缩小。

如:car&auto&auto design、搜索引擎9238&俞军& 俞军生平、google&谷歌&李开复等等+对于要检索的东西,我们完全是门外汉,所知甚少,需要一个总体的指导。

如:认知心理学(对我来说)、临床医学等等。

分析搜索需求是检索的第一步,是选择正确搜索工具、确定去哪儿搜的基搜索策略之选择正确的检索工具 2007年10月22日 sowatch-------------------------------------------------------------------------------- 分析自身搜索需求(或检索主题)后的下一步选择正确搜索工具、确定去哪儿搜。

1、需求很明确,能用很独特的、非常有区分性的关键词来描述--->建议使用google、百度等通用搜索工具,结合精确查找语法" "及其他限定词或检索语法来搜索。

人工智能 第三章 搜索策略

人工智能 第三章 搜索策略

动 作 b=0, c=c-1 b=0, m=m-1 b=0, m=m-1, c=c-1 b=0, c=c-2 b=0, m=m-2 b=1, c=c+1 b=1, m=m+1 b=1, m=m+1, c=c+1 b=1, c=c+2 13 b=1, m=m+2
3.1.2 状态空间问题求解方法
3. 状态空间的例子(11/14)
1
3.1.1 搜索的含义
概念: 依靠经验,利用已有知识,根据问题的实际情况,不断寻找可利用知识, 从而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索 适用情况: 不良结构或非结构化问题;难以获得求解所需的全部信息;更没有现成的 算法可供求解使用。 搜索的类型 按是否使用启发式信息: 盲目搜索:按预定的控制策略进行搜索,在搜索过程中获得的中间信息并 不改变控制策略。 启发式搜索:在搜索中加入了与问题有关的启发性信息,用于指导搜索朝 着最有希望的方向前进,加速问题的求解过程并找到最优解。 按问题的表示方式: 状态空间搜索:用状态空间法来求解问题所进行的搜索 与或树搜索:用问题归约法来求解问题时所进行的搜索
3.1.2 状态空间问题求解方法
3. 状态空间的例子(5/14) 例3.2 修道士(Missionaries)和野人(Cannibals)问题(简称M-C问题)。 设在河的一岸有3个野人、3个修道士和1条船,修道士想用这条船把所有的 人运到河对岸,但受以下条件的约束: 第一,修道士和野人都会划船,但每次船上至多可载2个人; 第二,在河的任一岸,如果野人数目超过修道士数,修道士会被野人吃掉。 如果野人会服从任何一次过河安排,请规划一个确保修道士和野人都能过 河,且没有修道士被野人吃掉的安全过河计划。 解:先选取描述问题状态的方法。这里,需要考虑两岸的修道士人数和野 人数,还需要考虑船在左岸还是在右岸,故可用如下三元组来表示状态 S=(m, c, b) 其中,m表示左岸的修道士人数,c表示左岸的野人数,b表示左岸的船数。 而右岸的状态可由下式确定: 右岸修道士数 m'=3-m 右岸野人数 c'=3-c 右岸船数 b'=1-b 在这种表示方式下,m和c都可取0、1、2、3中之一,b可取0和1中之一。 9 因此,共有4×4×2=32种状态。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-8-23 25
状态空间搜索 ——1.状态空间及其搜索的表示
(2)状态空间表示的经典例子“传教士和野人问题” 定义2类操作算子:
L(x,y)——指示从左岸到右岸的划船操作 R(x,y)——指示从右岸到左岸的划船操作
x + y ≤K=2(船的载重限制); x和y取值的可能组合只有5个 10,20,11,01,02 ( 允许在船上只有野人而没有传教士 )
两种典型的推理技术:
1、基于归结的演绎推理
归结反演
2、基于规则的演绎推理
正向演绎推理 逆向演绎推理
2013-8-23 2
3.1 引言
对于给定的问题,智能系统的行为一般是 找到能够达到所希望目标的动作序列,并使 其所付出的代价最小、性能最好。 基于给定的问题,问题求解的第一步是目 标的表示。 搜索就是找到智能系统的动作序列的过程。
对其中的某一个状态,可能存在多个操作.使 该状态变到几个不同的后继状态.那么到底用 哪个操作进行搜索呢?这就有赖于搜索策略 了.不同的搜索策略有不同的顺序,这就是本 2013-8-23 29 章后面要讨论的问题。
课堂练习
有一农夫带一只狐狸、一只小羊和一篮菜过河(从 左岸到右岸)。假设船太小,农夫每次只能带一样 东西过河;考虑到安全,无农夫看管时,狐狸和小 羊不能在一起,小羊和那篮菜也不能在一起。请为 该问题的解决设计状态空间,并画出状态空间图。
2013-8-23 28
状态空间搜索 ——1.状态空间及其搜索的表示
总结状态空间表示方法: ★
要使问题由一种状态转变到另一种状态时,就 必须使用一次操作。这样,在从初始状态转变 到目标状态时,就可能存在多个操作序列(即得 到多个解)。那么,其中使用操作最少或较少的 解才为最优解(因为只有在使用操作时所付出的 代价为最小的解才是最优解)。
8 6
初始棋局
3 4 5
移动数码
1 8 7
2 6
目标棋局
3 4 5
2013-8-23
18
2 3 1 8 4 7 6 5
2 8 3 1 4 7 6 5
2 3 1 8 4 7 6 5
2 3 1 8 4 7 6 5
2 8 3 1 6 4 7 5
2 8 3 1 4 7 6 5
2 8 3 1 4 7 6 5
S3 S6 S9 Sg
17
例2:在一个3×3的方格棋盘上放置着1,2,3,4,5,6,7,8 八个数码,每个数码占一格,且有一个空格。这些 数码可在棋盘上移动,其移动规则是:与空格相邻 的数码方可移入空格。 现在的问题是:对于指定的初始棋局和目标棋局, 给出数码的移动序列。该问题称为八数码问题。
2 1 7
分析:通过引入一个三维变量将问题表示出来。设 三维变量为:Q=[q1,q2,q3],式中qi (i=1,2,3)=1表 示钱币为正面,qi (i=1,2,3)=0表示钱币为反面。 则三个钱币可能出现的状态有8种组合: Q0=(0,0,0),Q1=(0,0,1),Q2=(0,1,0),Q3=(0,1,1),Q4= (1,0,0),Q5=(1,0,1), Q6=(1,1,0), Q7=(1,1,1)。 即初始状态为Q5,目标状态为Q0或Q7,要求步数为3。
2013-8-23
启发式搜索
是在搜索过程中加入 了与问题有关的启发 式信息,用于指导搜 索朝着最有希望的方 向前进,加速问题的 求解并找到最优解。
8
根据问题的表示方式分为
状态空间搜索 与或图搜索
状态空间 搜索是用 状态空间 法来求解 问题所进 行的搜索
2013-8-23
与/或图搜 索是指用问 题规约方法 来求解问题 时所进行的 搜索。
2013-8-23 14
用状态空间搜索来求解问题的系统均定义一个状态 空间,并通过适当的搜索算法在状态空间中搜索解 答路径。
状态 表示状态的变迁
节点
状态
有向弧
状态的变迁
操作算子
弧上的标签
导致状态变迁的 操作算子
问题的状态空间是一个表示该问题的全部可能状态 及其变迁的有向图。
1 2 3 8 4 7 6 5
2 8 3 1 6 4 7 5
2 8 3 1 6 4 7 5
8 3 2 1 4 7 6 5
2 8 3 7 1 4 6 5
2 8 1 4 3 7 6 5
2 8 3 1 4 5 7 6
1 2 3 7 8 4 6 5
1 2 3 8 4 7 6 5
2 8 3 6 4 1 7 5
共有10个操作算子
2013-8-23 26
渡河问题的状态空间有向图
2013-8-23
27
状态空间搜索 ——1.状态空间及其搜索的表示
总结状态空间表示方法: ★
用状态空间方法表示问题时,首先必须定义状 态的描述形式,通过使用这种描述形式可把问 题的一切状态都表示出来。另外,还要定义一 组操作,通过使用这些操作可把问题由一种状 态转变为另一种状态。 问题的求解过程是一个不断把操作作用于状态 的过程。如果在使用某个操作后得到的新状态 是目标状态,就得到了问题的一个解。这个解 是从初始状态到目标状态所用操作构成的序列。
2013-8-23
3
搜索算法的输入是给定的问题,输出时表示为 动作序列的方案。 一旦有了方案,就可以执行该方案所给出的动 作了。(执行阶段) 因此,求解问题包括:
目标表示 搜索 执行

2013-8-23 4
一般给定问题就是确定该问题的一 些基本信息,一个问题由4部分组成:
(1)初始状态集合:定义了初始 的环境。 (2)操作符集合:把一个问题从 一个状态变换为另一个状态的 动作集合。 (3)目标检测函数:用来确定一 个状态是不是目标。 (4)路径费用函数:对每条路径 赋予一定费用的函数。
m=1,c=1;m=2,c=2
m=0且0≤c ≤N(左岸没有传道士)
m=0,c=0,1,2,3
N-m=0且0≤N-c≤N(右岸没有传道士)
m=3,c=0,1,2,3
不可能到达的合法状态:
(0,0,1),(0,3,0),(3,0,1),(3,3,0)
可能到达的合法状态共16个
2013-8-23 21
钱币问题的状态空间图
2013-8-23 22
状态空间搜索 ——1.状态空间及其搜索的表示
(2)状态空间表示的经典例子“传教士和野人问题” ★ 问题的描述:
N个传教士带领N个野人划船过河; 3个安全约束条件: 1)船上人数不得超过载重限量,设为K个人; 2)任何时刻(包括两岸、船上)野人数目不得超 过传教士; 3)允许在河的某一岸或者在船上只有野人而没有 传教士;
2013-8-23
23
状态空间搜索 ——1.状态空间及其搜索的表示
(2)状态空间表示的经典例子“传教士和野人问题” 特例:N=3,K=2
状态分量m——传教士在左岸的实际人数 状态分量c——野人在左岸的实际人数 状态分量b——指示船是否在左岸(1、0)
3个安全约束条件
m ≧ c (左岸安全)且 N-m ≧ N-c(右岸安全);(想一想, 为什么不考虑船安全?) m=0且0≤c ≤N (左岸没有传道士,右岸一定安全); N-m=0且0≤N-c≤N (右岸没有传道士,左岸一定安全);
2013-8-23 10
无论是宽度优先搜索还是深度优先搜索,遍历 节点的顺序一般都是固定的,即一旦搜索空间 给定,节点遍历的顺序就固定了。这种类型的 遍历称为“确定性”的,也就是盲目搜索。
对于启发式搜索,在计算每个节点的参数之前 无法确定先选择哪个节点扩展,这种搜索一般 也称为非确定的。
2013-8-23
2013-8-23 24
设初始状态下传教士、野人和船都在左岸,目标状态下 这三者均在右岸,问题状态以(m,c,b)表示。
问题的求解任务可描述为:(3,3,1) → (0,0,0) 该简单问题可能到达的合法状态: 可能状态总数:4×4×2=32 根据条件得出合法状态:20 m ≧ c 且 N-m ≧ N-c (左岸安全且右岸安全)
2013-8-23 15
状态空间搜索
例1:走迷宫是人们熟悉的一种游戏。
S1 S0
2013-8-23
S2 S5 S8
S 格子、入口和出口——节点——状态 通道——有向弧——操作算子 迷宫可以由一个有向图表示
S1 S0 S4 S7
2013-8-23
S2 S5 S8
9
考虑一个问题的状态空间 为一棵树的形式。 宽度优先搜索 深度优先搜索
如果根节点首先 扩展,然后是扩 展根节点生成的 所有节点,然后 是这些节点的后 继,如此反复下 去。
在树的最深一层的节 点中扩展一个节点。 只有当搜索遇到一个 死亡节点(非目标节 点并且是无法扩展的 节点)的时候,才返 回上一层选择其他的 节点搜索。
有许多智力问题(如梵塔问题、旅行商问题、八皇 后问题、农夫过河问题等)和实际问题(如路径规 划、机器人行动规划等)都可以归结为状态空间搜 索。
用状态空间搜索来求解问题的系统均定义一个状态 空间,并通过适当的搜索算法在状态空间中搜索解 答路径。
2013-8-23 13
状态空间搜索 ——1.状态空间及其搜索的表示
2013-8-23
2 8 3 1 6 7 5 4
8 3 2 1 4 7 6 5
2 8 3 7 1 4 6 5
2 8 1 4 3 7 6 5
2 8 3 1 4 5 7 6
19
2013-8-23
20
例3:钱币翻转问题。设有3个钱币,其初始状态 为(正、反、正),欲得的目标状态为(正、正、正) 或(反、反、反)。问题是允许每次只能且必须翻 转一个钱币,连翻三次。问能否达到目标状态。
相关文档
最新文档