版权归原作者所有,如有侵权,请联系我们

[科普中国]-符号处理语言

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

随着计算机科学理论与应用的发展,六十年代和七十年代以来出现了许多非数值计算的高级和非常高级语言。其中包括符号处理语言、逻辑语言、数据库管理语言、规格说明语言、软件要求工程语言和公式处理语言等等。

符号处理语言是以LISP为代表的一类高级程序设计语言。它们与一般人们所熟悉的高级语言(如FORTRAN、ALGOL等)有本质上区别。

发展历程符号处理语言比有关数值计算的语言的历史要短。这是由于人们对计算机的早期认识和要求均停留在数值计算方面。直到四十年代和五十年代,随着LAMBDA变换运算[Church1941] 和元数学理论〔Kleen1950〕的出现,及人们对可计算性问题认识的发展和对计算机应用要求的广泛化,计算机的语言才开始转向非数值处理方面。

虽然在五十年代,卡内基—梅隆大学的Newll,Show和Simon就创立了IPL,但真正开辟这个领域的还要算是LISP语言。因为虽说IPL有其自己的用处,并引出了一些基本概念,但现在基本上已经不用了。近二十多年来符号处理语言的发展基本是以LISP为主体的。六十年代的LISP语言,如LISP1.5,LISP1.6,主要发展是表处理能力和技巧方面。从七十年代以来LISP语言不但其应用范围更加广泛,而且其功能也大为改善,它们使得LISP语言具有模式配匹、启发式检索、模式替换和公式处理的能力;并具有会话式,交互式等操作特点。目前LISP语言已经成为计算机科学研究领域中不可缺少的工具。

目前LISP语言已经成为计算机科学研究领域中不可缺少的工具。1

符号处理程序设计语言的特点符号处理语言与一般算法语言相比有许多本质性的区别。

处理对象所谓符号处理也被称为表处理,这正是LISP的原意。一般算法语言是以算术运算为基本运算,而符号处理语言是以对表的处理为基本运算。

当然在符号处理语言中也包括算术运算;但在这方面,它的功效远不及算法语言。符号处理语言还有一些其它的处理对象。例如标识符、字符串、表指针和其它特征的非数值型数据。

数据结构符号处理语言的处理对象既为表,那么相应的就有表的数据结构,就连程序的本身也是由表的形式构成的。但表的结构形式不是唯一的。如LISP中用于记录原子指针的目标表(对象表)、记录变量约束值的访问表。根据不同的数据要求,可以使用双向表、多叉表作为数据结构。

取值方式一般语言的取值是根据存放数据的单元地址直接或间接的对这个单元进行访问。而符号处理语言是通过对存放数据的表进行查找进行取值。前者为寻址方式,后者为查表(检索)方式。

语义描述LISP语言是第一个用自己描述自己语义的语言。对其语义描述的本身就是一些可执行的程序(系统函数),如EVAL,APPLY等。因此LISP语言开辟了计算机语言操作语义的道路。

应用由于符号处理语言具有特别的非数值数据结构和函数型的描述能力,因此它成为了人工智能研究领域的工具。也有人把它们称为是人工智能语言。在人工智能的各个分枝中它们都占有重要的位置。

游戏机大量的人工智能的优秀成果是用符号姐理语言完成的游戏系统。如国际象棋、跳棋、桥牌等。这些工作要求程序从大量的变换分析中,或是在考虑所有可能出现的状态下做出决策。

数学、科学和工程辅助系统这些辅助系统也就是人们熟悉的“专家系统”。它们把人工智能的研究成果广泛的应用于各个领域。符号处理语言是它们描述专家知识,构造推理机的有效工具。

自动定理证明使用符号处理语言描述定理证明的推导逻辑,是符号处理语言的早期应用之一。如王浩算法,消减法都是由它们来实现的。

程序设计自动化将编程规则的描述构造一个抽象机。然后把用户对程序的要求、翻译成可运行的程序。这样的考虑有人认为是荒谬的,事实上这些研究还是有益的。

机器人机器人方面的研究是众所周知的,也是科学家很感兴趣的,并且相当复杂,比如对于机械手的控制,电眼的图象接受,处理和识别,电耳对声频信号的处理。这些工作都是人工智能的重要课题,也是当代科学的尖端。

机器视觉机器视觉就是对由摄象系统接收的图象信号,在机器内部进行符号的描述、分析和识别。

自然语言理解早期的自然语言理解工作仅包括机器翻译;现在则是包括文字和语言两方面的理解。研究工作要从语音、语调、语法、语义和语境等多方面对语言进行综合性的分析。

心理信息处理心理学家和人工智能方面的专家使用符号处理语言将人在解题过程中的思维模型写成程序,也就是描述一个解题思维的刺激过程。

符号处理语言除上述八个方面的应用外还有许多其它方面的应用。例如LlSP操作系统,LlSP机,LlSP编辑程序等等。符号处理语言在计算机科学领域中占有相当重要的位置。1