谓词......还是其他一些术语?

时间:2011-12-13 01:29:24

标签: c++ predicate fuzzy-logic

出于好奇:如果我有一个类操作符(或函数等)接受多个参数(通常为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(例如确定顺序)。

2 个答案:

答案 0 :(得分:0)

谓词表明你肯定某事的真相 - 这表明了一个真实和错误的结果,只有一个真实和错误的结果。

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

答案 1 :(得分:0)

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