人工智能第1章盲目搜索.pptx
《人工智能第1章盲目搜索.pptx》由会员分享,可在线阅读,更多相关《人工智能第1章盲目搜索.pptx(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 搜索问题 一种在图中寻找路径的方法。28314765813247651.八数码魔方八数码魔方1.1 1.1 搜索问题搜索问题知识的表示方法知识的表示方法初始节点S0目标节点Sg2.2.状态空间表示状态空间表示状态(State)的基本概念 状态(state)是为描述某类不同事物间的差别而引入的一组最少变量q0,q1,qn的有序集合,其矢量形式如下:Q=q0,q1,qnT (1)式中每个元素qi(i=0,1,n)为集合的分量,称为状态变量。给定每个分量的一组值就得到一个具体的状态,如 Qk=q0k,q1k,,qnkT (2)v 例如,八数码魔方中,所有初始节点S0构成初始节点状态集合Q;所
2、有目标节点Sg构成目标节点状态集合Q。当Q中每个分量取定一个值时,就得到一个具体的状态集合,如例子中的 就是Q0,而 就是Qk。2831476581324765问题求解技术主要是两个方面:问题的表示求解的方法问问题题的的状状态态空空间间(state space)是一个表示该问题全部可能状态及其关系的图,它包含三种说明的集合,即所有可能的问题初始状态集合S、算符集合F以及目标状态集合G。因此,可把状态空间记为三元状态(S,F,G)。算算符符:使问题从一种状态变化为另一种状态的手段称为操作符或算符。操作符可为走步、过程、规则、数学算子、运算符号或逻辑符号等。例例如如,例例子子中中的的八八数数码码魔
3、魔方方问问题题就就可可以以用用三三元元状状态空间表示为态空间表示为 (S0,F,Sg)其中,S0代表初始状态,Sg代表目标状态,而F就是所有能将初始状态变化为目标状态的算符集合。举例:012x012y迷宫问题v整个迷宫问题的知识表示是如书上第10页的图2.3,这是一种状态图知识表示法。v问题是:机器人位于迷宫入口(0,0)处,如何到达迷宫的出口(2,2)。解:问题空间的初始状态是节点(0,0),而目标状态是节点(2,2)。从图2.3可见,从(0,0)到(2,2)需经过(U,R,R,U)算符集合的操作,因此本问题的解用三元状态集合表示为:(0,0),(U,R,R,U),(2,2)3.与图有关的术
4、语v状态空间图由节点(不一定是有限的节点)及连接节点的分枝的集合构成。v有限节点图节点数目有限的图称为有限节点图。v有向图一对节点用分枝线连接起来,从一个节点指向另一个节点。这种图叫做有向图。始节点叫父节点或双亲节点,终节点叫子节点。扩展求解父节点的所有子节点,叫做扩展。路径在一系列节点n1,n2,nm中,从n1开始,ni总有分枝连接ni+1,称从n1到nm之间的分枝集合是路径。路径中不包含两个及以上相同的分枝,如果n1和nm是同一个节点,则称这种路径为闭路。不构成闭路的称为树。在用状态空间图来表示问题时,对问题的求解就是求出从初始节点到目标节点的路径。1.2 图搜索策略1.图搜索的定义一种计
5、算机在状态图中寻找路径的方法。2.CLOSED表的引入编号节点号父节点号CLOSED表(记录扩展过的节点)3.OPEN表的引入节点号父节点号OPEN表(记录待扩展的节点)举例:八数码魔方例子中OPEN表变化过程节点号节点号父节点号父节点号S0空AS0BS0CS0DS0EAFACLOSED表变化过程编号编号节点号节点号父节点号父节点号0S0空1AS02BS0图搜索的一般过程图搜索的一般过程(1)建立一个只含有起始节点S的搜索图G,把S放到一个叫做OPEN表的未扩展节点表中。(2)建立一个叫做CLOSED的已扩展节点表,其初始为空表。(3)LOOP:若OPEN表是空表,则失败退出。(4)选择OPE
6、N表上的第一个节点,把它从OPEN表移出并放进CLOSED表中。称此节点为节点n。(5)若n为一目标节点,则有解并成功退出,此解是追踪图G中沿着指针从n到S这条路径而得到的(指针将在第7步中设置)。图搜索的一般过程图搜索的一般过程(6)扩展节点n,同时生成不是n的祖先的那些后继节点的集合M。把M的这些成员作为n的后继节点添入图G中。(7)对那些未曾在G中出现过的(既未曾在OPEN表上或CLOSED表上出现过的)M成员设置一个通向n的指针。把M的这些成员加进OPEN表。对已经在OPEN或CLOSED表上的每一个M成员,确定是否需要更改通到n的指针方向。对已在CLOSED表上的每个M成员,确定是否
7、需要更改图G中通向它的每个后裔节点的指针方向。(8)按某一任意方式或按某个探试值,重排OPEN表。(9)GO LOOP。开始开始把把S放入放入OPEN表表OPEN表为空表?表为空表?把第一个节点把第一个节点(n)从从OPEN表移至表移至CLOSED表表n为目标节点吗?为目标节点吗?把把n的后继节点放入的后继节点放入OPEN表的表的末端,提供返回节点末端,提供返回节点n的指针的指针修改指针方向修改指针方向重排重排OPEN表表失败失败成功成功图搜索一般过程的框图图搜索一般过程的框图是是是是否否否否1.3 无信息图搜索过程深度优先搜索(纵向搜索)宽度优先搜索(横向搜索)均一代价搜索1.深度优先搜索定
8、义 首先扩展最新产生的(即最深的)节点。深度相等的节点可以任意排列。这种盲目(无信息)搜索叫做深度优先搜索或纵向搜索。特点 扩展最深的节点的结果使得搜索沿着状态空间某条单一的路径从起始节点向下进行下去;只有当搜索到达一个没有后裔的状态时,它才考虑另一条替代的路径。v 为了防止搜索过程沿着无益的路径扩展下去,往往给出一个节点扩展的最大深度深度界限。v深度优先搜索算法是一种“后进先出”的算法。开始开始把把S放入放入OPEN表表OPEN表为空表?表为空表?把第一个节点把第一个节点(n)从从OPEN表移至表移至CLOSED表表扩展扩展n,把其后裔放入,把其后裔放入OPEN表的前头表的前头失败失败成功成
9、功深度优先深度优先搜索算法框图搜索算法框图是是否否是是否否是否有后继节点是否有后继节点为目标节点?为目标节点?S是否为目标节点?是否为目标节点?成功成功是是否否八数码魔方的八数码魔方的深度优先深度优先搜索树搜索树2.宽度优先搜索定义 以接近起始节点的程度逐层扩展节点的搜索方法(breadth-first search),这种盲目(无信息)搜索叫做宽度优先搜索或横向搜索。特点 一种高代价搜索,但若有解存在,则必能找到它。算法 这种搜索是逐层进行的;在对下一层的任一节点进行搜索之前,必须搜索完本层的所有节点。v宽度优先搜索算法是一种“先进先出”的算法。开始开始把把S放入放入OPEN表表OPEN表为
10、空表?表为空表?把第一个节点把第一个节点(n)从从OPEN表移至表移至CLOSED表表扩展扩展n,把,把n的后继节点放入的后继节点放入OPEN表的末端,提供返回节点表的末端,提供返回节点n的指针的指针失败失败宽度优先搜索宽度优先搜索算法框图算法框图是是否否把第一个节点把第一个节点(n)从从OPEN表移至表移至CLOSED表表n为目标节点吗?为目标节点吗?成功成功是是否否举例:八数码魔方1238456712384567(目标状态)(初始状态)1238456712384123845674123856712 3841238456712384567123845676789101112131238456
11、75675671123845671238456712384567123845672345八数码魔方的八数码魔方的宽度优先搜索宽度优先搜索树树13456123845671238456712384567123845671 238456723242526271236782212384567123845671 238456712 38456712384567123845671238456714151617181920211238456742829303112 38456712 38456712384567123845673213456123678381238456739扩展26个节点,共生成46个节点
12、之后,才得到目标3.均一代价搜索是横向搜索的一种推广,不是沿着等长度路径断层进行扩展,而是沿着均一代价路径断层进行扩展。搜索树中每条连接弧线上的有关代价,表示时间、距离等花费。若所有连接弧线具有相等代价,则简化为横向搜索算法。均一代价搜索中的几个记号:均一代价搜索中的几个记号:起始节点记为S;从节点i到它的后继节点j的连接弧线代价记为c(i,j);从起始节点S到任一节点i的路径代价记为g(i)。开始开始把把S放入放入OPEN表表OPEN表为空表?表为空表?把第一个节点把第一个节点(n)从从OPEN表移至表移至CLOSED表表扩展扩展n,把,把n的后继节点放入的后继节点放入OPEN表的末端,提供
13、返回节点表的末端,提供返回节点n的指针的指针失败失败均一代价搜索算法框图均一代价搜索算法框图是是否否把第一个节点把第一个节点(n)从从OPEN表移至表移至CLOSED表表n为目标节点吗?为目标节点吗?成功成功是是否否按按g(i)值由小到大的顺序重排值由小到大的顺序重排OPEN表表均一代价搜索法思路:均一代价搜索法思路:1、从A点开始依次展开得到AB(7)、AC(3)、AD(10)、AE(15)四个新结点,把第一层结点A标记为已展开,并且每个新结点要记录下其距离(括号中的数字);2、把未展开过的AB、AC、AD、AE四个结点中距离最小的一个展开,即展开AC(3)结点,得到ACB(8)、ACD(1
14、6)、ACE(13)三个结点,并把结点AC标记为已展开;3、再从未展开的所有结点中找出距离最小的一个展开,即展开AB(7)结点,得到ABC(12)、ABD(20)、ABE(19)三个结点,并把结点AB标记为已展开;4、再次从未展开的所有结点中找出距离最小的一个展开,即展开ACB(8)结点;5、每次展开所有未展开的结点中距离最小的那个结点,直到展开的新结点中出现目标情况(结点含有5个字母)时,即得到了结果。算法分析:算法分析:由上可见,均一代价搜索法并没有象横向搜索一样展开所有结点,只是根据代价最小的原则,每次展开距离A点最近的那个结点,反复下去即可最终得到答案。虽然中途有时也展开了一些并不是答
15、案的结点,但这种展开并不是大规模的,不是全部展开,因而耗时要比横向搜索小得多。迷宫问题如下,F是入口,B是出口,试采用均一代价搜索算法进行求解。举例:迷宫问题举例:迷宫问题0123x123yFGHECADB22241111注:每个节点小括号内的数值表示走到该节点所需付出的代价。注:每个节点小括号内的数值表示走到该节点所需付出的代价。F(0)G(1)H(3)E(2)C(3)A(64)D(5)B(6)12345678搜索到的路径为黄线所示演讲完毕,谢谢观看!附录资料:人工智能简介About Teaching Plan基本要求:人工智能是计算机科学中涉及研究、设计和应用智能机器的一个分支,是目前迅速
16、发展的一门新兴学科,新思想新方法层出不穷。其基本思想是利用机器来模仿和执行人脑的功能,如判断、推理、证明、识别、感知、理解、设计、思考、规划、学习和问题求解等思维活动。对于培养学生计算机技术的应用能力,开阔思路和视野,有重要意义。About Teaching Plan因此,要求学生掌握知识表示知识表示和问题求解问题求解的几种常用方法,尤其是不确定性推理不确定性推理;掌握机器学习机器学习基本概念,了解几种机器学习方法机器学习方法尤其是神经网络学习方法;神经网络学习方法;掌握专家系统的概念,了解专家系统设计方法专家系统设计方法,掌握一些智能控制方法智能控制方法,了解国内外人工智能研究尤其是机器人的
17、最新进展;最新进展;具有一定的人工智能编程设计能力人工智能编程设计能力(利用Lisp或Prolog语言)。About Teaching Plan课程内容以及学时分配课程内容以及学时分配人工智能引论(1)人工智能概念及与计算机的关系,研究途径、内容和应用领域概况介绍,其他最新材料其他最新材料。符号主义、连接主义、行为主义三大流派人工智能数学基础(1)知识表示方法(2)状态空间法、问题归约法,谓词逻辑法、产生式表示法(动物识别系统);CLIPS语言;语义网络法、框架法(这是结构化表示);剧本、过程、Petri网、面向对象的表示。About Teaching Plan搜索技术和策略(3-4)状态空间
18、法,盲目搜索和启发式搜索,A*算法;海伯伦理论、消解原理和策略;与或形推理和搜索策略;其他求解技术。不确定推理技术(3-4)主观Bayes理论;可信度方法和证据理论;系统组织技术;非单调推理;Rete快速算法;模糊推理技术;基于语义网络和框架不确定推理;专家系统(2)专家系统概念、结构和知识获取;黑板模型、知识组织、管理及系统建造和开发工具;专家系统举例及编程。人工智能程序设计人工智能程序设计(1)人工智能语言基本机制:LISP和PROLOG。About Teaching Plan模式识别导论(3)模式识别专题:概率模式识别。模式识别专题:结构模式识别机器学习(1):机械,解释经验,事例,归纳
19、,概念,类比学习等;统计,结构,模糊模式识别。专题讲座(3次)1)神经网络基本理论和应用(史奎凡课程:安排于人工智能理论与应用课程内);2)智能体(Agent);3)自然语言处理;4)智能控制和机器人科学智能控制的结构理论和研究领域,智能控制系统及应用示例;机器人规划、机器视觉和自然语言理解等。About Teaching Plan实践:1)搜索技术和策略2)不确定推理技术3)专家系统:动物识别系统4)模式识别技术5)调研:搜索技术和策略、不确定推理技术、统计模式识别、机器学习等四个领域进展报告。Chapter One:Brief Introduction to Artificial Inte
20、lligence1.What is AI?人工智能(人工智能(Artificial Intelligence,AI)是当前科学技发展的一门前是当前科学技发展的一门前沿学科,同时也是一门新思想,新观念,新理论,新技术不断出沿学科,同时也是一门新思想,新观念,新理论,新技术不断出现的新兴学科以及正在发展的学科。现的新兴学科以及正在发展的学科。它是在它是在计算机科学,控制论,信息论,神经心理学,哲学,语言学计算机科学,控制论,信息论,神经心理学,哲学,语言学等多种学科研究的基础发展起来的,因此又可把它看作是一门等多种学科研究的基础发展起来的,因此又可把它看作是一门综综合性的边缘学科合性的边缘学科。它
21、的出现及所取得的成就引起了人们的高度重视它的出现及所取得的成就引起了人们的高度重视,并取得了很高的评并取得了很高的评价。有的人把它与空间技术,原子能技术一起并誉为价。有的人把它与空间技术,原子能技术一起并誉为20世纪的三世纪的三大科学技术成就。大科学技术成就。Intelligence智能是知识与智力的总合。智能是知识与智力的总合。知识知识智能行为的基础;智能行为的基础;智力智力获取知识并运用知识求解问题的能力。获取知识并运用知识求解问题的能力。智能具有以下特征:智能具有以下特征:(1)具有感知能力具有感知能力指人们通过视觉、听觉、触觉、味觉、嗅觉等感指人们通过视觉、听觉、触觉、味觉、嗅觉等感觉
22、器官感知外部世界的能力;觉器官感知外部世界的能力;(2)具有记忆与思维的能力具有记忆与思维的能力这是人脑最重要的功能,亦是人之所以有这是人脑最重要的功能,亦是人之所以有智能的根本原因;智能的根本原因;(3)具有学习能力及自适应能力;具有学习能力及自适应能力;(4)具有行为能力。具有行为能力。Artificial Intelligence人工智能人工智能计算机科学的一个分支,是智能计算机系统,即人类智慧计算机科学的一个分支,是智能计算机系统,即人类智慧在机器上的模拟,或者说是人们使机器具有类似于人的智慧(在机器上的模拟,或者说是人们使机器具有类似于人的智慧(对语言对语言能理解、能学习、能推理)。
23、能理解、能学习、能推理)。2.Brief History of AI(1)孕育(孕育(1956年前)年前)古希腊的古希腊的Aristotle(亚里士多德)(前亚里士多德)(前384-322),给出了形式逻辑的),给出了形式逻辑的基本规律。基本规律。英国的哲学家、自然科学家英国的哲学家、自然科学家Bacon(培根)(培根)(1561-1626),系统地给),系统地给 出了归纳法。出了归纳法。“知识就是力量知识就是力量”德国数学家、哲学家德国数学家、哲学家Leibnitz(布莱尼茨)(布莱尼茨)(1646-1716)。提出了关于)。提出了关于数理逻辑的思想,把形式逻辑符号化,从而能对人的思维进行运
24、算和数理逻辑的思想,把形式逻辑符号化,从而能对人的思维进行运算和推理。做出了能做四则运算的手摇计算机推理。做出了能做四则运算的手摇计算机英国数学家、逻辑学家英国数学家、逻辑学家Boole(布尔)(布尔)(1815-1864)实现了布莱尼茨)实现了布莱尼茨 的思维符号化和数学化的思想,提出了一种崭新的代数系统的思维符号化和数学化的思想,提出了一种崭新的代数系统布尔布尔代数。代数。美籍奥地利数理逻辑学家美籍奥地利数理逻辑学家Godel(哥德尔)(哥德尔)(1906-1978),证明),证明了一阶谓词的完备性定;任何包含初等数论的形式系统,如果它了一阶谓词的完备性定;任何包含初等数论的形式系统,如果
25、它是无矛盾的,那么一定是不完备的。意义在于,人的思维形式化是无矛盾的,那么一定是不完备的。意义在于,人的思维形式化和机械化的某种极限,在理论上证明了有些事是做不到的。和机械化的某种极限,在理论上证明了有些事是做不到的。英国数学家英国数学家Turing(图灵图灵)(1912-1954),1936年提出了一种理想年提出了一种理想计算机的数学模型(图灵机),计算机的数学模型(图灵机),1950年提出了图灵试验,发表了年提出了图灵试验,发表了“计算机与智能计算机与智能”的论文。图灵奖。的论文。图灵奖。美国数学家美国数学家Mauchly,1946发明了电子数字计算机发明了电子数字计算机ENIAC美国神经
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 盲目 搜索
限制150内