第三章_搜索策略.pptx
人工智能之搜索策略介绍课件

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

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;}。
第三章-搜索策略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 与/或图搜索策略
人工智能 第三章 搜索策略

动 作 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种状态。
第三章搜索策略(ppt)PracticalReaso(1)

Q () ((1,1))
第三章搜索策略 (ppt)PracticalReaso(1)
() ((1,1)) ((1,1) (2,3))
Q Q
第三章搜索策略 (ppt)PracticalReaso(1)
() ((1,1)) ((1,1) (2,3))
Q
第三章搜索策略 (ppt)PracticalReaso(1)
7
5
765
第三章搜索策略 (ppt)PracticalReaso(1)
搜索控制策略(3)
• 不可撤回的控制策略
283
164
7
5
283
1
4
765
f=4
f=3
12
3
184
765
f=3
123
8
4
765
f=0
123 84
765
f=1
23 184 765
f=2
第三章搜索策略 (ppt)PracticalReaso(1)
状态空间表示法(2)
状态空间:由问题的全部状态及一切可用算符所构成的集合称为问题的状态
空间.一般表示为: (S, F, G)
S:问题所有的初始状态集合; F:算符集合; G:目标状态集合
算符: 引起状态中某些分量发生变化, 从而使问题由一个状 态变为另一个状态的操作称为算符.
状态空间表示法是用“状态”和“算符”表示问题的一种 方法
状态空间图:状态空间的图式表示,称为状态空间图.其中节 点表示状态,有向边(弧)表示算符.
第三章搜索策略 (ppt)PracticalReaso(1)
状态空间表示法(3)
• 路径
– 状态序列
• 搜索
人工智能第三版课件第3章搜索的基本策略

人工智能第三版课件第3章搜索的基本策略搜索引擎是当今互联网时代不可或缺的工具,而人工智能技术在搜索引擎中起着举足轻重的作用。
本文将介绍《人工智能第三版课件》中第3章的内容,讨论搜索的基本策略。
基于这些策略,搜索引擎能够更加高效、准确地满足用户的信息需求。
1. 初始搜索空间在进行搜索之前,需要建立一个初始的搜索空间,即包含可能相关信息的一组文档或网页。
这个搜索空间的建立可以通过爬虫程序和抓取技术来收集网络上的信息,并将其存储在搜索引擎的数据库中。
2. 关键词匹配搜索引擎通过用户输入的关键词与搜索空间中的文档进行匹配,以找到与用户需求相关的内容。
关键词匹配可以使用词频、倒排索引等算法来实现。
其中,词频是指对于一个给定的关键词,在搜索空间中出现的频率;倒排索引则是一种将关键词与对应的文档进行关联的索引结构。
3. 分析用户意图搜索引擎还需要通过分析用户的搜索历史、点击行为等数据来了解用户的真实意图。
这可以通过机器学习算法来实现,例如基于用户行为的推荐系统。
通过了解用户的意图,搜索引擎可以更加准确地推荐相关内容。
4. 搜索结果排序搜索引擎会对匹配到的文档进行排序,以便将最相关的结果显示在前面。
排序算法通常通过计算文档与用户查询的相似度来实现。
相似度计算可以使用向量空间模型、BM25等算法。
5. 反馈与迭代搜索引擎不断根据用户的反馈进行迭代,以提供更好的搜索结果。
用户的反馈可以包括点击率、停留时间等指标,这些指标可以通过机器学习算法来进行分析和预测。
搜索引擎可以根据用户的反馈来调整排序算法,从而不断改进搜索结果的准确性和相关性。
综上所述,搜索引擎的基本策略包括建立初始搜索空间、关键词匹配、分析用户意图、搜索结果排序以及反馈与迭代。
这些策略通过人工智能技术的应用,使得搜索引擎能够更加智能化地满足用户的信息需求。
未来随着人工智能技术的不断发展,搜索引擎将会变得更加准确、个性化,并为用户提供更多智能化的服务。
第三章搜索策略(ppt)-PracticalReaso

