2010-07-12 19 views
85

Específicamente lo he visto utilizado en el contexto del filtrado de texto. Como si "predicado" == "criterios de filtro".¿Qué significa "predicado" en el contexto de la informática?

¿Es esto exacto?

+0

Suena como 'predicate' es una mezcla de 2 palabras,' pre' y lo que sea, dando a entender que está relacionado con verificar algo antes de hacer otra cosa. El problema es que no pude encontrar nada para construir mi suposición. De todos modos, puede ser una buena pista sobre el significado :) –

Respuesta

71

Es el término más comúnmente utilizado en el campo de la Lógica Matemática.

De wikipedia

En matemáticas, un predicado es o bien una relación o la función booleana de valor que equivale a la función característica o la función de indicador de tal relación.

Una función P: X → {verdadero, falso} se llama un predicado en X. Cuando P es un predicado en X, a veces decimos P es una propiedad de X.

.

"determinante" == "criterios de filtro"

+0

Cambiaría "en cierta medida" a "exactamente lo mismo", ya que uno puede filtrar un elemento o no, lo que implica una función booleana, es decir, un predicado. –

+4

Esto se usa en ciencias de la computación, tanto en teoría como en la práctica de programación. Un predicado como una función que obtiene un argumento y devuelve un booleano. devuelve verdadero si el argumento * coincide con el predicado *, es decir, la función nombre-filtro. Ejemplo: isBlue (arg), aquí interfaz de predicado Java -> https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html –

35

La palabra proviene de la lógica.

Un predicado es una pregunta booleana "es" sobre las entradas.

"IsNull" es una pregunta predicativa.

También, enlace de wikipedia sobre Predicates in Math.

12

Un predicado es una declaración acerca de algo que es verdadero o falso.

+0

@ user1907906 El 'Yo describiría' una parte es pura pelusa, pero el resto ciertamente constituye una respuesta. No hay una crítica o solicitud de aclaración aquí. – EJP

81

Un predicado ('PRED-i-cat') es la parte de una oración que contiene el verbo y le dice algo sobre el tema.

Por ejemplo, en la frase

"Mike está comiendo", tenemos el tema, 'Mike', y el predicado, 'es comer'.

En el contexto de la informática, no estamos interesados ​​en afirmar un hecho, sino en probar una condición de verdadero/falso con el fin de decidir si hacer algo.

Person mike; 

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

El isEating() miembro de mike (una instancia de Person) es un predicado. Devuelve true o false para la afirmación de que el person (mike en este caso) está comiendo. El predicado se usa para decidir si alimentar o no a la persona.

Los predicados a menudo se encuentran en forma de devoluciones de llamada, pero en general podemos usar el término para cualquier función que devuelva un bool basado en la evaluación de la verdad de una afirmación.

Para la clasificación, puede ser que desee tener la función miembro

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

como nuestro predicado. Si x viene detrás de nosotros, nuestro algoritmo de clasificación intercambiará las dos frutas.

También existe el término predicado (predi-KATE). En inglés, lo usamos así:

"La graduación se basa en el logro de calificaciones aprobatorias".

Significa que una cosa depende de otra.

En informática, usamos esta forma de la palabra para describir la ejecución condicional.

Por ejemplo, en la programación CUDA, hay instrucciones de montaje cuya ejecución podemos predicar (KATE) en un resultado anterior. Es decir, establece un indicador de predicado (CAT) que, si es verdadero, hace que se ejecute la instrucción, y si es falso, hace que la instrucción se trate como un NOP. Por lo tanto, la ejecución de la instrucción se basa en el indicador de predicado indicado.

Los usos son muy similares.

Espero que ayude.

+9

IMO, esta es la mejor respuesta –

+0

Realmente me gusta mucho la forma en que explicaste esto. –

4

proposición:

  • o bien definitivamente establecido en verdadero o falso
  • no depende de los valores de los parámetros
  • por ejemplo
    • "x + 2 = 2x, cuando x = -2" => true
    • "2 * 2 = 5" => false

predicado:

  • valor de verdad depende del valor del parámetro
  • por ejemplo
    • => valor de verdad "x + 2 = 2x" es desconocida y depende del valor de x

Use cuantificadores para transformar predicado a la proposición:

  • ∃ x ∈ Z (x + 2 = 2x) "Existe ax en el conjunto de enteros tal que x + 2 = 2x"
3

Solo para simplificar las cosas. predicado es una función que devuelve un valor verdadero o falso.

se usa como un "criterio de filtro" lo que significa: permite considerar una matriz de números y un predicado que devuelve verdadero si el número es> 0, falso de lo contrario.

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

var newNumbers = numbers.filter(predicate); 

// newNumbers => [1 , 2] ; 

filtro es una función que devuelve una nueva matriz basada en un predicado (o un "criterio de filtro".)

que se ha filtrado la matriz basándose en el valor de predicado

  • cierto: incluyen valor
  • falso: No incluya que
1

predicado es una función que toma un elemento como parámetro de entrada y devuelve verdadero o falso. Los predicados se usan en funciones de orden superior, aplicadas a una función dada (a.k.a transformador) por elementos a una lista de elementos y devuelve una lista de resultados. Transformador es una función que se aplica a cada elemento y producirá uno o más elementos nuevos.

Cuestiones relacionadas