Что означает "предикат" в контексте информатики? [дубликат]
этот вопрос уже есть ответ здесь:
что такое сказуемое?
11 ответов
в частности, я видел, что он используется в контексте фильтрации текста. Как будто "предикат" = = "критерии фильтра".
Это точно?
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