là người mới bắt đầu với Prolog, tôi thấy biểu hiện giao hoán trong Prolog khá trực quan.Thay thế để diễn tả "Giao hoán" trong Prolog?
ví dụ nếu tôi muốn bày tỏ X và Y là trong một gia đình, như:
family(X,Y) :-
married(X,Y);
relative(X,Y);
father_son(X,Y).
Tôi cũng nên thêm dòng sau vào định nghĩa, để làm cho nó "giao hoán":
married(Y,X);
relative(Y,X);
father_son(Y,X).
Nhưng chúng tôi sử dụng Prolog, bởi vì chúng tôi muốn viết mã thanh lịch ... như vậy, tôi muốn hy vọng sẽ thêm một dòng duy nhất (thay vì ở trên ba) với bản gốc:
family(Y,X).
Đây là điểm LƯU Ý. nó dẫn đến untermination! tại sao prolog không như vậy "hợp lý"? và có cách nào khác để biểu hiện một dòng gọn gàng này không dẫn đến việc không tham gia?
Ngày cuối tuần tuyệt vời! watt
Tôi thấy, và nó cũng rõ ràng lý do tại sao nó unterminates. Cảm ơn! – Matt
tôi cũng khuyên bạn nên sử dụng các sự kiện riêng biệt thay vì; –
@AlexanderSerebrenik Tuyệt đối - Tôi muốn ở gần phong cách của bản gốc. Tuy nhiên, trở lại trong những ngày Prolog của tôi, tôi ưa thích nhiều quy tắc hơn ';' để dễ đọc và dễ gỡ lỗi. – dasblinkenlight