1、人工智能及其应用,1,第三章 智能求解及其搜索策略,内容提要: 搜索系统的组成 问题表示及求解方法 基本推理技术 搜索策略的效率,基本搜索策略 启发式搜索策略,人工智能及其应用,2,3.1 搜索系统的组成,从知识的角度看,搜索系统由知识库、规则、控制性知识三大成分构成 :,知识库:第一层次知识,可狭义地理解成数据库,它描述当前任务的范围以及要求解问题的目标。 规则 :第二层次知识,操作或规则的集合,用于对数据库的加工处理。 产生式规则:前提与结论 发生器函数:算子 重写规则:字符串处理中把一个字符串变成另一个 控制性知识:有关控制策略的知识。它决定下一步应如何做?选择什么操作?在何处使用此控制
2、?如何选择合适的操作序列是求解中的重要目标之一。 人工智能系统:问题的表达是求解的基础,推理和搜索是求解系统的核心,人工智能及其应用,3,3.2 问题表示及求解方法,问题表达及其变换 问题的直接求解法 状态空间图搜索算法,人工智能及其应用,4,3.2.1 问题表达及其变换,同构同态变换,或图(树)描述同构同态变换 。 问题分解法 与图(树)描述问题分解。,人工智能及其应用,5,3.2.1 问题表达及其变换,与/或图中结点的可解性 可解: 1)终端结点(本原问题)。 2)后继结点是与结点且都可解。 3)后继结点是或结点且至少一个可解。 不可解: 1)非本原问题,但没有后继结点。 2)后继结点是与
3、结点,至少一个不可解。 3)后继结点是或结点,所有均不可解。,人工智能及其应用,6,3.2.2 问题的直接求解法,问题的直接求解法(穷举搜索法):解过程能展现整个问题求解空间。 1、状态空间求解法 用状态描述知识:与问题相关的事实和事实间的关系。状态常表示为矢量Q=(q0,q1,qn)。 操作:从一个状态变换到另一个状态的变换功能或方法。 问题的状态空间可记为三元组(S,F,G),S表示问题的初始状态集合,F表示操作集合,G表示问题的目标状态集合。 1、状态分量的选择。 2、F中操作的选择。决定每个状态的最大可能后继数。 问题求解即是从状态图中找寻一条从初始状态S到达目标状态G的路径,也就是一
4、个操作序列。,人工智能及其应用,7,例3-1:设有四个城市A、B、C、D,城市间的里程如表3-1。有一个售货员从A城出发,访问每个城市一次,最后回到A城,希望找出一条距离最短的巡回售货路线。 其可能解的状态空间图如下,其中,粗线为最短路线,L=25。,3.2.2 问题的直接求解法,人工智能及其应用,8,2、问题演绎法 基本思想:分解原问题成若干个子问题,若子问题还可分解,则再继续分解,一直到分解到这些子问题为可解的本原问题为止。 组成:用三元组表示,一个初始问题描述S;一组变换问题为子问题的操作F;一组本原问题G,解可以直接得到的简单问题。,3.2.2 问题的直接求解法,2019/4/18,例
5、:三阶Hanoi塔问题。设有3个中心有孔的圆盘A、B、C和3根柱子1、2、3。初始状态时,三个盘全部放在柱1上,顶上的A盘最小,底部的C盘最大;目标是要把盘全部移到柱3上去,要求3个圆盘按从小到大的顺序叠放在一起;并且,移动圆盘时要保证一次只能移动一个,任何时候小盘上面不能放比它大的盘。,3.2.2 问题的直接求解法,2019/4/18,解决问题的思路: 第一、要将所有盘从第一个柱子搬到第三个柱子,根据游戏规则,首先要搬最大的 C 盘到第三个柱子上; 第二、要能够搬 C 盘,条件是:第三个柱子是空的,A、B必须在第二个柱子上(这里没有考虑如何搬A、B盘); 第三、搬C盘到第三个柱子,然后想办法
6、将A、B盘搬到第三个柱子上 ;,3.2.2 问题的直接求解法,2019/4/18,将问题简化为下列三个子问题: 移动园盘A和B到柱子2的双园盘难题 移动C盘到柱子3的单园盘难题 移动A和B到柱子3的双园盘难题,3.2.2 问题的直接求解法,将问题简化为下列三个子问题: 移动园盘A和B到柱子2的双园盘难题 移动C盘到柱子3的单园盘难题 移动A和B到柱子3的双园盘难题,2019/4/18,小盘:13 中盘:12 小盘:32,3.2.2 问题的直接求解法,三阶Hanoi塔演绎树:从左到右表示盘从大到小,数字表示柱子号,人工智能及其应用,13,3 博弈问题求解法 博弈问题:对策性问题,表示若干个体开展
7、竞争的过程。 (1)简单情况“二人零和非偶然性全信息”博弈 二人零和:设对垒的A、B双方轮流采取行动,开局比分为0:0,每走一步都进行打分。每一方博弈的结果只有胜、负、平三种情况。例如A方胜,胜方获得正分;对手B则负,相应记等值负分,则二人获得分数的代数和必为零,称为“二人零和”。 非偶然性:双方都是聪明的棋手,都具备冷静精辟的分析能力,都可以完全根据自己的利益得失来理智地选择每一步策略,其中不存在“碰运气”,“侥幸”及“偶然失误”等随机因素;任何一方在采取行动前都要根据当前的实际情况,进行得失分析,选取对自己最为有利而对对方最为不利的对策,故称非偶然性。,3.2.2 问题的直接求解法,人工智
8、能及其应用,14,3 博弈问题求解法 全信息:则是指在对垒过程中,博弈所使用的规则、步法,过去的历史及当前格局均为双方共知。任何一方都认识到棋局的发展将对双方可能造成的影响。 (2)博弈原理 参加博弈的双方都立足于在最坏的情况下来选取对自己最有利的得分,这种策略称之为在非偶然性全信息条件下的保险策略。 (3)博弈树 把上述双方逐层交替的博弈过程用与/或树(图)描述表达出来,就得到了一棵具有“与/或”节点交替出现的博弈树。,3.2.2 问题的直接求解法,人工智能及其应用,15,3 博弈问题求解法 假如A方的目标:尽可能使自己达到最大(或最高)的分数分枝节点,可用“或”关系来描述; 而当轮到B方行
9、动时,B方的目标:尽可能使A方获得最小(或最低)的分数分枝节点,这对A方来说,这些行动方案或分数分枝节点之间,可以用“与”关系来描述。 (4)例3-3:有一堆7根火柴,由A和B轮流分它们,每次都要求把一堆火柴分成不相等的两部分,最后不能分下去的一方为负,对方为胜。假设B先走,A进行分析。,3.2.2 问题的直接求解法,人工智能及其应用,16,A为或结点,B是与结点,其演绎树是一个与/或图,而且是分层与/或图。,3.2.2 问题的直接求解法,人工智能及其应用,17,3.2.3 状态空间图搜索算法,状态空间法存在问题:状态空间巨大,搜索的耗费巨大。 人工智能的搜索技术:如何生成并存储与问题有关的那
10、部分状态空间。 搜索法求解问题的基本思想: 将初始状态当作当前状态。 选择适当的算符作用于当前状态得到后继状态。 检查这组后继状态中是否有目标状态。 未扩展节点、已扩展节点的数据结构,人工智能及其应用,18,1.3.2 状态空间图搜索算法,状态空间搜索算法流程:,N,Y,N,Y,人工智能及其应用,19,3.2.3 状态空间图搜索算法,搜索策略 盲目搜索:OPEN表中的节点排序是任意或盲目的; 启发式搜索:OPEN表中的节点排序按某种启发式信息或准则进行。 搜索图:搜索过程生成的图G,是问题状态空间的一部分。 搜索树:图G中的结点及指向父结点的指针构成的集合。,人工智能及其应用,20,3.2.3 状态空间图搜索算法,