一阶逻辑中的谓词与函数

30

最近我一直很困惑一阶逻辑中谓词和函数的区别。

到目前为止,我的理解是:

谓词用于比较或者显示两个对象之间的关系,例如:

President(Obama, America)

函数用于指定特定对象的属性,例如:

Human(Obama)

我现在区分这两个术语的方式是否正确,或者完全错了需要一个简短的解释,我想听专家们的意见来澄清我的知识(或确认我的理解)。 提前感谢。

Krio


Human(Obama) 是一个一元谓词。 - logi-kal
5个回答

53

谓词是一个返回 true 或 false 的函数。


11
请注意,谓词可能是不可计算的,例如停机问题。 - Charles Stewart
1
或者我们可以这样说:一个函数是一个返回对象的谓词。(来源:AIMA) - Mohammad Mahdi KouchakYazdi

14

函数符号,它将个体映射到个体 - father-of(Mary) = John - color-of(Sky) = Blue • 谓词符号,它将个体映射到真值 - greater(5,3) - green(Grass) - color(Grass, Green)


8

据我所了解,

函数返回一个值,该值属于定义域,将 n 个元素映射到域中的一个成员。

谓词根据您在系统中遵循的公理和推理规则,确认您尝试建立的关系是否正确。


4
谓词是用于对象或对象之间关系的特定属性的确认。它告诉我们该对象具有该属性。例如,如果你被给定一个公式 P 代表美国总统,则:
P(Obama, 美国) = true 这告诉我们奥巴马是美国总统的属性和关系都是真实的。但是,
P(Putin, 美国) = false 则告诉我们普京不是美国总统,因此可以判断一个对象或对象是否具有某个特定属性或关系。
至于函数,它返回与对象的特定属性相关联的值,例如美国总统、安的母亲等。你给它们一个值,它们就会返回一个值。例如,让 P 成为一个函数,它返回传递参数的国家的总统:
P(美国) = Obama P(俄罗斯) = Putin

1
函数是一种关系,其中对于给定的输入只有一个值。
来源:AIMA(人工智能现代方法书)
更多描述请参见图像: AIMA中Object、Function、Relation说明

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接