第三章搜索策略

合集下载

智能控制-第三章--搜索推理技术概要PPT课件

智能控制-第三章--搜索推理技术概要PPT课件
第三章 搜索推理技术
3.1 图搜索策略 3.2 盲目搜索 3.3 启发式搜索 3.4 消解原理 3.5 规则演绎系统
3.6 产生式系统 3.7 系统组织技术 3.8 小结
3.1 图搜索策略
❖ 图搜索控制策略 一种在图中寻找路径的方法。 图中每个节点对应一个状态,每条连线对应 一个操作符。这些节点和连线又分别由产生 式系统的数据库和规则来标记。求得把一个 数据库变换为另一数据库的规则序列问题就 等价于求得图中的一条路径问题。
5)若n为一目标节点,则有解并成功退出,此 解是追踪图G中沿着指针从n到S这条路径而 得到的(指针将在第7步中设置)。
.
3.1 图搜索策略
6)扩展节点n,同时生成不是n的祖先的那些后 继节点的集合M。把M的这些成员作为n的后 继节点添入图G中。
7)对那些未曾在G中出现过的M成员设置一个 通向n的指针。把M的这些成员加进OPEN表。 对已经在OPEN或CLOSED表上的每一个M成 员,确定是否需更改通到n的指针方向。对已 在CLOSED表上的每个M成员,确定是否需 要更改图G中通向它的每个后裔节点的指针方 向。
是否有后继节点 为目标节点?

是 成功
图3.2 宽度优先算法框图
.
❖ 例子
八数码难题(8-puzzle problem)
3.2 盲目搜索
28 3
1
4
76 5
(初始状态)
12 3
8
4
76 5
(目标状态)
规定:将棋子移入空格的顺序为:从空格左边开 始顺时针旋转。不许斜向移动,也不返回先辈节 点。从图可见,要扩展26个节点,共生成46个 节点之后才求得解(目标节点)。
.
深度优先搜索示意图

第三章 一维搜索法

第三章 一维搜索法
x
0
x1 x2
x3
3-1 确定初始区间的进退法
探测初始空间的进退法步骤: 探测初始空间的进退法步骤 (1)给定初始点 x0 ,初始步长 h ,令 x1 = x0 ,记: f1 = f ( x1 ) 给定初始点 初始步长 令 记 (2)产生新的探测点 x2 = x1 + h ,记 f 2 = f ( x2 ) 产生新的探测点 (3)比较函数值 f1 和 f 2 的大小 确定向前或向后探测的策略 比较函数值 的大小,确定向前或向后探测的策略 则加大步长,令 若: f1 > f 2 则加大步长 令 h = 2h ,转(4)向前探测 转 向前探测 (4)产生新的探测点 x3 = x0 + h ,令 f 3 = f ( x3 ) 产生新的探测点 令 (5)比较函数值 f 2 和 f 3 的大小 比较函数值 则调转方向,令 若: f1 < f 2 则调转方向 令 h = − h ,转(4)向后探测 转 向后探测
3-1 确定初始区间的进退法
f (x ) f ( x1 )
f ( x2 )
f ( x1 ) > f ( x2 ) > f ( x3 )
极小点在右端点的
f (x3 ) (x
x
x3 右侧
0
x1
x2 x3
3-1 确定初始区间的进退法
f (x ) f ( x1 ) f ( x2 )
f ( x3 )
f ( x1 ) < f ( x2 ) < f ( x3 )
h=-h;x2=x0+h;f2=f(x2); ; ; ; End
3-2 黄金分割法
一维搜索试探方法的基本思想: 一维搜索试探方法的基本思想:在确定了搜索区间的 前提下,不断缩小搜索区间, 前提下,不断缩小搜索区间,同时保持搜索区间内函数值 “大-小-大”的走势,直到区间的宽度小于预定的精度。 小 大 的走势,直到区间的宽度小于预定的精度。 黄金分割法基本思想: 黄金分割法基本思想 : 在搜索区间内插入两个黄金分 割点,将区间分成三段。利用函数的单谷性质,通过函数值 割点,将区间分成三段。利用函数的单谷性质, 大小的比较,删去其中一段。 大小的比较,删去其中一段。在保留下来的区间上作同样的 处置,如此往复送代,使搜索区间缩小到精度范围内, 处置,如此往复送代,使搜索区间缩小到精度范围内,得到 极小点的近似解。 极小点的近似解。

ch3产生式系统的搜索策略精品文档

ch3产生式系统的搜索策略精品文档

2019/11/6
31
3.1.1A算法
1 G=G0(G0=s),open=(s),closed=() ,f(s)=g(s)+ h(s) //s:初始状态
2 Loop:if open=() then exit(fall) 3 n←first(open)h() 4 if goal(n) then exit(success) 5remove(n,open), add(n,closed) 6{mj} ←expand(n), //mj不含n的先辈节点
2)f(n)=h(n) 只考虑未来的发展趋势//爬山 算法
那么可以得到两种特殊的算法:爬山算法和 分支界限算法。
2019/11/6
37
3.3.2爬山算法
Procedure Hill _Climbing
1 n=s
2 Loop: if goal(n) then exit(success)
3{mi} ←expangd(n),计算每个h(mi) nextn ← h(mi)最小值的节点 4 if h(n)<h(nextn) then exit(fail)
3
6)h函数与A*的关系 7)关于单调性限制 8)A*算法示例
2019/11/6
4
3.1回溯算法
2019/11/6
5
2019/11/6
6
例 四皇后问题
2019/11/6
7
定义综合数据库:
设:DATA={ij︱1<=i,j<=4},其中:ij表示 棋子所在行列 如:24表示第二行第四列有 一枚棋子
1 G=G0(G0=s),open=(s),closed=() //s:初始状态 2 Loop:if open=() then exit(fall)

