-5
A
답변
1
논리적 부정의 개념은 이미 오류 발생시 Prolog에 포함되어 있습니다. 구현이 (가 할 수있는 일)을 제공하지 않는 경우
not(P) :- call(P), !, fail.
또는
not(P) :- (call(P) -> fail ; true)
그런 다음 수식을보고
로not
을 생각할 수있는,
not
싱글에 바로 적용이 단순화 될 수있다 술어 :
~(A & ~D) & ~B & ~A = (~A | D) & ~B & ~A = ~A & ~B
그냥 드 모건 법률과 사실에 대한 고려이다 D
은 술어의 만족 가능성에 유용하지 않습니다.
당신은 그들을 결합 할 수 있습니다
final_predicate :- not(B), not(A).
편집 :이 ,
이고 기억 ;
는 OR입니다.
1
단순히 PROLOG를 사용하여 명제 논리 문을 평가하려는 경우 다음을 시도 할 수 있습니다. 의 값의 인코딩을 시작하여 같은 '명제'a
, b
및 d
:
b :- fail. % this means that b is false
a :- true. % this means that a is true.
a :- fail.
b :- fail.
d :- fail.
그런 다음 문을 실행 :
?- not(a), not(b), not(d), not(a).
true.
주의 : 여기 인코딩 된 '명제'는 '시뮬레이션'- 그들은 실제로 제로 인수에 대응 일차있어 PROLOG에 관한 한 술어
ps. a :- true.
은 a.
으로 간소화 할 수 있습니다.
pps. 필자가 길을 넘어서서 문을 기호화하여 표준화와 같은 다른 형식으로 조작 한 후에는 메타 해석기을 PROLOG에 작성해야합니다. 도움이 될 Clocksin and Mellish's Programming in Prolog, Appendix B, 'Clausal Form Program Listings'을 참조하십시오.
관련 문제
- 1. 데이터베이스에 데이터를 입력하는 방법은 무엇입니까?
- 2. Winamp vis 플러그인에 데이터를 입력하는 방법은 무엇입니까?
- 3. 프롤로그에서 문자열을 조작하는 방법은 무엇입니까?
- 4. 프롤로그에서 프로그램을 일반화하는 방법은 무엇입니까?
- 5. PHP를 사용하여 <input> 양식에 데이터를 입력하는 방법은 무엇입니까?
- 6. 신경망에 이미지를 입력하는 방법은 무엇입니까?
- 7. 셀렌 IDE에서 테이블 행에 데이터를 입력하는 방법은 무엇입니까?
- 8. EventkitUI를 사용하지 않고 달력의 모든 데이터를 입력하는 방법은 무엇입니까? (iphone)
- 9. Eclipse 콘솔을 사용하여 데이터를 입력하는 방법은 무엇입니까? (C++)
- 10. Visual Studio에서 긴 SQL 텍스트 샘플 데이터를 입력하는 방법은 무엇입니까?
- 11. CakePHP에서 숨겨진 필드 데이터를 입력하는 가장 좋은 방법은 무엇입니까?
- 12. 쉘 프로그래밍에서 키보드의 데이터를 입력하는 방법
- 13. 다음 데이터를 XML로 표현하는 방법은 무엇입니까?
- 14. simplejson을 사용하여 다음 데이터를 디코딩하는 방법은 무엇입니까?
- 15. 기존 프로젝트를 입력하는 방법은 무엇입니까?
- 16. 아약스를 올바르게 입력하는 방법은 무엇입니까?
- 17. 프롤로그에서 트리를 선언하는 좋은 방법은 무엇입니까?
- 18. 강력하게 데이터를 입력하는 것이 좋습니까?
- 19. 두 개의 클래스로보기를 강력하게 입력하는 방법은 무엇입니까?
- 20. Oracle에서 줄 바꿈 문자를 입력하는 방법은 무엇입니까?
- 21. 프롤로그에서 계산
- 22. 프롤로그에서 (목록을 사용하지 않고) 프롤로그에서 부모의 자녀 수를 계산하는 방법은 무엇입니까?
- 23. 사용자가 날짜를 입력하는 가장 좋은 방법은 무엇입니까
- 24. .htaccess에 여러 PHP 값을 입력하는 방법은 무엇입니까?
- 25. Sitecore RichText 편집기에서 나누기를 입력하는 방법은 무엇입니까?
- 26. 위키 페이지에 Javascript를 입력하는 방법은 무엇입니까?
- 27. Boost.PropertyTree에 파일이 아닌 문자열을 입력하는 방법은 무엇입니까?
- 28. cmd에 특수 문자를 입력하는 방법은 무엇입니까?
- 29. formtastic 양식을 입력하는 방법을 강요하는 방법은 무엇입니까?
- 30. 웹 양식에 null 문자를 입력하는 방법은 무엇입니까?
질문의 배경은 무엇입니까? – starblue