2010-07-12 3 views
85

특히 텍스트 필터링의 컨텍스트에서 사용되는 것을 보았습니다. 마치 "술어"== "필터 기준".컴퓨터 과학의 맥락에서 '술어'는 무엇을 의미합니까?

정확합니까?

+0

'predicate'과 같은 소리는 'pre'와 무엇이든간에 2 단어의 조합으로, 다른 작업을하기 전에 무언가를 확인하는 것과 관련이 있음을 암시합니다. 문제는 내가 내 가정을 세우기 위해 아무것도 찾을 수 없다는 것입니다. 어쨌든, 의미에 대한 좋은 힌트가 될 수 있습니다. –

답변

71

수학 논리 분야에서 가장 일반적으로 사용되는 용어입니다. 수학에서 wikipedia

가입일

술어는 관계 또는 특성 함수 또는 관계의 함수 지표 금액 부울 값 함수 중입니다.

함수 P : X → {참, 거짓} P가 X에 술어가있는 경우 X의 술어라고, 우리는 때때로 P는 X를

의 속성 말한다.

"조건"== "필터 기준"

+0

하나 또는 둘 다 요소를 필터링 할 수 있기 때문에 "어느 정도까지" "정확히 동일하게"변경됩니다. 이는 부울 함수, 즉 술어를 의미합니다. –

+4

이것은 이론 및 프로그래밍 실습 모두에서 컴퓨터 과학에 사용됩니다. 인수를 가져 와서 부울을 반환하는 함수로서의 술어. 인수 *가 술어 *, 즉 함수 이름 필터와 일치하면 true를 반환합니다. 예 : isBlue (arg), 여기 Java 선언문 인터페이스 -> https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html –

35

단어는 논리에서 비롯됩니다.

술어는 입력에 대한 "is"부울 질문입니다.

"IsNull"은 술어 질문입니다.

또한 위키 백과 링크 Predicates in Math도 있습니다.

12

술어는 참 또는 거짓 무언가에 대한 진술이다.

+0

@ user1907906 '설명 하겠습니다' 부분은 보풀이긴하지만 나머지 부분은 분명히 답을 구성합니다. 여기서 비평이나 설명이 필요하지 않습니다. – EJP

81

술어 ('PRED-i-cat')는 동사가 포함 된 문장의 일부로 주제에 대해 알려줍니다.

는 예를 들어,

"마이크가 먹고"문장에서 우리는 주제, '마이크', 그리고 '이 먹고'술어가 있습니다.

컴퓨터 과학의 맥락에서 우리는 사실을 밝히는 것에 관심이 없으며, 무언가를 할 것인지를 결정하기 위해 진실/거짓 조건을 테스트하는 데 관심이 있습니다.

Person mike; 

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

mikeisEating() 부재 (Person 인스턴스)는 조건부이다. person (이 경우 mike)이 먹는다고 주장하면 true 또는 false을 반환합니다. 술어는 그 사람을 먹일지 여부를 결정하는 데 사용됩니다.

술어는 종종 콜백 형식으로 발견되지만 일반적으로 어설 션의 진리를 평가하여 부울을 반환하는 함수에 대해서는이 용어를 사용할 수 있습니다. 정렬

, 멤버 함수 우리의 술어로

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

을 할 수 있습니다. x이 우리 뒤에 온다면, 우리의 정렬 알고리즘은 두 개의 결과를 바꿀 것입니다.

술어라는 용어 (predi-KATE)가 있습니다. 영어로 우리는 이것을 다음과 같이 사용합니다 :

"졸업은 성적이 성취 될 때를 기준으로합니다."

이것은 한 가지가 다른 것에 달려 있음을 의미합니다.

컴퓨터 과학에서 우리는 조건부 실행을 설명하기 위해이 단어 형태를 사용합니다.

예를 들어, CUDA 프로그래밍에서 이전 결과에 대해 술어 (KATE)를 실행할 수있는 어셈블리 명령어가 있습니다. 즉, 참인 경우 명령이 실행되도록하는 조건부 (CAT) 플래그를 설정하고 거짓 인 경우 명령을 NOP로 처리합니다. 따라서 명령의 실행은 표시된 술어 플래그에 근거합니다.

용도가 매우 비슷합니다.

희망이 있습니다.

+9

IMO, 이것은 가장 좋은 대답입니다 –

+0

나는 당신이 이것을 설명하는 방식을 정말로 정말로 좋아합니다. –

4

제안 :

  • 어느 확실히 파라미터
  • 예컨대 값에 참 또는 거짓
  • 의존하지 설정된
    • "X + 2 = X, X = -2 때"= "참
    • "2 × 2 = 5 "="거짓

술어 :

  • 진리 값은 매개 변수 값에 따라 다릅니다.
  • 예.
    • "X + 2 = 2 배"=> 진리 값은 알 수 없으며

사용 한정사가 제안에 술어를 변환하는 x의 값에 따라 달라집니다 :

  • ∃ x ∈ Z (x + 2 = 2x) "x + 2 = 2x와 같은 정수 집합에 ax가 있습니다."
3

그냥 물건을 단순화합니다. 조건 자 (predicate)는 true 또는 false 값을 반환하는 함수입니다.

"필터 기준"의미로 사용됩니다. 숫자 배열이 이고 숫자> 0 인 경우 참을 리턴하는 조건자를 고려해보십시오.

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

var newNumbers = numbers.filter(predicate); 

// newNumbers => [1 , 2] ; 

필터는 술어 (또는 "필터 기준")를 기반으로 새 배열을 반환하는 함수입니다.

  • 거짓 값을 포함 :)

    • 해당 술어의 값에 기초하여 상기 어레이 걸러가
  • 1

    술어를 포함하지 않는 하나 개의 요소를 가져 함수 입력 매개 변수로 사용하고 true 또는 false를 리턴하십시오. 술어는 고차 함수에서 사용되며 주어진 함수 (a.k.a 변환기)에 요소 단위로 적용되어 결과 목록을 리턴합니다. Transformer는 각 요소에 적용되는 함수이며 하나 이상의 새로운 요소를 생성합니다.

    관련 문제