人工智能chp.ppt

人工智能chp.ppt
(2) 第5步选择G’中的待扩展结点一般是选那些最 可能导致该局部解图耗散值发生较大变化的结点,也使 能够及时修改局部解图的标记;
(3) 与A算法类似,若s→N存在解图,当 h(n)≤h*(n)且h(n)满足单调限制条件时,AO*一定可找 到最佳解图,而h(n)=0时AO*变为宽度优先搜索算法。
第三章 可分解产生式系统搜索策略
3.3 博弈树搜索 Grundy博弈:一堆数目为N的钱币由两位选手轮流分 堆,每个选手每次只把其中某一堆分成数目不等的两 小堆,直到不能再分为数目不等的两堆时认输。下面 是对应的产生式系统描述。 综合数据库:无序数字序列x1,…xn表示n堆钱币不同 的个数,M表示对应的选手标志,组合(x1,…,xn,M)表 示了选手走步的状态。 规则:If (x1,…,xn,M)∧(xi=y+z,y≠z) Then (x1,…,xi-1,y,z,xi+1,xn,M) Grundy博弈问题搜索的状态空间图。
n0 3
n0
5

n1 n4
1 n5 1
n0
4
5
n1
n2
4 n3 4
1 n5
n1
4
n3
5
t n2

n5
1n4
4
n6

n4
n7 0

n8
0
5 n0
5
n1
tn4
n3
n2

4
4
2 n5
n6

n7
0
0 n8
第三章 可分解产生式系统搜索策略 AO*与算法A的区别:
(1) AO*评价函数只考虑h(n)分量,因算法是自底 向上的耗散值操作,局部耗散值的比较是在s处,获得 估计效果,没必要计算g的值;

人工智能第三章_搜索策略-2

人工智能第三章_搜索策略-2

30
与或图搜索
1)与或图搜索的基本概念 3、解图的生成★
解图纯粹是一种“与”图 解图中,节点或节点组间不存在“或”关系; 所有叶节点都是终节点
与或图中存在“或”关系,搜索到多个解图;
2019/12/21
31
与或图搜索
2) 解图、解图代价、能解节点和不能解节点的定义
(1)解图——与或图(记为G)任一节点(记为n)到终 节点集合的解图(记为G‘)是G的子图。
5
回溯策略和爬山法
2)回溯策略
三种失败状态:
不合法状态(如传教士和野人问题中所述的那样) 旧状态重现(如八数码游戏中某一棋盘布局的重现,会导 致搜索算法死循环), 状态节点深度超过预定限度(例如八数码游戏中,指示解 答路径不超过6步)。
回溯条件
失败状态,由算法第(2)句指示; 搜索进入“死胡同”,由该算法的第(4)句定义。
引入K-连接
父子节点间可以存在“与”关系 结果——解图。
解答路径往往不复存在,代之以广义的解路径—— 解图。
2019/12/21
24
与或图搜索
1)与或图搜索的基本概念 1、K-连接★ 从父节点到K个子节点的连接,子节点间有“与”关系; 以圆弧指示这些子节点间的“与”关系; 一个父节点可以有多个K-连接
(1,3,3)(3,3,3)
2019/12/21
(3,1,1)(3,2,1)
22
(1,2,3)(1,3,3)
梵塔问题
子问题间有交互作用, 问题分解注意正确的顺序
(1,1,1)(3,3,3)
1
5
6
(1,1,1)(2,2,1) (2,2,1)(2,2,3) (2,2,3)(3,3,3)