Q Q
()
Q ()
((1,1))
() ((1,1)) ((1,1) (2,3))
Q Q
Q () ((1,1))
((1,1) (2,3))
() ((1,1)) ((1,1) (2,3)) ((1,1) (2,4))
Q Q
() ((1,1)) ((1,1) (2,3)) ((1,1) (2,4)) ((1,1) (2,4) (3.2))
而得到的新节点,称为该节点的后继节点 – 指针:从每个后继节点返回指向其父辈节点 – 检查各后继节点看是否为目标节点. • 搜索过程扩展后继节点的次序
– 如果搜索是以接近起始节点的程度(由节点之间连结弧线的数目来 衡量)依次扩展节点,称为广(宽)度优先搜索
– 如果搜索时首先扩展最新产生的节点,称为深度优先搜索
?
搜索策略反映了状态空间或问题空间扩展的方法,也决定了状态或问 题的访问顺序。
在AI领域,状态空间图由初始状态和算子隐含地表示,经常是无限的 ,它的复杂度根据下面三个值来表达:
分支因子b:任何节点的后继的最大个数 最浅的目标节点的深度d 状态空间中任何路径的最大长度m
主要内容
• 概述
• 状态空间搜索
▪ 问题初始状态集合S={S0},
S0=(1,1), S1=(1,2), S3=(1,3) S4=(2,1), S5=(2,2), S6=(2,3) S7=(3,1), S8=(3,2), S9=(3,3)
▪ 目标状态集合G={S4,S8}.
▪ 算符:A( i,j):表示把金片A从第i号针移到第j号针上
S0
Sg
状态空间表示法(4)
• 例一:二阶梵塔问题
▪ 设有三个钢针,在一号钢针上穿有A,B两个金片,A小于B,A位于B的上面.要求把这两 个金片全部移到另一个钢针上,而且规定每次只能移动一片,任何时刻都不能使B位于 A的上面
人工智能第三版课件第3章 搜索的基本策略

2.3.1 启发式信息的表示
(2) 启发式函数应能够估计出可能加速 达到目标的程度
这可以帮助确定当扩展一个节点时,那些 节点应从搜索树中删除。
启发式函数对搜索树(图)的每一节点的真正 优点估计得愈精确,解题过程就愈少走弯路。
2.3.1 启发式信息的表示
例 2.8 八 皇 后 问 题 (8-Queens problem)
弱法主要包括: .最佳优先法 .生成测试法 .爬山法 .广度优先法 .问题归约法 .约束满足法 .手段目的分析法。
1.生成测试法(Generateand-test)
生成测试法的基本步骤为: 1. 生成一个可能的解,此解是状态空 间一个点,或一条始于S0的路径。 2. 用生成的“解”与目标比较。 3. 达到目标则停止,否则转第一步。
确定一个启发式函数f(n), n 为被搜索 的节点,它把问题状态的描述映射成问题 解决的程度,通常这种程度用数值来表示, 就是启发式函数的值。这个值的大小用来 决定最佳搜索路径。
2.3.1 启发式信息的表示
(2)表示成规则
如AM的一条启发式规则为: 如 果 存 在 一 个 有 趣 的 二 元 函 数 f(x,y) , 那 么看看两变元相同时会发生什么?
2.3.1 启发式信息的表示
如何构造启发式函数? (1)启发式函数能够根据问题的当前状态, 确定用于继续求解问题的信息。
这样的启发式函数能够有效地帮助决定 那些后继节点应被产生。
2.3.1 启发式信息的表示
例2.7 八数码问题。
S0
283 16 4
Sg
75
123 84 7 65
问题空间为:
a11 a12 a13 a21 a22 a23 a31 a32 a33
3.第三章 信息检索策略

例:查找关于唐宋诗歌的文献
2 截词检索
截词检索就是用截断的词的一个局部 进行的检索,并认为凡满足这个词局部中 的所有字符(串)的文献,都为命中文献。 eg: market/marketable/marketing market?
常用截词符 ?、$、*
前方一致: “protect?”表示protect, protected, protecting 后方一致: “?computer”表示computer、 microcomputer、minicomputer
布尔逻辑运算符 与(AND、*)
A
B
或(OR、+)
A
B
非(NOT、-)
A
B
旅游 * 营销(旅游 AND 营销 ) 杜甫 + 杜诗 + 李杜 (杜甫 OR 杜诗 OR 李杜) 能源 - 核能(能源 not 核能)
布尔逻辑运算级别
“ - ” 优先,“ * ” 次之,“+” 最低, 即布尔逻辑的优先执行顺序是:NOT, AND,OR,但可根据需要,用括号 改变执行顺序。 在有括号的情况下, 先执行括号内的运算。
第二节 信息检索步骤与检索效果
1. 信息检索步骤 ◆分析课题 ﹡分析课题研究的意图和目的 ﹡分析课题所涉及的内容及学科范围 ﹡分析课题所需信息的类型
◆ 检索系统的选择 ◆ 检索点的确定 ◆制定检索式 例:灌溉用的橡塑多孔管 (橡胶 or 塑料 or 橡塑) and 多孔管 and 灌溉
◆查找文献线索并整理检索结果
文章)
la =Chinese (只查语种为中文的文献)
4 位置检索 位置检索是指运用位置算符表达
检索词概念之间的位置邻近关系, 也叫邻近检索。
第三章_搜索策略

