资源描述
浙教版高中信息技术选修5人工智能初步全套PPT课件浙教版高中信息技术选修5人工智能初步全套PPT课件智能和人工智能智能和人工智能智能和人工智能 “智能”是当今社会上流行的时髦术语,大家都已经听惯、说惯、诸如“智能卡”“智能仪表”“智能机器”“智能大楼”等等,不胜枚举。可是究竟什么是人工智能?本节的任务就是说明两者的含义及相互关系。“智能”是当今社会上流行的时髦术语,大家都已经听惯、1智能1智能 智能通常是指学习、记忆、认识、理解客观事物和解决实际问题的智慧和能力。智能来源于精神或心理活动,是大脑的一项基本技能智能不是本能,主要是通过参与各项社会实践活动获得的,是在认识和改造自身及客观世界的活动中,由思维过程和脑力活动所体现的能力。它包括:(1)感知能力:通过视觉、听觉、触觉、嗅觉、味觉等来感知客观世界,获取感性知识的能力;(2)思维能力:通过大脑的思维活动(如记忆、联想、推理、计算、分析、判断、决策、规划、学习、探索等)对各种输入信息进行加工处理,将感性知识、经验上升为理性知识的能力;智能通常是指学习、记忆、认识、理解客观事物和解决实际 (3)行为能力:是对感知到的外界信息的一种反应能力。近年来神经生理学和脑科学的研究成果表明,脑的感知部分,包括视觉听觉、运动等脑皮层区不仅具有输入/输出通道的功能,而且具有直接参与思维,运用知识,通过推理解决问题的功能。(3)行为能力:是对感知到的外界信息的一种反应能力。2人工智能2人工智能 人工智能指的是人造物的智能,在人工智能一词正式采用以前,人们通常使用“机器智能”这一术语。自古以来,人类就力图以自身的认识和当时的科学技术条件,用机器来代替人的部分脑力劳动,以提高人们在自然和社会中的生存与发展的能力。人们对实现机器智能的追求由来已久,直到上世纪40年代中后期电子数字计算机出现,当时就有少数计算机科学家意识到利用这种机器的巨大潜力,并着手研究怎样用计算机来解决诸如下棋、自动定理证明之类的典型的智能问题。人工智能指的是人造物的智能,在人工智能一词正式采用以 虽然人工智能科学家从不同的角度对人工智能进行了各种描述,但至今也没有统一的严格的定义。1981年,菲根鲍姆教授指出:“人工智能是计算机科学的一个分支,涉及到智能计算机系统的设计,该系统显示人类行为中与智能有关的某些特性。”计算机会不会有智能,或者说计算机能不能思维?这是一个有争论的问题。至今为止,我们并不真正知道是否能够制造这样的机器,它能像人一样思考、能用和人同样的方式理解世界。但是人们已经和正在制造在日常生活的许多方面为人们提供帮助的机器,这样的机器在完成许多任务方面将比人类强,就像计算器在算术运算方面比人强一样。虽然人工智能科学家从不同的角度对人工智能进行了各种描3讨论交流3讨论交流 1.讨论主题:智能与人工智能 2.活动安排:每位同学至少列举三个以上能分别说明“智能”和“人工智能”概念的实例。3.交流方式:建议2-4位同学为一个小组,对以下问题开展讨论:(1)日常生活中所见所闻的人工智能应用的例子。(2)人工智能是否能达到或超过人类智能?4.结果呈现:可以制作演示文稿或显示有关网站内容。1.讨论主题:智能与人工智能 5.活动评价:(1)填写下表。(2)填写“学生学业成长记录表”。活动主题智能与人工智能总计评价指标能列举三个以上分别说明总计评价指标“智能”和“人工智能”的例子(6分)说明问题时能辅以幻灯片或上网浏览等形式(4分)评价 5.活动评价:活动主题智能与人工智能能列举三个以上分THE ENDTHE ENDTHE END人工智能的若干应用领域人工智能的若干应用领域人工智能的若干应用领域1博弈1博弈 人工智能的一大成就是开发了能够求解博弈难题的高水平下棋(如西洋跳棋、国际象棋等)程序。在棋类活动中,除了具有明显的智能外,棋盘游戏还有很多属性使其成为早期人工智能研究的对象。由于大多数游戏都有定义好的竞技规则,这样一来便可以很容易地产生要搜索的状态空间。博弈中的棋局易于在计算机中表示,不需要复杂格式的表征。状态空间搜索的大多数早期研究都是针对常见的棋盘游戏来实现的。棋类博弈游戏软件比较多,下面以大家常见的五子棋为例,来初步体验一下人工智能技术应用。人工智能的一大成就是开发了能够求解博弈难题的高水平下2自动定理证明2自动定理证明 自动定理证明是人工智能最早发展起来的分支之一。自动定理证明把人证明定理的过程变成能在计算机上实现的符号演算的过程,它的研究肩负了AI早期研究中的很多任务,包括总结搜索算法以及开发标准的表示语言,例如谓词演算和逻辑编程语言Prolog。自动定理证明是利用计算机证明非数值性的结果,即确定它们的真假。许多非数值领域的任务,都可以转化成自动定理证明问题来解决。中国科学院院士吴文俊在数学机械化等研究领域取得了突出的成就,1997年获得“Herbrand自动推理杰出成就奖”,2000年获得首届“国家最高科学技术奖”。中国科学数学机械化重点实验室推出了数学机械化与自动推理的软件工作平台MMP。自动定理证明是人工智能最早发展起来的分支之一。自动定3机器人和智能机器人3机器人和智能机器人 机器人是一种能够模拟人的行为的机电装置,当今已经被广泛地用于日常生产和生活中,它能模拟人的触觉、视觉、听觉。机器人是种具有传感机构、作用机构和制导机构,能接受输入信号、探测环境状态并作出合适的动作反应的可编程的多功能装置。制导机构的作用是根据传感机构接收到的信号,按事先存储的规则约定或逻辑关系,对输入的信号进行运算和处理,并将处理结果传递给作用机构,以产生所需要的反应。虽然机器人的外形千变万化,但由于它都是模拟人的活动,故称机器人。机器人是一种能够模拟人的行为的机电装置,当今已经被广 如果机器人具有理解推理和判断能力,则被称为智能机器人。凡是能接受外界输入的命令,能够感知和认识工作环境、工作目标及当前状态,能够自身进行推理和判断,编制工作计划,决定工作方法并能跟踪目标变化,自行调整适应工作环境的机器人都可称为智能机器人。目前世界各先进工业国家已把机器人或智能机器人的研制和生产作为一个产业。各种具有高度机动能力、能适应复杂环境、能觉察有毒气体和抗核辐射、能独立决策和灵活行动的机器人正在越来越多地被开发出来,在医疗、航天、采矿、水下等各种场合被广泛应用。如果机器人具有理解推理和判断能力,则被称为智能机器人4模式识别4模式识别 “模式识别”是从英文术语“pattern recognition”翻译过来的一个计算机术语。英文单词“pattern”是一个多义词,在这里可以理解为图案、模样、式样、花样、花纹等等。总之,如图形、景物、语言、波形、文字、疾病等等都可以作为一种模式。广义地讲,一切可观察到的客观存在的事物都可以称为模式。所谓模式识别,就是把不同的式样区分开来,正确判断它是什么“东西”或不是什么“东西”。这里用“东西”一词来泛指各种不同的识别对象。比如,如果识别的对象是中文,就是汉字的识别;如果是英文,首先是对26个英文字母和标点符号的识别;如果是一幅海战现场图像,很重要的是要区分(识别)敌舰敌机、友舰友机、我舰我机等等。“模式识别”是从英文术语“pattern recog 在今天的社会生活中,无论你是到银行取钱,到网上交易,还是注册网络服务、购物,甚至到朋友单位去拜访,太多太多的场合都需要身份的认证,而传统的基于证件、印章、签名或简单数字密码为标志的身份认证技术由于受到证件伪造以及密码破解等手段的威胁,安全可靠程度越来越差。怎样保护自己的重要文件资料,如何保证自己的隐私不被泄露?在传统的操作中,我们往往使用密码加密法,面对高明的黑客,由几个字符组成的密码已脆弱得不堪一击。现在,科技的发展让我们有了新的选择指纹识别加密产品。根据人的指纹生成指纹锁应用于笔记本、机箱甚至鼠标上,可以对文件和系统起保护作用。在今天的社会生活中,无论你是到银行取钱,到网上交易,这里以简单的指纹识别演示系统为例,了解模式识别的简单应用。系统通过摄像头提取指纹,然后输入计算机,再通过一系列复杂的指纹识别算法,现代计算机指纹识别系统就能在极短的时间内完成对任何人的指纹识别并作为该人身份的认证。沈阳智通科技研制的指纹识别系统是一个简单的指纹识别演示系统,通过单击按钮“指纹1”和“指纹2”,分别打开两个存放指纹的图像文件,经过一系列复杂的指纹识别算法,系统就能很快地得到指纹比对的结果。如果两个指纹是同一个人的,则系统显示匹配结果为“相同指纹”,否则显示“不同指纹”。这里以简单的指纹识别演示系统为例,了解模式识别的简单5自然语言处理和机器翻译5自然语言处理和机器翻译 自然语言是人类在长期的生产和社会活动中进行信息交流时形成的一种特殊的沟通工具。例如,英语、汉语、法语和德语等。自然语有是以词汇为材料,按一定的语法结构规律构成的体系,它可以用文字、口语及手势等形式表示。自然语言表示的规则,较多的是以约定俗成的通行用法为基础,具有很大的灵话性。自然语言的基本元素是字母或字。用字或字母组合成词,是表达思想的最小单元。若干个词的有意义的组合与形变构成语句,由语句的上下文组合构成文章。各种自然语言由于其使用场合、情景和作用的不同而存在多义性、模糊性和随意性。自然语言处理是人工智能的一个重要分支,包括自然语言之间的转换(机器翻译)等。自然语言是人类在长期的生产和社会活动中进行信息交流时 自然语言处理的研究内容包括:自然语言人机对话(问答)、机器自动文摘和索引以及机器翻译等。机器翻译是以计算机为工具将一种自然语言翻译成另一种自然语言,是一种模拟人类高级思维的活动,是翻译工作的自动化。机器翻译是人工智能最早研究的应用领域之一,一直倍受关注。在机器翻译时,被翻译的语言称为源语言,译成后的语言称为目标语言。在电子计算机问世不久,人们就想到利用计算机进行翻译工作。人工翻译时,必须掌握源语言和目标语言的词汇、语法,通常还要查阅字典,懂得领域背景知识和理解上下文语境,才能作好翻译工作。与人工翻译相似,机器翻译系统也需要在计算机中存入数字化的源语言和目标语言词典,数字化了的语法规则及相关的领域知识。词典应包括:综合词典、专业词典、多义词词典、结构词典、成语词典。在用户将待译原文输入机器翻译系统后,系统进行词法分析,从语句 自然语言处理的研究内容包括:自然语言人机对话(问答)中切分词语,通过查阅词典,确定词性(名词、动词、形容词、副词等)、词语属性(人称、性、数、格、时态、语态等)和词的意义,再根据上下文、领域知识选取多义词中的合适词意解释以及对成语进行判定和对照解释。经过语法分析,明确各个语法成分(主语、谓语状语定语、主句、从句等),根据各词之间的关系产生机器的内部表示。然后,根据目标语言的文法要求,调整语句中的各种成分的次序,进行修辞加工,最后输出用目标语言表示的译文。其过程大致如图所示。中切分词语,通过查阅词典,确定词性(名词、动词、形容词、副词6专家系统6专家系统 专家系统是一套智能的计算机程序,它为人们解决某些问题提供帮助,这些问题通常需要某些专门领域的专家才能解决。我们知道,人类专家在解决问题的时候能够表现出很高的水平,因为他们对自己的专业领域非常了解,具备了广泛深入的知识。因此,专家系统被设计成具有这样的功能,它能在遇到同样的情况下运用相当于人类专家的知识,模拟人类专家所遵循的因果关系的推理,提出问题处理建议,为用户提供“专家级”的服务也就是说,专家系统的设计者首先应该在人类专家的帮助下为专家系统输入或生成足够的知识,然后再让专家系统使用这些知识来模仿人类专家解决问题的方法和能力。专家系统和人类专家一样,往往是针对某一狭窄领域的。专家系统应能在求解问题的实践中自行获取知识,提高系统自身对领域问题的理解和解决问题的能力。当今,用来求解许多领域问题,包括:医疗、数学、专家系统是一套智能的计算机程序,它为人们解决某些问题工程、化学、地质学、计算机科学、商业、法律、国防和教育等领域的专家系统不断地被开发出来。自上世纪70年代末以来,专家系统的数量迅速增加,质量不断提高,专家系统已经成为人工智能的主要应用领域之一,应用范围日益扩大。为了让大家对专家系统有一个初步了解,接下来让我们学习使用一个简单小型的专家系统“Choosing a Desktop PC”。这是一个PC产品配置专家系统,它模拟一个产品顾问的场景为你提供台式PC产品配置的专家级咨询,系统将会根据你的需求,为你选择和配置一台台式计算机系统提供咨询与建议。这此建议是为运行Windows操作系统的PC计算机用户提供的。尽管这个系统解决的问题很简单,但它却包括了通常专家系统的内容。工程、化学、地质学、计算机科学、商业、法律、国防和教育等领域THE ENDTHE ENDTHE END知识知识知识 知识是人类对主客观世界的认识的结果或结晶,依反映对象的深刻性,可分为生活常识和科学知识;依反映层次的系统性,可分为经验知识和理论知识,经验知识是知识的初级形态,系统的科学理论是知识的高级形态;按来源的直接性,可分为直接知识和间接知识。但从总体上说,人的一切知识(才能也属于知识范畴)都是在社会实践中形成的,是对现实的反映,培根曾说:“知识的形式不是别的,知识是真理的表象,存在的真实同知识的真实是一致的,知识就是存在的映”社会实践是一切知识的基础和检验知识的标准。知识借助于语言、文字或物化为某种劳动产品的形式进行交流和传递。知识是人类对主客观世界的认识的结果或结晶,依反映对象1知识的特性1知识的特性 知识本身有许多固有的特性。例如,在人事工作领域,“职工年龄达到或超过60岁就要退休”,“大学教师应有大学本科以上的文化程度”,这说明知识的域特性与知识的应用密切相关;又例如,在公历历法中的闰年是这样计算的,凡是能被4整除的年份是闰年;但逢百之年,能被4整除的并不一定是闰年,必须要能被400整除的才是闰年。这种计算方法是按地球绕太阳公转的周期计算出来的,说明了知识的描述特性是针对描述性的知识而言。知识的特性在各种工程系统中如果得到合理运用,就会对系统的成功带来极大的帮助。了解知识的属性对人工智能的开发和应用具有重大价值。知识本身有许多固有的特性。例如,在人事工作领域,“职 知识有以下一些主要特性,如图。知识有以下一些主要特性,如图。(1)相对正确性。任何知识都是在一定的环境和条件下形成的,所以知识的正确性也是在一定的条件下才是正确的。知识不可能无条件地正确,也不可能无条件地错误,而是相对正确的。例如,水温降至0时,水由液态开始向固态(冰)转变,当水温升至100时,水开始汽化,这种常识性知识,只有在标准大气压下才是正确的;又如:平面内的任何一个三角形其内角之和等于180,只是在欧几里得几何体系下才成立。在非欧几里得体系下,三角形内角之和就不再是180了。(1)相对正确性。任何知识都是在一定的环境和条件下形 (2)不确定性。知识的不确定性是与客观世界不确定性密切相关的。现实世界的许多事物和现象都具有不确定性。这种不确定性可以分为两类,一类是由于事物和现象的随机性所产生的不确定性,像“明年我国北方地区会发生几次大的沙尘暴?”,“明年我国西北地区的降雨量有多少?”另一类则是由于概念的外延本身的模糊性面产生的不确定性,像“这个人的个子很高”,到底多高才算是个子很高,并没有明确的定义。在知识本身既不能完全被确定是真,也不能完全被确定是假时,通常是用“可信度”、“概率”等尺度来刻划;当事实或概念本身的“边界“或“定义”不明确时,通常是采用“可能性”、“模糊程度”来度量。(2)不确定性。知识的不确定性是与客观世界不确定性密 (3)可表示性。知识可以通过定义的形式加以表示,例如用语言、文字、图形、公式来表示。正是由于知识的这一特性,才有可能将知识数据化,才能用计算机来存储、处理、传播和利用知识。(4)可利用性。人们每时每刻都在利用自己所掌握的知识来解决现实世界中的各种问题,如果知识不能被利用,社会就不会进步,世界就不会发展。(3)可表示性。知识可以通过定义的形式加以表示,例如2知识的表示2知识的表示 在日常生活中,人们是用语言、文字等方式来表达知识,处理问题的。在人工智能领域中知识表示的主要任务是要使计算机“懂得”所表示的知识,便于用程序处理知识。所以这里所说的知识表示指的是知识的符号化并传送给计算机的过程。它包含两层含义:(1)用给定的知识结构,按一定的原则,组织和表示知识;(2)解释所表示的知识的意义。所谓知识表示,就是一种计算机可以接受的对人类智能行为的描述,或者说是一种约定。对智能机器系统而言,就是要采用某种技术模式,把要求解问题的相关知识,变换成为一种便于找到该问题解的数据结构。而对知识的表示过程,就是把相关知识变换成某种数据结构的过程。知识表示是各种知识工程中的一个核心研究领域,是知识系统中有效地表示知识、运用知识和管理知识的关键之一。在日常生活中,人们是用语言、文字等方式来表达知识,处 知识表示作为一个独立课题来研究始于上世纪60年代中期。在此后曾相继出现了语义网络知识表示、谓词逻辑框架、产生式规则等知识表示方法。知识表示作为一个独立课题来研究始于上世纪60年代中期3问题与练习3问题与练习 1.什么是知识?知识有哪些特征、各举一两个实例说明。2.什么是知识表示?有哪些知识表示方法?1.什么是知识?知识有哪些特征、各举一两个实例说明。THE ENDTHE ENDTHE END知识的表示方法知识的表示方法知识的表示方法 对同一知识,一般都可以用多种方法进行表示,但不同的方法对同一知识的表示效果是不一样的,因为不同领域中的知识一般都有不同的特点,而每一种表示方法也都有自己的长处与不足。本节先介绍五种知识的表示方法,关于状态空间表示法将在第五章结合智能捜索作介绍。对同一知识,一般都可以用多种方法进行表示,但不同的方1谓词表示法1谓词表示法 命题逻辑与谓词逻辑是人工智能的两种基本逻辑,是大多数知识表示模式的基础。1.命题 在逻辑上具有非真即假意义的语句称为命题。如果命题是真实的,称这种命题为真命题,否则称为假命题。下面的语句是真命题:(1)北京是中华人民共和国的首都。(2)256是整数。(3)如果两条直线平行,那么同位角相等。下面的语句是假命题:(1)雪不是白色的。(2)35。(3)5是偶数。命题逻辑与谓词逻辑是人工智能的两种基本逻辑,是大多数 下面的语句不是命题:(1)请勿吸烟!(2)天气真好啊!其中(1)是祈使句,(2)是感叹句,都没有确定的真值,因此它们不是命题。因此,命题是可以辨别真假的语句。一般用P、Q、R、等大写字母表示命题,分别用“T”与“F”表示命题的真与假。2.命题公式 在给出命题公式的定义之前,先给出命题公式中的连接词的定义。(1)连接词。在日常语言中,可以通过“并且”、“或者”、“如果,则”等连接词,将一些简单的陈述句组成较为复杂的语句成为复合句。类似地,我们通过以下的连接词,将些简单命题连接起来,构成一个复合命题,以表示较为复杂的含义。下面的语句不是命题:(逻辑与),它表示被它连接的两个命题具有“与(并且)”的关系。(逻机或),它表示被它连接的两个命题具有“或(或者)”的关系。(蕴含),PQ表示“如果P,则Q”,其中P称为蕴含式的前件(或前提),Q称为蕴含式的后件(或结论)。(逻辑非),其作用是否定位于它后面的命题。当命题P为真时,P为假;当P为假时,P为真。由以上连接词构成的复合命题的真值表如下。P QPPQPQPQT TFTTTT FFFTFF TTFTTF FTFFT (逻辑与),它表示被它连接的两个命题具有“与(并且2产生式规则表示方法2产生式规则表示方法 产生式规则知识表示方法也称为产生式知识表示法。它是建立在因果关系的基础上,因此,可以很容易地用来描述事实、规则及其不确定的度量。它的一般表达方式是:或者 其中,P是产生式的前提(或前件),用于指出该产生式可用的条件;Q是一组结论(或后件)。前件和后件也可以是由“与”、“或”“非”等逻辑运算符组合起来的表达式。如果考虑不确定性,则需另加可信度的度量值。PQIF PTHEN Q 产生式规则知识表示方法也称为产生式知识表示法。它是建3与/或树表示法3与/或树表示法 在现实生活中,人们在解决问题时,经常会根据问题的具体情况,将它们变换成等价的问题去求解;或者将问题分解成几个较易解决的子问题,然后对这些子问题分别求解。下面以一道平面几何证明题为例来加以说明:要求证明两三角形为相似三角形(记为问题S)。在现实生活中,人们在解决问题时,经常会根据问题的具体4语义网络表示法4语义网络表示法 语义网络是由一些“节点”和连接节点的“弧”组成。节点表示各种事物、概念、属性、状态、事件、动作等,而弧则表示它们之间的关系。许多节点和弧的相互连接就形成了一个网络,一句话,语义网络就是通过概念及其语义关系来表示知识的一种网络图,它是一个带标注的有向图。在语义网络中,每个节点可以带有若干个属性,以表征其所代表的对象的特性;网络中的弧则是有方向有标注的,方向用来体现节点间的隶属关系,而其上的标注表示被连接的两个节点间的某种语义关系。如下所示:语义网络是由一些“节点”和连接节点的“弧”组成。节点5框架表示法5框架表示法 我们走进一间教室之前,就可以想象到这个教室一定四面有墙,有门、窗、天花板和地板,还有黑板、讲台、课桌、坐椅等。尽管你对这个教室的具体细节如教室的大小、门窗的扇数等还不清楚,但对教室的基本结构是可以预见的。之所以能够做到这一点,是由于在以前的实践活动中,已在头脑中建立起了有关“教室”这一概念的基本框架。这一基本框架不仅指出了相应事物的名称(如教室),而且还指出了事物的各方面属性(如墙、门、窗等),通过对该框架的查找就很容易得到有关教室的特征。在你进入教室之后,经观察得到了教室的大小、门窗的扇数等细节,把这些数据填入到教室框架中,就得到教室框架的一个具体实例,称为实例框架。我们走进一间教室之前,就可以想象到这个教室一定四面有 可见,所谓框架表示就是对一个事物、事件或概念属性的数据结构的描述。框架知识表示也可以对应于面向对象的数据结构。下面,通过一个生活中的例子来了解创建框架的具体步骤:王同学是个计算机爱好者,他要去电脑市场购买一台用于学习的家用计算机。他来到一家电脑公司的摊位前,销售员李先生问:“你好,请问你打算买什么档次的电脑呢?我们这里有品牌机,也卖组装机。”王同学问:“品牌机都有哪几种啊?”李先生说:“我们主要经销联想电脑。”并对CPU型号、内存、主板、硬盘等情况一一作了介绍。然后王同学根据介绍的情况选择了自己的配置,将电脑买回了家。可见,所谓框架表示就是对一个事物、事件或概念属性的数 王同学通过李先生对电脑产品知识的介绍,确定了具体的配置清单,购买了产品。我们可以搭建出一个“计算机主要硬件配置组成”的轮廓图。如图所示:王同学通过李先生对电脑产品知识的介绍,确定了具体的配THE ENDTHE ENDTHE END不精确知识不精确知识不精确知识 在日常工作、学习中,需要解决各种各样的问题,或对各种情况作出判断。但是,由于客观事件的出现常常伴有随机性,许多事实或概念本身不完全、不精确,甚至是不确定的;所用的知识加工系统的功能也常常不够完善。这一切都将造成人们日常所掌握的知识实际上是不精确的。如何根据问题的环境和实践经验,灵活地运用已经掌握的不精确知识进行思维和推理,使问题较好地得到解决,这是人们必需探讨的。为了说明知识的随机性,先来看一个例子。有一种说法:“过了保修期、计算机会出故障。”那么超过了保修期,计算机要么出现故障,要么不出现故障。过多长时间才出现故障,要到故障发生以后才能知道。这种知识具有的特性是事先就知道有两种不同的结果,但是到底会发生哪一种结果,只有到结果发生时才能确定,这种特性就叫随机性,具有这种属性的知识称为随机性知识。在日常工作、学习中,需要解决各种各样的问题,或对各种 对于随机性知识,可以采用可信度来描述其可信的程度,在一般情况下CF是在区间-1,1上取值,CF在-1,0)中取值反映知识的不可信程度,-1表示知识完全不可信(即知识为假),值越小不可信程度越高;CF在(0,1中取值反映知识的可信程度,1表示知识完全可信(即知识为真),值越大可信程度越高;0表示对知识的真假无法判断。为了便于理解,在以下的例子中,限制CF在0,1上取值,也就是仅仅考虑知识的可信程度。因此,在这种情况下,一个命题的可信度是指该命题为真的可信程度。例如,在命题:这杨球赛甲队取胜(0.9)中,0.9就是命题“这场球赛甲队取胜”的可信度,它表示“这场球赛甲队取胜”为真的可信度为0.9。对于随机性知识,可以采用可信度来描述其可信的程度,在 例如,命题“如果乌云密布并且电闪雷鸣,那么天很可能要下暴雨”,可以表示如下:(1)如果乌云密布并且电闪雷鸣,那么天要下暴雨(0.95)。其中,0.95是对“很可能”的程度的量化描述。同样,命题“如果驾车不遵守交通法规且速度又快,那么大概会出交通事故”,可以表示如下:(2)如果驾车不遵守交通法规且速度又快,那么会出交通事故(0.8)。其中,0.8是对“大概”一词的量化描述。(1)和(2)中的0.95和0.8分别是两个规则的可信度。在基于可信度的不确定性推理模型中,知识可以用产生式规则的形式表示,知识的不确定性则用可信度CF(A,B)表示,其一般形式是:IF A THEN B(CF(A,B))。例如,命题“如果乌云密布并且电闪雷鸣,那么天很可能要 其中:(1)A是知识的前提条件或称为证据。它既可以是一个简单的条件,也可以是用AND及OR把多个简单条件连接起来构成的复合条件,例如:A=A1 AND A2 AND(A3 OR A4)。(2)B是结论,它可以是简单的结论,也可以是多个结论通过AND及OR连接起来的复合结论。(3)CF(A,B)是知识的可信度,它表示由条作A推出结论B的可信程度。上面的两个例子可以表示成:(1)IF乌云街布AND电闪雷鸣THEN天要下集雨(0.95);(2)IF驾车不遵守交通法规AND速度又快THEN会出交通事故(0.8)。其中:在日常生活中,还常常出现与事实和概念的模糊性描述相关的知识,人们通常称之为模糊知识,为了理解什么是模糊知识,下面通过一些例子加以说明。通过前面的学习,我们知道命题要么是真要么是假是在现实生活中,很多命题并不是绝对的真或假。例如,对于如下命题,张三比较胖;今天的天气真热,“张三比较胖”这个命题就具有模糊性,什么样的体型称之为胖,并没有确切的界定;同理,“今天的天气真热”这个命题同样具有模糊性。在一般情况下,人们不能精确判断具有模糊性的命题的真和假。这种具有模糊性的命题称之为模糊命题,通常用大写的字母P.Q.A表示。一般采用闭区间0,1上的一个实数值表示一个命题的模糊程度,当这个数值为1时,命题为真,当这个数值为0时,命题为假。如果命题“张三比较胖”的模糊程度值是0.8,“李四比较胖”的模糊程度值是0.6,在日常生活中,还常常出现与事实和概念的模糊性描述相关这就反映张三比较胖的程度比李四比较胖的程度要高,因此,我们更有理由相信张三是比较胖的。事实上,模糊性描述可以广泛应用于谓词逻辑、产生式规则、框架和语义网络等多种知识表示方法中,从而扩充它们的表示范围和能力。以产生式规则为例,对于规则:如果“患者的头很疼”而且“患者有高热”那么“他患了重感冒”。假设,“患者的头很疼”的模糊程度值是0.95,“患者有高热”的模糊程度值是0.8,那么“他患了重感冒”的模糊程度值可以如下计算:u=min0.95,0.80.8,说明患者患重感冒的真实程度比较高。这就反映张三比较胖的程度比李四比较胖的程度要高,因此,我们更1实践体验1实践体验 1.实验名称:体验专家系统如何进行汽车启动故障诊断。2.实验要求:通过Diagnosing Why a Car Wont Start以及不精确知识的概念,了解专家系统是如何表示不精确知识的。3.实验内容:用户在系统中根据系统的提示进行事实或知识的选择,以及相应的可信度选择。系统在获取用户的选择以后,也就得到用户提供的事实及其可信度,系统据此进行推理计算,最后提供相应结论。4.实验步骤提示:(1)访问网页:htp:/ (2)填写“学生学业成长记录表”。6.实验评价:活动主题运用专家系统诊断汽车故障对事实 7.通过因特网运行专家系统示例的步骤:(1)访问网页;(2)进入诊断汽车为什么不能启动专家系统页面。当你发现自己的汽车不能启动,你常要与你信任的技师联系。“Auot Diagnosis”提供了一个专家系统的范例,模拟一个人类专家在做咨询的场景;系统为你诊断汽车的故障和提出接下来怎么做的建议。7.通过因特网运行专家系统示例的步骤:THE ENDTHE ENDTHE ENDPrologProlog程序实例程序实例Prolog程序实例 在正式介绍Prolog之前,先以最常见的家庭关系为例,阐述如何用Prolog语言来描述这个问题。家庭关系对大家来说是非常熟悉的,但是一般的程序设计语言表达起来就不太方便了。用Prolog语言能较清楚地对家庭关系进行描述。以小明同学的家庭关系为例,小明家里有五口人,父亲(小王)、母亲(小张)、祖父(老王)和祖母(老李)。他们家的家庭关系可以用下图表示。在正式介绍Prolog之前,先以最常见的家庭关系为例1初识Prolog程序1初识Prolog程序 由小明的家庭关系图所示,很容易看出小明家庭中各成员之间的关系。下面给出用Prolog语言表示的家庭关系程序,目的是使同学们对Prolog程序有个初步的总体的认识。表示家庭关系的Prolog程序如下:father(xiaowang,xiaoming)./*小王是小明的父亲*/father(laowang,xiaowang)./*老王是小王的父亲*/husband(xiaowang,xiaozhang)./*小王是小张的丈夫*/husband(laowang,laoli)./*老王是老李的丈夫*/由小明的家庭关系图所示,很容易看出小明家庭中各成员之 mother(X,Z):-father(Y,Z),husband(Y,X)./*如果Y是Z的父亲、并且Y是X的丈夫,则X是Z的母亲*/grandfather(X,Z):-father(Y,Z),father(X,Y)./*如果Y是Z的父亲并且X是Y的父亲,则X是Z的祖父*/grandmother(X,Z):-grandfather(Y,Z),husband(Y,X)./*如果Y是Z的祖父,并且Y是X的丈夫,则X是Z的祖母*/?-mother(Who1,xiaoming)./*谁是小明的母亲?*/?-grandfather(Who2,xiaoming)/*谁是小明的祖父?*/?-grandmother(Who3,xiaoming)./*谁是小明的祖母?*/mother(X,Z):-father(Y,Z),h 运行这个程序,计算机便能够回答我们提出的有关小明家庭关系的问题。例如问,小明的母亲是谁?小明的祖母是谁?等等。虽然上面的语句中没有直接说明,但计算机就会根据规则、推理找到答案,小明的母亲是小张,小明的祖母是老李,同学们一定会感到自常惊讶,井且非常想知道其中的奥秘。接下来,就让我们大家走进Prolog语言的殿堂,感受Prolog语言的魅力。运行这个程序,计算机便能够回答我们提出的有关小明家庭2Prolog的基本语句2Prolog的基本语句 观察上面的程序,不难发现,程序共有三部分组成。先来研究第一部分的内容。father(xiaowang,xiaoming).father(laowang,xiaowang).husband(xiaowang,xiaozhang).husband(laowang,laoli).这一部分内容在上一章的谓词表示部分曾学习过在这里,我们把这服分内容中的各项叫做事实,这部分内容共有4条事实。1.事实 事实是对某一事物或概念的陈述,一般用来表示对象的性质、状态或对象之间的关系。观察上面的程序,不难发现,程序共有三部分组成。先来研 事实一般形式为:(参数1,参数2,).例:color(apple,red)./*苹果的颜色是红的*/color(tomato,red)./*西红柿的颜色是红的*/animal(fowl)./*飞禽是动物*/fruit(X)./*X是水果*/vegetable(What)./*What是蔬菜*/其中的参数可以是常量,也可以是变量。常量是在程序的执行过程中其值不能改变的量,一般用小写英文字母数字、下划线等组成的字符串来表示。如,apple,tomato,red,my_book等。变量是指在程序运行过程中其值可以改变的量,一般用大写字母开头,使用字母、数字、下划线等组成的字符串来表示。如,X,What,Who2等。事实一般形式为:(参数1,参数2,).在描述事实时,要注意:(1)在Prolog中谓词名是以小写英文字母、数字、下划线等组成的字符串;如father,color3均为合法的。而像Desk,pen$等是非法的。(2)参数之间用“,”号隔开,如color(apple,red).(3)在Prolog中用句点“.”表示一条事实陈述语句的结束。如father(xiaowang,xiaoming).2.规则 观察描述小明家庭关系的程序,在四条事实的下面有这样一些语句 mother(X,Z):-father(Y,Z),husband(Y,X).grandfather(X,Z):-father(Y,Z),father(X,Y).grandmother(X,Z):-grandfather(Y,Z),husband(Y,X).在描述事实时,要注意:其中“:-”表示“如果”,“:-”前后各项便是我们上面所述的事实。上面的语句用自然语言来表述如下:如果Y是Z的父亲,并且Y是X的丈夫,那么X是乙的母亲。如果Y是Z的父亲,并且X是Y的父亲,那么X是Z的祖父。如果Y是Z的祖父,并且Y是X的丈夫,那么X是Z的祖母。我们称此类语句为规则。规则是知识的一种类型,用于表示对象之间的因果关系、蕴含关系成对应关系。一个规则由头和体两部分组成,头是“:-”符号的左部,体是“:-”符号的右部,头和体由符号“:-”相连。“:-”的意思是“如果”,“,”表示“并且”。规则的一般形式为:(参数):-(参数),(参数)其中“:-”表示“如果”,“:-”前后各项便是我们上 一条规则的意义可以解释为:当体部(前提部分)的各个条件都满足时,则头部(结论)成立。例:likes_to_eat(mary,X):-fruit(X),color(X,red)./*如果X是水果,并且是红色的,则玛丽喜欢吃X*/friend(X,tom):-likes(X,sports)./*如果X喜欢运动,则X是汤姆的朋友*/在描述规则时要注意:(1)在Prolog语言中,如果要说明一个事实依赖于另一个或另一事实时,就可以使用规则。(2)若规则体内有两个或两个以上事实,且事实之间是“与”的关系,则事实之间用“,”号隔开,例如:celor(X,red),fruit(X).若规则体内事实之间的分隔符是“;”,则表示事实之间为“或”的关系 (3)每条规则后面也要附上个圆点“.”,作为结束标志。一条规则的意义可以解释为:当体部(前提部分)的各个条 3.询问 继续观察小明的家庭关系程序,注意下面的内容:?-mother(Who1,xiaoming).?-grandfather(Who2,xiaoming).?-grandmother(Who3,xiaoming).其中,“?-”表示询问,是用来表示用户所提出的问题,这三条语句可用自然语言表示如下:谁是小明的母亲?谁是小明的祖父?谁是小明的祖母?3.询问 询问(question)是询问某种关系是否成立的疑问句,是程序运行的目标。询问的一般形式为:?-(参数).例:?-student(xiaoming)./*小明是学生吗?*/?-like(mary,music)./*玛丽喜欢音乐吗?*/?-friend(john,X)./*约翰是X的朋友吗?*/询问(question)是询问某种关系是否成立的疑问THE ENDTHE ENDTHE ENDPrologProlog的工作机理的工作机理Prolog的工作机理1匹配与回溯方法1匹配与回溯方法 1.实例化 Prolog中称无值的变量为自由变量,有值的变量为约束变量。一个变量取了某值就说该变量约束于某值,或者说该变量被某值实例化了。例:mother(Who1,xiaoming).在Who1有值以前,它是自由变量,如果(Who1=xiaozhang),那么我们就说变量Who1约束于xiaozhang,或说Who1被xiaozhang实例化了。2.匹配 如果两个谓词的名相同,参数的个数和类型对应相同,并且对应参数满足下面的条件之一,那么这两个谓词可以匹配(match)。(1)如果两者都是常量,则必须完全相同。(2)如果两者都是约束变量,则两个约束值必须相同。(3)如果其中一个是常量,一个是约束变量则约束值与常量必须相同。(4)当两者至少有一个是自由变量。1.实例化 其实匹配是一种操作,这种操作为参加匹配的自由变量和常量,或者两个自由变量建立一种对应关系,将常量作为对应变量的约束值,使两个对应的自由变量始终保持一致。如果其中一个被某值实例化,那么另一个也被同一值实例化;反过来说,如果其中一个被解除约束,则另一个值的约束也被解除。上面例子中每对谓词均可以匹配。对于含有自由变量的谓词表示,如Bame(X),它与game(xijizhengba).匹配的结果是自由变量X被常量xijizhengba实例化。再如color(Y)与color(Z),匹配的结果是,当自由变量Y和Z中的一个被某值约束,如Y被apple实例化,则Z也被apple实例化。其实匹配是一种操作,这种操作为参加匹配的自由变量和常 3.回溯 大家可能玩过走迷宫的游戏,在走迷官的过程中,我们就经常用到回溯。让我们通过个走迷官的例子来解释回溯这个概念。迷宫如图所示,迷宫的左下角有一只的猴子,它想吃到迷宫右上角的香蕉。下面的图记录了猴子找到香蕉的过程。3.回溯 在这里画的几幅图是搜索与回溯过程的示例。由这组示意图可以看出,猴子通过搜索(例如按左手法则,沿左边的阻挡墙前进)和回溯(在碰壁时往回退)来完成寻找香蕉的过程。图中带有箭头的黑线是搜索路线,红色带箭头的线是回溯路线。在Prolog中,回溯是在程序目标确定后,Prolog就会从上到下,从左到右地在程序中搜索能匹配的事实和规则。在搜索过程中,当某条事实或规则无法满足目标时,Prolog会继续搜索其他能满足目标的事实或规则,进行扫描实例化和匹配等操作,目的是努力找到程序的一个或多个解。在这里画的几幅图是搜索与回溯过程的示例。2Prolog程序的运行过程2Prolog程序的运行过程 Prolog程序的运行过程是从询问语句出发,不断的进行实例化、匹配、有时还需要回溯,直到目标被完全满足成最终不能满足时为止。以家庭关系程序为例,考察它的运行过程,目的是了解Prolog是怎样分清家庭成员间关系的。father(xiaowang,xiaoming).father(laowang,xiaoming).husband(xiaowang,xiaozhang).husband(laowang,laoli).mother(X,Z):-father(Y,Z),husband(Y,X)grandfather(X,Z):-father(Y,Z),father(X,Y).grandmother(X,Z):-grandfather(Y,Z),husband(Y,X).?mother(Who1,xiaoming).?grandfather(Who2,xiaoming).?grandmother(Who3,xiaoming).Prolog程序的运行过程是从询问语句出发,不断的进 Prolog运行过程:首先从目标出发,即先执行第8条语句?-mother(Who1,xiaoming).(谁是小明的母亲?)求解目标为Mother(Who1,xiaoming).系统对程序进行扫描,寻找能与目标谓词匹配的事实或规则头部。显然,程序中前面的四条事实均不能与目标匹配,而第5个语句的左端,即规则。mother(X,Z):-father(Y,Z)husband(Y,X).的头部可与目标谓词匹配。又因为这个语句是一个规则,所以,要使其结论(头部)成立,其前提(体部)必须全部为真。于是,对原目标的求解转化为对新目标。father(Y,Z),husband(Y,X).的求解。由于规则头部与目标谓词匹配的结果是Z被xiaoming实例化,即Z=xiaoming。因此程序运行到此处是对子目标father(Y,xiaoming)和husband(Y,X)求解。Prolog运行过程:首先从目标出发,即先执行第8条 子目标的求解过程与主目标完全一样,也是从头对程序进行扫描,不断进行匹配,直到匹配成功或扫描完整个程序为止。对于第一个子目标father(Y,xiaoming)的求解,子目标与程序中的第1句事实匹配成功,Y被实例化为xiaowang。于是Prolog接着求解第二个子目标husbnd(Z,X)。由于变量Y被实例化为xiaowang,则第二个子目标实际上已变成了husband(xiaowang,X),这样,第二个子目标与第三条语句匹配成功,同时X被实例化为xiaozhang.由于两个子目标都求解成功,所以原目标mother(Whe1,xiaoming)也匹配成动,自由变量Who1被实例化为xiaozhang。于是Prolog回答:Who1=xiaozhang.子目标的求解过程与主目标完全一样,也是从头对程序进行3问题与练习3问题与练习 1.根据求解第一个目标的过程来分析第二和第三个询问的求解过程。2.假设一个Prolog程序包括以下语句 thriftier(carol,john).thriftier(bill,sue).thriftier(sue,carol).thriftier(X,Z):-thriftier(X,Y),thriftier(Y,Z).要求从下面的目标中选择可以产生的结果 a.thriftier(sue,V).b.thriftier(U,carol).c.thriftier(U,V).1.根据求解第一个目标的过程来分析第二和第三个询问的THE ENDTHE ENDTHE ENDPrologProlog程序设计程序设计Prolog程序设计1走近TurboProlog1走近Turbo Prolog 1.Turbo Prolog2.0的安装和运行 将Turbo Prolog文件包复制到硬盘某一目录位置,如C盘根目录下,C:prolog。在此目录下,找到prolog.exe,双击该文件,便会进入Turbo Prolog编程环境,Turbo Prolog2.0用户界面如图所示。1.Turbo Prolog2.0的安装和运行 2.Turbo Prolog用户界面简介 菜单栏(Menu)包括:Files(文件)、Edit(编辑)、Run(运行)、Compile(编译)、Options(选项)、Setup(设置)等六项,使用ESC键或F10键可以激活菜单,用左右光标键选择菜单项,按“Enter”键或向下光标键调出相应菜单项的下级子菜单。编辑区:用于输入prolog程序源代码。信息窗:用于显示用户操作及程序运行的信息。对话窗:用于实现人机交互及输出结果。2.Turbo Prolog用户界面简介2与TurboProlog面对面2与Turbo Prolog面对面 通过前面的学习,我们对Turbo Prolog有了初步的认识。下面就来学习Turbo Prolog的实际使用方法。1.输入Prolog程序 首先,把写好的程序输入到计算机里,具体做法是:(1)输入文件名。按F10键,移动光标至File菜单,按“Enter”键,选Load菜单项,按“Enter”键(以上几个步骤可用直接按下快捷键F3来替代)。此时会弹出一个对话框,要求你输入程序的名字,如myprolog.pro(文件名的命名是随意的,但要符合文件名命名的标准,否则为非法文件名),输入完毕后按“Enter”键。通过前面的学习,我们对Turbo Prolog有了初 (2)在编辑区输入编写好的Prolog程序。(3)程序存盘,按F10键,移动光标至File菜单,按“Enter”键,选择Save菜单项,按“Enter”键(以上几个步骤可用直接按下快捷键F2来替代)。这样就可以把自己写的prolog程序存储到计算机硬盘上。2.编译Prolog程序 3.运行Prolog程序 4.退出Prolog程序 (2)在编辑区输入编写好的Prolog程序。3TurboProlog程序3Turbo Prolog程序 当我们按以上步骤把自己编写的程序输入计算机中后,在编译的过程中会给出出错提示(即出现Illegal keyword)。这是因为在前面所编写的Prolog程序并不能直接在Turbo Prolog环境中运行。Turbo Prolog有自己的程序结构,只有符合Turbo Prolog程序结构的程序才可以在此环境中运行,因此还需要按照Turbo Prolog程序结构的要求对上面的程序进行修改。在修改程序以前,大家先要了解Turbo Prolog的程序结构。一个完整的Turbo Prolog程序(2.0版)一般包括常量段、领域段、数据库段、谓词段、目标段和子句段等六个部分。各段以其相应的关键字constants、domains、database、predicates、goal和clauses开头加以标识。在程序的任何位置都可设置注释。当我们按以上步骤把自己编写的程序输入计算机中后,在编 一个完整的Turbo Prolog(2.0版)程序的结构如下:/*/constants domains database predicates clauses goal 一个完整的Turbo Prolog(2.0版)程序的 在Prolog中,称程序目标段中的目标为内部目标。其实,我们也可以在程序运行时临时给出目标,即在程序中没有目标段,那么程序运行时,对话框内会提示用户输入目标。这时输入的目标称为外部目标。在Prolog中,称程序目标段中的目标为内部目标。其THE ENDTHE ENDTHE END用用PrologProlog求解简单问题求解简单问题用Prolog求解简单问题1基本算术运算1基本算术运算 加减、乘除是基本算术运算能不能用Prolog求解算术问题呢?答案是肯定的。Turbo Prolog不仅提供了加减乘除四种运算,还提供了取模运算。运算符号依次为+-*/和mod,我们可以利用这些运算符进行数值计算。例:从键盘输入两个整数,用X和Y表示,分别求出X+Y、X-Y、X*Y和X/Y的值。加减、乘除是基本算术运算能不能用Prolog求解算术 程序如下:goal readint(X),/*从键盘上读取一个整数,然后约束给变量X*/readint(Y),Z1=X+Y,/*求两个整数的和*/write(X,+,Y,=,Z1),nl,/*将所求的和显示在屏幕上*/Z2=X-Y,write(X,-,Y,=,Z1),nl,Z3=X*Y,write(X,*,Y,=,Z1),nl,Z4=X/Y,write(X,/,Y,=,Z1),nl.程序如下:在程序中,我们用到了内部谓词readint(X),功能是从键盘上读取一个整数,然后约束给变量X。还有内部谓词write(X1,X2Xn),功能是把Xi(i=1,2,n)的值显示在屏幕上。运行此程序,结果如图所示。在程序中,我们用到了内部谓词readint(X),功2递归2递归 1.递归的定义 首先请大家分析下面的程序,这个程序的功能是什么?此程序的规则有什么特点?domains C=char predicates read_one_char.goal read_one_char.clauses read_one_char:-readchar(C).write(C)read_one_char.1.递归的定义 2.汉诺塔(H
展开阅读全文