6第六讲 第三章(盲目、启发搜索)

6第六讲  第三章(盲目、启发搜索)

二、有序搜索
用估价函数 f 来排列OPEN表上的节点。
应用某个算法选择OPEN表上具有最小f 值的节点作为
二、宽度优先搜索
例3.2 八数码问题 操作规定: 允许空格四周上、下、左、右的数码 块移入空格中,不许斜方向移动,不许返回先辈 结点。
1 2 3 8 5 7 4 6
1
4
1 3 8 2 5 7 4 6
2
1 2 3 8 4 5 7 6
3
1 2 3 8 5 7 4 6
5
1 2 3 8 5 7 4 6
深度优先搜索的特点
OPEN表为堆栈,操作是后进先出(LIFO) 深度优先又称纵向搜索。 一般不容易保证找到最优解(如下图所示) 防止搜索过程沿着无益的路径扩展下去,往往 给出一个节点扩展的最大深度——深度界限。
2、有界深度优先搜索
引入搜索深度限制值d,使深度优先搜索具有完备性 。 (1)深度界限的选择很重要 d若太小,则达不到解的深度,得不到解;若太大,既 浪费了计算机的存储空间与时间,降低了搜索效率。由于 解的路径长度事先难以预料,要恰当地给出d的值是比较 困难的。 (2)即使能求出解,它也不一定是最优解。 例3.3:设定搜索深度限制d=5的八数码问题。
4. 搜索过程框图
S0放入OPEN表 是 OPEN表空? 否 将OPEN表中第一个节点(n) 移至CLOSE表 否 n是目标节点? 扩展节点n,把n的后继节点放入 OPEN表末端,提供指向 节点n的指针 修改指针方针,重排OPEN表
失败

成功
一、图搜索策略(Graph Search) 5.图搜索方法分析:
3.2 启发式搜索
盲目搜索的不足:效率低,耗费空间与时间。 启发式搜索:利用问题本身特性信息(启发信息) 指导搜索过程。是有序搜索。 一、启发式搜索策略 启发式信息主要用途:

人工智能课件-搜索推理技术

人工智能课件-搜索推理技术
(3) 對變數標準化 對啞元(虛構變數)改名,以保證每個量詞 有其自己唯一的啞元。
1
3.4 消解原理
(4) (x){~P(x)∨{(y)[~P(y)∨P(f(x,y))]
∧[Q(x,g(x))∧~P(g(x))]}}
式中,w=g(x)為一Skolem函數。
(4) 消去存在量詞
以Skolem函數代替存在量詞內的約束變數,
❖ 實質
❖ 把一棵根部有NIL的反演樹變換為根部帶有回 答 語句的一棵證明樹。
1
3.5 規則演繹系統
—— g是g*的估計 ,h是h*的估計
❖ A*演算法的定義:
定義1 在GRAPHSEARCH過程中,如果第8步的重排OPEN表
是依據f(x)=g(x)+h(x)進行的,則稱該過程為A演算法。
定義2 在A演算法中,如果對所有的x存在h(x)≤h*(x),則稱h(x)
為h*(x)的下界,它表示某種偏於保守的估計。
子句(4) {a/x,b/y}
子句(7) ~M(b)
子句(5)
圖3.12 儲蓄問題反演樹
NIL
1
3.4 消解原理
❖ 反演求解過程 ❖從反演樹求取答案步驟
❖把由目標公式的否定產生的每個子句添加到目 標公式否定之否定的子句中去。
❖按照反演樹,執行和以前相同的消解,直至在 根部得到某個子句止。
❖用根部的子句作為一個回答語句。
❖ 種類:有序搜索、A*演算法等
3.3.1 啟發式搜索策略和估價函數
❖盲目搜索可能帶來組合爆炸 ❖啟發式資訊
用來加速搜索過程的有關問題領域的特徵資訊。
1
3.3 啟發式搜索
❖ 估價函數 為獲得某些節點“希望”的啟發資訊,提供一

