语用逻辑及其在计算机语言和人工智能中的应用_prolog论文

语用逻辑及其在计算机语言和人工智能中的应用,本文主要内容关键词为:人工智能论文,逻辑论文,计算机语言论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

中图分类号:B819文献标识码:A文章编号:1000—9639(2000)02—0035—07

自本世纪80年代以来,语用逻辑得到很快的发展,现已经形成一门崭新的学科。本文首先简要介绍语用逻辑的历史、对象和方法,说明语用逻辑的现状和意义,再阐释计算机语言的语用逻辑特征,最后简要介绍语用逻辑在人工智能中的应用。

一、语用逻辑:一种新的发展

什么是语用逻辑呢?

语用逻辑是言语行为理论的逻辑分析工具和逻辑分析系统。语用逻辑研究一类特殊的行为动词——语用行为动词——所构成的语句的逻辑特征及推理关系。这个定义包括三个方面:

1.语言形式:在自然语言中,有一类行为动词带来某种力量。例如:判断、要求、保证、祝贺、宣布等等这些动词就分别带有断定的、指令的、承诺的、表态的和宣告的语用力量。说出由这类动词构成的语句是为了作出某种行为。例如,说“我保证按时完成任务”就作出了一个承诺的行为。我们把这种力量称为语用力量,把带有语用力量的动词称为语用行为动词,把由语用行为动词构成的语句称为语用行为语句。语用逻辑就要研究语用行为语句的逻辑特征。例如,“我保证按时完成任务”这个语句是由“保证”这个语用力量和“我按时完成任务”这个命题内容构成的,它的结构是F(P)。其中,F表示一个语用力量,P表示一个命题内容。

2.推理关系:语用逻辑要在以上语言材料的基础上,研究各种复合的语用行为语句的逻辑特征以及它们之间的推理关系。例如,“如果他保证按时完成任务,我就保证按时完成任务”是由“他保证按时完成任务”和“我保证按时完成任务”这两个语用行为语句构成的条件的复合语句。它的结果是F(P)→F(Q)。又例如,“如果条件允许,我保证按时完成任务”是由“条件允许”这个命题内容和“我保证按时完成任务”这个语用行为构成的条件的复合语句。它的结构是P→F(Q)。 我们要研究这些复合语句的逻辑特征,从中找出普遍有效的语句。在普遍有效的语句中,我们还要确定一些作为推理的出发点,并建立一些推理规则,从而推出另一些普遍有效的语句。例如,

就是一个普遍有效的语句,但

却不是一个普遍有效的语句。令F表示语用行为动词“保证”,P表示命题内容“选举他”,这时可以说,“如果我保证不选举他,那么我不保证选举他”,但却不能说,“如果我不保证选举他,那么我保证不选举他””

在语用逻辑中,语用力量算子F有特别重要的意义。语用力量F既反映出语用行为动词的共性——它们都具有“作事”的力量;又反映出语用行为动词区别于其他动词的个性——它们既区别于联结词、量词、名词、形容词、副词、语气词,又区别于其他的非语用行为动词。

3.系统特征:我们还要研究系统内公式的意义或解释,研究这个推理系统自身的一些特征,如可靠性、一致性和完全性。可靠性、一致性和完全性将“可证”这个语法概念和“具有某性质”(例如,“为真”或“可作出”)这个语义概念联系起来,从而建立语法和语义的对应关系。因此,可靠性、一致性和完全性成为系统的重要特征,可靠性定理、一致性定理和完全性定理被称为系统的元定理。反映语用逻辑系统特征的元定理有别于其它系统的元定理,因而成为语用逻辑的重要研究内容。

语用力量、命题内容以及由之构成的语用行为语句,是研究逻辑的研究对象。

语用力量:语用动词所具有的力量称为语用力量。在语用逻辑中,我们用语用力量算子F来表示语用力量。 语用逻辑特别注重研究语用力量算子对语用行为语句的影响,注重研究语用力量算子的逻辑特征和由之构成的语用行为语句的逻辑特征。

命题内容:命题所反映的对象称为命题内容。在语用逻辑中,我们用命题内容变元P来表示命题内容。 语用力量算子和命题内容变元共同构成语用行为语句F(P),通过语用行为语句来反映特定的语用行为。

语用行为和语用行为语句:在语用逻辑中,要反映“以力量F 作出内容为P的行为”,是通过一个简单的语用行为语句F(P)来实现的。简单的语用行为语句F(P)由语用力量算子F和命题内容P构成,用简单的语用行为语句和联结词,再构成各种复合的语用行为语句。如

