- 签证留学 |
- 笔译 |
- 口译
- 求职 |
- 日/韩语 |
- 德语
我们采用自底向上的方式来介绍FOPC。首先检查它的各种原子元素,然后说明把它们组合起来构成更大的意义表示。图1 是用于描述FOPC的句法的一个完全的上下文无关语法。
Formula → AtomicFormula
| Formula Connective Formula
| Quantifier Variable ,... Formula
| – Formula
| (Formula)
AtomicFormula → Predicate (Term,.…)
Term → Function(Term,..)
| Constant
| Variable
Connective → ∧|∨| ⇒
Quantifier →
Constant → A| VegetarianFood | Maharani…
Variable → x| y| …
Predicate → Serves | Near | …
Function → LocationOf | CuisineOf | …
图1 用于说明一阶谓词演算表示句法的一个上下文无关语法。取自Russell and Norvig(1995)
首先来检查“项”(term)的概念。项是FOPC用于表示客体的一种设置。从图1中可以看出,FOPC提供了三种方法来表示这个基本的信息块:常量、函数和变量。每个这样的设置可以想像成一种命名方法,它们要给所研究的世界指定一个客体。
FOPC中的常量(constant)引用所描述的世界中的特定客体。按照惯例,常量通常用一个单独的大写字母来描述,如A和B等,也可以用一个单独的大写单词来描述,这常使我们想起诸如Maharani和Harry这样的专有名词。正如程序设计语言中的常量,FOPC的常量只严格地引用一个客体。但是,当存在若干个客体时,可以有多个常量引用它们。
FOPC中的函数(function)相当于在英语中经常表示为所属格(genitive)的概念,如location of Maharani或Maharani's location。这样的表达式翻译成FOPC可以表示如下:
LocationOf (Maharani)
FOPC函数在句法上相当于一个单独的论元谓词。但是,重要的是应该记住,它们在外表上像谓词,事实上却只涉及一个单独客体的“项”。FOPC的函数为引用特定的客体提供了一种方便的途径。使用函数来引用客体时,不用与命名它的常量相联系。当存在像饭店这样的很多命名客体时,如果使用函数,只需一个像location这样的函数就可以与各种名字的饭店联系起来,非常方便。