2012-03-01 42 views
6

Đầu tiên, bạn đề nghị làm sách để học prolog. Thứ hai, có cách nào dễ dàng để tải nhiều tệp .pl cùng một lúc không? Hiện tại, chỉ cần thực hiện một lần tại một thời điểm với ['name.pl'] nhưng thật khó chịu khi làm nhiều lần. Tôi cũng đang sử dụng this để tìm hiểu.Câu hỏi cơ bản về Prolog

Cảm ơn

+0

Tôi cũng muốn đề cập đến cuốn sách của Ivan Bratko, "Lập trình Prolog cho trí tuệ nhân tạo", được ca ngợi (xứng đáng như vậy) cho phong cách trình bày rõ ràng và sáng suốt của nó. –

Trả lời

5

Đầu tiên, chào mừng bạn đến với Prolog! Tôi nghĩ bạn sẽ thấy nó xứng đáng và thú vị.

Những cuốn sách tôi thường xuyên thấy được đề nghị là The Art of Prolog, Lập trình Prologkhoản và Effect. Tôi có Nghệ thuậtLập trình và cả hai đều là sách đẹp; Nghệ thuật chắc chắn là bách khoa toàn thư hơn và Lập trình là tuyến tính hơn. Tôi tham khảo Nghệ thuậtThủ công nhiều lần gần đây và một số thứ khác lạ hơn (Ngữ pháp logic chẳng hạn). Tôi hy vọng sẽ mua Lập trình Prolog ở chiều sâu tiếp theo. Tôi không nghĩ có rất nhiều sách Prolog tồi tệ ở đó nên cố gắng tránh. Tôi có lẽ sẽ tiết kiệm CraftThực hành cho sau này.

Bạn có thể tải nhiều file cùng một lúc bằng cách liệt kê chúng:

:- [file1, file2, file3]. 

Ngoài ra, vì 'name.pl' kết thúc trong '.pl' bạn có thể bỏ qua các dấu ngoặc kép; các dấu nháy đơn chỉ thực sự cần thiết nếu Prolog không mang theo một nguyên tử thông thường.

Hy vọng điều này sẽ giúp và chúc may mắn trên hành trình của bạn. :)

3

Nếu bạn có khuynh hướng giới thiệu toán học, Logic, Programming and Prolog (2ED) là một cuốn sách thú vị, của Nilsson và Maluszinski.

Lập trình trong Prolog, bởi Clocksin và Mellish, là sách giáo khoa giới thiệu cổ điển.

4

Trong SWI-Prolog, cũng kiểm tra:

?- make. 

để tự động tải lại các file đã được thay đổi kể từ khi họ được tham vấn.

4

Bạn có thể xem this question. Có một vài cuốn sách hay được đề xuất ở đó.

2

Tôi sẽ không lặp lại các lựa chọn cổ điển đã được đề cập trong các câu trả lời khác, nhưng tôi sẽ thêm ghi chú về Lập trình Prolog trong chiều sâu của Michael Covington, Donald Nute và Andrew Vellino. Hai chương tôi muốn làm nổi bật là các chương về số truy tìm bằng taycác quy tắc có thể giải quyết được.Trước đây cho bạn thấy làm thế nào để theo dõi một tính toán Prolog trên bút chì và giấy một cách hiệu quả và hữu ích. Sau này cho bạn thấy làm thế nào để tạo mã Prolog hỗ trợ các quy tắc có thể giải quyết được. Không giống như các quy tắc bạn quen với Prolog hoặc thành công hoặc thất bại hoàn toàn và không bị ảnh hưởng bởi bất kỳ điều gì không được nêu trong quy tắc, quy tắc có thể xảy ra có thể thành công trên thông tin được nêu trong quy tắc. làm cho biểu thức nói chung là đúng nhưng có ngoại lệ dễ dàng hơn theo cách nhỏ gọn và dễ hiểu. Nói một cách rõ ràng hơn, quy tắc không thể giải quyết được là một quy tắc không thể áp dụng cho một số trường hợp mặc dù những trường hợp đó làm hài lòng các điều kiện của nó, bởi vì một số kiến ​​thức ở nơi khác trong cơ sở tri thức ngăn chặn nó áp dụng.

Đó là một khái niệm hấp dẫn mà tôi không tìm thấy trong các sách khác.