P→F(P),F(P)∧F(Q),F(P)∨F(Q)等等, 这样就可以反映各种复杂的语用行为。语用逻辑通过对语用行为语句的研究,来反映语用力量和各种语用行为的逻辑特征。

用以上语言材料,可以构成命题的语用逻辑,从而反映命题的语用行为的逻辑特征。但仅仅这样是不够的,在处理量化对象和模态对象时,我们还需要量词和模态词。

量词和模态词:表示个体数量关系的词称为量词,表示语句实现方式的语词称为模态词,在量化的语用逻辑和模态的语用逻辑系统中,我们需要量词和模态词,从而可以表示这样的语句:

等等。

塞尔以后,语用逻辑在国外发展很快。我们从有关文献资料特别是从网络上可以看到语用逻辑的许多新信息。

90年代以后,在周礼全研究员的指导下,我国学者开展语用逻辑的形式化研究,并取得重要成果,这是语用逻辑的最新研究成果。下面就介绍这方面的发展。

从现代逻辑标准看,塞尔和范德维克的系统还是不真正意义的逻辑系统,而只是一个语言分析系统。首先,从他们给出的公理和推理规则,推不出他们所给出的某些定理;另一方面,他们给出的某些公理,从严格公理化的意义上看,又是没有必要的。其次,在语义解释方面,他们虽然认识到命题内容和语用行为都是与语境相关的,并且也使用了可能世界的概念,但他们并未建立语境世界W上的关系R,也未建立任何语义模型,因而不能对系统中的公式作出正确的语义解释。这些问题,必须使用现代逻辑的形式化的方法才能解决。语用逻辑的形式化研究分为三个方面:语形的研究、语义的研究和元逻辑的研究。通过这些研究我们看到:

1.命题语用逻辑是由语用力量算子、命题内容变元行为和语用变元构成的命题逻辑系统。其中有三类不同的定理:关于语用行为的定理,关于条件的语用行为的定理以及关于语用力量的定理。命题语用逻辑不中成立反证律,语用力量算子F不能叠加。 我们还看到:命题语用逻辑是与经典命题逻辑、直觉主义命题逻辑、模态命题逻辑都不相同的逻辑系统。

2.量化语用逻辑是对命题内容和语用力量同时进行量化得到的语用逻辑系统,它由语用力量算子、命题内容变元、语用行为变元和量词构成。其中除了成立命题语用逻辑的全部定理,还成立包含量词的定理。我们看到,语用逻辑的量词可以同时作用于语用力量算子和命题内容算子,它是一种高阶量化系统;我们还看到,在语用量化逻辑中,全称量词和存在量词不能互相定义。因此,语用量化逻辑是与其他量化系统如一阶逻辑和通常的高阶逻辑都不同的量化系统。

3.模态语用逻辑是在量化的语用逻辑系统中引入模态词得到的语用逻辑系统。模态语用逻辑由语用力量算子、命题内容变元、语用行为变元、量词和模态词构成,其中除了成立量化语用逻辑的全部定理,还成立包含模态词的定理。我们看到:模态语用逻辑是一种高阶模态逻辑,它的模态部分是S4和S5,并服从模态逻辑规律;它的量化部分是量化语用逻辑,并服从高阶逻辑的规律,所以它又是一种有特殊规律的高阶模态逻辑。

命题语用逻辑、量化语用逻辑和模态语用逻辑,它们构成一个逐步扩张的序列,并反映了从奥斯汀到塞尔和范德维克发展起来的语用逻辑的丰富内容和系统特征。

语用逻辑有广泛的应用价值。奥斯汀和塞尔将它应用于人类言语行为的分析,并取得很多有意义的结论;我们则主要地将它应用于计算机语言的分析,从而将它应用于人工智能,并且也得到一些有意义的结论。下面让我们来看语用逻辑在这方面的应用。

二、计算机语言的语用逻辑特征

计算机语言是一种典型的语用语言(illocutionary language),即用来“做事”的语言。计算机程序则是有穷多个语用语句组成的有序集。从语用逻辑的观点看,计算机语言体现了语用逻辑最明显、最典型的特征:

1.语用力量是语句意义的一部分。

