Что означает "предикат" в контексте информатики? [дубликат]
этот вопрос уже есть ответ здесь:
- что такое сказуемое? 11 ответов
в частности, я видел, что он используется в контексте фильтрации текста. А если "предикат" == "фильтрация".
Это точно?
7 ответов
Это термин, наиболее часто используемый в области математической логики.
в математике предикатом является либо отношение или булево-значная функция это равнозначно характеристической функции или индикаторной функции такого отношения.
функция P: X→ {true, false} называется предикатом на X. Когда P является предикатом на X, мы иногда говорим, что P является свойством Х.
.
"предикат" == "критерии фильтрации"
предикат ('PRED-I-cat') - это часть предложения, которая содержит глагол и говорит вам что-то о предмете.
например, в предложении
"Майк ест", у нас есть субъект, "Майк", и сказуемое, "ест".
в контексте информатики мы не заинтересованы в констатации факта, а скорее в тестировании истинного / ложного условия с целью принятия решения о том, делать ли что-то.
Person mike;
if (!mike.isEating())
feedPerson(mike);
на 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] ;
фильтр-это функция, которая возвращает новый массив на основе предиката ( или "критерий фильтрации". )
он отфильтровал массив на основе значения предиката
- true : включить значение
- false: не включать его
предикат-это функция, которая принимает один элемент в качестве входного параметра и возвращает либо true или false. Предикаты используются в функциях более высокого порядка, применяемых к данной функции (a.к. трансформатор) по элементам в список элементов и возвращает список результатов. Трансформатор функция применяется к каждому элементу и будет производить один или несколько новых элементов.