您好、欢迎来到现金彩票网!
当前位置:神州彩票app下载 > 公理语义 >

《人工智能》课程教案

发布时间:2019-07-04 02:19 来源:未知 编辑:admin

  教学内容:本章首先介绍人工智能的定义、发展概况及相关学派和他们的认知观,接着 讨论人工智能的研究和应用领域,最后简介本书的主要内容和编排。

  教学重点:1.从不同科学或学科出发对人工智能进行的定义; 2.介绍人工智能的起源与发展过程; 3.讨论人工智能与人类智能的关系; 4.简介目前人工智能的主要学派; 5.简介人工智能所研究的范围与应用领域。

  教学难点:1.怎么样理解人工智能; 2.人工智能作为一门学科有什么意义; 3.人工智能的主要学派与其争论焦点;

  教学方法:课堂教学为主,充分利用网络课程中的多媒体素材来表示抽象概念。 教学要求:重点掌握人工智能的几种定义,掌握目前人工智能的三个主要学派及对人工 智能的理解,一般了解人工智能的主要研究范围和应用领域。

  1.1 人工智能的定义与发展

  教学内容:本小节主要介绍目前对人工智能的几种定义,并对人工智能的起源和发展进 行了总结和分析。

  教学重点:几种人工智能的定义和人工智能发展的几个重要时期。 教学难点:理解人工智能的定义与本质。 教学方法:课堂讲授为主。 教学要求:从学科和能力的角度深刻理解人工智能的定义,初步了解人工智能的起源及 其发展过程。

  1.1.1 人工智能的定义

  定义 1 智能机器 能够在各类环境中自主地或交互地执行各种拟人任务(anthropomorphic tasks)的机器。 定义 2 人工智能(学科) 人工智能(学科)是计算机科学中涉及研究、设计和应用智能机器的一个分支。它的近 期主要目标在于研究用机器来模仿和执行人脑的某些智力功能,并开发相关理论和技术。 定义 3 人工智能(能力) 人工智能(能力)是智能机器所执行的通常与人类智能有关的智能行为,如判断、推理、 证明、识别、感知、理解、通信、设计、思考、规划、学习和问题求解等思维活动。

  为了让读者对人工智能的定义进行讨论,以便更深刻地理解人工智能,下面综述其它 几种关于人工智能的定义。

  定义 4 人工智能是一种使计算机能够思维,使机器具有智力的激动人心的新尝试 (Haugeland,1985)。

  定义 5 人工智能是那些与人的思维、决策、问题求解和学习等有关活动的自动化 (Bellman,1978)。

  定义 6 人工智能是用计算模型研究智力行为(Charniak 和 McDermott,1985)。 定义 7 人工智能是研究那些使理解、推理和行为成为可能的计算(Winston,1992)。 定义 8 人工智能是一种能够执行需要人的智能的创造性机器的技术(Kurzwell,1990)。 定义 9 人工智能研究如何使计算机做事让人过得更好(Rick 和 Knight,1991)。 定 义 10 人 工 智 能 是 一 门 通 过 计 算 过 程 力 图 理 解 和 模 仿 智 能 行 为 的 学 科 (Schalkoff,1990)。 定义 11 人工智能是计算机科学中与智能行为的自动化有关的一个分支( Luger 和 Stubblefield,1993)。 其中,定义 4 和定义 5 涉及拟人思维;定义 6 和定义 7 与理性思维有关;定义 8 和定义 9 涉及拟人行为;定义 10 和定义 11 与拟人理性行为有关。

  1.1.2 人工智能的起源与发展

  人工智能的发展是以硬件与软件为基础的,经历了漫长的发展历程。特别是 20 世纪 30

  年代和 40 年代的智能界,发现了两件重要的事情:数理逻辑和关于计算的新思想。以维纳

  (Wiener)、弗雷治、罗素等为代表对发展数理逻辑学科的贡献及丘奇(Church)、图灵和其它

  一些人关于计算本质的思想,为人工智能的形成产生了重要影响。

  1956 年夏季,人类历史上第一次人工智能研讨会在美国的达特茅斯(Dartmouth)大学举

  行,标志着人工智能学科的诞生。

  此后每两年召开一次。

  际学术活动和交流、促进人工智能的研究和发展起到积极作用。 20 世纪 70~80 年代,知识工程的提出与专家系统的成功应用,确定

  了知识在人工智能中的地位。 近十多年来,机器学习、计算智能、人工神经网络等和行为主义的研

  究深入开展,形成高潮。同时,不同人工智能学派间的争论也非常热烈。

  提问:为什 么人工智能 在 1956 年才 正式诞生?

  这些都推动人工智能研究的进一步发展。

  1.2 人类智能与人工智能

  教学内容:本节主要讨论人类智能与人工智能的关系问题。 教学重点:智能信息处理系统,人类智能与人工智能的关系。 教学难点:智能信息处理系统的假设。 教学方法:课堂讲授为主。 教学要求:了解人类认知活动与计算机的比较关系,基本了解智能信息处理系统。

  1.2.1 智能处理信息系统的假设

  1、符号处理系统的六种基本功能

  一个完善的符号系统应具有下列 6 种基本功能:

  (5)建立符号结构:通过找出各符号间的关系,在符号系统中形成符号结构;

  2、可以把人看成一个智能信息处理系统

  如果一个物理符号系统具有上述全部 6 种功能,能够完成这个全过程,那么它就是一个

  完整的物理符号系统。人具有上述 6 种功能;现代计算机也具备物理符号系统的这 6 种功能。

  3、理符号系统的假设

  任何一个系统,如果它能表现出智能,那么它就必定能够执行上述 6 种功能。反之,任

  何系统如果具有这 6 种功能,那么它就能够表现出智能;这种智能指的是人类所具有的那种

  智能。把这个假设称为物理符号系统的假设。

  4、物理符号系统 3 个推论

  推论一 既然人具有智能,那么他(她)就一定是个物理符号系统。 人之所以能够表现出智能,就是基于他的信息处理过程。 推论二 既然计算机是一个物理符号系统,它就一定能够表现出 智能。这是人工智能的基本条件。 推论三 既然人是一个物理符号系统,计算机也是一个物理符号

  提问:为什么 能够把人看做 一个物理符号 系统?

  系统,那么就能够用计算机来模拟人的活动。

  4、人类的认知行为具有不同的层次

  认知生理学 研究认知行为的生理过程,主要研究人的神经系统(神经元、中枢神经系

  统和大脑)的活动,是认知科学研究的底层。

  认知心理学 研究认知行为的心理活动,主要研究人的思维策略,是认知科学研究的顶

  认知信息学 研究人的认知行为在人体内的初级信息处理,主要研究人的认知行为如何

  通过初级信息自然处理,由生理活动变为心理活动及其逆过程,即由心理活动变为生理行为。

  这是认知活动的中间层,承上启下。

  认知工程学 研究认知行为的信息加工处理,主要研究如何通过以计算机为中心的人工

  信息处理系统,对人的各种认知行为(如知觉、思维、记忆、语言、学习、理解、推理、识

  别等)进行信息处理。这是研究认知科学和认知行为的工具,应成为现代认知心理学和现代

  认知生理学的重要研究手段。

  1.2.2 人类智能的计算机模拟

  1、机器智能可以模拟人类智能

  物理符号系统假设的推论一告诉人们,人有智能,所以他是一个物理符号系统;推论三

  指出,可以编写出计算机程序去模拟人类的思维活动。这就是说,人和计算机这两个物理符

  号系统所使用的物理符号是相同的,因而计算机可以模拟人类的智能活动过程。

  2、智能计算机的功能 如下棋、证明定理、翻译语言文字和解决难题等。神经计算机 (neural computer)能够以类似人类的方式进行“思考”,它力图重建人 脑的形象。一些国家对量子计算机的研究也已起步,希望通过对量子

  讨论:为什么 能够用电脑模 拟人脑智能?

  1.3 人工智能的学派

  教学内容:本节主要介绍人工智能的几个主要学派及认知观。 教学重点:符号主义(Symbolicism),联结主义(Connectionism),行为主义(Actionism)。 教学难点:各学派的对人工智能的不同观点。 教学方法:课堂讲授为主。 教学要求:了解各派别之间的关系及对人工智能发展历史的看法。

  1、人工智能三大学派 ·符号主义(Symbolicism),又称为逻辑主义(Logicism)、心理学派(Psychlogism)或计算 机学派(Computerism),其原理主要为物理符号系统(即符号操作系统)假设和有限合理性原 理。 ·联结主义(Connectionism),又称为仿生学派(Bionicsism)或生理学派(Physiologism), 其原理主要为神经网络及神经网络间的连接机制与学习算法。 ·行为主义(Actionism),又称进化主义(Evolutionism)或控制论学派(Cyberneticsism),其 原理为控制论及感知—动作型控制系统。 2、三大学派对人工智能发展历史的不同看法 符号主义 认为人工智能源于数理逻辑。符号主义仍然是人工智能的主流派。这个学派 的代表有纽厄尔、肖、西蒙和尼尔逊(Nilsson)等。 联结主义 认为人工智能源于仿生学,特别是人脑模型的研究。 行为主义 认为人工智能源于控制论。这一学派的代表作首推布鲁克斯(Brooks)的六足 行走机器人,它被看做新一代的“控制论动物”,是一个基于感知—动作模式的模拟昆虫行 为的控制系统。

  1.4 人工智能的研究与应用领域

  教学内容:本节主要讨论人工智能的研究与应用领域。 教学重点:人工智能的一些主要研究与应用领域。 教学难点:处理好各领域间的交叉关系。 教学方法:课堂讲授为主。 教学要求:初步了解人工智能的研究与应用领域。

  人工智能的第一个大成就是发展了能够求解难题的下棋(如国际象棋)程序,它包含问题 的表示、分解、搜索与归约等。

  1.4.2 逻辑推理与定理证明

  逻辑推理是人工智能研究中最持久的子领域之一,特别重要的是要找到一些方法,只把 注意力集中在一个大型数据库中的有关事实上,留意可信的证明,并在出现新信息时适时修 正这些证明。

  定理证明的研究在人工智能方法的发展中曾经产生过重要的影响。例如,采用谓词逻辑 语言的演绎过程的形式化有助于更清楚地理解推理的某些子命题。许多非形式的工作,包括 医疗诊断和信息检索都可以和定理证明问题一样加以形式化。因此,在人工智能方法的研究 中定理证明是一个极其重要的论题。

  我国人工智能大师吴文俊院士提出并实现了几何定理机器证明的方法,被国际上承认为 “吴氏方法”,是定理证明的又一标志性成果。

  语言处理也是人工智能的早期研究领域之一,并引起了进一步的重视。语言的生成和理 解是一个极为复杂的编码和解码问题。

  一个能理解自然语言信息的计算机系统看起来就像一个人一样需要有上下文知识以及 根据这些上下文知识和信息用信息发生器进行推理的过程。理解口头的和书写语言的计算机 系统所取得的某些进展,其基础就是有关表示上下文知识结构的某些人工智能思想以及根据 这些知识进行推理的某些技术。

  对自动程序设计的研究不仅可以促进半自动软件开发系统的发展,而且也使通过修正自 身数码进行学习(即修正它们的性能)的人工智能系统得到发展。程序理论方面的有关研究工 作对人工智能的所有研究工作都是很重要的。

  自动程序设计研究的重大贡献之一是作为问题求解策略的调整概念。已经发现,对程序 设计或机器人控制问题,先产生一个不费事的有错误的解,然后再修改它(使它正确工作), 这种做法一般要比坚持要求第一个解就完全没有缺陷的做法有效得多。

  一般地说,专家系统是一个智能计算机程序系统,其内部具有大量专家水平的某个领域 知识与经验,能够利用人类专家的知识和解决问题的方法来解决该领域的问题。

  发展专家系统的关键是表达和运用专家知识,即来自人类专家的并已被证明对解决有关 领域内的典型问题是有用的事实和过程。

  学习是人类智能的主要标志和获得知识的基本手段;机器学习(自动获取新的事实及新 的推理算法)是使计算机具有智能的根本途径;机器学习还有助于发现人类学习的机理和揭 示人脑的奥秘。学习是一个有特定目的的知识获取过程,其内部表现为新知识结构的不断建 立和修改,而外部表现为性能的改善。

  神经网络处理直觉和形象思维信息具有比传统处理方式好得多的效果。 神经网络已在模式识别、图象处理、组合优化、自动控制、信息处理、机器人学和人工 智能的其它领域获得日益广泛的应用。

  人工智能研究日益受到重视的另一个分支是机器人学,其中包括对操作机器人装置程序 的研究。这个领域所研究的问题,从机器人手臂的最佳移动到实现机器人目标的动作序列的 规划方法,无所不包。目前已经建立了一些比较复杂的机器人系统。

  机器人和机器人学的研究促进了许多人工智能思想的发展。 智能机器人的研究和应用体现出广泛的学科交叉,涉及众多的课题,机器人已在各领域 获得越来越普遍的应用。

  人工智能所研究的模式识别是指用计算机代替人类或帮助人类感知模式,是对人类感知 外界功能的模拟,研究的是计算机模式识别系统,也就是使一个计算机系统具有模拟人类通 过感官接受外界信息、识别和理解周围环境的感知能力。

  实验表明,人类接受外界信息的 80%以上来自视觉,视觉对人类是非常重要的。 机器视觉或计算机视觉已从模式识别的一个研究领域发展为一门独立的学科;在视觉方 面,已经给计算机系统装上电视输入装置以便能够“看见”周围的东西。 机器视觉的前沿研究领域包括实时并行处理、主动式定性视觉、动态和时变视觉、三维 景物的建模与识别、实时图像压缩传输和复原、多光谱和彩色图像的处理与解释等。

  人工智能的发展促进自动控制向智能控制发展。智能控制是一类无需(或需要尽可能少 的)人的干预就能够独立地驱动智能机器实现其目标的自动控制。

  智能控制是同时具有以知识表示的非数学广义世界模型和数学公式模型表示的混合控 制过程,也往往是含有复杂性、不完全性、模糊性或不确定性以及不存在已知算法的非数学 过程,并以知识进行推理,以启发来引导求解过程。

  随着科学技术的迅速发展,出现了“知识爆炸”的情况,研究智能检索系统已成为科技 持续快速发展的重要保证。

  智能信息检索系统的设计者们将面临以下几个问题。首先,建立一个能够理解以自然语 言陈述的询问系统本身就存在不少问题。其次,即使能够通过规定某些机器能够理解的形式 化询问语句来回避语言理解问题,但仍然存在一个如何根据存储的事实演绎出答案的问题。 第三,理解询问和演绎答案所需要的知识都可能超出该学科领域数据库所表示的知识。

  确定最佳调度或组合的问题是人们感兴趣的又一类问题,求解这类问题的程序会产生一 种组合爆炸的可能性,这时,即使是大型计算机的容量也会被用光。

  人工智能学家们曾经研究过若干组合问题的求解方法。他们的努力集中在使“时间-问 题大小”曲线的变化尽可能缓慢地增长,即使是必须按指数方式增长。有关问题域的知识再 次成为比较有效的求解方法的关键。为处理组合问题而发展起来的许多方法对其它组合上不 甚严重的问题也是有用的。

  分布式人工智能(Distributed AI, DAI)是分布式计算与人工智能结合的结果。DAI 系统以 鲁棒性作为控制系统质量的标准,并具有互操作性,即不同的异构系统在快速变化的环境中 具有交换信息和协同工作的能力。分布式人工智能的研究目标是要创建一种能够描述自然系 统和社会系统的精确概念模型。

  多 agent 系统(Multiagent System, MAS) 更能体现人类的社会智能,具有更大的灵活性 和适应性,更适合开放和动态的世界环境,因而倍受重视,已成为人工智能以至计算机科学 和控制科学与工程的研究热点。

  1.4.15 计算智能与进化计算

  1.4.16 数据挖掘与知识发现

  知识获取是知识信息处理的关键问题之一。 数据挖掘是通过综合运用统计学、粗糙集、模糊数学、机器学习和专家系统等多种学习 手段和方法,从大量的数据中提炼出抽象的知识,从而揭示出蕴涵在这些数据背后的客观世 界的内在联系和本质规律,实现知识的自动获取。 数据挖掘和知识发现技术已获广泛应用。

  人工生命(Artificial Life, ALife)旨在用计算机和精密机械等人工媒介生成或构造出能够 表现自然生命系统行为特征的仿真系统或模型系统。自然生命系统行为具有自组织、自复制、 自修复等特征以及形成这些特征的混沌动力学、进化和环境适应。

  人工生命所研究的人造系统能够演示具有自然生命系统特征的行为,在“生命之所能” (life as it could be)的广阔范围内深入研究“生命之所知”(life as we know it)的实质。

  人工生命学科的研究内容包括生命现象的仿生系统、人工建模与仿真、进化动力学、人 工生命的计算理论、进化与学习综合系统以及人工生命的应用等。

  除了直接瞄准实现智能的研究工作外,开发新的方法也往往是人工智能研究的一个重要 方面。人工智能对计算机界的某些最大贡献已经以派生的形式表现出来。计算机系统的一些 概念,如分时系统、编目处理系统和交互调试系统等,已经在人工智能研究中得到发展。

  本书包括下列内容: 1、简述人工智能的起源与发展,讨论人工智能的定义、人工智能与计算机的关系以及 人工智能的研究和应用领域。 2、比较概括地论述知识表示的各种主要方法,包括状态空间法、问题归约法、谓词逻 辑法、结构化表示法(语义网络法、框架)、剧本和过程等。 3、讨论常用搜索原理,如盲目搜索、启发式搜索和消解原理等;并研究一些比较高级 的推理求解技术,如规则演绎系统、专家系统、系统组织技术、不确定性推理和非单调推理 等。 4、介绍近期发展起来的已成为当前研究热点的人工智能技术和方法,即分布式人工智 能与 agent、计算智能(含神经计算、逻辑计算与进化计算)、数据挖掘与知识发现、人工生 命等。 5、比较详细地分析人工智能的主要应用领域,涉及专家系统、机器学习、自动规划系 统和自然语言理解等。 6、叙述近年来人工智能研究中出现的争论,展望人工智能的发展。

  主题:人工智能能否超过人类智能? 正方观点:人工智能不会超过人类智能。 反方观点:人工智能能够超过人类智能。

  第二章 知识表示方法

  教学内容:本章讨论知识表示的各种方法,是人工智能课程三大内容(知识表示、知识 推理、知识应用)之一,也是学习人工智能其他内容的基础。

  教学重点:状态空间法、问题归约法、谓词逻辑法、语义网络法。 教学难点:状态描述与状态空间图示、问题归约机制、置换与合一。 教学方法:课堂教学为主,同时结合《离散数学》等已学的内容实时提问、收集学生学 习情况,充分利用网络课程中的多媒体素材来表示抽象概念。 教学要求:重点掌握用状态空间法、问题归约法、谓词演算法、语义网络法来描述问题; 解决问题;掌握几种主要方法之间的差别;并对其它几种表示方法有一般了解。

  2.1 状态空间法

  教学内容:本节是通过状态空间法来求解问题,它是以状态和算符(operator)为基础来表 示和求解问题的。

  教学重点:问题的状态描述,操作符。 教学难点:选择一个好的状态描述与状态空间表示方案。 教学方法:以课堂教学为主;充分利用网络课程中的多媒体素材来阐述抽象概念。 教学要求:重点掌握对某个问题的状态空间描述,学会组织状态空间图,用搜索图来求 解问题。

  1、状态(State)的基本概念

  状态(state)是为描述某类不同事物间的差别而引入的一组最少变量 q0,q1,…,qn 的有 序集合,其矢量形式如下:

  式中每个元素 qi(i=0,1,…,n)为集合的分量,称为状

  态变量。给定每个分量的一组值就得到一个具体的状态,

  提问:1. 列举已经学习过的

  “状态”概念,并比较之。

  2. 列举算符。

  算符:使问题从一种状态变化为另一种状态的手段称 举例: 列举几个日常生活中

  为操作符或算符。操作符可为走步、过程、规则、数学算 状态与算符的例子,如:棋

  子、运算符号或逻辑符号等。

  问题的状态空间(state space)是一个表示该问题全部 讨论: 每走一步后,棋局都

  可能状态及其关系的图,它包含三种说明的集合,即所有 变化了,以此来理解问题的

  可能的问题初始状态集合 S、操作符集合 F 以及目标状态 状态空间。

  集合 G。因此,可把状态空间记为三元状态(S,F,G)。

  2、状态空间的表示法 对一个问题的状态描述,必须确定 3 件事: (1) 该状态描述方式,特别是初始状态描述; (2) 操作符集合及其对状态描述的作用; (3) 目标状态描述的特性。

  举例:讲解初始状态、算符、 中间状态与目标状态之间的关 系;讲解三数码难题的状态变 化过程。

  图的基本概念

  图由节点(不一定是有限的节点)的集合构成。一对节点用弧线连接起来,从一个节点指

  某个节点序列(ni1,ni2,…,nik)当 j=2,3,…,k 时,如果对于每一个 ni,j-1 都有一个后继节

  点 nij 存在,那么就把这个节点序列叫做从节点 ni1 至节

  点 nik 的长度为 k 的路径。

  提问:举已经学习过的“有向

  代价(cost) 是给各弧线指定数值以表示加在相应算 图”、“路径”及“代价”等的概

  符上的代价。

  图的显式说明 是指各节点及其具有代价的弧线由 举例:针对三数码难题的状态变

  一张表明确给出。

  化过程讲解图的几个基本概念。

  图的隐式说明 是指各节点及其具有代价的弧线不

  能由一张表明确给出。

  2.1.3 状态空间表示举例

  1、产生式系统 一个产生式系统由下列 3 部分组成: 一个总数据库(global database),它含有与具体任务有关的信息。 一套规则,它对数据库进行操作运算。每条规则由左右两部分组成,左部鉴别规则的适 用性或先决条件,右部描述规则应用时所完成的动作。应用规则来改变数据库。 一个控制策略,它确定应该采用哪一条适用规则,而且当数据库的终止条件满足时,就 停止计算。 2、状态空间表示举例 猴子与香蕉的问题 状态空间表示 用四元组(W,x,y,z)其中:W—猴子的水平位置;x—当猴子在箱 子顶上时取 x=1;否则取 x=0;Y—箱子的水平位置;z—当猴子摘到香蕉时取 z=1;否则取 z=0。 算符 (1) goto(U)猴子走到水平位置 U; (2) pushbox(V)猴子把箱子推到水平位置 V; (3) climbbox 猴子爬上箱顶; (4) grasp 猴子摘到香蕉。

  求解过程 令初始状态为(a,0,b,0)。这时,goto(U)是唯一 适用的操作,并导致下一状态(U,0,b,0)。现在有 3 个适用 的操作,即 goto(U),pushbox(V)和 climbbox(若 U=b)。把所 有适用的操作 继续应用于每个状态,我们就能够得到状态

  空间图,如图所示。从图不难看出,把该初始状态变换为目

  标状态的操作序列为:

  举例:针对多媒体上的猴 子与香蕉问题的状态空间 图,讲解问题的状态空间 表示和产生式规则的应 用。

  2.2 问题归约法

  教学内容:知识表示的归约法,即已知问题的描述,通过一系列变换把此问题最终变为 一个子问题集合;这些子问题的解可以直接得到,从而解决了初始问题的方法。

  教学重点:问题归约的基本思想,问题描述,问题变换的操作符,与或图表示。 教学难点:如何把初始问题变换为子问题,与或图表示方法。 教学方法:课堂教学为主,充分利用网络课程中的相关多媒体素材来表示抽象概念。 教学要求:通过梵塔难题重点掌握问题归约法的机理和问题归约描述方法。学会用与或 图表示归约问题。

  1、问题归约法的概念

  已知问题的描述,通过一系列变换把此问题最终变为一个子问题集合;这些子问题的解

  可以直接得到,从而解决了初始问题。

  该方法也就是从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,

  直至最后把初始问题归约为一个平凡的本原问题集合。这就是问题归约的实质。

  2、问题归约法的组成部分

  (1)一个初始问题描述;

  (2)一套把问题变换为子问题的操作符;

  (3)一套本原问题描述。

  3、示例:梵塔难题

  问题 有 3 个柱子(1,2,3)和 3 个不同尺寸的圆盘(A,B,C)。在每个圆盘的中心有个

  孔,所以圆盘可以堆叠在柱子上。最初,全部 3 个圆盘都堆在柱子 1 上:最大的圆盘 C 在

  底部,最小的圆盘 A 在顶部。要求把所有圆盘都移到柱子 3 上,每次只许移动一个,而且

  只能先搬动柱子顶部的圆盘,还不许把尺寸较大的圆盘堆放在尺寸较小的圆盘上。

  (1)移动圆盘 A 和 B 至柱子 2 的双圆盘难题; (2)移动圆盘 C 至柱子 3 的单圆盘难题; (3)移动圆盘 A 和 B 至柱子 3 的双圆盘难题。 由上可以看出简化了难题每一个都比原始难题容易,所以 问题都会变成易解的本原问题。

  讲述:梵塔问题的来源。 提问:一圆盘问题要走几 步?两圆盘问题要走几 步?三个、四个...等?

  4、归约描述 问题归约方法是应用算符来把问题描述变换为子问题描述。 可以用状态空间表示的三元组合(S、F、G)来规定与描述问题;对于梵塔问题,子问题 [(111)=(122)],[(122)=(322)]以及[(322)=(333)]规定了最后解答路径将要通过的 脚踏石状态(122)和(322)。

  问题归约方法可以应用状态、算符和目标这些表示法来描述问题,这并不意味着问题 归约法和状态空间法是一样的。

  1、与或图的概念 用一个类似图的结构来表示把问题归约为后继问 题的替换集合,画出归约问题图。 例如,设想问题 A 需要由求解问题 B、C 和 D 来 决定,那么可以用一个与图来表示;同样,一个问题 A 或者由求解问题 B、或者由求解问题 C 来决定,则 可以用一个或图来表示。

  举例:含有与图与或图的混合图。 提问:对于一个与或图如何引入附 加节点,使得后继问题的每个集合 能够聚集在它们各自的父辈节点 之下。

  2、与或图的有关术语 父节点 是一个初始问题或是可分解为子问题的问题节点; 子节点 是一个初始问题或是子问题分解的子问题节点; 或节点 只要解决某个问题就可解决其父辈问题的节点集 合; 与节点 只有解决所有子问题,才能解决其父辈问题的节点 集合; 弧线 是父辈节点指向子节点的圆弧连线; 终叶节点 是对应于原问题的本原节点。

  举例:对于一个与或图。 提问:指出图中的父节点、 子节点、或节点、与节点、 弧线、与或图的有关定义 可解节点 与或图中一个可解节点的一般定义可以归纳如 下: (1) 终叶节点是可解节点(因为它们与本原问题相关连)。 (2) 如果某个非终叶节点含有或后继节点,那么只有当其 后继节点至少有一个是可解的时,此非终叶节点才是可解的。

  举例:对于一个与或图。 提问:指出图中的终叶节点、 可解节点、不可解节点。

  (3) 如果某个非终叶节点含有与后继节点,那么只要当其后继节点全部为可解时,此非 终叶节点才是可解的。

  不可解节点 不可解节点的一般定义归纳于下: (1) 没有后裔的非终叶节点为不可解节点。 (2) 如果某个非终叶节点含有或后继节点,那么只有当 其全部后裔为不可解时,此非终叶节点才是不可解的。 (3) 如果某个非终叶节点含有与后继节点,那么只要当 其后裔至少有一个为不可解时,此非终叶节点才是不可解

  举例:对于三圆盘梵塔难题根 据构图规则画出其归约图。 提问:指出图中的终叶节点、 可解节点、不可解节点。 课后作业:教材第二章习题 2 -2 与 2-5

  4、与或图构图规则 (1) 与或图中的每个节点代表一个要解决的单一问题或问题集合。图中所含起始节点对 应于原始问题。 (2) 对应于本原问题的节点,叫做终叶节点,它没有后裔。 (3) 对于把算符应用于问题 A 的每种可能情况,都把问题变换为一个子问题集合;有向 弧线自 A 指向后继节点,表示所求得的子问题集合。 (4) 一般对于代表两个或两个以上子问题集合的每个节点,有向弧线从此节点指向此子 问题集合中的各个节点。 (5) 在特殊情况下,当只有一个算符可应用于问题 A,而且这个算符产生具有一个以上 子问题的某个集合时,由上述规则 3 和规则 4 所产生的图可以得到简化。

  2.3 谓词逻辑法

  教学内容:本节主要讲述问题的谓词逻辑表示的基本方法。 教学重点:谓词逻辑、谓词公式、谓词演算、置换与合一。 教学难点:如何选择谓词,问题的谓词逻辑表示及运算。 教学方法:课堂教学为主,充分利用网络课程中的示例程序。 教学要求:重点掌握谓词逻辑表示的语言与方法,掌握谓词公式的性质及谓词演算,学 会谓词公式的置换与合一,运用谓词推理来解决问题。

  1、语法和语义 谓词逻辑的基本组成部分是谓词符号、变量符号、函数符号和常量符号,并用圆括弧、 方括弧、花括弧和逗号隔开,以表示论域内的关系。 原子公式是由若干谓词符号和项组成,只有当其对应的语句在定义域内为真时,才具 有值 T(真);而当其对应的语句在定义域内为假时,该原子公式才具有值 F(假)。 2、连词和量词

  连词有∧(与)、∨(或),全称量词( ? x),存在量词( ? x)。

  原子公式是谓词演算的基本积木块,运用连词能够组合多个原子公式以构成比较复杂 的合适公式。

  3、几个有关定义 用连词∧把几个公式连接起来而构成的公式叫做合取,而此合取式的每个组成部分叫 做合取项。一些合适公式所构成的任一合取也是一个合适公式。 用连词∨把几个公式连接起来所构成的公式叫做析取,而此析取式的每一组成部分叫 做析取项。由一些合适公式所构成的任一析取也是一个合适公式。 用连词=连接两个公式所构成的公式叫做蕴涵。蕴涵的左式叫做前项,右式叫做后项。 如果前项和后项都是合适公式,那么蕴涵也是合适公式。 前面具有符号~的公式叫做否定。一个合适公式的否定也是合适公式。 量化一个合适公式中的某个变量所得到的表达式也是合适公式。如果一个合适公式中 某个变量是经过量化的,就把这个变量叫做约束变量,否则就叫它为自由变量。在合适公式 中,感兴趣的主要是所有变量都是受约束的。这样的合适公式叫做句子。

  1、谓词合适公式的定义

  在谓词演算中合适公式的递归定义如下:

  (1) 原子谓词公式是合适公式。

  举例:试把下列命题表示为谓词公

  (2) 若 A 为合适公式,则~A 也是一个合适公式。 式:任何整数或者为正或者为负。

  (3) 若 A 和 B 都是合适公式,则(A∧B),(A∨B), 提问:指出此例题谓词公式中的量

  词、连词及蕴涵符号。

  (4) 若 A 是合适公式,x 为 A 中的自由变元,则

  (5) 只有按上述规则(1)至(4)求得的那些公式,才是合适公式。

  证明:否定之否定,~ (~P)等价于 P。

  假元推理,就是由合适公式 W1 和 W1=W2 产生合适公式 W2 的运算。

  全称化推理,是由合适公式( ? x)W(x)产生合适公式 W(A),其中 A 为任意常量符号。

  一个表达式的置换就是在该表达式中用置换项置换变量。

  一般说来,置换是可结合的,但置换是不可交换的。

  2、合一 寻找项对变量的置换,以使两表达式一致,叫做合一 举例:表达式 P[x,f(y),B]

  (unification)。如果一个置换 s 作用于表达式集{Ei}的每个 元素,则用{Ei}s 来表示置换例的集。称表达式集{Ei} 是可合一的。如果存在一个置换 s 使得:E1s=E2s=E3s=…那 么称此 s 为{Ei}的合一者,因为 s 的作用是使集合{Ei} 成为单一形式。

  2.4 语义网络法

  教学内容:本节主要讲述知识的语义网络表示法。 教学重点:语义网络表示的词法、结构、过程、语义。 教学难点:如何选择节点和弧线来构成语义网络。 教学方法:课堂教学。 教学要求:重点掌握语义网络的结构,掌握二元语义网络表示方法,了解语义网络的特 点。

  2.4.1 二元语义网络的表示

  1. 语义网络的基本概念 语义网络是知识的一种结构化图解表示,它由节点和弧线或链线组成。节点用于表示实 体、概念和情况等,弧线用于表示节点间的关系。 语义网络表示由下列 4 个相关部分组成: (1) 词法部分 决定表示词汇表中允许有哪些符号,它涉及各个节点和弧线) 结构部分 叙述符号排列的约束条件,指定各弧线) 过程部分 说明访问过程,这些过程能用来建立和修正描述,以及回答相关问题。 (4) 语义部分 确定与描述相关的(联想)意义的方法即确定有关节点的排列及其占有物 和对应弧线。 语义网络具有下列特点: (1) 能把实体的结构、属性与实体间的因果关系显式地和简明地表达出来,与实体相关 的事实、特征和关系可以通过相应的节点弧线) 由于与概念相关的属性和联系被组织在一个相应的节点中,因而使概念易于受访和 学习。 (3) 表现问题更加直观,更易于理解,适于知识工程师与领域专家沟通。

  (4) 语义网络结构的语义解释依赖于该结构的推理过程而没有结构的约定,因而得到的

  推理不能保证像谓词逻辑法那样有效。

  (5) 节点间的联系可能是线状、树状或网状的,甚至是递归状的结构,使相应的知识存

  储和检索可能需要比较复杂的过程。

  2. 二元语义网络的表示

  用两个节点和一条弧线可以表示一个简单的事实,对于表示占有关系的语义网络,是通

  过允许节点既可以表示一个物体或一组物体,也可以表示情况和动作。每一情况节点可以有

  一组向外的弧(事例弧),称为事例框,用以说明与该事例有关的各种变量。

  在选择节点时,首先要弄清节点是用于表示基本的物体或

  概念的,或是用于多种目的的。否则,如果语义网络只被用来 表示一个特定的物体或概念,那么当有更多的实例时就需要更 多的语义网络。

  选择语义基元就是试图用一组基元来表示知识。这些基元 描述基本知识,并以图解表示的形式相互联系。

  举例:用二元语义网络表 示:小燕是一只燕子,燕 子是鸟;巢-1 是小燕的 巢,巢-1 是巢中的一个。

  2.4.2 多元语义网络的表示

  语义网络是一种网络结构。节点之间以链相连。从本质上 讲,接点之间的连接是二元关系。语义网络从本质上来说,只 能表示二元关系,如果所要表示的事实是多元关系,则把这个 多元关系转化成一组二元关系的组合,或二元关系的合取。具 体来说,多元关系 R(X1,X2,…,Xn)总可以转换成 R1 (X11, X12)∧R2 (X21,X22)∧…∧Rn (Xn1,Xn2)。要在语义网络中进行 这种转换需要引入附加节点。

  举 例 : 用 ”Liming is a man”的语义网络和谓词 逻辑表示说明谓词逻辑 与语义网络的等效性。

  2.4.3 连词和量化的表示

  可以用语义网络表示谓词逻辑法中的各种连词及量化。 1. 合取 多元关系可以被转换成一组二元关系的合取,从而可以用语义网络的形式表示出来。 2. 析取 在语义网络中,为与合取关系相区别,在析取关系的连接上加注析取界限,并标记 DIS。 3. 否定 采用~ISA 和~PART OF 关系或标注 NEG 界限来表示否定。 4. 蕴涵 在语义网络中可用标注 ANTE 和 CONSE 界限来表示蕴涵关系。 5. 量化 存在量化在语义网络中可直接用 ISA 链来表示。而全称量化就要用分割方法来表示。

  教学内容:简介知识表示的其他三种表示方法,即框架表示法、剧本表示法和过程表示 法,阐述了三种表示法的原理和应用范围。

  教学重点:各方法的基本原理及基本结构。 教学难点:各方法的推理过程。 教学方法:课堂教学为主。适当提问,加深学生对概念的理解。 教学要求:初步了解三种方法的基本原理。

  1、框架的构成 框架通常由描述事物的各个方面的槽组成,每个槽可以拥有若干个侧面,而每个侧面又

  可以拥有若干个值。一个框架的一般结构如下:

  〈槽 1〉〈侧面 11〉〈值 111〉… 〈侧面 12〉〈值 121〉…

  〈槽 2〉〈侧面 21〉〈值 211〉… …

  〈槽 n〉〈侧面 n1〉〈值 n11〉… …

  〈侧面 nm〉〈值 nm1〉… 较简单的情景是用框架来表示诸如人和房子等事物。例如,一个人可以用其职业、身高

  和体重等项描述,因而可以用这些项目组成框架的槽。当描述一个具体的人时,再用这些项

  目的具体值填入到相应的槽中。表 2.2 给出的是描述 John 的框架。 表 2.2 简单框架示例

  框架是一种通用的知识表达形式,对于如何运用框架系统还没有一种统一的形式,常常 由各种问题的不同需要来决定。

  2、框架的推理 如前所述,框架是一种复杂结构的语义网络。因此语义网络推理中的匹配和特性继承在 框架系统中也可以实行。除此以外,由于框架用于描述具有固定格式的事物、动作和事件, 因此可以在新的情况下,推论出未被观察到的事实。框架用以下几种途径来帮助实现这一点: (1) 框架包含它所描述的情况或物体的多方面的信息。 (2) 框架包含物体必须具有的属性。在填充框架的各个槽时,要用到这些属性。 (3) 框架描述它们所代表的概念的典型事例。

  用一个框架来具体体现一个特定情况的过程,经常不是很顺利的。但当这个过程碰到障 碍时,经常不必放弃原来的努力去从头开始,而是有很多办法可想的:

  (1) 选择和当前情况相对应的当前的框架片断,并把这个框架片断和候补框架相匹配。 选择最佳匹配。

  (2) 尽管当前的框架和要描述的情况之间有不相匹配的地方,但是仍然可以继续应用这 个框架。

  (3) 查询框架之间专门保存的链,以提出应朝哪个方向进行试探的建议。 (4) 沿着框架系统排列的层次结构向上移动(即从狗框架→哺乳动物框架→动物框架), 直到找到一个足够通用,并不与已有事实矛盾的框架。

  剧本是框架的一种特殊形式,它用一组槽来描述某些事件的发生序列,就像剧本中的事 件序列一样,故称为“剧本”或脚本。

  一个剧本一般由以下各部分组成: (1) 开场条件 给出在剧本中描述的事件发生的前提条件。 (2) 角色 用来表示在剧本所描述的事件中可能出现的有关人物的一些槽。 (3) 道具 这是用来表示在剧本所描述的事件中可能出现的有关物体的一些槽。 (4) 场景 描述事件发生的真实顺序,可以由多个场景组成,每个场景又可以是其它 的剧本。 (5) 结果 给出在剧本所描述的事件发生以后通常所产生的结果。 例子:以餐厅剧本为例说明剧本各个部分的组成。 根据剧本的重要性,可以有二种准备剧本的方法。 (1) 对于不属于事件核心部分的剧本,只需设置指向该剧本的指针即可,以便当它成为 核心时启用。 (2) 对于符合事件核心部分的剧本,则应使用在当前事件中涉及到的具体对象和人物去 填写剧本的槽。剧本的前提、道具、角色和事件等常能起到启用剧本的指示器的作用。 一旦剧本被启用,则可以应用它来进行推理。其中最重要的是运用剧本可以预测没有明 显提及的事件的发生。 剧本结构,比起框架这样的一些通用结构来,要呆板得多,知识表达的范围也很窄,因 此不适用于表达各种知识,但对于表达预先构思好的特定知识,如理解故事情节等,是非常 有效的。

  语义网络、框架和剧本等知识表示方法,均是对知识和事实的一种静止的表达方法,是 知识的一种显式表达形式。而对于如何使用这些知识,则通过控制策略来决定。

  和知识的陈述式表示相对应的是知识的过程式表示。所谓过程式表示就是将有关某一问 题领域的知识,连同如何使用这些知识的方法,均隐式地表达为一个求解问题的过程。它所 给出的是事物的一些客观规律,表达的是如何求解问题。知识的描述形式就是程序,所有信 息均隐含在程序之中。从程序求解问题的效率上来说,过程式表达要比陈述式表达高得多。 但因其知识均隐含在程序中,因而难于添加新知识和扩充功能,适用范围较窄。

  知识表示方法很多,本章介绍了其中的 7 种,有图示法和公式法,结构化方法,陈述式 表示和过程式表示等。

  状态空间法是一种基于解答空间的问题表示和求解方法,它是以状态和操作符为基础 的。在利用状态空间图表示时,从某个初始状态开始,每次加一个操作符,递增地建立起操 作符的试验序列,直到达到目标状态为止。由于状态空间法需要扩展过多的节点,容易出现 “组合爆炸”,因而只适用于表示比较简单的问题。

  问题归约法从目标(要解决的问题)出发,逆向推理,通过一系列变换把初始问题变换为 子问题集合和子子问题集合,直至最后归约为一个平凡的本原问题集合。这些本原问题的解 可以直接得到从而解决了初始问题,用与或图来有效地说明问题归约法的求解途径。问题归 约法能够比状态空间法更有效地表示问题。状态空间法是问题归约法的一种特例。在问题归 约法的与或图中,包含有与节点和或节点,而在状态空间法中只含有或节点。

  谓词逻辑法采用谓词合适公式和一阶谓词演算把要解决的问题变为一个有待证明的问 题,然后采用消解定理和消解反演来证明一个新语句是从已知的正确语句导出的,从而证明 这个新语句也是正确的。谓词逻辑是一种形式语言,能够把数学中的逻辑论证符号化。谓词 逻辑法常与其它表示方法混合使用,灵活方便,可以表示比较复杂的问题。

  语义网络是一种结构化表示方法,它由节点和弧线或链线组成。节点用于表示物体、概 念和状态,弧线用于表示节点间的关系。语义网络的解答是一个经过推理和匹配而得到的具 有明确结果的新的语义网络。语义网络可用于表示多元关系,扩展后可以表示更复杂的问题。

  框架是一种结构化表示方法。框架通常由指定事物各个方面的槽组成,每个槽拥有若干 个侧面,而每个侧面又可拥有若干个值。大多数实用系统必须同时使用许多框架,并可把它 们联成一个框架系统。框架表示已获广泛应用,然而并非所有问题都可以用框架表示。

  剧本是框架的一种特殊形式,它使用一组槽来描述事件的发生序列。剧本表示特别适用 于描述顺序性动作或事件,但使用不如框架灵活,因此应用范围也不如框架那么广泛。

  过程是一种知识的过程式表示,它将某一有关问题领域知识同这些使用方法一起,隐式 地表示为一个问题求解过程。过程表示用程序来描述问题,具有很高的问题求解效率。由于 知识隐含在程序中难以操作,所以适用范围较窄。

  在表示和求解比较复杂的问题时,采用单一的知识表示方法是远远不够的。往往必须采 用多种方法混合表示。例如,综合采用框架、语义网络、谓词逻辑的过程表示方法(两种以 上),可使所研究的问题获得更有效的解决。

  此外,在选择知识表示方法时,还要考虑所使用的程序设计语言所提供的功能和特点, 以便能够更好地描述这些表示方法。

  第三章 搜索推理技术

  教学内容:本章在上一章知识表示的基础上研究问题求解的方法,是人工智能研究的又 一核心问题。内容包括早期搜索推理技术,如图搜索策略和消解原理;以及高级搜索推理技 术,如规则演绎系统、产生式系统、系统组织技术、不确定性推理和非单调推理。

  教学重点:图搜索策略、消解原理、规则演绎系统、产生式系统。 教学难点:启发式搜索、规则双向演绎系统等。 教学方法:课堂教学为主,辅以恰当的实验。注意结合前面所学知识表示的基础内容, 将其与问题求解方法融为一体。及时提问、收集学生学习情况。尽量使用实例和网络课程中 的多媒体素材进行讲解。 教学要求:重点掌握一般图搜索策略和消解原理,掌握各种搜索方法和产生式系统原理, 了解规则演绎系统的基本原理,对系统组织技术、不确定性推理和非单调推理等高级推理技 术作一般性了解。

  3.1 图搜索策略

  教学内容:本节介绍图搜索的一般策略,作为各种图搜索技术的基础。 教学重点:图搜索的一般过程、OPEN 表和 CLOSE 表的概念。 教学难点:OPEN 表和 CLOSE 表的物理意义。 教学方法:课堂教学为主,通过提问彻底弄清图搜索的基本概念。 教学要求:重点掌握图搜索一般策略,掌握 OPEN 表和 CLOSE 表的构成及作用。

  1、图搜索策略的定义 图搜索策略可看作一种在图中寻找路径的方法。初始节点和目标节点分别代表初始数据 库和满足终止条件的数据库。求得把一个数据库变换为另一数据库的规则序列问题就等价于 求得图中的一条路径问题。研究图搜索的一般策略,能够给出图搜索过程的一般步骤。 2、图搜索算法中的几个重要名词术语 (1)OPEN 表与 CLOSE 表 (2)搜索图与搜索树 3、图搜索(GRAPHSEARCH)的一般过程 (1) 建立一个只含有起始节点 S 的搜索图 G,把 S 放到一个叫做 OPEN 的未扩展节点 表 中。 (2)建立一个叫做 CLOSED 的已扩展节点表,其初始为空表。 (3)LOOP:若 OPEN 表是空表,则失败退出。 (4) 选择 OPEN 表上的第一个节点,把它从 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 成员,确定是否需要更改图 G 中通向 它的每个后裔节点的指针方向。

  提问:图搜索是针对 什么知识表示方法 的问题求解方法?

  4、图搜索方法分析:

  图搜索过程的第 8 步对 OPEN 表上的节点进行排序,以便能够从中选出一个“最好”的

  节点作为第 4 步扩展用。这种排序可以是任意的即盲目的(属于盲目搜索),也可以用以后要

  讨论的各种启发思想或其它准则为依据(属于启发式搜索)。每当 被选作扩展的节点为目标节点时,这一过程就宣告成功结束。这 时,能够重现从起始节点到目标节点的这条成功路径,其办法是 从目标节点按指针向 S 返回追溯。当搜索树不再剩有未被扩展的 端节点时,过程就以失败告终(某些节点最终可能没有后继节点,

  提问:什么是图搜索? 其中,重排 OPEN 表 意味着什么,重排的 原则是什么?

  所以 OPEN 表可能最后变成空表)。在失败终止的情况下,从起始

  节点出发,一定达不到目标节点。

  教学内容:介绍三种盲目搜索方法,即宽度优先搜索、深度优先搜索和等代价搜索。 教学重点:盲目搜索的特点,宽度优先搜索。 教学难点:等代价搜索中代价的概念。 教学方法:以实例强化内容的学习,通过提问引导学生对三种方法的特点进行比较。 教学要求:掌握盲目搜索的特点,比较三种盲目搜索方法的优缺点。

  1、定义 如果搜索是以接近起始节点的程度依次扩展节点的,那么这种搜索就叫做宽度优先搜索 (breadth-first search)。 2、特点 这种搜索是逐层进行的;在对下一层的任一节点进行搜索之前,必须搜索完本层的所有 节点。 3、宽度优先搜索算法 (1) 把起始节点放到 OPEN 表中(如果该起始节点为一目标节点,则求得一个解答)。 (2) 如果 OPEN 是个空表,则没有解,失败退出;否则继续。 (3) 把第一个节点(节点 n)从 OPEN 表移出,并把它放入 CLOSED 的扩展节点表中。 (4) 扩展节点 n。如果没有后继节点,则转向上述第(2)步。 (5) 把 n 的所有后继节点放到 OPEN 表的末端,并提供从这些后继节点回到 n 的指针。 (6) 如果 n 的任一个后继节点是个目标节点,则找到一个解答,成功退出;否则转向第 (2)步。 4、宽度优先搜索方法分析:

  宽度优先搜索是图搜索一般过程的特殊情况,将图搜索一般过程中的第 8 步具体化为本 算法中的第 6 步,这实际是将 OPEN 表作为“先进先出”的队列进行操作。

  宽度优先搜索方法能够保证在搜索树中找到一条通向目标节点的最短途径;这棵搜索树

  提供了所有存在的路径(如果没有路径存在,那么对有限图来说,我们就说该法失败退出;

  对于无限图来说,则永远不会终止)。

  5、例:把宽度优先搜索应用于八数码难题时所生成的 搜索树,这个问题就是要把初始棋局变为如下目标棋局的 问题:

  提问:宽度优先搜索方法中 OPEN 表需要按什么方式进行 操作? A.先进后出 B.先进先出

  1、定义 在此搜索中,首先扩展最新产生的(即最深的)节点。深度相等的节点可以任意排列。 这种盲目(无信息)搜索叫做深度优先搜索(depth-first search)。 2、特点 首先,扩展最深的节点的结果使得搜索沿着状态空间某条单一的路径从起始节点向下进 行下去;只有当搜索到达一个没有后裔的状态时,它才考虑另一条替代的路径。 3、深度界限 为了避免考虑太长的路径(防止搜索过程沿着无益的路径扩展下去),往往给出一个节点 扩展的最大深度——深度界限。任何节点如果达到了深度界限,那么都将把它们作为没有后 继节点处理。 4、含有深度界限的深度优先搜索算法 请同学们课后自学,并回答课后思考题。 思考题:有界深度优先搜索方法能够保证在搜索树中找到一条通向目标节点的最短途径吗?

  宽度优先搜索可被推广用来解决寻找从起始状态至目标状态的具有最小代价的路径问

  题,这种推广了的宽度优先搜索算法叫做等代价搜索算法。

  2、等代价搜索中的几个记号

  起始节点记为 S;

  从节点 i 到它的后继节点 j 的连接弧线代价记为 c(i,j); 从起始节点 S 到任一节点 i 的路径代价记为 g(i)。 3、等代价搜索算法 (请同学们课后认真阅读本算法,指出与宽度优先、深度优先 算法有何特别之处。)

  思考:试比较各种盲 目搜索搜索方法的 效率,找出影响算法 效率的原因。

  4、等代价搜索方法分析

  如果所有的连接弧线具有相等的代价,那么等代价算法就简化为宽度优先搜索算法。

  3.3 启发式搜索

  教学内容:启发式搜索策略概述和有序搜索。启发式搜索弥补盲目搜索的不足,提高搜 索效率。

  教学重点:启发式搜索策略、启发信息和有序搜索。 教学难点:估价函数的设计、A*算法原理。 教学方法:通过实例加深对原理的理解,鼓励同学扩大阅读范围。 教学要求:掌握启发式搜索策略和估价函数的设计方法,了解 A*算法原理。

  3.3.1 启发式搜索策略和估价函数

  1、为什么需要启发式搜索 盲目搜索效率低,耗费过多的计算空间与时间,这是组合爆炸的一种表现形式。 2、定义 进行搜索技术一般需要某些有关具体问题领域的特性的信息,把此种信息叫做启发信 息。利用启发信息的搜索方法叫做启发式搜索方法。 3、启发式搜索策略 有关具体问题领域的信息常常可以用来简化搜索。一个比较灵活(但代价也较大)的利用 启发信息的方法是应用某些准则来重新排列每一步 OPEN 表中所有节点的顺序。然后,搜 索就可能沿着某个被认为是最有希望的边缘区段向外扩展。应用这种排序过程,需要某些估 算节点“希望”的量度,这种量度叫做估价函数(evalution function)。 4、估价函数 为获得某些节点“希望”的启发信息,提供一个评定侯选扩展节点的方法,以便确定哪个 节点最有可能在通向目标的最佳路径上 。 f(n)——表示节点 n 的估价函数值 建立估价函数的一般方法:试图确定一个处在最佳路径上的节点的概率;提出任意节点 与目标集之间的距离量度或差别量度;或者在棋盘式的博弈和难题中根据棋局的某些特点来 决定棋局的得分数。这些特点被认为与向目标节点前进一步的希望程度有关。

  1、定义 用估价函数 f 来排列 GRAPHSEARCH 第 8 步中 OPEN 表上的节点。应用某个算法(例 如等代价算法)选择 OPEN 表上具有最小 f 值的节点作为下一个要扩展的节点。这种搜索方 法叫做有序搜索(ordered search)或最佳优先搜索(best-first search),而其算法就叫做有序搜索 算法或最佳优先算法。 尼尔逊(Nilsson)曾提出一个有序搜索的基本算法。估价函数 f 是这样确定的:一个节点 的希望程序越大,其 f 值就越小。被选为扩展的节点,是估价函数最小的节点。 2、实质

  选择 OPEN 表上具有最小 f 值的节点作为下一个要扩展的节点,即总是选择最有希望的 节点作为下一个要扩展的节点。

  3、有序状态空间搜索算法 (1) 把起始节点 S 放到 OPEN 表中,计算 f(S)并把其值与节点 S 联系起来。 (2) 如果 OPEN 是个空表,则失败退出,无解。 (3) 从 OPEN 表中选择一个 f 值最小的节点 i。结果有几个节点合格,当其中有一个为 目标节点时,则选择此目标节点,否则就选择其中任一个节点作为节点 i。 (4) 把节点 i 从 OPEN 表中移出,并把它放入 CLOSED 的扩展节点表中。 (5) 如果 i 是个目标节点,则成功退出,求得一个解。 (6) 扩展节点 i,生成其全部后继节点。对于 i 的每一个后继节点 j:

  (a)计算 f(j)。 (b)如果 j 既不在 OPEN 表中,又不在 CLOSED 表中,则用估价函数 f 把它添 入 OPEN 表。从 j 加一指向其父辈节点 i 的指针,以便一旦找到目标节点时记住一 个解答路径。 (c)如果 j 已在 OPEN 表上或 CLOSED 表上,则比较刚刚对 j 计算过的 f 值和前 面计算过的该节点在表中的 f 值。如果新的 f 值较小,则 (i) 以此新值取代旧值。 (ii) 从 j 指向 i,而不是指向它的父辈节点。 (iii) 如果节点 j 在 CLOSED 表中,则把它移回 OPEN 表。 (7) 转向(2),即 GO TO(2)。 4、有序搜索方法分析 宽度优先搜索、等代价搜索和深度优先搜索统统是有序搜索技术的特例。对于宽度优先 搜索,选择 f(i)作为节点 i 的深度。对于等代价搜索,f(i)是从起始节点至节点 i 这段路径的 代价。 有序搜索的有效性直接取决于 f 的选择,如果选择的 f 不合适,有序搜索就可能失去一 个最好的解甚至全部的解。如果没有适用的准确的希望量度,那么 f 的选择将涉及两个方面 的内容:一方面是一个时间和空间之间的折衷方案;另一方面是保证有一个最优的解或任意 解。 5、例:八数码难题 采用了简单的估价函数

  f(n)=d(n)+W(n) 其中:d(n)是搜索树中节点 n 的深度;W(n)用来计算对应于节点 n 的数据库中错放的棋 子个数。因此,起始节点棋局

  A*算法是一种有序搜索算法,其特点在于对估价函数的定义上。 1、几个记号

  令 k(ni,nj)表示任意两个节点 ni 和 nj 之间最小代价路径的实际代价(对于两节点间没有 通路的节点,函数 k 没有定义)。于是,从节点 n 到某个具体的目标节点 ti,某一条最小代价 路径的代价可由 k(n,ti)给出。令 h*(n)表示整个目标节点集合{ti}上所有 k(n,ti)中最小的一 个,因此,h*(n)就是从 n 到目标节点最小代价路径的代价,而且从 n 到目标节点能够获得

  h*(n)的任一路径就是一条从 n 到某个目标节点的最佳路径(对于任何不能到达目标节点的节

  点 n,函数 h*没有定义)。

  2、估价函数的定义

  定义函数 f*,使得在任一节点 n 上其函数值 f*(n)就是从节点 S 到节点 n 的一条最佳路

  径的实际代价加上从节点 n 到某目标节点的一条最佳路径的代价之和,即

  希望估价函数 f 是 f*的一个估计,此估计可由下式给出:

  其中:g 是 g*的估计;h 是 h*的估计。对于 g(n)来说,一个明显的选择就是搜索树中从

  S 到 n 这段路径的代价,这一代价可以由从 n 到 S 寻找指针时,把所遇到的各段弧线的代价

  加起来给出(这条路径就是到目前为止用搜索算法找到的从 S 到 n 的最小代价路径)。这个定

  义包含了 g(n)≥g*(n)。h*(n)的估计 h(n)依赖于有关问题的领域的启发信息。这种信息可能

  与八数码难题中的函数 W(n)所用的那种信息相似。把 h 叫做启发函数。

  3、A*算法定义

  进行的,则称该过程为 A 算法。

  定义 2 在 A 算法中,如果对所有的 x 存在 h(x) ≤h*(x),则称 h(x)为 h*(x)的下界,它表示某种偏于 保守的估计。

  定义 3 采用 h*(x)的下界 h(x)为启发函数的 A 算法,称为 A*算法。当 h=0 时,A*算法就变为有 序搜索算法。

  思考:试比较宽度优先搜索、有界

  深度优先搜索及有序搜索的搜索效

  率,并以实例数据加以说明

  A*算法描述参考教材。

  教学内容:消解原理是针对谓词逻辑知识表示的问题求解方法。本节内容主要包括子句 集的求取、消解推理的规则和消解反演问题求解方法。

  教学重点:子句集的求取、消解推理的规则和消解反演问题求解方法。 教学难点:消解反演的思想。 教学方法:实例讲解,注重课堂练习。 教学要求:重点掌握子句集的求解步骤和消解反演过程,掌握消解推理的规则。

  消解原理的基础知识: (1)谓词公式、某些推理规则以及置换合一等概念。 (2)子句:由文字的析取组成的公式(一个原子公式和原子公式的否定都叫做文字)。 (3)消解:当消解可使用时,消解过程被应用于母体子句对,以便产生一个导出子句。

  例如,如果存在某个公理 E1∨E2 和另一公理~E2∨E3,那么 E1∨E3 在逻辑上成立。这就是 消解,而称 E1∧E3 为 E1∨E2 和~E2∨E3 的消解式(resolvent)。

  1、步骤 (1) 消去蕴涵符号 只应用∨和~符号,以~A∨B 替换 A=B。

  C,在消去蕴涵符号后得到公式:

  (2) 减少否定符号的辖域 每个否定符号~最多只用到一个谓词符 号上, 并反复应用狄·摩根定律。例如:

  (3) 对变量标准化

  在任一量词辖域内,受该量词约束的变量为一哑元(虚构变量),它可以在该辖域内处处

  统一地被另一个没有出现过的任意变量所代替,而不改变公式的真值。合适公式中变量的标

  准化意味着对哑元改名以保证每个量词有其自己唯一的哑元。

  (4) 消去存在量词

  用 Skolem 函数代替存在的 x,就可以消去全部存在量词,并写成:

  从一个公式消去一个存在量词的一般规则是以一个 Skolem 函数代替每个出现的存在量

  词的量化变量,而这个 Skolem 函数

  的变量就是由那些全称量词所约束 的全称量词量化变量,这些全称量 词的辖域包括要被消去的存在量词 的辖域在内。Skolem 函数所使用的 函数符号必须是新的,即不允许是 公式中已经出现过的函数符号。例 如:

  词后,正确的公式为:

  如果要消去的存在量词不在任

  何一个全称量词的辖域内,则用不含变量的 Skolem 函数即常量。例如,( ? x)P(x)化为 P(A),

  其中常量符号 A 用来表示人们知道的存在实体。A 必须是个新的常量符号,它未曾在公式 中其它地方使用过。

  (5) 化为前束形 把所有全称量词移到公式的左边,并使每个量词的辖域包括这个量词后面公式的整个部 分。所得公式称为前束形。 (6) 把母式化为合取范式 任何母式都可写成由一些谓词公式和(或)谓词公式的否定的析取的有限集组成的合取。 这种母式叫做合取范式。 (7) 消去全称量词 消去明显出现的全称量词。 (8) 消去连词符号∧ 用{A,B}代替(A∧B),以消去明显的符号∧。反复代替的结果,最后得到一个有限 集,其中每个公式是文字的析取。任一个只由文字的析取构成的合适公式叫做一个子句。 (9) 更换变量名称 可以更换变量符号的名称,使一个变量符号不出现在一个以上的子句中。 2、例 将下列谓词演算公式化为一个子句集

  3、说明 并不是所有问题的谓词公式化为子句集都需要上述 9 个步骤。对于某些问题,可能不需 要其中的一些步骤。

  令 L1 为任一原子公式,L2 为另一原子公式;L1 和 L2 具有相同的谓词符号,但一般具有 不同的变量。已知两子句 L1∨α 和~L2∨β ,如果 L1 和 L2 具有最一般合一者σ ,那么通过 消解可以从这两个父辈子句推导出一个新子句(α ∨β )σ 。这个新子句叫做消解式。它是由

  取这两个子句的析取,然后消去互补对而得到的。

  2、消解式求法

  父辈子句 P

  NIL (e) 链式(三段论) 即取各子句的析取,然后消去互补对。

  说明:对合并、 重言式、链式(三 段论)请同学们 自行阅读。

  3.4.3 含有变量的消解式

  1、消解式求法 为了对含有变量的子句使用消解规则,必须找到一个置换,作用于父辈子句使其含有互 补文字。 2、例子

  3.4.4 消解反演求解过程

  1、基本思想 把要解决的问题作为一个要证明的命题,其目标公式被否定并化成子句形,然后添加到 命题公式集中去,把消解反演系统应用于联合集,并推导出一个空子句(NIL),产生一个矛 盾,这说明目标公式的否定式不成立,即有目标公式成立,定理得证,问题得到解决,与数 学中反证法的思想十分相似。 2、消解反演 反演求解的步骤 给出一个公式集 S 和目标公式 L,通过反证或反演来求证目标公式 L,其证明步骤如下: (1)否定 L,得~L; (2)把~L 添加到 S 中去; (3)把新产生的集合{~L,S}化成子句集; (4)应用消解原理,力图推导出一个表示矛盾的空子句 NIL。 反演求解的正确性 设公式 L 在逻辑上遵循公式集 S,那么按照定义满足 S 的每个解释也满足 L。决不会有 满足 S 的解释能够满足~L 的,所以不存在能够满足并集 S∪{~L}的解释。如果一个公 式集不能被任一解释所满足,那么这个公式是不可满足的。因此,如果 L 在逻辑上遵循 S, 那么 S∪{~L}是不可满足的。可以证明,如果消解反演反复应用到不可满足的子句集, 那么最终将要产生空子句 NIL。因此,如果 L 在逻辑上遵循 S,那么由并集 S∪{~L}消 解得到的子句,最后将产生空子句;反之,可以证明,如果从 S∪{~L}的子句消解得到 空子句,那么 L 在逻辑上遵循 S。 3、反演求解过程 步骤: (1)把由目标公式的否定产生的每个子句添加到目标公式否定之否定的子句中去。 (2)按照反演树,执行和以前相同的消解,直至在根部得到某个子句止。 (3)用根部的子句作为一个回答语句。 分析: 答案求取涉及到把一棵根部有 NIL 的反演树 思考:应用消解反演求解如下问题: 变换为在根部带有可用作答案的某个语句的一颗 “如果无论约翰(John)到哪里去,菲 证明树。由于变换关系涉及到把由目标公式的否 多(Fido)也就去那里,那么如果约翰 定产生的每个子句变换为一个重言式,所以被变 在学校里,菲多在哪里呢?” 换的证明树就是一棵消解的证明树,其在根部的

  语句在逻辑上遵循公理加上重言式,因而也单独地遵循公理。因此被变换的证明树本身就证 明了求取办法是正确的。

  例:储蓄问题 前提:每个储蓄钱的人都获得利息。 结论:如果没有利息,那么就没有人去储蓄钱

  3.5 规则演绎系统

  教学内容:规则演绎系统属于高级搜索推理技术,用于解决比较复杂的系统和问题。本 节介绍规则演绎系统的定义及其三种推理方法:规则正向演绎系统、规则逆向演绎系统和规 则双向演绎系统。

  教学重点:规则演绎系统的定义、正向推理和逆向推理过程。 教学难点:双向演绎的匹配问题等。 教学方法:课堂教学为主。通过比较揭示正向推理、逆向推理和双向推理的特点。 教学要求:掌握规则演绎系统的定义和正向推理、逆向推理的过程,了解规则双向演绎 系统。

  规则演绎系统的定义: 基于规则的问题求解系统运用下述规则来建立: If→Then 其中,If 部分可能由几个 if 组成,而 Then 部分可能由一个或一个以上的 then 组成。 在所有基于规则系统中,每个 if 可能与某断言(assertion)集中的一个或多个断言匹配。 有时把该断言集称为工作内存。在许多基于规则系统中,then 部分用于规定放入工作内存的 新断言。这种基于规则的系统叫做规则演绎系统(rule based deduction system)。在这种系统中, 通常称每个 if 部分为前项(antecedent),称每个 then 部分为后项(consequent)。

  3.5.1 规则正向演绎系统

  1、定义 正向规则演绎系统是从事实到目标进行操作的,即从状况条件到动作进行推理的,也就 是从 if 到 then 的方向进行推理的。 2、正向推理过程 (1)事实表达式的与或形变换把事实表示为非蕴涵形式的与或形,作为系统的总数据 库。具体变换步骤与前述化为子句形类似。

  注意:我们不想把这些事实化为子句形,而是把它们表示为谓词演算公式,并把这些 公式变换为叫做与或形的非蕴涵形式。

  例:有事实表达式

  Q(v,A)∧{[~R(v)∧~P(v)]∨~S(A,v)} 对变量更名标准化,使得同一变量不出现在事实表达式的不同主要合取式中,得: Q(w,A)∧{[~R(v)∧~P(v)]∨~S(A,v)} (2)事实表达式的与或图表示

  图 3.1 一个事实表达式的与或树表示 一般把事实表达式的与或图表示倒过来画,即把根节点画在最下面,而把其后继节点 往上画。上节的与或图表示,就是按通常方式画出的,即目标在上面。 (3)与或图的 F 规则变换 这些规则是建立在某个问题辖域中普通陈述性知识的蕴涵公式基础上的。把允许用作规 则的公式类型限制为下列形式:

  L=W 式中:L 是单文字;W 为与或形的唯一公式。 将这类规则应用于与或图进行推演。假设有一条规则 L=W,根据此规则及事实表达式 F(L),可以推出表达式 F(W)。F(W)是用 W 代替 F 中的所有 L 而得到的。当用规则 L=W 来变换以上述方式描述的 F(L)的与或图表示时,就产生一个含有 F(W)表示的新图;也就是 说,它的以叶节点终止的解图集以 F(W)子句形式代表该子句集。这个子句集包括在 F(L)的 子句形和 L=W 的子句形间对 L 进行所有可能的消解而得到的整集。该过程以极其有效的 方式达到了用其它方法要进行多次消解才能达到的目的。 (4)作为终止条件的目标公式 应用 F 规则的目的在于从某个事实公式和某个规则集出发来证明某个目标公式。在正 向推理系统中,这种目标表达式只限于可证明的表达式,尤其是可证明的文字析取形的目标 公式表达式。用文字集表示此目标公式,并设该集各元都为析取关系。 结论: 当正向演绎系统产生一个含有以目标节点作为终止的解图。

http://39-5963.net/gongliyuyi/501.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有