Sự đối xứng trong SGP

Một phần của tài liệu Luận văn: Lập trình ràng buộc với bài toán người chơi gôn docx (Trang 50 - 52)

Như trên đã nói (phần 1.2) SGP có hai khó khăn chính, trong đó khó khăn thứ hai là do yêu cầu của bài toán, ta không thể thay đổi được yêu cầu đó. Trong Luận văn này sẽ tập trung giải quyết khó khăn thứ nhất, đó chính là tính đối xứng cao trong SGP.

SGP được đại diện bởi bộ ba g-s-w. Bài toán có (s!)gw(g!)ww!(gs)! đối xứng (con số này sẽ tăng lên rất nhanh theo cỡ của bài toán). Khi giải CSPs có những mục đích cần chỉ ra:

50 ƒ Tất cả các nghiệm

ƒ Nghiệm tối ưu

Tùy theo yêu cầu của bài toán, nhiều khi không cần phải loại bỏ toàn bộ đối xứng trong bài toán; mà có khi chỉ quan tâm đến việc phát hiện ra nghiệm càng nhanh càng tốt (như thách thức của SGP 8-4-w, w=10?). Như vậy ở đây cần có sự thỏa hiệp giữa chi phí dùng để loại bỏ đối xứng và việc tiết kiệm những công việc phải làm. Ngoài ra, nói chung, loại bỏ được đối xứng càng sớm càng tốt.

Chúng ta có riêng định nghĩa đối xứng cho SGP[20]:

Định nghĩa 1.2

Hai nghiệm của SGP được coi là tương đương nếu một nghiệm đạt được từ nghiệm còn lại nếu áp dụng bất kỳ một chuỗi trong các thao tác sau đây:

1. Các tay gôn trong nhóm có thể bị thay đổi (φP)

2. Các nhóm trong tuần có thể bị thay đổi (φG)

3. Các tuần có thể bị thay đổi (φW)

51

CHƯƠNG 2. LOẠI BỎĐỐI XỨNG BẰNG PHƯƠNG PHÁP TĨNH TRONG BÀI TOÁN SGP

Khi giải bài toán SGP nói riêng và CSPs nói chung thường chúng ta gặp phải tính chất đối xứng trong nghiệm (trong cả ràng buộc [8]), khi đó có hai cách loại bỏ đối xứng: tĩnh và động. Tĩnh là phương pháp thêm ràng buộc trước khi tìm kiếm nghiệm, còn động là phương pháp thêm ràng buộc trước khi tìm kiếm nghiệm. Trong phần này sẽ giới thiệu phương pháp tĩnh trong việc loại bỏ đối xứng đối với riêng bài toán SGP. Phần này được giới thiệu trước vì hầu hết các phương pháp và các mô hình ít nhiều đều sử dụng chúng.

Một phần của tài liệu Luận văn: Lập trình ràng buộc với bài toán người chơi gôn docx (Trang 50 - 52)