处理语言符号处理语言

处理语言符号处理语言符号处理语言(symbol processinglanguage)是专为表达和处理复杂概念而设计的计算机语言

如LISP和PRO-LOG语言等 

它们中的有些版本正在向知识工程环境方向发展

两种语言具有不同的特点,因此有不同适用范围

下面分别介绍这两种语言

还将提到两者的组合POPLOO

LISP语言LISP语言(LISt Processing)正如其名字所描述的,是一种表处理语言

这种语言是最早的人工智能语言,计算机上用的最早的两种高级语言之一

仅在FORTRAN之后

这种语言是McCarthyl958年发明的,1962年推出第一个版本LISP1.5

后来,LISP繁衍成了一种语族

几乎在各种品牌、档次、结构的机器上都有相应的LISP版本

关于LISP语言的特点

1978年,McCarthy在一篇文章中谈到,LISP的基本思想有6点:①处理的是符号表达式而不是数字量,也就是说,计算机内存中的码位组合可以表征任意的符号,但绝不表征算术意义上的数码

②表处理即在机器中按链表结构表示信息,在纸面上按多层表格书写程序

③控制结构,由部分较简单函数形成较复杂函数

④将递归作为刻划问题和过程的一种基本方法

⑤LISP程序的表述方式,内部按链表(Linked-Lists),在外部按多层表(Multilevel Lists),即所有信息均按统一的方式表述

⑥用LISP本身写成的函数EVAL既做为LISP的解释程序,又做为LISP的一种形式定义

他着重指出,LISP中的信息和程序之间没有原则区别

因而,一种LISP程序可以把别的LISP程序作为它的数据信息

LISP是高度递归的,并且,数据和程序都可以按表来表达

这种表可以一层一层嵌套,像中国古老游戏中一层套一层的“魔盒”一样

这种嵌套造成LISP的可读性很差,但是,却可使它能够对那些用传统语言很难解决的问题得到很漂亮的答案

LISP只有很少的基本函数,其它函数都是由这些基本函数为基础来定义(形成)的

这表明,LISP很容易建立新的高层函数

所以,不难建立一个LISP操作系统,然后进入希望达到的任何一个更高层面,正因为LISP有这样大的灵活性,因此它没有像FORTRAN和BASIC语言那样的标准

以极少的基本函数为基础,它已经繁衍出大量LISP方言

PROLOG语言PROLOG语言(PROgramnung"language for LOGic)英文原意为“逻辑程序设计语言”

这种语言是法国马赛大学的A.Colrnerauer 和P.Roussel 1972年推出的,由于它实现简化的谓词演算所以是一种真正的逻辑性语言

第一个成功的PROLOG编译程序是在英国的爱丁堡大学开发的

在日本及在匈牙利等欧洲国家,PROLOG都得到了较为广泛的应用,就象LISP在美国一样

PROLOG已繁衍成一种语族并在世界各地流行

已有若干种各种机器的PROLOG版本

在一定意义上,PROLoG中的推理可能是一种受控制的逻辑演绎推理

只要你简单地陈述你已知道的事实,PROLOG然后就会告诉你能不能从这些事实推出你想知道的某个结论

按照知识工程的术语,PROLOG的控制结构是逻辑推理

有人认为PROLOG就是一个推理机

虽然PROLOG还不能作所有理论上可行的谓词演算即演绎推理,但它仍然是最好的逻辑程序设计工具

一种逻辑程序设计语言必然会碰上一些超越逻辑的过程,例如输人操作和输出操作过程,因此,PROLOG备有少量控制这类隋况的基本程序

PROLOG的编程风格有两种:一种是说明型风格,一种是过程型风格

按说明型风格编程时,人们只肖告诉系统应该知道的东西,说明则依靠系统来完成

按过程型风格来编程时,人们必须把计算机将要产生的所有问题求解步骤完全刻划清楚

一般来讲,只有设计新型智能系统的知识工程师才需要跟过程型编程风格打交道,用户根本用不着

他们只要提供事实和提出问题就可以了

PROLOG的说明型编程风格已使官在世界各地爱到广泛首视

 

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关