人工智能与专家系统第四章智能程序设计课件.ppt
- 【下载声明】
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
展开阅读全文