데이터 로그가 세트 또는 멀티 세트에서 작동합니까? 프롤로그에도 똑같이 적용됩니까? 나는 그것에 관한 어떠한 문서도 찾을 수 없었다.데이터 로그 및 프롤로그의 의미는 무엇입니까?
2
A
답변
3
Datalog의 의미는 유한 집합에 정의됩니다.
그러나 Prolog는 응답 대체 시퀀스를 제공하고 Prolog의 경우 제약 조건 응답을 제공합니다. 답 대체는 X = 1
과 같은 단순한 솔루션 일 수도 있지만 X = [_A,_B,_C]
과 같이 무한히 많은 솔루션을 나타낼 수도 있습니다. 대답 대체 시퀀스는 다중 세트로 볼 수 있지만 정밀 시퀀스가 중요하기 때문에 좀 더 일반적입니다. X = 1 ; X = 2 ; X = 1
에서와 같습니다.
제약 조건에 대한 일반적인 답은 개념을 조금 더 확장합니다. 대답 X in 2..sup, X mod 2 #= 0
에는 무한히 많은 해결책이 포함되어 있으며, 또한 많은 수의 X in 1..3
또는 심지어 X in 2..sup, X mod 2 #= 0, X mod 2 #= 1
의 아무 것도 포함 할 수 없습니다.
Prolog는 멀티 세트를 처리하기위한 술어를 가지고 있는데, 이것이 당신이 요구하는 것이라면 ("프롤로그 멀티 세트"라고 말함). –
고마워요 @ScottHunter. 프롤로그가 기본적으로 세트에서 작동한다는 것을 의미합니까? – JRR
프롤로그의 기본 데이터 구조는 * 목록 *이며, 이는 종종 세트처럼 사용되지만 둘 다 중복 및 존중 순서를 허용합니다. –