思考:为什么不把船的状态放到状态空间中去?
2020/7/20
29
解析:四元组(m、f、s、v)
2020/7/20
30
状态空间搜索
——1.状态空间及其搜索的表示
(3)状态空间的搜索 状态空间的搜索记为SE,可表示为五元组:
SE=(S,O,E,I,G); E——搜索引擎; I——问题的初始状态,I ∈ S; G——问题的目标状态集合,G S。 搜索引擎E——可以设计为实现任何搜索算法的控制系统。 基本思想——通过搜索引擎E寻找一个操作算子的调用序 列,使问题从初始状态I变迁到目标状态G之一。 解答路径——初-目变迁过程中的状态序列或相应的操作 算子调用序列。
搜索就是找到智能系统的动作序列的过程。
2020/7/20
3
搜索算法的输入是给定的问题,输出是表示为 动作序列的方案。
一旦有了方案,就可以执行该方案所给出的动 作了。(执行阶段)
因此,求解问题包括:
目标表示 搜索 执行
2020/7/20
4
➢一般给定问题就是确定该问题的一 些基本信息,一个问题由4部分组成:
共有10个操作算子
2020/7/20
24
渡河问题的状态空间有向图
2020/7/20
25
状态空间搜索
——1.状态空间及其搜索的表示
由此例可以看出
用状态空间方法表示问题时,首先必须定义状 态的描述形式,通过使用这种描述形式可把问 题的一切状态都表示出来。另外,还要定义一 组操作,通过使用这些操作可把问题由一种状 态转变为另一种状态。
问题的求解过程是一个不断把操作作用于状态 的过程。如果在使用某个操作后得到的新状态 是目标状态,就得到了问题的一个解。这个解 是从初始状态到目标状态所用操作构成的序列。
人工智能之搜索策略介绍课件

游戏AI:启发式搜 索策略在游戏中用
3 于寻找最优策略, 如国际象棋、围棋 等棋类游戏的AI算 法。
任务调度:启发式 搜索策略在任务调
2 度中用于优化任务 分配,如最小化任 务完成时间和资源 消耗。
机器人控制:启发 式搜索策略在机器
4 人控制中用于规划 机器人运动路径, 如自主导航和避障。
务调度、资源分配等。
启发式搜索策略的分类
局部搜索策略:只考虑当前状态
01
附近的解空间 全局搜索策略:考虑整个解空间
02
的所有状态 启发式搜索策略:根据问题特点, 03 选择合适的搜索策略 自适应搜索策略:根据搜索过程
04
中的信息,动态调整搜索策略
启发式搜索策略的应用实例
路径规划:启发式 搜索策略在路径规
强化学习搜索 策略:将强化 学习和搜索策 略相结合,以 实现更优的决 策和行动
强化学习搜索策略的分类
01 基于模型的搜索策略:使
用模型来预测状态和动作 的价值,如Q-learning 和Deep Q-Networks。
02 基于策略的搜索策略:直
接优化策略,如Policy Gradients和ActorCritic方法。
游戏AI:游戏策略、游戏 角色行为等
机器人控制:机器人路径 规划、机器人行为控制等
启发式搜索策略的定义
1
启发式搜索策略是一种基于 启发式信息的搜索策略。
2
它通过使用启发式信息来指 导搜索过程,以减少搜索空
间,提高搜索效率。
3
启发式信息可以是问题领域 的知识、经验或启发式函数。
4
启发式搜索策略广泛应用于 各种问题,如路径规划、任
搜索策略

搜索到第三层时, f1(s5)=f1(s7)=4 f1(s4)=f1(s6)=3, 出现均势,为打破均势,还需要一个新 的启发式函数, 定义新的启发式函数: f2=所有数字当前位置次最短路径走到正确 位置的步数乊和
各状态的启发式函数值:
数码
1 2 3 4 5 6 7 8 f2(s0)=1+1+0+0+0+1+0+2=5 f2(s1)=1+2+0+0+0+0+0+0+0+0+1+1+2=6 f2(s3)=1+1+0+0+1+1+0+2=6 f2(s4)=1+1+0+0+0+0+0+1=3 f2(s5)=1+1+0+0+0+1+0+2=5 f2(s6)=1+2+0+0+0+0+0+2=5
在3*3的方格棋盘上放置1、2、3、4、5、6、7、8共8个 棋子,初始状态为s0,目标状态为sg。
深度优先搜索其基本思想:
从初始节点S0开始,在其子节点中任选 一个节点迚行考察,若不是目标节点,则 再在该子节点的子节点中选择一个节点迚 行考察。如果该子节点可以扩展,则扩展 该子节点,依次向下搜索。在搜索树的每 一层始终先只扩展一个子节点,如此一直 向下搜索,直到某个子节点既不是目标节 点又不能继续扩展时,才从当前节点返回 上一级节点,沿另一方向继续前迚。
第三章状态空间搜索策略ppt课件

