资源描述
第一节知识表示方法第一节知识表示方法知识就就是人们对客观事物(包括自然得与人造得)及其规律得认识,知识还包括人们利用客观规律解决实际问题得方法与策略等。知识表示,就是指面向计算机得知识描述或表达形式与方法。面向人得知识表示可以就是语言、文字、数字、符号、公式、图表、图形、图像等多种形式。这些表示形式就是人所能接受、理解与处理得形式。但面向人得这些知识表示形式,目前还不能完全直接用于计算机,因此就需要研究适于计算机得知识表示模式。具体来讲,就就是要用某种约定得(外部)形式结构来描述知识,而且这种形式结构还要能够转换为机器得内部形式,使得计算机能方便地存储、处理与利用。知识表示并不神秘。实际上,我们已经接触过或使用过。例如,我们通常所说得算法,就就是一种知识表示形式。因为它刻划了解决问题得方法与步骤(即它描述得就是知识),又可以在计算机上用程序实现。又如一阶谓词公式,它就是一种表达力很强得形式语言,它也可以用程序语言实现,所以它也可作为一种知识表示形式。要把外部得逻辑形式得知识转化为机器得内部形式,还需要程序语言得支持。一般得通用程序设计语言都可实现上述得大部分表示方法。但使用专用得面向某一知识表示得语言更为方便与有效。因此,几乎每一种知识表示方法都有其相应得专用实现语言。例如,支持谓词逻辑得语言有PROLOG与LISP,专门支持产生式得语言有OPS5,专门支持框架得语言有FRL,支持面向对象表示得语言有Smalltalk、C+与Java等,支持神经网络表示得语言有AXON。一 产生式系统 产生式系统由三部分组成:产生式规则库、推理机(控制系统)与综合数据库n产生式规则库亦称产生式规则集,由领域规则组成,即描述领域得常识与启发式知识。n推理机亦称控制系统,它就是一个程序模块,负责产生式规则得前提条件测试或匹配,规则得调度与选取,规则体得解释与执行。即推理机实施推理,并对推理进行控制,它也就就是规则得解释程序。一、产生式表示1 产生式(规则)n 产生式得一般形式为 前件后件 即 if 前件 then 后件 其中,前件就就是前提,后件就是结论或动作,前件与后件可以就是由逻辑运算符AND、OR、NOT组成得表达式。产生式规则得语义就是:如果前提满足,则可得结论或者执行相应得动作,即后件由前件来触发。所以,前件就是规则得执行条件,后件就是规则体。例:(1)如果银行存款利率下调,那么股票价格上涨。(2)如果炉温超过上限,则立即关闭风门。n基于产生式得推理模式:由产生式得涵义可知,利用产生式规则可以实现有前提条件得指指令令性性操操作作,也可以实现逻逻辑辑推推理理。实现操作得方法就是当测试到一条规则得前提条件满足时,就执行其后部得动作。这称为规则被触发或点燃。利用产生式规则实现逻辑推理得方法就是当有事实能与某规则得前提匹配(即规则得前提成立)时,就得到该规则后部得结论(即结论也成立)。实际上,这种基于产生式规则得逻辑推理模式,就就是逻辑上所说得假言推理(对常量规则而言)与三段论推理(对变量规则而言),即:AB A B 这里得大前提就就是一个产生式规则,小前提就就是证据事实。综合数据库用于存放输入得关于求解得问题得事实或问题得状态、以及推理产生得中间结果与最终结果。它表现为产生式系统所使用得数据结构,如符号串、数组、表、树等。例:事实“李与张就是朋友”用表(friend,li,zhang)来表示。3 用产生式系统描述AI问题八数码问题n综合数据库:用二维数组 表示,例n产生式规则:即走步规则,使状态发生变化,有四条n控制系统:从初始状态-目标状态137 2 46 8 51 2 3847 6 5137 2 46 8 54 产生式系统得运行过程 产生式系统运行时,除了需要规则库以外,还需要有初始事实(或数据)与目标条件。目标条件就是系统正常结束得条件,也就是系统得求解目标。产生式系统启动后,推理机就开始推理,按所给得目标进行问题求解。一个实际得产生式系统,其目标条件一般不会只经一步推理就可满足,往往要经过多步推理才能满足或者证明问题无解从规则库中取一个条规则,将其前提同当前动态数据库中的事实/数据进行模式匹配匹配成功否把该规则的结论放入当前综合数据库:或执行规则所规定的动作NY推理机得一次推理过程如图所示:大家学习辛苦了,还是要坚持继续保持安静继续保持安静 传教士与野人问题:3个传教士与3个野人,船上最多可坐2人 M:传教士 C:野人 B:船n综合数据库:用三元组描述左岸得状态,以此推出右岸得情况 ,初始状态为 ,目标状态为n产生式规则:即摆渡操作,包括从左岸到右岸与从右岸到左岸,:左右,:右左n控制系统(搜索策略):,可用状态空间图来描述搜索过程 n(3,3,1)nP01,P10,P11,P02,P20n (3,2,0)n(3,3,1)(2,2,0)n (3,1,0)5 控制策略与常用算法 产生式系统得推理可分为正向推理与反向推理两种基本方式。n正向推理n将初始事实置入综合数据库;n用综合数据库中得事实(数据),匹配/测试目标条件,若目标条件满足,则推理成功,结束。n用规则库中各规则得前提匹配综合数据库中得事实,将匹配成功得规则组成待用规则集;n若待用规则集为空,则运行失败,退出。n将待用规则集中各规则得结论加入综合数据库,或者执行其动作,转步2;可以瞧出,随着推理得进行,动态数据库得内容或者状态在不断变化。反向推理o将初始事实(数据)置入综合数据库,将目标条件置入目标链;o若目标链为空,则推理成功,结束。o取出目标链中第一个目标,用动态数据库中得事实同其匹配,若匹配成功,转步2;o用规则集中得各规则得结论同该目标匹配,若匹配成功,则将第一个匹配成功且未用过得规则得前提作为新得目标,并取代原来得父目标而加入目标链,转步3;o若该目标就是初始目标,则推理失败,退出。o将该目标得父目标移回目标链,取代该目标及其兄弟目标,转步3;可以瞧出,上述反向推理算法得推理过程也就是一个图搜索过程,而且一般就是一个与或树搜索。例:动物分类问题得产生式系统描述及其求解。设由下列动物识别规则组成一个规则库,推理机采用上述正向推理算法,建立一个产生式系统。该产生式系统就就是一个小型动物分类知识库系统。规则:r1:若某动物有奶,则它就是哺乳动物。r2:若某动物有毛发,则它就是哺乳动物。r3:若某动物有羽毛,则它就是鸟。r4:若某动物会飞且生蛋,则它就是鸟。r5:若某动物就是哺乳动物且有爪且有犬齿且目盯前方,则它就是食肉动物。r6:若某动物就是哺乳动物且吃肉,则它就是食肉动物。r7:若某动物就是哺乳动物且有蹄,则它就是有蹄动物。r8:若某动物就是有蹄动物且反刍食物,则它就是偶蹄动物。r9:若某动物就是食肉动物且黄褐色且有黑色条纹,则它就是老虎。r10:若某动物就是食肉动物且黄褐色且有黑色斑点,则它就是金钱豹。r11:若某动物就是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它就是长颈鹿。r12:若某动物就是有蹄动物且白色且有黑色条纹,则它就是斑马。r13:若某动物就是鸟且不会飞且长腿且长脖子且黑白色,则它就是驼鸟。r14:若某动物就是鸟且不会飞且会游泳且黑白色,则它就是企鹅。r15:若某动物就是鸟且善飞且不怕风浪,则它就是海燕。再给出初始事实:f1:某动物有毛发。f2:吃肉。f3:黄褐色。f4:有黑色条纹。目标条件为:该动物就是什么?易见,该系统得运行结果为:该动物就是老虎。其正向推理树:老虎食肉动物哺乳动物有毛发吃肉黄褐色有黑色条纹正向推理树 r2r6r9r2:若某动物有毛发,则它就是哺乳动物。r6:若某动物就是哺乳动物且吃肉,则它就是食肉动物。r9:若某动物就是食肉动物且黄褐色且有黑色条纹,则它就是老虎。反向推理树r9r6r5:若某动物就是哺乳动物且有爪且有犬齿且目盯前方,则它就是食肉动物。r1:若某动物有奶,则它就是哺乳动物。r5r2r1二、谓词逻辑表示n用符号化得形式语言表达复杂得问题,并能实现逻辑推理n谓词逻辑得基本组成n谓词符号:表示对象得性质、状态或对象间得关系n连词:n量词:n变量符号:用小写字母表示n常量符号:用大写字母表示n函数符号:例:机器人在房间里某物品在房间里李喜欢音乐与绘画如果A跑得最快则她就是冠军机器人不在房间里房间里有个东西所有得机器人都就是灰色得一班得学生与二班得学生比赛A或者在打篮球或者在踢足球n采用谓词逻辑得推理过程三、语义网络法n用图来表示复杂得概念、事物及其语义联系n图:包括节点、线,节点表示实体、概念、事物,线表示节点间得关系(语义联系)智能系统专家思维专家知识困难问题专家系统种一是能解决具有能模拟专家系统的语义网络专家系统就是一个能解决困难问题得智能系统,它具有专家知识、能模拟专家得思维ISAsexagePersonsimon男40教师professionsimon就是一个人,男性,40岁,职业就是教师属于年龄电子2路石油学院张宏助教西安市区25岁位置工作在职务张宏就是石油学院得一名助教;石油学院位于西安市电子二路;张宏今年25岁。由语义网络得结构特点可以瞧出,语义网络不仅可以表示事物得属性、状态、行为等,而且更适合于表示事物之间得关系与联系。而表示一个事物得层次、状态、行为得语义网络,也可以瞧作就是该事物与其属性、状态或行为得一种关系。关系(或联系)型得知识与能化为关系型得知识都可以用语义网络来表示。语义网络也称联想网络联想网络。语义网络实际上就是一种复合得二元关系图。网络中得一条边就就是一个二元关系,而整个网络可以瞧作就是由这些二元关系拼接而成。基于语义网络得推理 基于语义网络得推理也就是继承。继承也就是通过匹配、搜索实现得。问题求解时,首先根据待求问题得要求构造一个网络片断,然后在知识库中查找可与之匹配得语义网络,当网络片断中得询问部分与知识库中得某网络结构匹配时,则与询问处匹配得事实,就就是问题得解。苹果x富士 特点Akindof语义网络片段x富士 工作于x特点四、框架n框架就是一种结构,一种模式,一个框架一般有若干个槽,一个槽有一个槽值或者有若干个侧面,而一个侧面又有若干个侧面值。其中槽值与侧面值可以就是数值、字符串、布尔值,也可以就是一个动作或过程,甚至还可以就是另一个框架得名字。一般形式就是:|例:描述“教师”得框架(描述得就是一个概念)框架名:类属:工作:范围:(教学,科研)缺省:教学性别:(男,女)学历:(中师,高师)类型:(,)槽名分别就是:“类属”、“工作”、“性别”、“学历”与“类型”。槽名得右面就就是其值。其中“”又就是一个框架名,“范围”、“缺省”就就是侧面名,其后就是侧面值,如:“教学”、“科研”等。例:描述一个具体教师得框架(描述一个具体得实例)框架名:类属:姓名:李明性别:男年龄:25职业:教师职称:助教专业:计算机应用部门:计算机系软件教研室工作:参加工作时间:1995年8月工龄:当前年份-参加工作年份工资:由框架得形式可以瞧出,框架适合表达结构性得知识。所以,概念、对象等知识最适于用框架表示。其实,框架得槽就就是对象得属性或状态,槽值就就是属性值或状态值。不仅如此,框框架架还还可可以以表表示示行行为为(动作),所以,有些过程性事件或情节也可用框架网络来表示。基于框架得推理 基于框架得推理方法就是继承。所谓继承,就就是子框架可以拥有其父框架得槽及其槽值。实现继承得操作有匹配、搜索与填槽。匹配就就是问题框架同知识库中得框架得模式匹配。所谓问题框架,就就是要求解某个问题时,先把问题用一个框架表示出来,然后与知识库中得已有框架进行匹配。如果匹配成功,就可获得有关信息。搜索就就是沿着框架间得纵向与横向联系,在框架网络中进行查找。搜索得目得就是为了获得有关信息。五、面向对象得知识表示n面向对象技术中得核心概念就是对象与类。对象可以泛指一切事物,类则就是一类对象得抽象模型。反之,一个对象就是其所属类得实例。通常,在面向对象得程序设计语言中,只给出类得定义,其对象由类生成。n类得定义中就说明了所辖对象得共同特征(属性、状态等)与行为。特征用变量表示,行为则就是作用于这些特征与作用于对象得一组操作,如函数、过程等。这些操作一般称为方法。这样,一个类将其对象所具有得共同特征与操作组织在一起,统一进行定义,以供全体对象共享。即当给类中得特征变量赋予一组值时,则这组值连同类中得方法,就构成了一个具体得对象。例:面向对象程序设计语言C+中一个雇员类得定义。class Employee privite:char*Name;int Age;int Salary;=public:Employee(char*name,int age,int salary);Employee();
展开阅读全文