Một số thuật toán nhằm tìm kiếm lời giải cho bài toán

Một phần của tài liệu lập trình ràng buộc với bài toán n quân hậu (Trang 25)

Nhƣ đã giới thiệu ở chƣơng 2 rằng việc tìm kiếm là một trong những chiến lƣợc đƣợc quan tâm nhất trong khi giải CSP. Chúng ta có phân ra thành các chiến lƣợc tìm kiếm cơ bản sau:

(1) Các chiến lƣợc tìm kiếm tổng quát

Những chiến lƣợc này đƣợc phát triển trong những ứng dụng thông thƣờng, và nó không dùng ràng buộc để đạt tính hiệu quả.

Có hai chiến lƣợc trong phần này:

 Tìm kiếm quay lui tuần tự (chronological backtracking)

 Tìm kiếm mở rộng lặp (iterative broadening-IB) (2) Các chiến lƣợc nhìn về phía trƣớc (lookahead)

Chiến lƣợc lookahead sẽ thực hiện việc rút gọn bài toán thôngqua việc áp dụng các ràng buộc. Chiến lƣợc này dựa trên thực tế rằng biến và ràng buộc là hữu hạn, và ràng buộc có thể đƣợc áp dụng kết hợp với nhau nhiều lần.

Có ba chiến lƣợc trong phần này:

 Kiểm tra phía trƣớc (Forward Checking- FC)

 AC-kiểm tra phía trƣớc có định hƣớng (Directional AC-L)

 AC-kiểm tra phía trƣớc (AC-L)

Chiến lƣợc sẽ ghi lại các tình huống dẫn đến lỗi bất cứ khi nào quay lui cần đến trong thời gian tìm kiếm. Điều này giúp chúng ta tránh đƣợc những nhánh lỗi đã biết. Chiến lƣợc này khám phá ra rằng nhiều cây con tƣơng tự với những nhánh khác đã xét.

Có hai chiến lƣợc trong phần này:

 Quay lui định hƣớng phụ thuộc (BackJumping - BJ)

 Thuật toán học từ phần không gian đã xét (Learningnogood compound labels- LNCL)

PHẦN III

BÀI TOÁN N-QUÂN HẬU TRÊN BÀN CỜ

Chắc hẳn mọi ngƣời không lạ gì với bài toán 8-quân hậu, ở đây ta xét bài toán trên “bàn cờ vua” đƣợc mô tả nhƣ hình sau:

Hình 3: Bàn cờ vua

Bài toán giống nhƣ một trò chơi vui hơn thế xung quanh bài toán còn có nhiều vấn đề thú vị khác mà chúng ta sẽ cùng tìm hiểu trong những nội dung sau.

Từ bài toán này ngƣời ta tổng quát thành bài toán n-quân hậu và có thể giải bằng nhiều thuật toán, phƣơng pháp khác nhau. Ở bài Luận văn này, chúng tôi sẽ cố gắng phân tích, trình bày bài toán phù hợp với việc giải bài toán thỏa mãn ràng buộc(CSPs), đồng thời so sánh với các phƣơng pháp khác.

CHƢƠNG 1. GIỚI THIỆU BÀI TOÁN

Một phần của tài liệu lập trình ràng buộc với bài toán n quân hậu (Trang 25)