第2章人工智能程序设计语言
综述
函数型程序设计语言LISP
逻辑型程序设计语言PROLOG
Turbo PROLOG程序设计
综述
函数型语言
LISP是一种函数型程序设计语言。LISP程序由一组函数组成,程序的执行过程就是一系列的函数调用和求值过程。但LISP还不是纯函数型语言,准确地讲,它是基于λ--函数的语言。除LISP外,。但该语言现在还限于理论研究,实现上还存在一定困难。
逻辑型语言
逻辑型程序设计语言起源于PROLOG(PROgramminginLOGic的缩写)。PROLOG语言首先由法国马塞大学的Colmerauer和它的研究小组于1972年研制成功,后来在欧洲得到进一步发展。特别是1981年日本宣布要以PROLOG作为他们正在研制的新一代计算机——智能计算机的核心语言,更使PROLOG举世瞩目,迅速风靡世界。
PROLOG语言是以Horn子句逻辑为基础的程序设计语言,它是目前最具代表性的一种逻辑程序设计语言。早期PROLOG版本都是解释型的,1986年美国的Borland公司推出了编译型PROLOG-TurboPROLOG,并很快成为PC机上流行的PROLOG。现在运行在Windows环境下的可视化编程语言VisualPROLOG也已面世。但这些PROLOG语言版本属顺序逻辑程序设计语言。
面向对象语言
20世纪80年代以来,面向对象程序设计(ObjectOrientedProgramming,简称OOP)异军突起,发展迅速,如今已日渐成熟,并越来越流行起来。面向对象程序以其信息隐蔽、封装、继承、多态、消息传递等一系列优良机制,大大改善了软件的复杂性、模块性、重用性和可维护性,有望从根本上解决软件的生产效率问题。另一方面,由于面向对象程序设计的类、对象、继承等概念,与人工智能特别是知识表示和知识库产生了天然的联系。
因而,现在面向对象程序设计语言也成为一种人工智能程序设计语言,面向对象程序设计也被广泛引入人工智能程序设计,特别是知识工程、专家系统程序设计。面向对象程序设计语言也种类繁多,已发展成为一个大家族。其中最纯正、最具面向对象风格的语言当推Smalltalk,而最流行的OOP语言是C++,Java则是适于网络()环境的一种面向对象语言。
混合型语言
以上三种语言都各有所长,但也都有其不足之处。为了扬长避短,于是便出现了基于这三种语言的混合型语言。
1. 函数型与逻辑型相结合的语言
函数型与逻辑型语言的结合方式有耦合型和统一型两类。统一型又可分为具有归结语义的函数型语言和集成式语言两个子类。
2. 函数型与面向对象相结合的语言
在LISP语言的基础上再扩充面向对象机制而产生的语言,称为函数型的面向对象程序设计语言(亦称为面向对象的LISP)。
3. 逻辑型与面向对象相结合的语言
函数型程序设计语言LISP
LISP语言的主要特点是:
(1) LISP程序由一组函数组成,程序的执行过程是函数的调用过程。
(2) 程序和数据在形式上是相同的,即都是符号表达式,简称为S─表达式。
(3) 递归是LISP语言的主要控制结构。
(4) 程序以交互方式运行。
LISP的程序结构与运行机制
LISP的程序一般由函数的定义和函数的调用两部分组成。其一般格式为:
(DEFUN(<函数名>(<形参表>)<函数体>)
(<函数名>(〖WB〗<形参表>)<函数体>)
…
(<函数名>(<形参表>)<函数体>))
(<函数名><实参表>)
(<函数名><实参表>)
…
(<函数名><实参表>)
第2章 人工智能程序设计语言 来自淘豆网m.daumloan.com转载请标明出处.