Что означает "предикат" в контексте информатики? [дубликат]



этот вопрос уже есть ответ здесь:



в частности, я видел, что он используется в контексте фильтрации текста. Как будто "предикат" = = "критерии фильтра".



Это точно?

456   7  

7 ответов:

Это термин, наиболее часто используемый в области математической логики.

с Википедия

в математике предикатом является либо a отношение или булево-значная функция это означает характеристическую функцию или индикаторную функцию такого отношения.

функция P: X→ {true, false} называется предикатом на X. Когда P является предикатом на X, мы иногда говорим, что P является свойством Х.

.

"предикат" == "критерии фильтрации"

предикат ('PRED-I-cat') является частью предложения, которое содержит глагол и говорит вам что-то о предмете.

например, в предложении

"Майк ест", у нас есть субъект, "Майк", и предикат, "ест".

в контексте информатики мы не заинтересованы в констатации факта, а скорее в проверке истинного / ложного условия с целью принятия решения о том, следует ли это делать что-то.

Person mike;

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

The isEating() член mike (экземпляр Person) является предикатом. Он возвращает true или false за утверждение, что person (mike в данном случае) ест. Предикат используется, чтобы решить, следует ли кормить человека.

предикаты часто встречаются в форме обратных вызовов, но в целом мы можем использовать этот термин для любой функции, которая возвращает bool, основанный на оценке истины утверждение.

для сортировки, возможно, потребуется иметь функцию-член

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

как наши сказуемого. Если x приходит после нас, наш алгоритм сортировки поменяет местами два плода.

есть также термин предикат (predi-KATE). В английском языке мы используем его так:

"выпускной основывается на достижении проходных классов."

это означает одно зависит от другого.

в информатике мы используем эту форму слова для описания условного исполнения.

например, в программировании CUDA есть инструкции по сборке, выполнение которых мы можем предикатировать (KATE) на предыдущий результат. То есть вы устанавливаете флаг предиката (CAT), который, если true, заставляет инструкцию выполняться, а если false, заставляет инструкцию рассматриваться как NOP. Таким образом, выполнение инструкции основывается на указанном флаге предиката.

пользы очень подобный.

надеюсь, что это поможет.

слово происходит от логики.

предикат-это логический вопрос " is " о входных данных.

"IsNull" - это предикатный вопрос.

также, ссылка Википедии о предикаты в математике.

предикат-это высказывание о чем-то, что является либо истинным, либо ложным.

предложение:

  • либо true или false
  • не зависит от значений параметров
  • например,
    • "x+2=2x, когда x = -2" = > true
    • "2*2=5" => ложные

предикат:

  • значение истинности зависит от значения параметра
  • например,
    • "x+2=2x" = > значение истинности неизвестно и зависит от значения x

используйте кванторы для преобразования предиката в предложение:

  • ∃x Z Z (x+2=2x)"существует x в наборе целых чисел, таких что x+2=2x"

просто для упрощения вещей . предикат-это функция, которая возвращает значение true или false .

его используется в качестве" критерия фильтра " значение: давайте рассмотрим массив чисел и предикат, который возвращает true, если число > 0 , и 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] ;

фильтр-это функция, которая возвращает новый массив на основе предиката ( или "критерий фильтрации". )

он отфильтровал массив на основе значения предиката

  • правда : включить значение
  • false: не включайте его

предикат-это функция, которая принимает один элемент в качестве входного параметра и возвращает либо true или false. Предикаты используются в функциях более высокого порядка, применяются к данной функции(a.k.a transformer) поэлементно к списку элементов и возвращают список результатов. Трансформатор-это функция, применяемая к каждому элементу и создающая один или несколько новых элементов.

Comments

    Ничего не найдено.