计算机语言基本语句的意义是:它通过特定的语言环境中的语句(源语言或目标语言)产生一个具有特殊语用力量的语用行为。计算机语言的每一个语句都是用来“做事”的,不是“做事”的语句(称为“注释语句”)则放在括号里,计算机不执行这样的语句。计算机语言是用来“做事”的,而不是“说事”的,这一点比日常语言更明确。语用力量是语句意义的一部分,包括两层意思:

第一,计算机语言是语境相关的。例如,“DIR”这个语句,在DOS环境下的作用是列出当前路径下的所有文件,而在FoxBASE/ForPro 环境下仅列出当前路径下的数据库(.DBF)文件。

第二,计算机语言的语用力量是通过特殊的语用动词——命令和函数——来实现的。计算机语言中的语用动词规定了特定语句的语用力量,例如,在BASIC语言中,以下两个语句:

10 LETA=1000

20 PRINT A

由于它们具有不同的语用动词——命令,因而具有完全不同的语用力量。语句10是赋值语句,它将某一数值(在这里是1000)赋予某一变量(在这里是A);语句20是打印语句,它将某一指定值( 在这里是变量A的值)打印出来。在BASIC 语言中, 函数不能直接用作语用动词,它只能组成表达式,再和命令组成语句。

由此可见,计算机语言的命令和函数是一种典型的语用行为动词,在计算机语言中,语句的语用力量正是通过这些语用动词来实现的。离开这些语用动词,计算机语言的任何语句都不会是有意义的。

2.计算机语言的语用逻辑特征可以用普遍语法的方法进行分析。

我们从计算机语言的基本语句、复合语句、语句的成功条件、程序、函数调用和过程调用、语言环境等方面对计算机语言的语用逻辑特征进行分析,包括语法分析和语义分析。

第一,计算机语言的基本语句是典型的语用行为语句。一个语用行为由语用力量和命题内容两个部分构成,其形式结构是:

F(P)

(1)

特别注意,(1)式有两种用法:它既表示一个语用行为, 又表示反映这个语用行为的语句结构。对于前一种用法,我们称F(P)为一个语用行为,这时,F表示话语的语用力量,P表示话语的命题内容;对于后一种用法,我们称F(P)为一个语用行为语句,这时,F 表示语句的语用力量动词,P表示语句的命题形式。 对计算机语言的讨论对应于第二种用法,对计算机行为的讨论则对应于第一种用法。

在(1)式中,F表示语句的语用力量动词,P 表示语句的命题形式。在计算机语言中,语用力量动词具体表现为该计算机语言的命令或函数,命题形式具体表现为该计算机语言的命题表达式。因此,用F(P)这个结构,我们可以对计算机语言的基本语句结构进行分析:计算机语言的命令或函数就是该计算机语言中基本语句的语用力量动词,用F 表示;符合一定规则的表达式就是基本语句的命题形式,用P表示。 通过这种分析我们看出,计算机语言的基本语句结构是典型的语用行为语句结构。另一方面,这种分析深化了我们对言语行为理论和语用逻辑的理解。

第二,复合语句是基本语句的复合结构。在计算机语言中,复合语句是用基本语句经使用特定的命令或函数构成的。例如,在BASIC 语言中,一个条件语句可以用下面的IF…ELSE…THEN结构来实现:

10 INPUT"Please input two integers:",x,y

20 IF x〈y THEN

30 min=x

40 ELSE

50 min=y

60 END IF

70 PRINT"The minimum value is:",min

80 END

在本例中,一个IF…ELSE…THEN结构的复合语句包括若干基本语句,这些基本语句经使用IF,ELSE,THEN这样的命令动词,有时还需要使用NOT,AND, OR这样的联结词来构成。类似的复合语句还有选择结构SELECT CASE…END SELECT,循环结构WHILE…WEND等等。一般地说,计算机语言中任何两个以上基本语句构成的、具有独立意义的语句集合,都可以称为复合语句。顺序结构、选择结构、循环结构是计算机语言中三种基本的复合语句。此外,计算机程序中还常常使用函数调用或过程调用来实现复合语句的功能。所以,计算机语言的复合语句是一个意义广泛、功能强大、能实现各种不同目的的语用逻辑概念。

第三,语句真的条件是语用逻辑的相应语义条件。我们可以用语义模型的方法,准确定义语用行为语句的真、可满足、有效和普遍有效。根据语义模型,在计算机语言中,语句真的条件可以通过对语句结构的归纳来定义。(注:参见蔡曙山:《言语行为和语用逻辑》,第三章第四节。北京:中国社会科学出版社,1998。)

