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

ack*_*ack 116 computer-science

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

这准确吗?

小智 125

谓词('PRED-i-cat')是包含动词的句子的一部分,并告诉你关于主题的一些事情.

例如,在句子中

"迈克正在吃东西",我们有主题,'迈克'和谓词'正在吃'.

在计算机科学的背景下,我们对陈述事实并不感兴趣,而是在测试真/假条件以决定是否做某事时.

Person mike;

if (!mike.isEating())
    feedPerson(mike);
Run Code Online (Sandbox Code Playgroud)

(一个实例)的isEating()成员是谓词.它返回或断言(在这种情况下)正在进食.该谓词用于决定是否为该人提供食物.mikePersontruefalsepersonmike

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

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

bool Fruit::ComesAfter(Fruit x) ...
Run Code Online (Sandbox Code Playgroud)

作为我们的谓词.如果x在我们之后,我们的排序算法将交换两个结果.

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

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

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

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

例如,在CUDA编程中,存在汇编指令,其执行我们可以对先前结果进行谓词(KATE).也就是说,设置一个谓词(CAT)标志,如果为true,则导致执行该指令,如果为false,则将该指令视为NOP.因此,指令的执行基于指示的谓词标志.

用途非常相似.

希望有所帮助.

  • @thorstenhirsch 发音通常不以“cat”结尾(它更像是“kət”或“cut”)。另请注意,动词的[发音](https://www.youtube.com/watch?v=_-mReUBro8Y) 与名词不同。 (6认同)

Pra*_*rav 92

它是数学逻辑领域中最常用的术语.

来自维基百科

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

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

.

"谓词"=="过滤条件"

  • 这在理论和编程实践中都用于计算机科学.谓词作为获取参数的函数,并返回一个布尔值.如果参数*与谓词*即函数名称 - 过滤器匹配,则返回true.示例:isBlue(arg),这里是Java谓词接口 - > https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html (7认同)

Pau*_*han 40

这个词来自逻辑.

谓词是关于输入的"是"布尔问题.

"IsNull"是一个谓词问题.

此外,维基百科链接有关数学中的谓词.


Bra*_*ley 16

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


aei*_*eid 8

只是为了简化事情。谓词是一个函数,它根据某些条件返回真值或假值。

它用作“过滤条件”,这意味着让我们考虑一个数字数组和一个谓词,如果数字 > 0 则返回 true ,否则返回 false 。

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

var newNumbers = numbers.filter(predicate);

// newNumbers => [1 , 2] ;
Run Code Online (Sandbox Code Playgroud)

filter 是一个函数,它根据谓词(或“过滤条件”)返回一个新数组。

它根据谓词的值过滤了数组

  • true : 包含值
  • false : 不包括它


Jea*_*ieJ 5

主张:

  • 绝对设置为true或false
  • 不依赖于参数值
  • 例如
    • “ x + 2 = 2x,当x = -2” => true
    • “ 2 * 2 = 5” =>否

谓语:

  • 真值取决于参数的值
  • 例如
    • “ x + 2 = 2x” =>真值是未知的,并且取决于x的值

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

  • ∈x∈Z(x + 2 = 2x)“在整数集中存在一个ax,使得x + 2 = 2x”