TAILIEUCHUNG - Lập Trình Logic Trong ProLog - PGS.TS. PHAN HUY KHÁNH phần 9

Cú pháp và ngữ nghĩa của Prolog đơn giản và sáng sủa, nó được người Nhật coi là một trong những nền tảng để xây dựng máy tính thế hệ thứ năm mà ở đó, thay vì phải mô tả cách giải quyết một bài toán trên máy tính, con người chỉ cần mô tả bài toán và máy tính sẽ hỗ trợ họ nốt phần còn lại. | 148 Lập trình lagich trong Prolog Hình II. 7. Một lời giải của bài toán tám quân hậu biểu diễn bởi danh sách 1 4 2 2 3 7 4 3 5 6 6 8 7 5 8 1 . Ở đây phép toán không phải là phép chia mà chỉ là cách tổ hợp hai toạ độ của một ô bàn cờ. Hình trên đây là một lời giải khác của bài toán tám quân hậu được biểu diễn dưới dạng một danh sách như sau 1 4 2 2 3 7 4 3 5 6 6 8 7 5 8 1 Từ cách biểu diễn danh sách ta cần tìm lời giải có dạng X1 Y1 X2 Y2 X3 Y3 . X8 Y8 Ta cần tìm các giá trị của các biến X1 Y1 X2 Y2 X3 Y3 . X8 Y8. Do các quân hậu phải nằm trên các cột khác nhau để không thể ăn lẫn nhau nên ta có ngay giá trị của các toạ độ X và lời giải lúc này có dạng 1 Y1 2 Y2 3 Y3 . 8 Y8 Cho đến lúc này bài toán tám quân hậu chỉ đặt ra đối với bàn cờ 8 X 8. Tuy nhiên lời giải phải dự kiến được cho trường hợp tổng quát khi lập trình. Ở đây ta sẽ thấy rằng chính trường hợp tổng quát lại đơn giản hơn bài toán ban đầu. Bàn cờ 8 X 8 chỉ là một trường hợp riêng. Để giải quyết cho trường hợp tổng quát ta chuyển kích thước 8 quân hậu thành một số quân hậu bất kỳ nào đó mỗi cột một quân hậu kể cả số cột bằng không. Ta xây dựng quan hệ solution từ hai tình huống sau 1. Danh sách các quân hậu là rỗng danh sách rỗng cũng là một lời giải vì không xảy ra sự tấn công nào. solution . 2. Danh sách các quân hậu khác rỗng và có dạng như sau X Y Others Kỹ thuật lập trình Prolog 149 Trong trường hợp thứ hai quân hậu thứ nhất nằm trên ô X Y còn những quân hậu khác nằm trong danh sách Others. Nếu danh sách này là một lời giải thì những điều kiện sau đây phải được thoả mãn 1. Những quân hậu trong danh sách Others không thể tấn công lẫn nhau điều này nói lên rằng Others cũng là một lời giải. 2. Vị trí X và Y của những quân hậu phải nằm giữa 1 và 8. 3. Một quân hậu tại vị trí X Y không thể tấn công một quân hậu nào khác trong danh sách Others. Đối với điều kiện thứ nhất quan hệ solution phải được gọi một cách đệ quy. Điều kiện thứ hai nói lên rằng Y phải thuộc về danh sách 1 2 3 4 5 6 7 8 . Ở đây ta .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.