人工智能第三章_搜索策略-1

人工智能第三章_搜索策略-1
❖搜索什么
搜索什么通常指的就是目标。
❖在哪里搜索
在哪里搜索就是“搜索空间”。搜索空间通常 是指一系列状态的汇集,因此称为状态空间。
和通常的搜索空间不同,人工智能中大多数问题的状 态空间在问题求解之前不是全部知道的。
2020/10/31
6
所以,人工智能中的搜索可以分成两个 阶段:
状态空间的生成阶段 在该状态空间中对所求问题状态的搜索
(1)初始状态集合:定义了初始 的环境。
(2)操作符集合:把一个问题从 一个状态变换为另一个状态的 动作集合。
(3)目标检测函数:用来确定一 个状态是不是目标。
(4)路径费用函数:对每条路径 赋予一定费用的函数。
其中,初 始状态集 合和操作 符集合定 义了问题 的搜索空
间。
2020/10/31
5
➢ 在人工智能中,搜索问题一般包括两个重 要的问题:
分析:通过引入一个三维变量将问题表示出来。设 三维变量为: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。
2020/10/31
21
钱币问题的状态空间图
2020/10/31
22
状态空间搜索
——1.状态空间及其搜索的表示
(2)状态空间表示的经典例子“传教士和野人问题” ★
问题的描述:
N个传教士带领N个野人划船过河; 3个安全约束条件:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢搜索可以根据是否使用启发式信息分 为
❖盲目搜索
❖启发式搜索
•2020/4/19
盲目搜索
只是可以区分出哪 个是目标状态。 一般是按预定的搜 索策略进行搜索。 没有考虑到问题本 身的特性,这种搜索 具有很大的盲目性, 效率不高,不便于复 杂问题的求解。
•2020/4/19
启发式搜索
是在搜索过程中加 入了与问题有关的启 发式信息,用于指导 搜索朝着最有希望的 方向前进,加速问题 的求解并找到最优解
(2)操作符集合:把一个问题从 一个状态变换为另一个状态的 动作集合。
(3)目标检测函数:用来确定一 个状态是不是目标。
(4)路径费用函数:对每条路径 赋予一定费用的函数。
•其中,初 始状态集 合和操作 符集合定 义了问题 的搜索空
间。
•2020/4/19
➢ 在人工智能中,搜索问题一般包括两个重 要的问题:
对于启发式搜索,在计算每个节点的参数之前 无法确定先选择哪个节点扩展,这种搜索一般 也称为非确定的。
•2020/4/19
•搜索策略评价标准:
完备性:
如果存在一个解答,该策略是否保证能够找到 ?
时间复杂性:
需要多长时间可以找到解?
最优性:
如果存在不同的几个解答,该策略是否可以发 现最高质量的解答?
•2020/4/19
在树的最深一层的节 点中扩展一个节点。 只有当搜索遇到一个 死亡节点(非目标节 点并且是无法扩展的 节点)的时候,才返 回上一层选择其他的 节点搜索。
无论是宽度优先搜索还是深度优先搜索,遍历 节点的顺序一般都是固定的,即一旦搜索空间 给定,节点遍历的顺序就固定了。这种类型的 遍历称为“确定性”的,也就是盲目搜索。
•1 2 3 • 84 •7 6 5
•2 8 3 •1 6 4 • 75
•2 8 3 •1 6 4 •7 5
• 83 •2 1 4 •7 6 5
❖搜索什么 搜索什么通常指的就是目标。 ❖在哪里搜索 在哪里搜索就是“搜索空间”。搜索空间通常 是指一系列状态的汇集,因此称为状态空间。
和通常的搜索空间不同,人工智能中大多数问题的状 态空间在问题求解之前不是全部知道的。
•2020/4/19
所以,人工智能中的搜索可以分成两个 阶段:
状态空间的生成阶段 在该状态空间中对所求问题状态的搜索

