书签 分享 收藏 举报 版权申诉 / 34
上传文档赚钱

类型人工智能与专家系统第四章智能程序设计课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3362987
  • 上传时间:2022-08-23
  • 格式:PPT
  • 页数:34
  • 大小:476.51KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《人工智能与专家系统第四章智能程序设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    人工智能 专家系统 第四 智能 程序设计 课件
    资源描述:

    1、第四章第四章 PROLOG语言与智能程序设计语言与智能程序设计第一节第一节 PROLOG语言的基本知识语言的基本知识第二节第二节 PROLOG程序设计基础程序设计基础第三节第三节 对回溯的控制对回溯的控制第四节第四节 PROLOG的基本程序段的基本程序段第一节第一节 PROLOG语言的基本知识语言的基本知识一、一、PROLOG语言简介语言简介二、二、PROLOG语言的特点语言的特点1、PROLOG语言是一种描述型语言语言是一种描述型语言2、数据和程序是统一的、数据和程序是统一的3、自动实现模式匹配和回溯、自动实现模式匹配和回溯4、程序易于编写和阅读、程序易于编写和阅读5、语句类型少,语法简明、

    2、语句类型少,语法简明第一节第一节 PROLOG语言的基本知识语言的基本知识三、三、PROLOG语言的三种基本语句语言的三种基本语句1、事实、事实含义含义表示对象具有某种性质,或某几个对象之间的关系表示对象具有某种性质,或某几个对象之间的关系形式形式谓词(对象谓词(对象1,对象,对象2,对象,对象n),),n为任意正整数为任意正整数 裸谓词裸谓词注意:注意:对象之间用逗号分开对象之间用逗号分开全部对象用括号括住全部对象用括号括住谓词必须以小写字母开头谓词必须以小写字母开头每个事实都用一个实心句点结束每个事实都用一个实心句点结束第一节第一节 PROLOG语言的基本知识语言的基本知识示例示例man(

    3、zhangsan).is(sun,big).on(book,table).on(f,c).on(c,b).on(b,a).on(e,d).block(a).block(b).abcfde第一节第一节 PROLOG语言的基本知识语言的基本知识最简单的最简单的PROLOG程序由两部分组成程序由两部分组成谓词部分谓词部分定义谓词定义谓词predicates name(symbol,symbol,)字句部分字句部分列出所有事实列出所有事实clauses name(对象对象1,对象对象2,).第一节第一节 PROLOG语言的基本知识语言的基本知识一个简单的程序一个简单的程序predicatesis(sy

    4、mbol,symbol)has(symbol,symbol)clausesis(“王王”,”年龄小年龄小”).is(“刘刘”,”个头高个头高”).is(“李李”,”有音乐天才有音乐天才”).has(“张张”,”书书”).goal:is(“刘刘”,”个头高个头高”)yesgoal:is(“王王”,”有音乐天才有音乐天才”)nogoal:has(“张张”,”书书”)yesgoal:has(“书书”,”张张”)no第一节第一节 PROLOG语言的基本知识语言的基本知识2、规则、规则含义含义表示事物成立所要遵循的法则,即事物之间的新关系表示事物成立所要遵循的法则,即事物之间的新关系形式形式事实事实D

    5、if 事实事实A,事实,事实B,事实,事实C,事实事实D:-事实事实A,事实,事实B,事实,事实C,注意:注意:规则头只能有一个事实规则头只能有一个事实规则体部可有多个事实规则体部可有多个事实规则体中各个事实之间用逗号连接表示规则体中各个事实之间用逗号连接表示“与与”关系关系每个规则都用一个实心句点结束每个规则都用一个实心句点结束第一节第一节 PROLOG语言的基本知识语言的基本知识示例示例predicatesmother(symbol,symbol)grandmother(symbol,symbol)clausesmother(“钱钱”,”孙孙”).mother(“孙孙”,”李李”).mot

    6、her(“王王”,”张张”).grandmother(X,Y)if mother(X,Z),mother(Z,Y)goal:grandmother(“钱钱”,”李李”)yesgoal:grandmother(“孙孙”,”张张”)no第一节第一节 PROLOG语言的基本知识语言的基本知识3、询问、询问含义含义询问对象之间某种关系是否成立的疑问句询问对象之间某种关系是否成立的疑问句形式形式goal:事实事实1,事实,事实2,事实,事实3,事实,事实n n为任意正整数为任意正整数 注意:注意:各个事实之间用逗号连接表示各个事实之间用逗号连接表示“与与”关系关系表示:表示:“事实事实1,事实,事实2,

    7、事实,事实3,事实,事实n”同时成立吗?同时成立吗?第一节第一节 PROLOG语言的基本知识语言的基本知识四、项四、项1、项的定义、项的定义项项 =常量常量原子:对象的名字、谓词函数名(小写字母开头)原子:对象的名字、谓词函数名(小写字母开头)数字数字变量变量暂时不能命名或不需要命名的对象暂时不能命名或不需要命名的对象以大写字母开头以大写字母开头匿名变量:匿名变量:on(_,a);mother(_,”李李”)自由变量和约束变量自由变量和约束变量第一节第一节 PROLOG语言的基本知识语言的基本知识结构结构又称复合项,是由一组其他对象组成的单个对象又称复合项,是由一组其他对象组成的单个对象包括:

    8、包括:函数项:函数项:readchar(X)、mother(“李李”,“孙孙”)表:表:a,b,c表达式:表达式:2*3+17结构的嵌套结构的嵌套accident(date(year,month,day),who,place)第一节第一节 PROLOG语言的基本知识语言的基本知识2、项的匹配规则、项的匹配规则(1)若)若A、B是项,是项,A是自由变量,则是自由变量,则B无论是何值,无论是何值,A可以可以被被B匹配匹配(2)常量与自身匹配成功)常量与自身匹配成功(3)结构的每一对应成分匹配,则匹配成功)结构的每一对应成分匹配,则匹配成功第一节第一节 PROLOG语言的基本知识语言的基本知识五、表

    9、五、表1、概念、概念表是具有相同类型对象的有序集合表是具有相同类型对象的有序集合如:如:1,2,3、a,b,c、a,b(f,c),d、2、表头、表尾、表头、表尾表头表头表中第一个元素表中第一个元素表尾表尾表中的其余部分,可以是另一张表表中的其余部分,可以是另一张表3、表的匹配、表的匹配表中的常量完全相同才匹配表中的常量完全相同才匹配表中的变量可与任何对象匹配表中的变量可与任何对象匹配表头只与一个分量匹配,表尾可与一个表匹配表头只与一个分量匹配,表尾可与一个表匹配第二节第二节 PROLOG程序设计基础程序设计基础一、一、PROLOG程序的组成程序的组成1、前提部分(条件)、前提部分(条件)包括有

    10、关的事实和规则包括有关的事实和规则2、问题部分(目标)、问题部分(目标)问题求解的目标结果问题求解的目标结果二、二、PROLOG程序的设计步骤程序的设计步骤1、说明事实、说明事实2、定义规则、定义规则3、明确目标、明确目标第二节第二节 PROLOG程序设计基础程序设计基础三、判定规则中变量值的原则三、判定规则中变量值的原则1、在同一条规则中,所有相同名字的变量具有相同的内容、在同一条规则中,所有相同名字的变量具有相同的内容2、如果规则头中的变量被约束了,则规则体中的同名变量也被约束、如果规则头中的变量被约束了,则规则体中的同名变量也被约束为相同的内容为相同的内容3、当规则头中的变量未被约束时,

    11、如果规则体中的同名变量被约束、当规则头中的变量未被约束时,如果规则体中的同名变量被约束了,则规则头中的同名变量和规则体中的其他同名变量也被约束为相了,则规则头中的同名变量和规则体中的其他同名变量也被约束为相同的内容同的内容4、如果多条规则中有相同名字的变量,则这些同名变量不相关、如果多条规则中有相同名字的变量,则这些同名变量不相关5、只有规则在使用时,规则中的变量才被约束、只有规则在使用时,规则中的变量才被约束第二节第二节 PROLOG程序设计基础程序设计基础四、四、PROLOG程序的目标求解过程程序的目标求解过程1、匹配与回溯、匹配与回溯predicatesperson(symbol,sym

    12、bol)clausesperson(z,m).person(y,w).person(c,w).person(l,m).goal:person(X,m)X=zX=l第二节第二节 PROLOG程序设计基础程序设计基础predicates likes(symbol,symbol)clauseslikes(zhang,flower).likes(zhang,wine).likes(wang,wine).likes(wang,zhang).goal:likes(wang,X)X=wineX=zhanggoal:likes(zhang,X),likes(wang,X)X=wine第二节第二节 PROLOG

    13、程序设计基础程序设计基础2、包含多个子目标的问题求解过程、包含多个子目标的问题求解过程goal:事实事实1,事实,事实2,事实,事实n3、示例、示例dish(pork).dish(fish).main(rice).main(bread).fruit(apple).fruit(orange).meal(D,M,F)if dish(D),main(M),fruit(F).goal:meal(D,M,F)第二节第二节 PROLOG程序设计基础程序设计基础五、规则的递归描述五、规则的递归描述1、概念、概念在规则中,将自身作为一个成份,则称此规则是递归的在规则中,将自身作为一个成份,则称此规则是递归的如

    14、:如:on(a4,a3).on(a3,a2).on(a2,a1).top(An,A1)if on(An,A1).top(An,A1)if on(A2,A1),top(An,A2).goal:top(a4,a1)a1a2a3a4第二节第二节 PROLOG程序设计基础程序设计基础2、示例、示例(1)求)求0n 1)1(0 1!nnnnpower(0,1).power(N,Y)if N1=N-1,power(N1,Y1),Y=N*Y1goal:power(2,Y)Y=2(2)求表的长度求表的长度length(,0).length(HT,X)if length(T,X1),X=X1+1goal:len

    15、gth(a,b,c,X)X=3第二节第二节 PROLOG程序设计基础程序设计基础(3)x是否是表中的一个是否是表中的一个member(X,X_).member(X,_Y)if member(X,Y).goal:member(b,a,b,c)yes(4)求表中最后一个元素求表中最后一个元素last(X,X).last(YZ,P)if last(Z,P).goal:last(a,b,c,Y)Y=c第二节第二节 PROLOG程序设计基础程序设计基础(5)表的连接)表的连接append(,L,L).append(HL1,L2,HL3,)if append(L1,L2,L3)goal:append(L1

    16、,L2,a,b,c)第三节第三节 对回溯的控制对回溯的控制一、截断一、截断1、示例、示例predicates person(symbol,symbol)clauses person(z,m).person(y,w).person(c,w).person(l,m).goal:person(A,_),person(B,_),ABgoal:person(A,_),person(B,_),AB,!A=z,B=yA=z,B=yA=z,B=cA=z,B=lA=y,B=zA=y,B=cA=y,B=lA=c,B=zA=c,B=yA=c,B=lA=l,B=zA=l,B=yA=l,B=c第三节第三节 对回溯的控制

    17、对回溯的控制2、“!”的概念的概念“!”表示截断,系统内部谓词,不带任何变元表示截断,系统内部谓词,不带任何变元作为目标,求解立即成功,即该谓词总是取真值作为目标,求解立即成功,即该谓词总是取真值成功后,不能回溯,即穿过成功后,不能回溯,即穿过!的回溯是不可能的的回溯是不可能的goal:h1,h2,!,h3,h4第三节第三节 对回溯的控制对回溯的控制predicates person(symbol,symbol)clauses person(z,m).person(y,w).person(c,w).person(l,m).goal:person(A,_),person(B,_),ABgoal:

    18、person(A,_),person(B,_),AB,!goal:person(A,_),!,person(B,_),ABgoal:person(A,_),person(B,_),!,ABgoal:!,person(A,_),person(B,_),AB12 个解个解1个解个解3个解个解无解无解12个解个解第三节第三节 对回溯的控制对回溯的控制二、失败二、失败1、示例、示例predicates person(symbol,symbol)outputclauses person(z,m).person(y,w).person(c,w).person(l,m).output if person(X

    19、,_),write(“姓名姓名:”,X),nlgoal:output姓名:姓名:zyesgoal:person(X,_),write(“姓姓名:名:”),),nl姓名:姓名:z姓名:姓名:y姓名:姓名:c姓名:姓名:l第三节第三节 对回溯的控制对回溯的控制predicates person(symbol,symbol)outputclauses person(z,m).person(y,w).person(c,w).person(l,m).output if person(X,_),write(“姓名姓名:”,X),nl,failgoal:output 姓名:姓名:z 姓名:姓名:y 姓名:姓

    20、名:c 姓名:姓名:l no第三节第三节 对回溯的控制对回溯的控制2、”fail”的概念的概念是系统内部谓词,不带任何变元,表示失败是系统内部谓词,不带任何变元,表示失败作为目标,求解立即失败,引起回溯作为目标,求解立即失败,引起回溯goal:h1,h2,fail,h33、!与与fail相结合的例子相结合的例子not-equal(X,Y)if equal(X,Y),!,fail.not-equal(X,Y).equal(X,X).goal:not-equal(6,7)yesgoal:not-equal(6,6)no第四节第四节 PROLOG的基本程序段的基本程序段一、常量段一、常量段用来说明符

    21、号常量用来说明符号常量由由“constant”标识标识在常量说明中,系统不区分大小写在常量说明中,系统不区分大小写可有多个常量段可有多个常量段每个常量要先定义后使用每个常量要先定义后使用例如:例如:constantpi=3.14159zero=0num=50第四节第四节 PROLOG的基本程序段的基本程序段二、域段二、域段由由domains标识标识1、标准域、标准域char标准标准ASCII码中任意一个字符,被单引号括起来码中任意一个字符,被单引号括起来integerrealstring由双引号括起来的字符序列由双引号括起来的字符序列symbolu以小写字母开始,由若干字母、数字、下划线组成的

    22、序列以小写字母开始,由若干字母、数字、下划线组成的序列u双引号括起来的字符序列双引号括起来的字符序列若谓词参数采用标准域,则域段可省略若谓词参数采用标准域,则域段可省略若谓词参数采用非标准域,则需在域段中说明若谓词参数采用非标准域,则需在域段中说明第四节第四节 PROLOG的基本程序段的基本程序段2、表域、表域=*例如:例如:domains myint=integer mylist=myint*predicatesmember(myint,mylist)clausesmember(X,X_).member(X,_Y)if member(X,Y)domains mylist=integer*pr

    23、edicatesmember(integer,mylist)第四节第四节 PROLOG的基本程序段的基本程序段3、复合对象域、复合对象域=(,)例如:例如:domains person=person(name,address)name=name(first,last)address=address(street,city,state)street=street(number,streetname)city,state,streetname=stringfirst,last=stringnumber=integer第四节第四节 PROLOG的基本程序段的基本程序段三、谓词段三、谓词段由由pred

    24、icates标识标识谓词谓词(域域1,域域2,域域n)域可为标准域,也可为非标准域域可为标准域,也可为非标准域例如:例如:predicates person(symbol,symbol)或或domains name,sex=symbolpredicates person(name,sex)第四节第四节 PROLOG的基本程序段的基本程序段四、子句段四、子句段由由clauses标识标识一个子句是一个事实或一个规则一个子句是一个事实或一个规则子句段是程序的核心子句段是程序的核心子句段中包含事实语句和规则语句子句段中包含事实语句和规则语句五、目标段五、目标段由由goal标识标识内部目标内部目标在目标段提出的目标在目标段提出的目标外部目标外部目标在人机交互环境下提出的目标在人机交互环境下提出的目标

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:人工智能与专家系统第四章智能程序设计课件.ppt
    链接地址:https://www.163wenku.com/p-3362987.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库