1
나는 다음과 같은 조항이 있습니다 c(A,B)
은 두 가지 솔루션을 반환프롤로그 와일드 카드
a(1).
a(a).
b(3).
b(a).
c(A,B) :- b(B),!,a(A).
c(X,_) :- a(X),b(X).
쿼리 : 나는 c(A,B)
을 추적하고 프롤로그도 두 번째 절 (c(X,_))
을하지 않는 것으로 나타났습니다 A = 1, B = 3 and A = a, B = 3.
합니다. 왜 이렇게이다?
는 감사의 역할 확인하시기 바랍니다! 나는 커트의 역할을 오해 한 것 같다. 나는 그것이 첫 번째 선택에 전념했다고 생각했지만 분석되는 조항에 대해서만 생각했습니다. 나는 하나의 규칙에서 상처를 만났을 때 다른 규칙을 시도 할 때 아무런 결과가 없다고 생각했다. –