1

只是出于好奇:如果我有一个类运算符(或函数等),它接受多个参数(通常为 1 或 2)并返回 3 个值中的 1 个(而不是布尔值 true 或 false),它是否仍应称为谓词?还是模糊逻辑的特例?要不然是啥?

例子:
template <class T>
class BinaryPredicate {
public:
virtual int operator()(const T& lhs, const T& rhs) const = 0;
};

根据定义的继承运算符函数(例如确定顺序)返回 -1、0 或 1。

4

2 回答 2

0

谓词表明您正在肯定某事的真实性-这表明结果是真假,并且只有真假结果。

在这种情况下,我个人将其称为“比较”,因为它实际上返回了通常用于比较操作的结果——负数、零或正数。

于 2011-12-13T01:34:10.930 回答
0

嗯,你正在从你的函数返回具体的值,其中没有任何模糊,你在三值逻辑域(有时称为三价)中比在模糊域中更多。例如,三价在电子(三态逻辑)中非常流行。设备可以处于 3 种状态:逻辑一(真)、逻辑零(假)和高阻抗。

于 2011-12-13T01:42:23.277 回答