Loại bỏ đối xứng tĩnh bằng kỹ thuật cố định một số tay gô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 người chơi gôn (Trang 56 - 57)

Players-F)

Kích cỡ của cây tìm kiếm chính là không gian tìm kiếm. Do vậy càng hạn chế được nhiều nhánh cây (bằng cách thêm các ràng buộc) thì không gian tìm kiếm sẽ càng nhỏ đi. Điều đặc biệt quan trọng là càng loại bỏ nhánh cây ở mức càng thấp (gần gốc) thì hiệu quả càng cao (không gian tìm kiếm càng nhỏ đi). Điều này lý giải tại sao một số lớn các ràng buộc tập trung vào tuần thứ 2 (phần 2.1).

Trong phần này, cũng đưa ra một ràng buộc nữa cho tuần thứ hai. Do các tay gôn ở nhóm cuối trong tuần thứ nhất sẽ luôn luôn là phần tử cuối cùng của các nhóm kể từ tuần thứ hai trở đi (vì các nhóm được sắp theo thứ tự tăng dần). Chính vì vậy mà ta có đề xuất thêm ràng buộc cho tuần thứ hai như sau: Các tay gôn trong nhóm cuối cùng ở tuần thứ nhất được gán lần luợt (theo trật tự tăng dần) vào các nhóm cuối của tuần thứ hai (xem bảng 2.3, các phần tử 10, 11, 12 được cố định trong tuần thứ 2)

1 2 3 4 5 6 7 8 9 10 11 12

1 4 7 2 ? 10 3 ? 11 ? ? 12

Bảng 2.3: Kỹ thuật cốđịnh phần tử cho trường hợp 4-3-w

Hẳn nhiên, nó là kỹ thuật không bảo toàn nghiệm cho trường hợp g < s (Bảo toàn cho trường hợp g=s). Nhưng cũng thật ngạc nhiên, thực tế nó lại rất hiệu quả trong nhiều trường hợp. Tất nhiên ở đây có sự thỏa thuận giữa tính bảo toàn nghiệm và tính hiệu quả.

56

CHƯƠNG 3. CÁC MÔ HÌNH CÙNG PHƯƠNG PHÁP GIẢI SGP

Sở dĩ phần này được giới thiệu sau Chương 2 là vì hầu hết các mô hình đều sử dụng những kỹ thuật loại bỏ đối xứng tĩnh (phần 2.1). SGP có nhiều mô hình. Đây cũng là một lý do tại sao SGP tạo được sự thú vị. Trong phần này ta cần quan tâm đến hai vấn đề, đó là mô hình hóa bài toán và phương pháp giải (kỹ thuật, thuật toán). Mô hình hóa bài toán liên quan đến hai vấn đề: chọn biến

chọn ràng buộc. Trong thực tế, thì hai vấn đề này gần như nhau vì việc

chọn biến phụ thuộc rất lớn vào việc chọn ràng buộc. Ta sẽ thấy, SGP có nhiều cách mô hình khác nhau, điều quan trọng là mô hình nào có ràng buộc dễ thực thi trong môi trường lập trình ràng buộc.

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