版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能(问题求解基本原理及搜索技术
)人工智能问题求解基本原理问题求解:在给定条件下,寻求一个能解决某类问题且能在有限步骤内完成的算法。
问题求解特征:传统软件:
①求解的问题是能够用数学精确描述的良结构的问题(如,解方程);②计算机执行的繁杂的统计计算任务一般不能看成是人工智能活动。AI软件:①求解的是不可直接用数学模型描述的所谓不良结构问题(如,几何证明、求不定积分、逻辑演算等),通常需要采用弱方法进行搜索求解;②
AI程序中符号的内涵不仅局限于数值计算和数据处理中的一般数据信息,应表现人类进行推理所需要的各种知识。问题求解基本原理问题求解:在给定条件下,寻求一个能解决某类问问题求解基本原理一、问题求解的基本方法二、搜索技术问题求解基本原理一、问题求解的基本方法问题求解基本原理问题求解方法:基于状态空间的问题求解方法基于问题空间的问题求解方法基于博弈搜索的问题求解方法问题求解基本原理问题求解方法:问题实例
桌上固定了3根柱子,按1,2,3次序排例。有n个大小全不一样大的盘子d1,…,dn
,按从小到大,小的在上的次序依次插在第一根柱子上,要把这n个盘子全部搬到第三根柱子上,每次只许搬一个,任何时候都不允许把大盘子放在小盘子上面,问该如何搬法。设n=3,该如何搬法?1 23123梵塔问题问题实例桌上固定了3根柱子,按1,2,3次序基于状态空间的问题求解方法(1,1,1)→(1,1,2)(1,1,1)→(1,1,3)(1,1,2)→(1,3,2)。。。。。状态合法变换规则(满足约束条件):状态定义-(i大C,j中B,k小A):设向量下标分别表示小盘A、中盘B、大盘C;向量值分别表示盘子所在柱子的编号。状态描述-大盘C在第i根柱子上;中号盘B在第j根柱子上,小号盘A在第k根柱子上。基于状态空间的问题求解方法(1,1,1)→(1,1,2)状基于问题空间的问题求解方法问题:如何将
i柱子上的m个盘子搬到k柱子上?将i柱子上的m–1个盘子搬到j柱子上;将i柱子上的第m个盘子搬到k柱子上;将j柱子上的m–1个盘子搬到k柱子上。
问题描述:问题(a,b,c):将b柱子上的a个盘子搬到c柱子上。问题分解合法规则: (3,1,3)--〉(2,1,2)(1,1,3)(2,2,3) 。。。。。。基于问题空间的问题求解方法问题:如何将i柱子上的m个基于问题空间的问题求解方法基于问题空间的问题求解方法状态空间法有关概念
状态空间法:从问题的初始状态出发,通过一系列的状态变换找到目标状态的问题求解方法。
状态:描述问题中事物形状或状况的符号或数据结构。
状态空间:所有状态的全体构成的集合;用四元组(S,S0,O,G)表示:S:非空状态子集,S0=初始状态(非空)。G:非空目标状态子集。O:操作算子集合,一个状态合法转换为另一个状态的描述规则
问题求解过程:隐含求一个普通有向图,节点-状态,边–算子
搜索空间:问题求解过程中到达过的所有状态(节点)的集合。状态空间法有关概念状态空间法:状态:描述问题中事物形状或状态空间法有关概念状态空间、搜索空间及解径的关系:
问题的解(解径):初始状态到目标状态通路上的每一条规则(或状态)构成序列,称为解径。解不唯一。S0
R1S2R2Sk…..RkG问题有解:从代表初始状态s节点出发,存在一条通向目标节点的路径。状态空间法有关概念状态空间、搜索空间及解径的关系:问题的解问题空间法有关概念问题空间法:首先产生待证问题的所有子问题,而后通过解决所有子问题达到问题求解目的的方法。
问题:描述问题及其子问题的符号或数据结构。
问题空间:初始问题以及其所有子问题的全体构成的集合,用四元组(S,S0,F,G)
表示:
S:问题和子问题;S0
:初始问题。G:具有平凡解的本原问题集合。F:操作算子集合,用于将问题分解成其若干个子问题的描述规则问题空间法有关概念问题空间法:问题:描述问题及其子问题的符问题空间法的有关概念(2)问题空间分解过程:隐含求一个与或图
节点
–问题,边
-
分解问题的算子。
“与”节点:如果节点A有边通向一组节点{B1,B2,…..Bn},问题A的解决有待于A的子问题组{B1,B2…..Bn}的全部解决,则称A为“与”节点。如图a所示。
“或”节点:若节点A有边通向一组节点{{B1},{B2},…{Bn}},问题A的解决有待于子问题B1或B2或…或Bn中某一个子问题的解决,则称A为“或”节点。如图b所示。…...a:AB1B2Bn…...b:AB1B2Bn问题空间法的有关概念(2)问题空间分解过程:隐含求一个与或图问题空间法有关概念(2)问题的解(解图):从代表初始问题的节点出发,搜索到一个完整的‘与或’子图,图中所有叶节点均满足问题求解的结束条件。例:(C,B,Z)-〉(M,…M)重写规则:R1:C(D,L)
R2:C(B,M)
R3:B(M,M)
R4:Z(B,B,M)
解图问题空间法有关概念(2)问题的解(解图):从代表初始问题的节小结–问题求解方法比较状态空间法问题空间法问题求解状态变换问题分解搜索过程隐含构建普通有向图隐含构建与或图节点状态问题边状态变换规则(算子)问题分解规则(算子)
求解解径解图小结–问题求解方法比较状态空间法问题空问题求解基本原理一、问题求解的基本方法二、搜索技术(一)问题求解基本原理一、问题求解的基本方法搜索技术预备状态空间搜索有关概念盲目搜索策略启发式搜索策略问题求解基本原理搜索技术预备问题求解基本原理搜索策略预备盲目搜索:不考虑给定问题所具有的特定知识,系统按照事先确定好的某种固定顺序调用规则,或是随机地调用规则。
常用的盲目搜索算法:
深度优先搜索策略;宽度优先搜索策略搜索策略预备盲目搜索:常用的盲目搜索算法:搜索策略预备启发式信息:与问题求解有关的信息和知识。由于信息的片面性和不准确性,应用启发式信息不能百分之百地保证找到问题的解,但能提高问题求解的可能性。
启发式信息在问题求解过程中的作用:有助于加速求解过程;有助于找到“较优”解。
启发式搜索策略:考虑给定问题领域具有的特定知识(启发式信息),系统动态地规定规则调用顺序,优先使用“较”合适的规则。搜索策略预备启发式信息:启发式信息在问题求解过程中的作用:搜索策略预备常用的基于状态图的启发式搜索策略:爬山搜索策略(HillClimbing)大英博物馆搜索策略(BritishMuseum)启发式图搜索策略(A)最佳启发式图搜索策略(A*
)常用的基于与或图及博弈的启发式搜索策略:最佳启发式与或图搜索策略(AO*)极大极小搜索策略(Minimax)α-β剪枝搜索策略(Alpha-BetaPruning)搜索策略预备常用的基于状态图的启发式搜索策略:常用的基基于状态空间的搜索技术:
有关搜索概念
盲目搜索策略
启发式搜索策略问题求解基本原理基于状态空间的搜索技术:问题求解基本原理状态空间搜索有关概念状态图特点:多条路径通向同一节点。例:E状态空间搜索有关概念状态图特点:多条路径通向同一节点。例:状态空间搜索有关概念状态空间搜索有关概念状态空间搜索有关概念节点深度:根节点的深度为0,其它节点的深度规定为其父节点的深度加1,即dn+1=dn+1。标记节点n:利用指针把后继节点连接到父节点n的操作。节点:对应状态图中有关状态的描述。扩展节点n:算符(规则)作用于节点n生成的新节点称为节点n的后继节点。生成节点n的所有后继节点并计算生成这些后继节点所使用的花费的过程叫做扩展节点n。状态空间搜索有关概念节点深度:根节点的深度为0,其它节点路径:对于一个节点序列(n0,n1,…,nl,…,nk),如若每一节点ni-1都有一个后继节点ni(i=1,2,…,k),则称该节点序列为一条从节点n0到节点nk、长度为k的路径;路径还可表示为与节点序列对应的规则序列。状态空间搜索有关概念路径花费:设C(ni,nj)为节点ni到nj这段路径(或弧线)的花费。一条路径的花费等于连接这条路径各节点间所有弧线花费值的总和。路径ni
→nj→t的花费值C(ni,t)可递归计算如下:
C(ni,t)=C(ni,nj)+C(nj,t)。路径:对于一个节点序列(n0,n1,…,nl,…,基于状态空间的盲目搜索算法:宽度优先搜索策略深度优先搜索策略问题求解基本原理基于状态空间的盲目搜索算法:问题求解基本原理盲目搜索算法的符号及数据结构
s:
初始节点;n:当前节点。
open:
已被生成但未被扩展的节点序列表;closed:已被生成且已被扩展的节点序列表;{mi}={mj}∪{mk}∪{ml}:扩展n后所得的n的后继节点其中,{mk}:在OPEN表中出现过的待扩展节点,{ml}:在CLOSED表中出现过的已扩展节点。{mj}:第一次生成的节点,mj∈OPEN且mj∈CLOSED表,盲目搜索算法的符号及数据结构s:初始节点宽度优先搜索算法
open:=[S];closed:=[];whileopen≠[]do{ n:=first(open); remove(first(open));
add(n,closed);
ifn=goalthenexit(success); expand(n)->{mi}; delete((mi)(mi∈
{mk}∨
(mi∈{ml}
)
);
add(open,mj)};exit(fail);宽度优先搜索算法open:=[S];cl宽度优先搜索算法
1、S,A,D2、A,D,B,D3、D,B,A,E………Open表为队操作:先进先出!宽度优先搜索算法1、S,A,D2、A,D,B,DG节点扩展顺序宽度优先搜索算法
G节点扩展顺序宽度优先搜索算法
open:=[S];closed:=[];d=深度限制值whileopen≠[]do{ n:=first(open); remove(first(open)); add(n,closed);
ifn=goalthenexit(success); ifdepth(n)>dthencontinue; expand(n)->{mi}; delete((mi)(mi∈{mk}∨(mi∈{ml}
));
add(mj,open)};exit(fail);深度优先搜索算法 open:=[S];closed:=深度优先搜索算法
1、S2、A,D3、B,
D,D………Open表为栈操作:后进先出!4、C,
E,D深度优先搜索算法1、S2、A,D3、B,D,D………节点扩展顺序深度优先搜索算法
节点扩展顺序深度优先搜索算法盲目搜索算法应用实例-8数码问题描述状态:
矩阵(Sij),其中
1≤i,j≤3,Sij∈{0,1,…,8};盲目搜索算法应用实例-8数码问题描述状态:盲目搜索算法应用实例-
合法走步规则:设(i0、j0)为空格所在行列数值,
Si0j0=0R1:ifj-1≥1thenSi0j0:=
Si0(j0-1),Si0(j0-1):=0空格左移;R2:ifi-1≥1thenSi0j0:=
S(i0-1)j0,S(i0-1)j0:=0空格上移;R3:ifj+1≤3thenSi0j0:=
Si0(j0+1),Si0(j0+1):=0空格右移;R4:ifi+1≤3thenSi0j0:=
S(i0+1)j0,S(i0+1)j0:=0空格下移。8数码问题盲目搜索算法应用实例-合法走步规则:设(i0、j0)为宽度优先策略求解8数码问题:目标R1R2R3R2R1R2R3R2R2R3R2R4R1R3宽度优先策略求解8数码问题:目标R1R2R3R2R1R2R3深度优先策略求解8数码问题:说明:
设规则固定使用顺序:R1-左移、R2-上移、R3-右移、R4-下移;设节点深度限制值:6;合法的走步规则重复节点–造成循环深度优先策略求解8数码问题:说明:合法的走步规则重复节点问题求解基本原理基于状态空间的启发式搜索算法:
A算法;A*算法问题求解基本原理基于状态空间的启发式搜索算法:启发式图搜索算法假设:
f(n)=g(n)+h(n)
–任意节点n的评价函数:指迄今为止已找到的从初始节点s,到达节点n,再从节点n到达目标节点t的路径全程的最小费用,是对f*(n)的一个估计。
h(n)
:迄今为止从节点n到目标节点t最佳分段路径将要花费的未知估计费用,是对h*(n)的一个估计,可视为启发式分量函数,有h(n)≥0。
g(n)
:迄今为止搜索到的从初始节点s到当前节点n最佳路径分段的已知费用,是对g*(n)的一个估计。
f*(n)=g*(n)+h*(n):从初始节点s出发,经过最佳路径上任意节点n,到达目标节点t的最小费用。
h*(n):n→t最佳路径的分段费用。
g*(n):s→n最佳路径的分段费用。
s:初始节点;n:当前节点;t:目标节点。启发式图搜索算法假设:f(n)=g(n)+h启发式图搜索算法-A算法
定义:按照f(n)=g(n)+h(n)估价函数值由小到大地排列待扩展节点顺序的图搜索算法,称为A算法。
A算法流程。A算法应用实例:
普通有向图A算法搜索实例;
8数码问题A算法搜索实例。启发式图搜索算法-A算法定义:按照f(n)启发式图搜索算法-A算法算法中符号:s:初始节点;G:搜索图的节点集合;OPEN表:已生成但尚未被扩展的节点序列表;CLOSED表:已生成且已被扩展的节点序列表;n:待扩展的当前节点;{mi}={mj}∪{mk}∪{ml}:扩展n后生成的后继节点其中,mj:第一次生成的节点,mj∈OPEN且mj∈CLOSED表,mk:在OPEN表中出现过的待扩展节点,ml:在CLOSED表中出现过的已扩展节点。启发式图搜索算法-A算法算法中符号:A算法n为目标t?取当前节点nn:=first(OPEN),从OPEN中删除n,CLOSED:=CLOSED∪{n}初始化G:=G0∪S,OPEN:=(S)CLOSED:=(),f(S):=g(S)+h(S)OPEN=Φ
^未发现目标tReturn(Fail)AyesNoyesNoBExit(Success)输出解径A算法n为目标t?取当前节点n初始化OPEN=Φ扩展节点n:生成n的后继节点;计算后继节点的花费。{mi}:=Expand(n),计算:f(n,mi):=g(n,mi)+h(mi)比较花费,修改连接标记
对于{mj}∈{mi}:OPEN:=OPEN∪{mj},mj->n;
对于{mk}∈{mi}:
iff(n,mk)<f(mk)thenf(mk):=f(n,mk),mk->n;
对于{ml}∈{mi}:iff(n,ml)<f(ml)thenf(ml):=f(n,ml),ml->n,OPEN:=OPEN∪{ml}将OPEN表中节点按f值从小到大重新排序AB扩展节点n:生成n的后继节点;计算后继节点的花费。比较花费,启发式最佳图搜索算法-A*算法A*算法定义:
若将A算法中评价函数f(n)的启发式分量函数h(n)的值限制在h*(n)的下界范围内,亦即对所有节点n,都满足h(n)≤h*(n),则称此时的A算法为A*算法。
A*算法作用:问题有解时,A*算法一定能够找到从初始节点s到目标节点t的最佳解径。启发式最佳图搜索算法-A*算法A*算法定义:A*算法信息性定理:有两个A*算法A1和A2,若A2比A1有较多的启发式信息(即对所有非目标节点均有:
h1(n)≤h2(n)≤h*(n)),则在具有一条从s到t的隐含状态图上,搜索结束时,由A2扩展的每一个节点,也必定由A1所扩展,即A1扩展的节点数至少和A2一样多。启发式最佳图搜索算法-A*算法A*算法应用验证:
8数码问题A*算法搜索实例。信息性定理:启发式最佳图搜索算法-A*算法A*算法8数码问题搜索策略比较:
宽度优先A算法A*算法8数码问题搜索策略比较:宽度优先A算法小结启发式搜索策略g:
考虑当前路径已经花费的费用,及时抛弃已经经过的花费太大且距目标仍远的路径;h:
估计当前路径上节点到目标节点还需要的费用,引导搜索向最有希望的路径前进。
A算法:定义估计函数:f=g+h;
A*算法:定义估计函数:f=g+h; 满足h(n)≤h*(n)。小结启发式搜索策略g:h:A算法:定义估计函数:f程序实现宽度优先法和深度优先法求解High-waymap问题,给出求解过程(Open,Closed内容),标出解径。作业:作业:给定两个油桶,一个可装4公斤油,一个可装3公斤油,油桶上无任何度量标记。问:怎样才能使4公斤油桶里恰好只装2公斤油? 设状态定义:(x,y),其中, x:4公斤油桶中实际装油公斤数; y:3公斤油桶中实际装油公斤数。 问题表示:(0,0)-〉(2,y) 要求定义合法的装油规则,利用盲目搜索策略画出状态图。作业:给定两个油桶,一个可装4公斤油,一个可装3公斤油,油人工智能(问题求解基本原理及搜索技术
)人工智能问题求解基本原理问题求解:在给定条件下,寻求一个能解决某类问题且能在有限步骤内完成的算法。
问题求解特征:传统软件:
①求解的问题是能够用数学精确描述的良结构的问题(如,解方程);②计算机执行的繁杂的统计计算任务一般不能看成是人工智能活动。AI软件:①求解的是不可直接用数学模型描述的所谓不良结构问题(如,几何证明、求不定积分、逻辑演算等),通常需要采用弱方法进行搜索求解;②
AI程序中符号的内涵不仅局限于数值计算和数据处理中的一般数据信息,应表现人类进行推理所需要的各种知识。问题求解基本原理问题求解:在给定条件下,寻求一个能解决某类问问题求解基本原理一、问题求解的基本方法二、搜索技术问题求解基本原理一、问题求解的基本方法问题求解基本原理问题求解方法:基于状态空间的问题求解方法基于问题空间的问题求解方法基于博弈搜索的问题求解方法问题求解基本原理问题求解方法:问题实例
桌上固定了3根柱子,按1,2,3次序排例。有n个大小全不一样大的盘子d1,…,dn
,按从小到大,小的在上的次序依次插在第一根柱子上,要把这n个盘子全部搬到第三根柱子上,每次只许搬一个,任何时候都不允许把大盘子放在小盘子上面,问该如何搬法。设n=3,该如何搬法?1 23123梵塔问题问题实例桌上固定了3根柱子,按1,2,3次序基于状态空间的问题求解方法(1,1,1)→(1,1,2)(1,1,1)→(1,1,3)(1,1,2)→(1,3,2)。。。。。状态合法变换规则(满足约束条件):状态定义-(i大C,j中B,k小A):设向量下标分别表示小盘A、中盘B、大盘C;向量值分别表示盘子所在柱子的编号。状态描述-大盘C在第i根柱子上;中号盘B在第j根柱子上,小号盘A在第k根柱子上。基于状态空间的问题求解方法(1,1,1)→(1,1,2)状基于问题空间的问题求解方法问题:如何将
i柱子上的m个盘子搬到k柱子上?将i柱子上的m–1个盘子搬到j柱子上;将i柱子上的第m个盘子搬到k柱子上;将j柱子上的m–1个盘子搬到k柱子上。
问题描述:问题(a,b,c):将b柱子上的a个盘子搬到c柱子上。问题分解合法规则: (3,1,3)--〉(2,1,2)(1,1,3)(2,2,3) 。。。。。。基于问题空间的问题求解方法问题:如何将i柱子上的m个基于问题空间的问题求解方法基于问题空间的问题求解方法状态空间法有关概念
状态空间法:从问题的初始状态出发,通过一系列的状态变换找到目标状态的问题求解方法。
状态:描述问题中事物形状或状况的符号或数据结构。
状态空间:所有状态的全体构成的集合;用四元组(S,S0,O,G)表示:S:非空状态子集,S0=初始状态(非空)。G:非空目标状态子集。O:操作算子集合,一个状态合法转换为另一个状态的描述规则
问题求解过程:隐含求一个普通有向图,节点-状态,边–算子
搜索空间:问题求解过程中到达过的所有状态(节点)的集合。状态空间法有关概念状态空间法:状态:描述问题中事物形状或状态空间法有关概念状态空间、搜索空间及解径的关系:
问题的解(解径):初始状态到目标状态通路上的每一条规则(或状态)构成序列,称为解径。解不唯一。S0
R1S2R2Sk…..RkG问题有解:从代表初始状态s节点出发,存在一条通向目标节点的路径。状态空间法有关概念状态空间、搜索空间及解径的关系:问题的解问题空间法有关概念问题空间法:首先产生待证问题的所有子问题,而后通过解决所有子问题达到问题求解目的的方法。
问题:描述问题及其子问题的符号或数据结构。
问题空间:初始问题以及其所有子问题的全体构成的集合,用四元组(S,S0,F,G)
表示:
S:问题和子问题;S0
:初始问题。G:具有平凡解的本原问题集合。F:操作算子集合,用于将问题分解成其若干个子问题的描述规则问题空间法有关概念问题空间法:问题:描述问题及其子问题的符问题空间法的有关概念(2)问题空间分解过程:隐含求一个与或图
节点
–问题,边
-
分解问题的算子。
“与”节点:如果节点A有边通向一组节点{B1,B2,…..Bn},问题A的解决有待于A的子问题组{B1,B2…..Bn}的全部解决,则称A为“与”节点。如图a所示。
“或”节点:若节点A有边通向一组节点{{B1},{B2},…{Bn}},问题A的解决有待于子问题B1或B2或…或Bn中某一个子问题的解决,则称A为“或”节点。如图b所示。…...a:AB1B2Bn…...b:AB1B2Bn问题空间法的有关概念(2)问题空间分解过程:隐含求一个与或图问题空间法有关概念(2)问题的解(解图):从代表初始问题的节点出发,搜索到一个完整的‘与或’子图,图中所有叶节点均满足问题求解的结束条件。例:(C,B,Z)-〉(M,…M)重写规则:R1:C(D,L)
R2:C(B,M)
R3:B(M,M)
R4:Z(B,B,M)
解图问题空间法有关概念(2)问题的解(解图):从代表初始问题的节小结–问题求解方法比较状态空间法问题空间法问题求解状态变换问题分解搜索过程隐含构建普通有向图隐含构建与或图节点状态问题边状态变换规则(算子)问题分解规则(算子)
求解解径解图小结–问题求解方法比较状态空间法问题空问题求解基本原理一、问题求解的基本方法二、搜索技术(一)问题求解基本原理一、问题求解的基本方法搜索技术预备状态空间搜索有关概念盲目搜索策略启发式搜索策略问题求解基本原理搜索技术预备问题求解基本原理搜索策略预备盲目搜索:不考虑给定问题所具有的特定知识,系统按照事先确定好的某种固定顺序调用规则,或是随机地调用规则。
常用的盲目搜索算法:
深度优先搜索策略;宽度优先搜索策略搜索策略预备盲目搜索:常用的盲目搜索算法:搜索策略预备启发式信息:与问题求解有关的信息和知识。由于信息的片面性和不准确性,应用启发式信息不能百分之百地保证找到问题的解,但能提高问题求解的可能性。
启发式信息在问题求解过程中的作用:有助于加速求解过程;有助于找到“较优”解。
启发式搜索策略:考虑给定问题领域具有的特定知识(启发式信息),系统动态地规定规则调用顺序,优先使用“较”合适的规则。搜索策略预备启发式信息:启发式信息在问题求解过程中的作用:搜索策略预备常用的基于状态图的启发式搜索策略:爬山搜索策略(HillClimbing)大英博物馆搜索策略(BritishMuseum)启发式图搜索策略(A)最佳启发式图搜索策略(A*
)常用的基于与或图及博弈的启发式搜索策略:最佳启发式与或图搜索策略(AO*)极大极小搜索策略(Minimax)α-β剪枝搜索策略(Alpha-BetaPruning)搜索策略预备常用的基于状态图的启发式搜索策略:常用的基基于状态空间的搜索技术:
有关搜索概念
盲目搜索策略
启发式搜索策略问题求解基本原理基于状态空间的搜索技术:问题求解基本原理状态空间搜索有关概念状态图特点:多条路径通向同一节点。例:E状态空间搜索有关概念状态图特点:多条路径通向同一节点。例:状态空间搜索有关概念状态空间搜索有关概念状态空间搜索有关概念节点深度:根节点的深度为0,其它节点的深度规定为其父节点的深度加1,即dn+1=dn+1。标记节点n:利用指针把后继节点连接到父节点n的操作。节点:对应状态图中有关状态的描述。扩展节点n:算符(规则)作用于节点n生成的新节点称为节点n的后继节点。生成节点n的所有后继节点并计算生成这些后继节点所使用的花费的过程叫做扩展节点n。状态空间搜索有关概念节点深度:根节点的深度为0,其它节点路径:对于一个节点序列(n0,n1,…,nl,…,nk),如若每一节点ni-1都有一个后继节点ni(i=1,2,…,k),则称该节点序列为一条从节点n0到节点nk、长度为k的路径;路径还可表示为与节点序列对应的规则序列。状态空间搜索有关概念路径花费:设C(ni,nj)为节点ni到nj这段路径(或弧线)的花费。一条路径的花费等于连接这条路径各节点间所有弧线花费值的总和。路径ni
→nj→t的花费值C(ni,t)可递归计算如下:
C(ni,t)=C(ni,nj)+C(nj,t)。路径:对于一个节点序列(n0,n1,…,nl,…,基于状态空间的盲目搜索算法:宽度优先搜索策略深度优先搜索策略问题求解基本原理基于状态空间的盲目搜索算法:问题求解基本原理盲目搜索算法的符号及数据结构
s:
初始节点;n:当前节点。
open:
已被生成但未被扩展的节点序列表;closed:已被生成且已被扩展的节点序列表;{mi}={mj}∪{mk}∪{ml}:扩展n后所得的n的后继节点其中,{mk}:在OPEN表中出现过的待扩展节点,{ml}:在CLOSED表中出现过的已扩展节点。{mj}:第一次生成的节点,mj∈OPEN且mj∈CLOSED表,盲目搜索算法的符号及数据结构s:初始节点宽度优先搜索算法
open:=[S];closed:=[];whileopen≠[]do{ n:=first(open); remove(first(open));
add(n,closed);
ifn=goalthenexit(success); expand(n)->{mi}; delete((mi)(mi∈
{mk}∨
(mi∈{ml}
)
);
add(open,mj)};exit(fail);宽度优先搜索算法open:=[S];cl宽度优先搜索算法
1、S,A,D2、A,D,B,D3、D,B,A,E………Open表为队操作:先进先出!宽度优先搜索算法1、S,A,D2、A,D,B,DG节点扩展顺序宽度优先搜索算法
G节点扩展顺序宽度优先搜索算法
open:=[S];closed:=[];d=深度限制值whileopen≠[]do{ n:=first(open); remove(first(open)); add(n,closed);
ifn=goalthenexit(success); ifdepth(n)>dthencontinue; expand(n)->{mi}; delete((mi)(mi∈{mk}∨(mi∈{ml}
));
add(mj,open)};exit(fail);深度优先搜索算法 open:=[S];closed:=深度优先搜索算法
1、S2、A,D3、B,
D,D………Open表为栈操作:后进先出!4、C,
E,D深度优先搜索算法1、S2、A,D3、B,D,D………节点扩展顺序深度优先搜索算法
节点扩展顺序深度优先搜索算法盲目搜索算法应用实例-8数码问题描述状态:
矩阵(Sij),其中
1≤i,j≤3,Sij∈{0,1,…,8};盲目搜索算法应用实例-8数码问题描述状态:盲目搜索算法应用实例-
合法走步规则:设(i0、j0)为空格所在行列数值,
Si0j0=0R1:ifj-1≥1thenSi0j0:=
Si0(j0-1),Si0(j0-1):=0空格左移;R2:ifi-1≥1thenSi0j0:=
S(i0-1)j0,S(i0-1)j0:=0空格上移;R3:ifj+1≤3thenSi0j0:=
Si0(j0+1),Si0(j0+1):=0空格右移;R4:ifi+1≤3thenSi0j0:=
S(i0+1)j0,S(i0+1)j0:=0空格下移。8数码问题盲目搜索算法应用实例-合法走步规则:设(i0、j0)为宽度优先策略求解8数码问题:目标R1R2R3R2R1R2R3R2R2R3R2R4R1R3宽度优先策略求解8数码问题:目标R1R2R3R2R1R2R3深度优先策略求解8数码问题:说明:
设规则固定使用顺序:R1-左移、R2-上移、R3-右移、R4-下移;设节点深度限制值:6;合法的走步规则重复节点–造成循环深度优先策略求解8数码问题:说明:合法的走步规则重复节点问题求解基本原理基于状态空间的启发式搜索算法:
A算法;A*算法问题求解基本原理基于状态空间的启发式搜索算法:启发式图搜索算法假设:
f(n)=g(n)+h(n)
–任意节点n的评价函数:指迄今为止已找到的从初始节点s,到达节点n,再从节点n到达目标节点t的路径全程的最小费用,是对f*(n)的一个估计。
h(n)
:迄今为止从节点n到目标节点t最佳分段路径将要花费的未知估计费用,是对h*(n)的一个估计,可视为启发式分量函数,有h(n)≥0。
g(n)
:迄今为止搜索到的从初始节点s到当前节点n最佳路径分段的已知费用,是对g*(n)的一个估计。
f*(n)=g*(n)+h*(n):从初始节点s出发,经过最佳路径上任意节点n,到达目标节点t的最小费用。
h*(n):n→t最佳路径的分段费用。
g*(n):s→n最佳路径的分段费用。
s:初始节点;n:当前节点;t:目标节点。启发式图搜索算法假设:f(n)=g(n)+h启发式图搜索算法-A算法
定义:按照f(n)=g(n)+h(n)估价函数值由小到大地排列待扩展节点顺序的图搜索算法,称为A算法。
A算法流程。A算法应用实例:
普通有向图A算法搜索实例;
8数码问题A算法搜索实例。启发式图搜索算法-A算法定义:按照f(n)启发式图搜索算法-A算法算法中符号:s:初始节点;G:搜索图的节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学《康复作业治疗-康复作业治疗概论》考试备考试题及答案解析
- 某食品机械厂仓库货物存储管理制度
- 2025年大学《医学影像学-影像阅片与操作实训》考试备考题库及答案解析
- 2025年大学《飞行器动力工程-航空燃料与润滑技术》考试备考题库及答案解析
- 2025年大学《知识产权-知识产权法总论》考试备考试题及答案解析
- 某舞蹈家协会设备采购管理实施办法
- 某电子音乐制作工作室游戏配乐优化方案
- 某食品机械厂财务部财务审计制度
- 建筑起重信号司索工考试题库(模拟测试)及答案
- 第4课《次北固山下》教学设计2023-2024学年统编版语文七年级上册
- 《基于EVA的企业价值评估文献综述》3700字
- 爱校知校活动方案
- 基于BIRCH聚类的L-Transformer分布式光伏短期发电功率预测
- 高考语文专题复习:《淮南子》文言文阅读训练
- 含容电路单棒切割课件
- 质量管理看板
- 苏州市立达中学
- 四年级语文上册第七单元21古诗三首课件新人教版
- 《高效人士的问题解决术》
- GB/T 9145-2003普通螺纹中等精度、优选系列的极限尺寸
- GB/T 23510-2009车用燃料甲醇
评论
0/150
提交评论