web-dev-qa-db-fra.com

Que signifie "prédicat" dans le contexte de l'informatique?

Plus précisément, je l'ai vu utilisé dans le contexte du filtrage de texte. Comme si "prédicat" == "critère de filtre".

Est-ce exact?

113
ack

C'est un terme le plus couramment utilisé dans le domaine de la logique mathématique.

De wikipedia

En mathématiques, un prédicat est soit une relation , soit la fonction booléenne qui équivaut à la fonction caractéristique ou à la fonction indicateur d'une telle relation.

Une fonction P: X → {true, false} est appelée un prédicat sur X. Lorsque P est un prédicat sur X, on dit parfois que P est une propriété de X.

.

"prédicat" == "critère de filtrage"

91
Prasoon Saurav

Un prédicat ('PRED-i-cat') est la partie d'une phrase qui contient le verbe et vous dit quelque chose sur le sujet.

Par exemple, dans la phrase

"Mike mange", nous avons le sujet "Mike" et le prédicat "mange".

Dans le contexte de l'informatique, nous ne souhaitons pas énoncer un fait, mais plutôt tester une condition vrai/faux afin de décider de faire ou non quelque chose.

Person mike;

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

Le membre isEating() de mike (une instance de Person) est un prédicat. Il retourne true ou false pour l'assertion que person (mike dans ce cas) est en train de manger. Le prédicat est utilisé pour décider de nourrir ou non la personne.

Les prédicats se trouvent souvent sous la forme de rappels, mais en général, nous pouvons utiliser le terme pour toute fonction renvoyant une valeur bool basée sur l'évaluation de la vérité d'une assertion.

Pour le tri, vous pouvez avoir la fonction membre

bool Fruit::ComesAfter(Fruit x) ...

comme notre prédicat. Si x vient après nous, notre algorithme de tri échangera les deux fruits.

Il y a aussi le terme prédicat (predi-KATE). En anglais, nous l'utilisons comme ceci:

"L'obtention du diplôme est subordonnée à l'obtention des notes de passage."

Cela signifie qu'une chose dépend d'une autre.

En informatique, nous utilisons cette forme de la Parole pour décrire l'exécution conditionnelle.

Par exemple, dans la programmation CUDA, il existe des instructions d'assemblage dont l'exécution peut être prédite (KATE) sur un résultat précédent. En d'autres termes, vous définissez un indicateur de prédicat (CAT) qui, s'il est défini à true, entraîne l'exécution de l'instruction et, s'il est défini sur false, à traiter l'instruction en tant que NOP. Ainsi, l'exécution de l'instruction est basée sur l'indicateur de prédicat indiqué.

Les utilisations sont très similaires.

J'espère que ça t'as aidé.

120
cwm9

La Parole vient de la logique.

Un prédicat est une question "est" booléenne sur les entrées.

"IsNull" est une question de prédicat.

Aussi, lien wikipedia à propos de prédicats en mathématiques .

39
Paul Nathan

Un prédicat est une déclaration sur quelque chose qui est vrai ou faux.

16
Bradley

Proposition:

  • soit définitivement réglé sur true ou false
  • ne dépend pas des valeurs des paramètres
  • par exemple.
    • "x + 2 = 2x, quand x = -2" => vrai
    • "2 * 2 = 5" => faux

Prédicat:

  • la valeur de vérité dépend de la valeur du paramètre
  • par exemple.
    • "x + 2 = 2x" => la valeur de vérité est inconnue et dépend de la valeur de x

Utilisez les quantificateurs pour transformer le prédicat en proposition:

  • ∃x∈Z (x + 2 = 2x) "Il existe un x dans l'ensemble des entiers tel que x + 2 = 2x"
5
JeanieJ

Juste pour simplifier les choses. prédicat est une fonction qui renvoie une valeur true ou false.

il est utilisé comme "critère de filtre" ce qui signifie: considérons un tableau de nombres et un prédicat renvoyant true si number> 0, false autrement.

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

var newNumbers = numbers.filter(predicate);

// newNumbers => [1 , 2] ;

le filtre est une fonction qui retourne un nouveau tableau basé sur un prédicat (ou un "critère de filtre".)

il a filtré le tableau en fonction de la valeur du prédicat

  • true: inclure une valeur
  • faux: ne l'incluez pas
4
aeid

Le prédicat est une fonction qui prend un élément en tant que paramètre d'entrée et renvoie true ou false. Les prédicats sont utilisés dans des fonctions d'ordre supérieur, appliqués à une fonction donnée (transformateur.k.a) élément par élément à une liste d'éléments et renvoyant une liste de résultats. Transformer est une fonction qui s'applique à chaque élément et produira un ou plusieurs nouveaux éléments.

1
Remario