(6)假设节点n不可扩展,即没有后继节点,那么转第(2) 步;否那么继续第(7)步。
(7)扩展节点n,将其后继节点放入OPEN表的前端,并为
第三章 状态空间搜索策略
第三章 状态空间搜索策略
例3.3 设八数码难题的初始形状及目的形状分别如以下图 (a)和图(b)所示,试用有界深度优先搜索战略求解问题。 深度界限dm=5。
在搜索过程中,未扩展节点表OPEN 中的节点排序准那么是:“后入先出 〞,即后进入的节点排在前面,先进 入的节点排在后面。
第三章 状态空间搜索策略
第三章 状态空间搜索策略
算法3.3 形状空间图的深度优先搜索算法 (1)把初始节点S0放人OPEN表; (2)假设OPEN表为空,那么问题无解,退出; (3)从OPEN表中将其第一个节点(节点n)移出,放入已扩展
第三章 状态空间搜索策略
3.2 盲目搜索战略
3.2.1 形状空间图的搜索战略
形状空间表示法:是一种用形状和算符表示问题的方法。
当把一个待求解的问题表示为形状空间以后,就可以经过对 形状空间的搜索,实现对问题的求解。
形状空间图:形状空间的图示表示问题方式。形状空间图是 一个有向图,节点表示形状,有向边〔弧〕表示算符。
第三章 状态空间搜索策略
3.2.5 代价树的宽度优先搜索
搜索代价问题:在实践问题的搜索求解中,在将一个形状变 换成另一个形状时,往往所付出的操作代价(或费用)是不一 样的,也就是形状空间图中各有向边的代价是不一样的。这 是前面讨论搜索算法没有思索的。
➢ 深度优先搜索与宽度优先搜索的区别就在于:在对节 点n进展扩展时,其后继节点在OPEN表中的存放位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
状态
有向弧
状态的变迁
操作算子
弧上的标签
导致状态变迁的 操作算子
问题的状态空间是一个表示该问题的全部可能状态
及其变迁的有向图。
2020/8/29
15
状态空间搜索
例1:走迷宫是人们熟悉的一种游戏。
S1 S2 S3
S0
S4 S5 S6
2020/8/29
S7
S8
S9
Sg
16
格子、入口和出口——节点——状态 通道——有向弧——操作算子 迷宫可以由一个有向图表示
2020/8/29
在树的最深一层的节 点中扩展一个节点。 只有当搜索遇到一个 死亡节点(非目标节 点并且是无法扩展的 节点)的时候,才返 回上一层选择其他的 节点搜索。
10
无论是宽度优先搜索还是深度优先搜索,遍历 节点的顺序一般都是固定的,即一旦搜索空间 给定,节点遍历的顺序就固定了。这种类型的 遍历称为“确定性”的,也就是盲目搜索。
2020/8/29
12
3.2 基于状态空间图的搜索技术
有许多智力问题(如梵塔问题、旅行商问题、八皇 后问题、农夫过河问题等)和实际问题(如路径规 划、机器人行动规划等)都可以归结为状态空间搜 索。
用状态空间搜索来求解问题的系统均定义一个状态 空间,并通过适当的搜索算法在状态空间中搜索解 答路径。
2020/8/29
S1 S2 S3
S0 S4 S5 S6
S7 S8 S9 Sg
2020/8/29
17
例2:在一个3×3的方格棋盘上放置着1,2,3,4,5,6,7,8 八个数码,每个数码占一格,且有一个空格。这些 数码可在棋盘上移动,其移动规则是:与空格相邻 的数码方可移入空格。
现在的问题是:对于指定的初始棋局和目标棋局, 给出数码的移动序列。该问题称为八数码问题。
(1)初始状态集合:定义了初始 的环境。
(2)操作符集合:把一个问题从 一个状态变换为另一个状态的 动作集合。
(3)目标检测函数:用来确定一 个状态是不是目标。
(4)路径费用函数:对每条路径 赋予一定费用的函数。
其中,初 始状态集 合和操作 符集合定 义了问题 的搜索空
间。
2020/8/29
5
➢ 在人工智能中,搜索问题一般包括两个重 要的问题:
2
8
3
移动数码
1
2
3
1
4
8
4
7 65
765
2020/8/29
初始棋局
目标棋局
18
23 184 765
283 14 765
283 164 75
283 14ห้องสมุดไป่ตู้
765
23 184 765
283 14 765
23 184 765
123 84
765
283 164
75
抽象为矢量形式 Q=[q0,q1,…,qn]T 每个元素qi称为状态分量 给定每个状态分量qi的值就得到一个具体的状态
Qk=[q0k,q1k,…,qnk]T
2020/8/29
14
用状态空间搜索来求解问题的系统均定义一个状态 空间,并通过适当的搜索算法在状态空间中搜索解 答路径。
节点
状态
表示状态的变迁
第3章 搜索策略
问题求解系统划分为两大类
知识贫乏系统
依靠搜索技术解决问题 知识贫乏、缺乏针对性 效率低
知识丰富系统
依靠推理技术解决问题 基于丰富知识的推理技术,直截了当 效率高
2020/8/29
1
第3章 搜索策略
两大类搜索技术:
1、一般图搜索、启发式搜索 2、基于问题归约的与或图搜索
对于启发式搜索,在计算每个节点的参数之前 无法确定先选择哪个节点扩展,这种搜索一般 也称为非确定的。
2020/8/29
11
搜索策略评价标准:
完备性:
如果存在一个解答,该策略是否保证能够找到?
时间复杂性:
需要多长时间可以找到解答?
空间复杂性:
执行搜索需要多少存储空间?
最优性:
如果存在不同的几个解答,该策略是否可以发 现最高质量的解答?
➢搜索可以根据是否使用启发式信息分 为
❖盲目搜索
❖启发式搜索
2020/8/29
7
盲目搜索
只是可以区分出哪 个是目标状态。
一般是按预定的搜 索策略进行搜索。
没有考虑到问题本 身的特性,这种搜索 具有很大的盲目性, 效率不高,不便于复 杂问题的求解。
2020/8/29
启发式搜索
是在搜索过程中加入 了与问题有关的启发 式信息,用于指导搜 索朝着最有希望的方 向前进,加速问题的 求解并找到最优解。
搜索就是找到智能系统的动作序列的过程。
2020/8/29
3
搜索算法的输入是给定的问题,输出是表示为 动作序列的方案。
一旦有了方案,就可以执行该方案所给出的动 作了。(执行阶段)
因此,求解问题包括:
目标表示 搜索 执行
2020/8/29
4
➢一般给定问题就是确定该问题的一 些基本信息,一个问题由4部分组成:
❖搜索什么
搜索什么通常指的就是目标。
❖在哪里搜索
在哪里搜索就是“搜索空间”。搜索空间通常 是指一系列状态的汇集,因此称为状态空间。
和通常的搜索空间不同,人工智能中大多数问题的状 态空间在问题求解之前不是全部知道的。
2020/8/29
6
所以,人工智能中的搜索可以分成两个 阶段:
状态空间的生成阶段 在该状态空间中对所求问题状态的搜索
8
根据问题的表示方式分为
状态空间搜索 与或图搜索
2020/8/29
与/或图搜 索是指用问 题规约方法 来求解问题 时所进行的
搜索。
状态空间 搜索是用 状态空间 法来求解 问题所进 行的搜索
9
考虑一个问题的状态空间 为一棵树的形式。
宽度优先搜索 深度优先搜索
如果根节点首先 扩展,然后是扩 展根节点生成的 所有节点,然后 是这些节点的后 继,如此反复下 去。
13
状态空间搜索 ——1.状态空间及其搜索的表示
(1)状态空间的表示
状态空间记为SP,可表示为二元组:
SP=(S,O)
S——问题求解(即搜索)过程中所有可能到达的合法状态 构成的集合;
O——操作算子的集合,操作算子的执行会导致问题状态 的变迁 ;
状态——用于记载问题求解(即搜索)过程中某一时刻问 题现状的快照;
两种典型的推理技术:
1、基于归结的演绎推理
归结反演
2、基于规则的演绎推理
正向演绎推理 逆向演绎推理
2020/8/29
2
3.1 引言
对于给定的问题,智能系统的行为一般是 找到能够达到所希望目标的动作序列,并使 其所付出的代价最小、性能最好。
基于给定的问题,问题求解的第一步是目 标的表示。