《第2章人工智能程序设计语言》

《第2章人工智能程序设计语言》

ID:40242120

大小:256.01 KB

页数:150页

时间:2019-07-28

《第2章人工智能程序设计语言》_第1页
《第2章人工智能程序设计语言》_第2页
《第2章人工智能程序设计语言》_第3页
《第2章人工智能程序设计语言》_第4页
《第2章人工智能程序设计语言》_第5页
资源描述:

《《第2章人工智能程序设计语言》》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第2章人工智能程序设计语言2.1综述2.2函数型程序设计语言LISP2.3逻辑型程序设计语言PROLOG2.4TurboPROLOG程序设计第页2.1综述2.1.1函数型语言LISP是一种函数型程序设计语言。LISP程序由一组函数组成,程序的执行过程就是一系列的函数调用和求值过程。但LISP还不是纯函数型语言,准确地讲,它是基于λ--函数的语言。除LISP外,20世纪70年代J.Backus还提出了一种称为FP的所谓纯函数型程序设计语言。但该语言现在还限于理论研究,实现上还存在一定困难。第页2.1.2

2、逻辑型语言逻辑型程序设计语言起源于PROLOG(PROgramminginLOGic的缩写)。PROLOG语言首先由法国马塞大学的Colmerauer和它的研究小组于1972年研制成功,后来在欧洲得到进一步发展。特别是1981年日本宣布要以PROLOG作为他们正在研制的新一代计算机——智能计算机的核心语言,更使PROLOG举世瞩目,迅速风靡世界。第页PROLOG语言是以Horn子句逻辑为基础的程序设计语言,它是目前最具代表性的一种逻辑程序设计语言。早期PROLOG版本都是解释型的,1986年美国的Bo

3、rland公司推出了编译型PROLOG-TurboPROLOG,并很快成为PC机上流行的PROLOG。现在运行在Windows环境下的可视化编程语言VisualPROLOG也已面世。但这些PROLOG语言版本属顺序逻辑程序设计语言。第页2.1.3面向对象语言20世纪80年代以来,面向对象程序设计(ObjectOrientedProgramming,简称OOP)异军突起,发展迅速,如今已日渐成熟,并越来越流行起来。面向对象程序以其信息隐蔽、封装、继承、多态、消息传递等一系列优良机制,大大改善了软件的复

4、杂性、模块性、重用性和可维护性,有望从根本上解决软件的生产效率问题。另一方面,由于面向对象程序设计的类、对象、继承等概念,与人工智能特别是知识表示和知识库产生了天然的联系。第页因而,现在面向对象程序设计语言也成为一种人工智能程序设计语言,面向对象程序设计也被广泛引入人工智能程序设计,特别是知识工程、专家系统程序设计。面向对象程序设计语言也种类繁多,已发展成为一个大家族。其中最纯正、最具面向对象风格的语言当推Smalltalk,而最流行的OOP语言是C++,Java则是适于网络(Internet)环境的

5、一种面向对象语言。第页2.1.4混合型语言以上三种语言都各有所长,但也都有其不足之处。为了扬长避短,于是便出现了基于这三种语言的混合型语言。1.函数型与逻辑型相结合的语言函数型与逻辑型语言的结合方式有耦合型和统一型两类。统一型又可分为具有归结语义的函数型语言和集成式语言两个子类。第页2.函数型与面向对象相结合的语言在LISP语言的基础上再扩充面向对象机制而产生的语言,称为函数型的面向对象程序设计语言(亦称为面向对象的LISP)。3.逻辑型与面向对象相结合的语言第页2.2函数型程序设计语言LISPLIS

6、P语言的主要特点是:(1)LISP程序由一组函数组成,程序的执行过程是函数的调用过程。(2)程序和数据在形式上是相同的,即都是符号表达式,简称为S─表达式。(3)递归是LISP语言的主要控制结构。(4)程序以交互方式运行。第页2.2.1LISP的程序结构与运行机制LISP的程序一般由函数的定义和函数的调用两部分组成。其一般格式为:(DEFUN(<函数名>(<形参表>)<函数体>)(<函数名>(〖WB〗<形参表>)<函数体>)…(<函数名>(<形参表>)<函数体>))(<函数名><实参表>)(<函数名>

7、<实参表>)…(<函数名><实参表>)第页其中的“DEFUN”是定义函数的关键字,“函数名”可以是系统的内部函数(名),也可以是用户用DEFUN定义的函数(名)。例如下面就是一个LISP程序。(DEFUNHANOI(abcn)(COND((=n1)(MOVE-DISKac))(T(HANOIacb(-n1))(MOVE-DISKac)(HANOIbac(-n1))))第页(DEFUNMOVE-DISK(fromto)(TERPRI)(PRINC″MoveDiskFrom″)(PRINCfrom)(P

8、RINC"To")(PRINCto))(HANOI′a′b′c3)第页2.2.2S─表达式从语法上看,LISP程序的基本单位是S─表达式。S─表达式又可分为原子和表两大类。原子(atom)是由字母和数字组成的字符串,是S─表达式的最简单情况。原子又可分为文字原子、串原子和数字原子三种。文字原子又称符号(symbol),是以字母开头的字母数字串,用来表示常量、变量和函数的名字等。例如:ABC、X1等。第页串原子是由双引号括起来的一串字符。如"LISPPro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。