AI02人工智能语言课件_第1页
AI02人工智能语言课件_第2页
AI02人工智能语言课件_第3页
AI02人工智能语言课件_第4页
AI02人工智能语言课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 人工智能语言2.1 人工智能语言 2.2 LISP2.3 PROLOG 第1页,共18页。2.1 人工智能语言程序语言命令式语言 Imperative Language程序看作是一个语句的序列,并且一条一条执行它Data Structure + AlgorithmBasic, Pascal/Delphi, C/C+/Visual C+, Java函数型语言 Functional Language程序的求值 过程看上去和纯粹的数学函数的求值过程一样Lisp,Ruby, HaskellQuick Sort by Haskell1. sort= 2. sort(x:xs)=sorty|y-x

2、s,yx+x+sorty|y=x第2页,共18页。2.1 人工智能语言2.1.1 函数型语言 Lisp (List Processing)Schema(Structure and Implementation of Computer ProgramsMIT)Common LispcLisp特点函数型程序设计语言程序由一组函数组成程序的执行过程就是一系列的函数调用和求值过程第3页,共18页。2.1 人工智能语言2.1.2 逻辑型语言 Prolog(PROgramming in LOGic)Turbo/Visual PrologAmzi PrologYep特点以Horn子句逻辑为基础的程序设计语言

3、早期PROLOG版本都是解释型的1986年美国的Borland公司推出了编译型PROLOG-Turbo PROLOG,并很快成为PC机上流行的PROLOG现在运行在Windows环境下的可视化编程语言Visual PROLOG第4页,共18页。2.1 人工智能语言2.1.3 面向对象语言20世纪80年代以来,面向对象程序设计(Object Oriented Programming,OOP)异军突起,发展迅速面向对象程序以其信息隐蔽、封装、继承、多态、消息传递等一系列优良机制,大大改善了软件的复杂性、模块性、重用性和可维护性由于面向对象程序设计的类、对象、继承等概念,与人工智能,特别是知识表示和

4、知识库产生了天然的联系面向对象程序设计语言也成为一种人工智能程序设计语言,面向对象程序设计也被广泛引入人工智能程序设计,特别是知识工程、专家系统程序设计Smalltalk, C+,Java第5页,共18页。2.1 人工智能语言2.1.4 混合型语言以上三种语言都各有所长,但也都有其不足之处。为了扬长避短,于是便出现了基于这三种语言的混合型语言:函数型与逻辑型相结合的语言函数型与面向对象相结合的语言逻辑型与面向对象相结合的语言第6页,共18页。2.2 LISPLISP语言的主要特点程序由一组函数组成,程序的执行过程是函数的调用过程程序和数据在形式上是相同的,即都是符号表达式,简称为S表达式递归是

5、LISP语言的主要控制结构程序以交互方式运行。第7页,共18页。2.2 LISPLISP程序5+3 = ? (+ 5 3) 8(x+y)/2 = ? (define (average x y) (/ (+ x y) 2) (average 4 8) 6第8页,共18页。2.2 LISP参考书Practical Common Lisp /book/Structure and Interpretation of Computer Programs /sicp/full-text/book/book.html 第9页,共18页。2.3 PROLOGPROLOG的语句事实谓词名(项表)student(

6、john)like(mary,music).规则():-(),()“:-”号表示“if”grandfather(X,Y):-father(X,Z),father(Z,Y).问题?-(),()?-student(john)?-like(mary,X).第10页,共18页。2.3 PROLOGPROLOG程序PROLOG程序一般由一组事实、 规则和问题组成问题是程序执行的起点, 称为程序的目标。第11页,共18页。2.3 PROLOGPROLOG程序likes(bell,sports).likes(mary,music).likes(mary,sports).likes(jane,smith).f

7、riend(john,X):-likes(X,reading),likes(X,music). friend(john,X):-likes(X,sports),likes(X,music).?-friend(john,Y). 程序中有四条事实、两条规则和一个问题规则和事实可连续排列在一起,其顺序可随意安排同一谓词名的事实或规则必须集中排列在一起问题不能与规则及事实排在一起,它作为程序的目标单独列出,或在程序运行时临时给出第12页,共18页。2.3 PROLOGPROLOG程序的运行机理基于Horn子句的逻辑程序,运行机理是基于归结原理的演绎推理反向推理机制从目标出发,并不断进行匹配、合一、归结

8、,回溯直到目标被完全满足或不能满足时为止控制策略是深度优先,且有回溯机制。第13页,共18页。2.3 PROLOG自由变量与约束变量自由变量无值的变量约束变量有值的变量一个变量取了某值,就说该变量约束于某值,或者说该变量被某值所约束,或者说该变量被某值实例化了第14页,共18页。2.3 PROLOG匹配合一谓词匹配合一两个谓词的名相同,参量项的个数相同,参量类型对应相同对应参量项还满足:如果两个都是常量,则必须完全相同如果两个都是约束变量,则两个约束值必须相同如果其中一个是常量,一个是约束变量,则约束值与常量必须相同至少有一个是自由变量。pre1(ob1,ob2,Z) pre1(ob1, X, Y)第15页,共18页。2.3 PROLOG回溯回溯机制在程序运行期间,当某一个子目标不能满足(即谓词匹配失败)时,控制就返回到前一个已经满足的子目标(如果存在的话),并撤消其有关变量的约束值,然后再使其重新满足成功后,再继续满足原子目标如果失败的子目标前再无子目标,则控制就返回到该子目标的上一级目标(即该子目标谓词所在规则的头部)使它重新匹配。 第16页

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论