Mam problem z uzyskaniem kodu, który zwraca unikalne odpowiedzi na moje zapytanie. Na przykład, definiowanieDuplikaty rozwiązań
stuff(A,B,C) :- A=C ; B=C.
morestuff([],[],[]).
morestuff([A|AA],[B|BB],[C|CC]) :- stuff(A,B,C), morestuff(AA,BB,CC).
następnie uruchomiony
morestuff([A,A],[A,B],[a,b]).
daje wyjście:
A = a
B = b ? ;
A = a
B = b ? ;
yes.
Jak widać oba rozwiązania są takie same. Czy istnieje sposób na uzyskanie PROLOG, aby zwrócić unikalne rozwiązania, i, e. dać wyjście:
A = a
B = b ? ;
yes.
+1 za prolog pytanie. Nie widzę ich tu zbyt często. –
To pytanie zostało już omówione na http://stackoverflow.com/questions/724358/ – Kaarel