人工智能一般搜索算法原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4, n=FIRST(OPEN), REMOVE(n, OPEN),
ADD(n, CLOSED);
5, IF GOAL(n) EXIT(SUCCESS);
6, EXPAND(n)→{mi}, G=ADD(mi, G);
路漫漫其悠远
2020/4/15
一般的图搜索算法(续)
7, 标记和修改指针: ADD(mj, OPEN), 并标记mj到n的指针; 计算是否要修改mk、ml到n的指针; 计算是否要修改ml到其后继节点的指针;
28 143 765
283 145 76
123 784
65
12 3 84 7 65
路漫漫其悠远
2020/4/15
目标
宽度优先搜索的性质
• 当问题有解时,一定能找到解 • 当问题为单位耗散值,且问题有解时,一
定能找到最优解 • 方法与问题无关,具有通用性 • 效率较低 • 属于图搜索方法
路漫漫其悠远
以将算法改为可变深度限制 • 最坏情况时,搜索空间等同于穷举 • 与回溯法的差别:图搜索 • 是一个通用的与问题无关的方法
路漫漫其悠远
2020/4/15
宽度优先搜索
• 如果搜索是以接近起始节点的程度依次 扩展节点的,那么这种搜索就叫做宽度 优先搜索。这种搜索使逐层进行的,在 对下一层的任意节点进行搜索之前,必 须搜索完本层的所有节点。“先产生的 节点先扩展”
2020/4/15
等代价搜索
• 宽度优先搜索可被推广用来解决寻找从起 始节点到目标节点具有最小代价路径问题, 这种推广了的宽度优先搜索算法叫做等代 价搜索算法。
路漫漫其悠远
2020/4/15
等代价搜索算法
• 算法
1,G=G0(G0=s), OPEN=(s), CLOSED=( ),g(s)=0; 2, LOOP: IF OPEN=( ) EXIT (FAIL); 3, 从OPEN表中选择一个节点i,使其g(i)为最小。如果有几个节点都合格,
765
b
283 145 76
123 784
65
12 3 84 7 65
283 283
64 16
175 754
路漫漫其悠远
2020/4/15
83 214 765
283 714 65
28 143 765
283 145 76
目标
深度优先搜索的性质
• 一般不能保证找到最优解 • 当深度限制不合理时,可能找不到解,可
那么就要选择一个目标节点作为i(要是有目标节点的话);否则,就从 中选一个作为节点I; REMOVE(i, OPEN), ADD(i, CLOSED); 4, IF GOAL(i) EXIT (SUCCESS); 5, EXPAND(i) →{j}, G=ADD(j, G); 6, 对每个后继节点j,计算g(j)=g(i)+c(i,j)且ADD(OPEN, j), 并标记j到i的指 针; 7, GO LOOP;
• 扩展一个节点 生成出该节点的所有后继节点,并给出它 们之间的耗散值。这一过程称为“扩展一 个节点”。
路漫漫其悠远
2020/4/15
一般的图搜索算法 (GRAPHSEARCH)
1, G=G0 (G0=s), OPEN=(s);
2, CLOSED=( );
3, LOOP: IF OPEN=( ) EXIT(FAIL);
路漫漫其悠远
2020/4/15
宽度优先搜索算法
1, G=G0(G0=s), OPEN=(s), CLOSED=( ); 2, LOOP: IF OPEN=( ) EXIT (FAIL); 3, n=FIRST(OPEN); 4, IF GOAL(n) EXIT (SUCCESS); 5, REMOVE(n, OPEN), ADD(n, CLOSED); 6, EXPAND(n) →{mi}, G=ADD(mi, G); 7, IF 目标在{mi}中 THEN EXIT(SUCCESS); 8, ADD(OPEN, mj), 并标记mj到n的指针; 9, GO LOOP;
路漫漫其悠远
2020/4/15
4
283 164
75
1
23 184 765
3
283 164 75
2
283 14 765
6
283 14
765
c
23 184 765
9
283 14 765
5
283 164 75
7
83 214 765
8
283 714
65
a
28 143 765
23 184 765
d
123 84
人工智能一般搜索算法 原理
路漫漫其悠远
2020/4/15
盲目搜索
• 图搜索策略 • 深度优先搜索 • 宽度优先搜索 • 等代价搜索
路漫漫其悠远
2020/4/15
一些基本概念
• 节点深度: 根节点深度=0 其它节点深度=父节点深度+1
0
1
2
3
路漫漫其悠远
2020/4/15
一些基本概念(续1)
• 路径
8, 对OPEN中的节点按某种原则重新排序; 9, GO LOOP;
路漫漫其悠远
2020/4/15
深度优先搜索
• 在深度优先搜索中,首先扩展最新 产生的(最深的)节点,深度 相等的 节点可以任意排列。“最晚产生的 节点最先扩展”
路漫漫其悠远
2020/4/15
深度优先搜索算法
1, G=G0(G0=s), OPEN=(s), CLOSED=( ); 2, LOOP: IF OPEN=( ) EXIT (FAIL); 3, n=FIRST(OPEN); 4, IF GOAL(n) EXIT (SUCCESS); 5, REMOVE(n, OPEN), ADD(n, CLOSED); 6, IF DEPTH(n)≥Dm GO LOOP; 7, EXPAND(n) →{mi}, G=ADD(mi, G); 8, IF 目标在{mi}中 THEN EXIT(SUCCESS); 9, ADD(mj, OPEN), 并标记mj到n的指针; 10, GO LOOP;
设一节点序列为(n0, n1,…,nk),对于 i=1,…,k,若节点ni-1具有一个后继节点ni, 则该序列称为从n0到nk的路径。 • 路径的耗散值
一条路径的耗散值等于连接这条路径各节
点间所有耗散值的总和。用C(ni, nj)表示从 ni到nj的路径的耗散值。
路漫漫其悠远
2020/4/15
一些基本概念(续1)
路漫漫其悠远
2020/4/15
5
283 164 75
2
283 14 765
6
283 14
765
1
23 184 765
3
23 184 765
7
283 14 765
4
23 184 765
8
123 84
765
234 18 765
283 164
75
283 164 75
83 214 7Biblioteka Baidu5
283 714
65
相关文档
最新文档