在语用逻辑中,语句真,相应的行为在该语境中就是可作出的;语句假,相应的行为在该语境中就是不可作出的。这种语义分析方法在计算机语言和行为的分析中有重要的应用价值。

第四,计算机程序是语句的有序集。一个计算机程序,是由一些特定语言的语句组成的集合,且该集合是有序的。从语用逻辑的观点看,计算机程序是一些用来“做事”的语句的有序集。

第五,函数调用或过程调用是程序结构化的重要方法。在不同的语言之间,通过函数调用或过程调用,能够方便地实现语境转换,而又不破坏程序的结构。因此,函数调用或过程调用成为程序结构化常用的重要方法。

第六,计算机语言环境是以上各种要素的总和。计算机的语言环境不必仅指某一特定的语言要素,它可以而且常常是多种语言要素的总和。

第七,计算机语言能力是该语言语句的语用力量的总和。每一语句有自己特定的语用力量,计算机语言能力是指特定语言中不同语句集合在其特定语境中特定的语用效果的总和。

以上分析包括语法分析(句法分析)和语义分析两个部分。语法分析是语义分析的基础,只有语法上正确的语句,才对之作语义分析。语法分析通常有能行方法,即在有限步骤内判定一语句是否有某性质,例如,语法上是否正确。语义分析通常没有能行方法,即不能在有限步骤内判定一语句是否有某性质。计算机语言的编译程序一般能够检查出语法错误,但不能检查出语义错误。

因为计算机的行为由程序控制,而计算机程序是语用语句的集合。因此,通过分析计算机程序语用逻辑特征就可以分析计算机行为。这一规律在人工智能中有重要的应用前景。

三、语用逻辑在人工智能中的应用

本节介绍Prolog语言在人工智能中的应用,侧重介绍Prolog与语用逻辑IL的关系, 特别注意研究在Prolog 中如何使用IL 的分析方法。Prolog的语法和语义,请参阅有关Prolog的书目。本文不可能全面介绍Prolog,故假定读者已有这方面的知识。我们仅从一些具体例子来分析和理解Prolog,并侧重于分析IL在Prolog中的应用。

下面我们从语义分析、 策略规划等几个方面来看语用逻辑 IL 在Prolog中的应用。

1.IL用于Prolog的语义分析

例一:看一段Prolog语言程序,这是该语言中“回溯推理”的一种情况。

domains

姓名=Symbol

predicates

学生(姓名,姓名)

everybody

clauses

学生(伦纳德,凯瑟琳).

学生(卡尔,珍妮).

学生(卡尔,麦科里).

everybody:-

学生(X,Y),

write(X"是",Y,"的学生\n").

fail.

这段程序叫做“二元关系推理”。虽然本例所用的关系是“…是…的学生”,但它适用于所有二元关系推理。在本例中, 师生关系共有3组,当运行内部目标时,程序只要找到第一组,它就不再回溯。为找出所有的解,该语句给规则子句赋一个“假”值。当程序运行遇到“假”值时,便认为回溯失败,这时不论是否已得到合适的解,Prolog的自动回溯功能会继续回溯,这样就会找到问题所有的解。

本程序使用Prolog语言的“回溯推理”中的“强迫回溯”技术。所谓“强迫回溯”,是Prolog中使用“fail”语句来表示的一种推理方法。由于“fail”语句永远无法满足(它总是失败),所以Prolog总是被迫回溯。它的语法类似“!”语句,而语义恰好相反。

以上例子说明,计算机程序的执行总是和某种语义分析相关的。因此,计算机行为也可以通过语义分析来把握。

2.IL用于计算机的学习策略

下面是一种学习策略的模型:

资料来源:参考文献[7],第176页

图中包含一个学习系统的四个基本环节,其中环境和知识是用数据库来表示的,学习和执行则代表两个过程。一个完整的学习过程是:学习环节处理环境提供的信息,然后改变数据库中的知识。执行环节利用数据库的知识来完成某种任务,并把执行中获得的信息返回给学习环节。

现在假设这个系统要执行一个

的行为。根据语用逻辑,

,系统要求它首先检查数据库中有无F(P),若无,则往下执行程序;若有,则有两种选择:

经过这一学习过程,计算机的知识得到了更新。

语用逻辑在计算机科学特别是在人工智能的研究方面有广泛的应用前景,希望有更多的人来关心和研究语用逻辑。

收稿日期:1999—12—02

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  

语用逻辑及其在计算机语言和人工智能中的应用_prolog论文
下载Doc文档

猜你喜欢