“谓词”在计算机科学中意味着什么?

时间:2010-07-12 18:07:09

标签: computer-science

具体来说,我已经看到它在文本过滤的上下文中使用。好像“谓词”==“过滤标准”。

这准确吗?

7 个答案:

答案 0 :(得分:112)

谓语(' PRED-i-cat')是包含动词的句子的一部分,并告诉你有关该主题的内容。

例如,在句子中

"迈克正在吃饭#34;我们有主题,迈克'和谓词,'正在吃饭。

在计算机科学的背景下,我们并不想说明一个事实,而是在测试一个真/假条件以决定是否做某事。

Person mike;

if (!mike.isEating())
    feedPerson(mike);

isEating()的{​​{1}}成员(mike的实例)是谓词。对于Person(本例中为true)正在进食的断言,它会返回falseperson。该谓词用于决定是否养活这个人。

谓词通常以回调的形式出现,但一般来说,我们可以根据对断言真实性的评估,将该术语用于任何返回bool的函数。

对于排序,可能要有成员函数

mike

作为我们的谓词。如果bool Fruit::ComesAfter(Fruit x) ... 在我们之后,我们的排序算法将交换两个结果。

还有术语谓词(predi-KATE)。在英语中我们使用它:

"毕业的基础是达到及格分数。"

这意味着一件事取决于另一件事。

在计算机科学中,我们使用这种形式来描述条件执行。

例如,在CUDA编程中,有一些汇编指令,它们的执行我们可以对先前结果进行谓词(KATE)。也就是说,设置一个谓词(CAT)标志,如果为true,则导致执行该指令,如果为false,则将该指令视为NOP。因此,指令的执行是根据指示的谓词标志来预测的。

用途非常相似。

希望有所帮助。

答案 1 :(得分:87)

这是数学逻辑领域最常用的术语。

来自wikipedia

  

在数学中,谓词是关系或布尔值函数,相当于这种关系的特征函数或指标函数。

     

函数P:X→{true,false}在X上称为谓词。当P是X的谓词时,我们有时会说P是X的属性。

  

“谓词”==“过滤条件”

答案 2 :(得分:38)

这个词来自逻辑。

谓词是关于输入的“是”布尔问题。

“IsNull”是一个谓词问题。

此外,维基百科关于Predicates in Math的链接。

答案 3 :(得分:15)

谓词是关于某事是真还是假的陈述。

答案 4 :(得分:4)

主张:

  • 要么肯定设置为true或false
  • 不依赖于参数值
  • e.g。
    • " x + 2 = 2x,当x = -2" =>真
    • " 2 * 2 = 5" =>假

谓词:

  • 真值取决于参数的值
  • e.g。
    • " X + 2 = 2×" =>真值是未知的,取决于x的值

使用量词将谓词转换为命题:

  • ∃x∈Z(x + 2 = 2x)"在整数集合中存在x,使得x + 2 = 2x"

答案 5 :(得分:4)

只是为了简化事情。 谓词是一个返回true或false值的函数。

用作“过滤条件”含义:让我们考虑一组数字 和谓词,如果数字>返回true 0,假的其他明智的。

function predicate(number){
  return number > 0 
}
// array of numbers 
var numbers = [-2 , -1 , 0 , 1 , 2];

var newNumbers = numbers.filter(predicate);

// newNumbers => [1 , 2] ;

filter是一个基于谓词(或“过滤条件”)返回新数组的函数。

它已根据谓词

的值过滤了数组
  • true:包含值
  • false:不包含它

答案 6 :(得分:1)

谓词是一个函数,它将一个元素作为输入参数并返回true或false。谓词用于高阶函数,以元素列表的形式应用于给定函数(a.k.a transformer)并返回结果列表。 Transformer是一个适用于每个元素的函数,并将生成一个或多个新元素。