第5章搜索求解策略介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Artificial Intelligence Principles and Applications
第 5 章 搜索求解策略
教材:
王万良《人工智能及其应用》(第2版) 高等教育出版社,2008. 6
第5章 搜索求解策略
5.1 搜索的概念
5.2 状态空间的搜索策略
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
搜索的主要过程: (1) 从初始或目的状态出发,并将它作为当前状态。
(2) 扫描操作算子集,将适用当前状态的一些操作算子 作用于当前状态而得到新的状态,并建立指向其父 结点的指针 。
(3) 检查所生成的新状态是否满足结束状态,如果满足, 则得到问题的一个解,并可沿着有关指针从结束状 态反向到达开始状态,给出一解答路径;否则,将 新状态作为当前状态,返回第(2)步再进行搜索。
23
5.3.1 回溯策略
递归过程:
Step Track (DataList): Data:= First(DataList); if Member(Data, Tail(DataList)) then return FAIL; *回老路退回 if Goal(Data) then return NIL; *达到目的地成功返回 if DeadEnd(Data) then return FAIL; *达到不合理状态,退出 if Length(DataList) > Bound then return FAIL; *已到深度限制,退回 Rules:= AppRules(Data); *得出可应用的规则集 Loop:if Null(Rules) then return FAIL; *进入死胡同,退回 R:= First(Rules); *取出第一条可用规则 Rules:= Tail(Rules); Newdata:= Gen(R,Data); *运用规则,生成新状态 NewDataList:= Cons(Newdata, DataList); Path:= Back Track(NewDataList); *递归 If Path:= FAIL then go loop else return Cons(R, Path); 24
11
5.2 状态空间知识表示方法
5.2.1 状态空间表示法
5.2.2 状态空间的图描述
12
5.2.1 状态空间表示法
状态:表示系统状态、事实等叙述型知识的一组变 量或数组:
Q [q1 , q2 ,, qn ]
T
操作:表示引起状态变化的过程型知识的一组关
系或函数:
F { f1 , f 2 ,, f m }
状态集 S :所有摆法
操作算子: 将空格向上移Up 将空格向左移Left 将空格向下移Down 将空格向右移Right
16
5.2.2 状态空间的图描述
(状态) (操作算子)
状态空间的有向图描述
17
5.2.2 状态空间的图描述
八数码状态空间图
18
5.2.2 状态空间的图描述
例2 旅行商问题(traveling salesman problem, TSP) 或邮递员路径问题。
( 2 )启发式搜索:考虑特定问题领域可应用的知识, 动态地确定调用操作算子的步骤,优先选择较适 合的操作算子,尽量减少不必要的搜索,以求尽 快地到达结束状态。
10
第5章 搜索求解策略
5.1 搜索的概念
5.2
状态空间知识表示方法
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
5.5 与/或图搜索策略
5.2.1 状态空间表示法
求解路径:从 S 0 结点到 G 结点的路径。 状态空间的一个解:一个有限的操作算子序列。
O3 Ok O1 O2 S0 S1 S2 G
O1 ,, Ok :状态空间的一个解。
15
5.2.1 状态空间表示法
例1 八数码问题的状态空间。
5.5 与/或图搜索策略
2
Βιβλιοθήκη Baidu
第5章 搜索求解策略
5.1
搜索的概念
5.2 状态空间知识表示方法
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
5.5 与/或图搜索策略
3
5.1 搜索的概念
问题求解:
问题的表示。
选择一种相对合适的求解方法。 问题求解的基本方法:搜索法、归约法、归结法、推 理法及产生式等。
275 C 400 E 475
400 C 525 .......
A A A A 路径 : 路径 : 路径 : 路径 : ABCDEA ABCEDA ABDCE AB DECA 费用 : 费用 : 费用 : 费用 : 375 425 475 525
旅行推销员状态空间图(部分)
20
第5章 搜索求解策略
(家) (单位:km)
可能路径:费用为375的路径(A,B,C,D,E,A)
19
5.2.2 状态空间的图描述
A 100 B 150 175 225 E 225 E B 175 D C 225 E 250 125 100 D 75 E
C
250 D 300 E 375 275 E 325 D 425
D
13
5.2.1 状态空间表示法
状态空间:利用状态变量和操作符号,表示系统或 问题的有关知识的符号体系,状态空间是一个四元 组:
( S , O, S 0 , G)
S :状态集合。
O :操作算子的集合。
S 0 :包含问题的初始状态是 S 的非空子集。
G :若干具体状态或满足某些性质的路径信息描述。
14
4
5.1 搜索的概念
5.1.1 搜索的基本问题与主要过程
5.1.2 搜索策略
5
5.1.1 搜索的基本问题与主要过程
搜索中需要解决的基本问题:
(1)是否一定能找到一个解。
(2)是否终止运行或是否会陷入一个死循环。
(3)找到的解是否是最佳解。
(4)时间与空间复杂性如何。
6
5.1.1 搜索的基本问题与主要过程
5.1 搜索的概念 5.2 状态空间知识表示方法
5.3
盲目的图搜索策略
5.4 启发式图搜索策略
5.5 与/或图搜索策略
21
5.3 盲目的图搜索策略
5.3.1 回溯策略
5.3.2 宽度优先搜索策略
5.3.3 深度优先搜索策略
22
5.3.1 回溯策略
带回溯策略的搜索:
从初始状态出发,不停地、试探性地寻找路径, 直到它到达目的或“不可解结点”,即“死胡同” 为止。若它遇到不可解结点就回溯到路径中最近的 父结点上,查看该结点是否还有其他的子结点未被 扩展。若有,则沿这些子结点继续搜索;如果找到 目标,就成功退出搜索,返回解题路径。
8
5.1.2 搜索策略
1. 搜索方向:
(3) 双向搜索
双向搜索:从开始状态出发作正向搜索,同时又从 目的状态出发作逆向搜索,直到两条路径在中间的 某处汇合为止。
9
5.1.2 搜索策略
2. 盲目搜索与启发式搜索: ( 1 )盲目搜索:在不具有对特定问题的任何有关信 息的条件下,按固定的步骤(依次或随机调用操 作算子)进行的搜索。
7
5.1.2 搜索策略
1. 搜索方向:
(1) 数据驱动:从初始状态出发的正向搜索。
正向搜索——从问题给出的条件(一个用于状态转换 的操作算子集合)出发。
(2) 目的驱动:从目的状态出发的逆向搜索。
逆向搜索:先从想达到的目的入手,看哪些操作算子 能产生该目的以及应用这些操作算子产生目的时需要 哪些条件。
第 5 章 搜索求解策略
教材:
王万良《人工智能及其应用》(第2版) 高等教育出版社,2008. 6
第5章 搜索求解策略
5.1 搜索的概念
5.2 状态空间的搜索策略
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
搜索的主要过程: (1) 从初始或目的状态出发,并将它作为当前状态。
(2) 扫描操作算子集,将适用当前状态的一些操作算子 作用于当前状态而得到新的状态,并建立指向其父 结点的指针 。
(3) 检查所生成的新状态是否满足结束状态,如果满足, 则得到问题的一个解,并可沿着有关指针从结束状 态反向到达开始状态,给出一解答路径;否则,将 新状态作为当前状态,返回第(2)步再进行搜索。
23
5.3.1 回溯策略
递归过程:
Step Track (DataList): Data:= First(DataList); if Member(Data, Tail(DataList)) then return FAIL; *回老路退回 if Goal(Data) then return NIL; *达到目的地成功返回 if DeadEnd(Data) then return FAIL; *达到不合理状态,退出 if Length(DataList) > Bound then return FAIL; *已到深度限制,退回 Rules:= AppRules(Data); *得出可应用的规则集 Loop:if Null(Rules) then return FAIL; *进入死胡同,退回 R:= First(Rules); *取出第一条可用规则 Rules:= Tail(Rules); Newdata:= Gen(R,Data); *运用规则,生成新状态 NewDataList:= Cons(Newdata, DataList); Path:= Back Track(NewDataList); *递归 If Path:= FAIL then go loop else return Cons(R, Path); 24
11
5.2 状态空间知识表示方法
5.2.1 状态空间表示法
5.2.2 状态空间的图描述
12
5.2.1 状态空间表示法
状态:表示系统状态、事实等叙述型知识的一组变 量或数组:
Q [q1 , q2 ,, qn ]
T
操作:表示引起状态变化的过程型知识的一组关
系或函数:
F { f1 , f 2 ,, f m }
状态集 S :所有摆法
操作算子: 将空格向上移Up 将空格向左移Left 将空格向下移Down 将空格向右移Right
16
5.2.2 状态空间的图描述
(状态) (操作算子)
状态空间的有向图描述
17
5.2.2 状态空间的图描述
八数码状态空间图
18
5.2.2 状态空间的图描述
例2 旅行商问题(traveling salesman problem, TSP) 或邮递员路径问题。
( 2 )启发式搜索:考虑特定问题领域可应用的知识, 动态地确定调用操作算子的步骤,优先选择较适 合的操作算子,尽量减少不必要的搜索,以求尽 快地到达结束状态。
10
第5章 搜索求解策略
5.1 搜索的概念
5.2
状态空间知识表示方法
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
5.5 与/或图搜索策略
5.2.1 状态空间表示法
求解路径:从 S 0 结点到 G 结点的路径。 状态空间的一个解:一个有限的操作算子序列。
O3 Ok O1 O2 S0 S1 S2 G
O1 ,, Ok :状态空间的一个解。
15
5.2.1 状态空间表示法
例1 八数码问题的状态空间。
5.5 与/或图搜索策略
2
Βιβλιοθήκη Baidu
第5章 搜索求解策略
5.1
搜索的概念
5.2 状态空间知识表示方法
5.3 盲目的图搜索策略 5.4 启发式图搜索策略
5.5 与/或图搜索策略
3
5.1 搜索的概念
问题求解:
问题的表示。
选择一种相对合适的求解方法。 问题求解的基本方法:搜索法、归约法、归结法、推 理法及产生式等。
275 C 400 E 475
400 C 525 .......
A A A A 路径 : 路径 : 路径 : 路径 : ABCDEA ABCEDA ABDCE AB DECA 费用 : 费用 : 费用 : 费用 : 375 425 475 525
旅行推销员状态空间图(部分)
20
第5章 搜索求解策略
(家) (单位:km)
可能路径:费用为375的路径(A,B,C,D,E,A)
19
5.2.2 状态空间的图描述
A 100 B 150 175 225 E 225 E B 175 D C 225 E 250 125 100 D 75 E
C
250 D 300 E 375 275 E 325 D 425
D
13
5.2.1 状态空间表示法
状态空间:利用状态变量和操作符号,表示系统或 问题的有关知识的符号体系,状态空间是一个四元 组:
( S , O, S 0 , G)
S :状态集合。
O :操作算子的集合。
S 0 :包含问题的初始状态是 S 的非空子集。
G :若干具体状态或满足某些性质的路径信息描述。
14
4
5.1 搜索的概念
5.1.1 搜索的基本问题与主要过程
5.1.2 搜索策略
5
5.1.1 搜索的基本问题与主要过程
搜索中需要解决的基本问题:
(1)是否一定能找到一个解。
(2)是否终止运行或是否会陷入一个死循环。
(3)找到的解是否是最佳解。
(4)时间与空间复杂性如何。
6
5.1.1 搜索的基本问题与主要过程
5.1 搜索的概念 5.2 状态空间知识表示方法
5.3
盲目的图搜索策略
5.4 启发式图搜索策略
5.5 与/或图搜索策略
21
5.3 盲目的图搜索策略
5.3.1 回溯策略
5.3.2 宽度优先搜索策略
5.3.3 深度优先搜索策略
22
5.3.1 回溯策略
带回溯策略的搜索:
从初始状态出发,不停地、试探性地寻找路径, 直到它到达目的或“不可解结点”,即“死胡同” 为止。若它遇到不可解结点就回溯到路径中最近的 父结点上,查看该结点是否还有其他的子结点未被 扩展。若有,则沿这些子结点继续搜索;如果找到 目标,就成功退出搜索,返回解题路径。
8
5.1.2 搜索策略
1. 搜索方向:
(3) 双向搜索
双向搜索:从开始状态出发作正向搜索,同时又从 目的状态出发作逆向搜索,直到两条路径在中间的 某处汇合为止。
9
5.1.2 搜索策略
2. 盲目搜索与启发式搜索: ( 1 )盲目搜索:在不具有对特定问题的任何有关信 息的条件下,按固定的步骤(依次或随机调用操 作算子)进行的搜索。
7
5.1.2 搜索策略
1. 搜索方向:
(1) 数据驱动:从初始状态出发的正向搜索。
正向搜索——从问题给出的条件(一个用于状态转换 的操作算子集合)出发。
(2) 目的驱动:从目的状态出发的逆向搜索。
逆向搜索:先从想达到的目的入手,看哪些操作算子 能产生该目的以及应用这些操作算子产生目的时需要 哪些条件。