1、人工智能原理,主 讲:匡迎春 李明授课班级:农业电气化与自动化,按时上课认真完成作业阅读相关资料,课程要求,课程主要介绍如下方面的内容: 绪论 知识表示 搜索技术 推理技术 机器学习 专家系统 其他,课程主要内容,人工智能技术导论(第三版),廉师友 等,2007年,西安电子科技大学出版社 。(主要教材) 参考书: 人工智能导论,林尧瑞,马少平编著,清华大学出版社,1989年5月第1版,1998年3月第7次印刷 人工智能导论,刘峡壁,2008年,国防工业出版社 人工智能原理,石纯一等,1993年,清华大学出版社 人工智能引论,E.丽奇著,李卫华等译,1986年,广东科技出版社,教材及主要参考书,
2、IJCAI,世界人工智能大会,2年一次 International Joint Conference on Artificial Intellience AAAI,美国一年一次的年会 AI Journal SIGKDD ,AI的会议及杂志,第 1 章 人工智能概述,1.1 什么是人工智能 1.2 人工智能的研究意义、目标和策略 1.3 人工智能的学科范畴 1.4 人工智能的研究内容 1.5 人工智能的研究途径与方法 1.6 人工智能的基本技术 1.7 人工智能的应用 1.8 人工智能的分支领域与研究方向 1.9 人工智能的发展概况 习题一,1.1 什么是人工智能,1.1.1 什么是智能? 智能
3、是脑特别是人脑的属性或者说产物。 智能的基础是知识(没有知识的智能不可想象)。 智能的关键是思维(知识是思维产生的)。 智能取决于感知和行为。 结论 内涵:智能知识思维外延:智能就是发现规律、运用规律和分析问题、解决问题的能力,智能的特征 具有感知能力,感知是人类最基本的生理、心理现象,是获取外界信息的基本途径。 具有记忆和思维能力,思维可分为逻辑思维、形象思维和顿悟思维。 具有学习能力和自适应能力。 具有行为能力。,1.1.2 人工智能概念的一般描述顾名思义,人工智能就是人造智能, 其英文表示是“Artificial Intelligence”, 简称AI。 “人工智能”一词目前是指用计算机
4、模拟或实现的智能, 因此人工智能又称机器智能。 当然, 这只是对人工智能的字面解释或一般解释。关于人工智能的科学定义, 学术界目前还没有统一的认识。下面是部分学者对人工智能概念的描述, 可以看做是他们各自对人工智能所下的定义。 ,人工智能是那些与人的思维相关的活动, 诸如决策、 问题求解和学习等的自动化(Bellman, 1978年)。人工智能是一种计算机能够思维, 使机器具有智力的激动人心的新尝试(Haugeland,1985年)。人工智能是研究如何让计算机做现阶段只有人才能做得好的事情(Rich Knight, 1991年)。人工智能是那些使知觉、 推理和行为成为可能的计算的研究(Wins
5、ton, 1992年)。,广义地讲, 人工智能是关于人造物的智能行为, 而智能行为包括知觉、推理、学习、交流和在复杂环境中的行为(Nilsson, 1998年)。 Stuart Russell和Peter Norvig则把已有的一些人工智能定义分为4类(2003年)。 ,上述定义虽然都指出了人工智能的一些特征, 但用它们却难以界定一台计算机是否具有智能。因为要界定机器是否具有智能, 必然要涉及到什么是智能的问题,但这却是一个难以准确回答的问题。 人工智能是一门研究如何构造智能机器、智能系统,使它能模拟、拓展、延伸人类智能的学科。,1.1.3 图灵测试和中文屋子关于如何界定机器智能, 早在人工智
6、能学科还未正式诞生之前的1950年, 计算机科学创始人之一的英国数学家阿兰图灵(Alan Turing)就提出了现称为“图灵测试”(Turing Test)的方法。,Alan Turing, “Computing Machinery and Intelligence”, Mind, 59:433 460, 1950. 问题: “Can machines think?” 为此,Turing设计了著名的Turing Test,测试主持人,被测机器,被测人,小于50%?,Turing测试,Turing测试存在的问题仅反映了结果的比较,没涉及思维过程没指出是什么人,约翰西尔勒和“中文屋子”对于“图灵测
7、试”, 美国哲学家约翰西尔勒(John Searle, 1980年)提出了异议。他用一个现在称为“中文屋子”的假设, 试图说明即便是一台计算机通过了图灵测试, 也不能说它就真的具有智能。,1.1.4 脑智能和群智能群智能是有别于脑智能的。 事实上, 它们是属于不同层次的智能。脑智能是一种个体智能 (Individual Intelligence,II), 而群智能是一种社会智能 (Social Intelligence,SI), 或者说是系统智能(System Intelligence,SI)。但对于人脑来说, 宏观心理(或者语言)层次上的脑智能与神经元层次上的群智能又有密切的关系正是微观生理
8、层次上低级的神经元的群智能形成了宏观心理层次上高级的脑智能。,1.1.5 符号智能和计算智能1. 符号智能符号智能就是符号人工智能, 它是模拟脑智能的人工智能, 也就是所说的传统人工智能或经典人工智能。 符号智能以符号形式的知识和信息为基础, 主要通过逻辑推理,运用知识进行问题求解。符号智能的主要内容包括知识获取(knowledge acquisition)、 知识表示(knowledge representation)、 知识组织与管理和知识运用等技术,以及基于知识的智能系统等。,2. 计算智能计算智能就是计算人工智能, 它是模拟群智能的人工智能。计算智能以数值数据为基础, 主要通过数值计算
9、,运用算法进行问题求解。 计算智能的主要内容包括: 神经计算(Neural Computation, NC)、进化计算(Evolutionary Computation, EC, 包括遗传算法(Genetic Algorithm, GA)、 进化规划(Evolutionary Planning, EP)、进化策略(Evolutionary Strategies, ES)等)、免疫计算(immune computation)、 粒群算法(Particle Swarm Algorithm, PSA)、 蚁群算法(Ant Colony Algorithm, ACA)、 自然计算(Natural Co
10、mputation, NC)以及人工生命(Artificial Life, AL)等。 计算智能主要研究各类优化搜索算法, 是当前人工智能学科中一个十分活跃的分支领域。,1.2 人工智能的研究意义、目标和策略,1.2.1 为什么要研究人工智能现在的普通计算机系统的智能还相当低下, 譬如缺乏自适应、自学习、自优化等能力, 也缺乏社会常识或专业知识等, 而只能是被动地按照人们为它事先安排好的工作步骤进行工作。因而它的功能和作用就受到很大的限制,难以满足越来越复杂和越来越广泛的社会需求。既然计算机和人脑一样都可进行信息处理, 那么是否能让计算机同人脑一样也具有智能呢?,研究人工智能也是当前信息化社会
11、的迫切要求。我们知道, 人类社会现在已经进入了信息化时代。信息化的进一步发展, 就必须有智能技术的支持。 智能化也是自动化发展的必然趋势。自动化发展到一定水平, 再向前发展就必然是智能化。事实上,智能化将是继机械化、自动化之后, 人类生产和生活中的又一个技术特征。,1.2.2 人工智能的研究目标和策略人工智能作为一门学科, 其研究目标就是制造智能机器和智能系统, 实现智能化社会。具体来讲, 就是要使计算机不仅具有脑智能和群智能, 还要具有看、听、说、写等感知和交流能力。 简言之, 就是要使计算机具有自主发现规律、解决问题和发明创造的能力, 从而大大扩展和延伸人的智能,实现人类社会的全面智能化。
12、 1)人工智能学科的研究策略则是先部分地或某种程度地实现机器的智能,并运用智能技术解决各种实际问题特别是工程问题。2) 构造智能计算机。,1.3 人工智能的学科范畴,人工智能已构成信息技术领域的一个重要学科。 因为该学科研究的是如何使机器(计算机)具有智能或者说如何利用计算机实现智能的理论、 方法和技术, 所以, 当前的人工智能既属于计算机科学技术的一个前沿领域, 也属于信息处理和自动化技术的一个前沿领域。但由于其研究内容涉及到“智能”, 因此,人工智能还涉及到智能科学、认知科学等众多学科领域。 所以, 人工智能实际上是一门综合性的交叉学科和边缘学科。,人工智能的交叉包括:逻辑、思维、生理、心
13、理、计算机、电子、语言、自动化、光、声等 人工智能的核心是思维与智能,构成了自己独特的学科体系 人工智能的基础学科包括:数学(离散、模糊)、思维科学(认知心理、逻辑思维学、形象思维学)和计算机(硬件、软件)等,自然科学,社会科学,哲学,数学,交叉学科,系统科学,思维科学,人体科学,人工智能,基础学科,指导学科,1.4 人工智能的研究内容,1.4.1 搜索与求解所谓搜索, 就是为了达到某一目标而多次地进行某种操作、 运算、 推理或计算的过程。 搜索是人在求解问题时而不知现成解法的情况下所采用的一种普遍方法。 这可以看做是人类和其他生物所具有的一种元知识。另一方面, 人工智能的研究实践也表明, 许
14、多问题的求解都可以描述为或者归结为对某种图或空间的搜索问题。许多智能活动(包括脑智能和群智能)的过程, 甚至几乎所有智能活动的过程,都可以看做或者抽象为一个基于搜索的问题求解过程。因此, 搜索技术就成为人工智能最基本的研究内容。,1.4.2 学习与发现学习与发现是指机器的知识学习和规律发现。事实上, 经验积累能力、 规律发现能力和知识学习能力都是智能的表现。 那么, 要实现人工智能就应该赋予机器这些能力。 关于机器的学习和发现技术就是人工智能的重要研究内容。,1.4.3 知识与推理对智能来说, 知识很重要。 能发现客观规律是一种有智能的表现, 能运用知识解决问题也是有智能的表现, 而且是最为基
15、本的一种表现。而发现规律和运用知识本身还需要知识,知识是智能的基础和源泉。要实现人工智能, 计算机就必须拥有知识和运用知识的能力。 为此, 就要研究面向机器的知识表示形式和基于各种表示的机器推理技术。知识表示要求便于计算机的接受、存储、处理和运用, 机器的推理方式与知识的表示又息息相关。,1.4.4 发明与创造这里的发明创造既包括我们通常所说的发明创造,如机器、仪器、设备等的发明和革新, 也包括创新性软件、方案、规划、设计等的研制和技术、方法的创新以及文学、艺术的创作, 还包括思想、理论、法规的建立和创新等等。发明创造不仅需要知识和推理, 还需要想象和灵感。 它不仅需要逻辑思维, 而且还需要形
16、象思维。 所以, 这个领域应该说是人工智能中最富挑战性的一个研究领域。目前,人们在这一领域已经开展了一些工作, 并取得了一些成果。但总的来讲, 原创性的机器发明创造进展甚微, 甚至还是空白。,1.4.5 感知与交流感知与交流是指计算机对外部信息的直接感知和人机之间、 智能体之间的直接信息交流。机器感知就是计算机直接“感觉”周围世界, 就像人一样通过“感觉器官”直接从外界获取信息, 如通过视觉器官获取图形、 图像信息, 通过听觉器官获取声音信息。所以, 机器感知包括计算机视觉、听觉等各种感觉能力。感知和交流是拟人化智能个体或智能系统(如Agent和智能机器人)所不可缺少的功能组成部分, 也是人工
17、智能的研究内容之一。,1.4.6 记忆与联想记忆是智能的基本条件, 不管是脑智能还是群智能, 都以记忆为基础。 记忆也是人脑的基本功能之一。 在人脑中, 伴随着记忆的就是联想, 联想是人脑的奥秘之一。 计算机要模拟人脑的思维就必须具有联想功能。 要实现联想无非就是建立事物之间的联系。在机器世界里面就是有关数据、信息或知识之间的联系。传统方法实现的联想, 只能对于那些完整的、 确定的(输入)信息, 联想起(输出)有关的信息。这种“联想”与人脑的联想功能相差甚远。人脑能对那些残缺的、失真的、变形的输入信息, 仍然可以快速准确地输出联想响应。,1.4.7 系统与建造系统与建造是指智能系统的设计和实现
18、技术。它包括智能系统的分类、硬/软件体系结构、设计方法、实现语言工具与环境等。由于人工智能一般总要以某种系统的形式来表现和应用, 因此关于智能系统的设计和实现技术也是人工智能的研究内容之一。,1.4.8 应用与工程应用与工程是指人工智能的应用和工程研究, 这是人工智能技术与实际应用的接口。它主要研究人工智能的应用领域、 应用形式、具体应用工程项目等。 其研究内容涉及问题的分析、 识别和表示, 相应求解方法和技术的选择等。,1.5 人工智能的研究途径与方法,1.5.1 心理模拟, 符号推演“心理模拟, 符号推演”就是从人脑的宏观心理层面入手, 以智能行为的心理模型为依据, 将问题或知识表示成某种
19、逻辑网络, 采用符号推演的方法, 模拟人脑的逻辑思维过程, 实现人工智能。,采用这一途径与方法的原因是: 人脑的可意识到的思维活动是在心理层面上进行的(如我们的记忆、联想、推理、 计算、 思考等思维过程都是一些心理活动), 心理层面上的思维过程是可以用语言符号显式表达的, 从而人的智能行为就可以用逻辑来建模。 心理学、逻辑学、 语言学等实际上也是建立在人脑的心理层面上的, 从而这些学科的一些现成理论和方法就可供人工智能参考或直接使用。 当前的数字计算机可以方便地实现语言符号型知识的表示和处理。 可以直接运用人类已有显式知识(包括理论知识和经验知识)直接建立基于知识的智能系统。,符号推演法是人工
20、智能研究中最早使用的方法之一。人工智能的许多重要成果也都是用该方法取得的, 如自动推理、定理证明、问题求解、 机器博弈、专家系统等等。由于这种方法模拟人脑的逻辑思维, 利用显式的知识和推理来解决问题, 因此, 它擅长实现人脑的高级认知功能, 如推理、 决策等。,1.5.2 生理模拟, 神经计算“生理模拟, 神经计算”就是从人脑的生理层面, 即微观结构和工作机理入手, 以智能行为的生理模型为依据,采用数值计算的方法, 模拟脑神经网络的工作过程, 实现人工智能。 具体来讲, 就是用人工神经网络作为信息和知识的载体,用称为神经计算的数值计算方法来实现网络的学习、记忆、联想、 识别和推理等功能。 ,人
21、脑的生理结构是由大约10111012个神经元(细胞)组成的神经网络, 而且是一个动态的、开放的、高度复杂的巨系统, 目前的生理模拟只是对人脑的局部或近似模拟, 也就是从群智能的层面进行模拟, 实现人工智能。 这种方法一般是通过神经网络的“自学习”获得知识, 再利用知识解决问题。神经网络具有高度的并行分布性、 很强的鲁棒性和容错性。 它擅长模拟人脑的形象思维, 便于实现人脑的低级感知功能, 例如图像、 声音信息的识别和处理。,生理模拟和神经计算的方法早在20世纪40年代就已出现, 但由于种种原因而发展缓慢, 甚至一度出现低潮, 直到80年代中期才重新崛起, 现已成为人工智能研究中不可或缺的重要途
22、径与方法。 采用生理模拟和神经计算方法的人工智能研究, 被称为生理学派、 连接主义。,1.5.3 行为模拟, 控制进化还有一种基于“感知-行为”模型的研究途径和方法,称其为行为模拟法。这种方法是用模拟人和动物在与环境的交互、 控制过程中的智能活动和行为特性, 如反应、适应、学习、 寻优等, 来研究和实现人工智能。基于这一方法研究人工智能的典型代表要算MIT的R.Brooks教授, 他研制的六足行走机器人(亦称为人造昆虫或机器虫), 曾引起人工智能界的轰动。 这个机器虫可以看做是新一代的“控制论动物”, 它具有一定的适应能力, 是一个运用行为模拟即控制进化方法研究人工智能的代表作。,玩具机器人(
23、广州中鸣数码 ),沙漠机器人,基于行为模拟方法的人工智能研究, 被称为行为主义、 进化主义、控制论学派。行为主义曾强烈地批评传统的人工智能(主要指符号主义, 也涉及连接主义)对真实世界的客观事物和复杂境遇, 作了虚假的、过分简化的抽象。沿着这一途径, 人们研制具有自学习、自适应、自组织特性的智能控制系统和智能机器人, 进一步展开了人工生命(AL)的研究。,1.5.4 群体模拟, 仿生计算“群体模拟, 仿生计算”就是模拟生物群落的群体智能行为, 从而实现人工智能。例如,模拟生物种群有性繁殖和自然选择现象而出现的遗传算法, 进而发展为进化计算; 模拟人体免疫细胞群而出现的免疫计算、 免疫克隆计算及
24、人工免疫系统; 模拟蚂蚁群体觅食活动过程的蚁群算法; 模拟鸟群飞翔的粒群算法和模拟鱼群活动的鱼群算法等等。这些算法在解决组合优化等问题中表现出卓越的性能。而对这些群体智慧的模拟是通过一些诸如遗传、变异、选择、交叉、克隆等所谓的算子或操作来实现的, 统称其为仿生计算。 仿生计算的特点是,其成果可以直接付诸应用, 解决工程问题和实际问题。,1.5.5 博采广鉴, 自然计算人工智能的这些研究途径和方法的出现并非偶然。 因为至今人们对智能的科学原理还未完全弄清楚, 所以在这种情况下研究和实现人工智能的一个自然的思路就是模拟自然智能。,自然计算就是模仿或借鉴自然界的某种机理而设计计算模型, 这类计算模型
25、通常是一类具有自适应、自组织、自学习、自寻优能力的算法。 如神经计算、进化计算、免疫计算、生态计算、 量子计算、分子计算、DNA计算和复杂自适应系统等都属于自然计算。 自然计算能够解决传统计算方法难于解决的各种复杂问题,在大规模复杂系统的最优化设计、优化控制、网络安全、创造性设计等领域具有很好的应用前景。,1.5.6 原理分析, 数学建模“原理分析, 数学建模”就是通过对智能本质和原理的分析, 直接采用某种数学方法来建立智能行为模型。例如,人们用概率统计原理(特别是贝叶斯定理)处理不确定性信息和知识, 建立了统计模式识别、统计机器学习和不确定性推理的一系列原理和方法。又如, 人们用数学中的距离
26、、空间、函数、变换等概念和方法, 开发了几何分类、支持向量机等模式识别和机器学习的原理和方法。 ,1.6 人工智能的基本技术,尽管人工智能可分为符号智能和计算智能, 但二者仍有许多共同或相似之处, 其中最显著的相似之处是: (1) 二者都涉及表示和运算。(2) 二者都是通过搜索进行问题求解的。 ,1.7 人工智能的应用,1.7.1 难题求解主要指那些没有算法解,或虽有算法解但在现有机器上无法实施或无法完成的困难问题,例如智力性问题中的梵塔问题、n皇后问题、旅行商问题、博弈问题等等,就是这样的难题。研究智力难题的求解则具有双重意义: 一方面, 可以找到解决这些难题的途径; 另一方面, 由解决这些
27、难题而发展起来的一些技术和方法可用于人工智能的其他领域。,1.7.2 自动规划、 调度与配置规划、调度与配置问题是实用性、 工程性最强的一类问题。规划一般指设计制定一个行动序列, 例如机器人行动规划、交通路线规划。调度就是一种任务分派或者安排, 例如车辆调度、电力调度、资源分配、任务分配。配置则是设计合理的部件组合结构,即空间布局, 例如资源配置、 系统配置、设备或设施配置。 ,1.7.3 机器定理证明机器定理证明也是人工智能的一个重要的研究课题。定理证明是最典型的逻辑推理问题, 它在发展人工智能方法上起过重大作用。,1.7.4 自动程序设计自动程序设计就是让计算机设计程序。具体来讲,就是人只要给出关于某程序要求的非常高级的描述,计算机就会自动生成一个能完成这个要求目标的具体程序。 相当于给机器配置了一个“超级编译系统”, 它能够对高级描述进行处理, 通过规划过程, 生成所需的程序。自动程序设计还包括程序自动验证, 即自动证明所设计程序的正确性。这样, 自动程序设计也是人工智能和软件工程相结合的研究课题。,