根据问题的表示方式分为
状态空间搜索 与或图搜索
•2020/4/19
•与/或图搜 索是指用问 题规约方法 来求解问题 时所进行的
搜索。
•状态空间 搜索是用 状态空间 法来求解 问题所进 行的搜索
考虑一个问题的状态空间 为一棵树的形式。
宽度优先搜索 深度优先搜索
如果根节点首 先扩展,然后是 扩展根节点生成 的所有节点,然 后是这些节点的 后继,如此反复 下去。
第三章搜索策略
2020年4月19日星期日
第3章 搜索策略
两大类搜索技术:
1、一般图搜索、启发式搜索 2、基于问题归约的与或图搜索
两种典型的推理技术:
1、基于归结的演绎推理
归结反演
2、基于规则的演绎推理
正向演绎推理 逆向演绎推理
•2020/4/19
3.1 引言
对于给定的问题,智能系统的行为一般是 找到能够达到所希望目标的动作序列,并使 其所付出的代价最小、性能最好。 基于给定的问题,问题求解的第一步是目 标的表示。 搜索就是找到智能系统的动作序列的过程 。
节点
状态
有向弧
状态的变迁
•操作算 子
弧上的标签
导致状态变迁的 操作算子
•问题的状态空间是一个表示该问题的全部可能状 态及其变迁的有向图。
•2020/4/19
•状态空间搜索
例1:走迷宫是人们熟悉的一种游戏。
•2020/4/19
格子、入口和出口——节点——状态 通道——有向弧——操作算子 迷宫可以由一个有向图表示
•2020/4/19
•3.2 基于状态空间的搜索技术
•有许多智力问题(如梵塔问题、旅行商问题、八皇 后问题、农夫过河问题等)和实际问题(如路径规 划、机器人行动规划等)都可以归结为状态空间搜 索。
•用状态空间搜索来求解问题的系统均定义一个状 态空间,并通过适当的搜索算法在状态空间中搜索 解答路径。
1
4
8
4
7 6 5
7 6 5
•初始棋局
•目标棋局
•2020/4/19
•2 3 •1 8 4 •7 6 5
•2 8 3 •1 4 •7 6 5
•2 8 3 •1 6 4 •7 5
•2 8 3 • 14 •7 6 5
• 23 •1 8 4 •7 6 5
•2 8 3 •1 4 •7 6 5
•2 3 •1 8 4 •7 6 5
•2020/4/19
例2:在一个3×3的方格棋盘上放置着 1,2,3,4,5,6,7,8八个数码,每个数码占一格,且有一 个空格。这些数码可在棋盘上移动,其移动规则是 :与空格相邻的数码方可移入空格。
现在的问题是:对于指定的初始棋局和目标棋 局,给出数码的移动序列。该问题称为八数码问题 。
2 8 3 •移动数码 1 2 3
•2020/4/19
搜索算法的输入是给定的问题,输出时表示为 动作序列的方案。
一旦有了方案,就可以执行该方案所给出的动 作了。(执行阶段)
因此,求解问题包括:
目标表示 搜索 执行
•2020/4/19
➢一般给定问题就是确定该问题的一 些基本信息,一个问题由4部分组成:
(1)初始状态集合:定义了初始 的环境。
•2020/4/19
状态空间搜索
——1.状态空间及其搜索的表示
(1)状态空间的表示★
状态空间记为SP,可表示为二元组: SP=(S,O) S——问题求解(即搜索)过程中所有可能到达的合法状态 构成的集合; O——操作算子的集合,操作算子的执行会导致问题状态 的变迁 ; 状态——用于记载问题求解(即搜索)过程中某一时刻问 题现状的快照;
抽象为矢量形式 Q=[q0,q1,…,qn]T 每个元素qi称为状态分量 给定每个状态分量qi的值就得到一个具体的状态
Qk=[q0k,q1k,…,qnk]T
•2020/4/19
•用状态空间搜索来求解问题的系统均定义一个状 态空间,并通过适当的搜索算法在状态空间中搜索
解答路径。
•状态
•表示状态的变 迁
相关文档
最新文档