Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 120 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
120
Dung lượng
1,19 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SỸ KHOA HỌC LẬP TRÌNH RÀNG BUỘC VỚI BÀI TỐN NGƯỜI CHƠI GƠN NGHÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ: NGUYỄN VĂN HẬU Người hướng dẫn khoa học: PGS TS NGUYỄN THANH THUỶ TS FRANCISCO AZEVEDO HÀ NỘI 2006 MỤC LỤC LỜI NÓI ĐẦU .4 KÍ HIỆU VÀ Ý NGHĨA CÁC TỪ VIẾT TẮT PHẦN I GIỚI THIỆU VỀ LẬP TRÌNH RÀNG BUỘC PHẦN II NHỮNG CƠ SỞ VỀ BÀI TOÁN THỎA MÃN RÀNG BUỘC 18 CHƯƠNG GIỚI THIỆU NHỮNG KHÁI NIỆM CƠ BẢN 18 1.1 Những định nghĩa quan trọng CSP 18 1.1.1 Định nghĩa miền nhãn 18 1.1.2 Định nghĩa ràng buộc 20 1.1.3 Định nghĩa thỏa mãn 21 1.1.4 Định nghĩa toán thỏa mãn ràng buộc (CSP): 22 1.1.5 Nhiệm vụ toán CSP 23 1.2 CSP cho ràng buộc nhị phân 24 1.3 Một vài ví dụ 24 1.3.1 Bài toán N-quân hậu 24 1.3.2 Bài toán SEND+MORE=MONEY 25 CHƯƠNG GIẢI BÀI TOÁN THỎA MÃN RÀNG BUỘC 27 2.1 Rút gọn toán (Problem redution) 27 2.1.1 Các định nghĩa 27 2.1.2 Việc rút gọn toán: 28 2.1.3 Bài toán tối thiểu 29 2.2 Tìm kiếm nghiệm 30 2.2.1 Thuật toán quay lui đơn giản (Simple Backtracking) 30 2.2.2 Không gian tìm kiếm CSPs 32 2.2.3 Đặc tính tổng qt khơng gian tìm kiếm CSPs 34 2.2.4 Kết hợp tìm kiếm rút gọn toán 35 2.2.5 Những điểm chọn tìm kiếm 35 CHƯƠNG THUẬT TỐN NHẰM RÚT GỌN VÀ TÌM KIẾM LỜI GIẢI CHO BÀI TOÁN 40 3.1 Một số thuật toán nhằm rút gọn thuật toán 40 3.2 Một số thuật tốn nhằm tìm kiếm lới giải cho toán 41 PHẦN III BÀI TỐN NGƯỜI CHƠI GƠN .43 Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn CHƯƠNG GIỚI THIỆU BÀI TOÁN 44 1.1 Giới thiệu 44 1.2 Những vấn đề cần giải toán 46 1.3 Sự đối xứng tốn lập trình ràng buộc 46 1.3.1 Định nghĩa đối xứng CSPs 46 1.3.2 Các phương pháp loại bỏ đối xứng 48 1.4 Sự đối xứng SGP 49 CHƯƠNG LOẠI BỎ ĐỐI XỨNG BẰNG PHƯƠNG PHÁP TĨNH TRONG BÀI TOÁN SGP 51 2.1 Loại bỏ đối xứng tĩnh 51 2.2 Loại bỏ đối xứng tĩnh kỹ thuật hạn chế miền (ND) 53 2.3 Loại bỏ đối xứng tĩnh kỹ thuật cố định số tay gôn 55 CHƯƠNG CÁC MƠ HÌNH CÙNG PHƯƠNG PHÁP GIẢI SGP 56 3.1 Mơ hình dùng biến tập 56 3.2 Mơ hình dùng biến nguyên 57 3.3 Mơ hình kết hợp biến tập biến ngun 58 3.4 Mơ hình AMPL 60 CHƯƠNG LOẠI BỎ ĐỐI XỨNG BẰNG PHƯƠNG PHÁP THÊM RÀNG BUỘC TRONG THỜI GIAN TÌM KIẾM CHO SGP 62 4.1 Phương pháp SBDS 62 4.1.1 Giới thiệu SBDS 62 4.1.2 SBDS cho SGP 65 4.2 Phương pháp SBDD 66 4.2.1 Giới thiệu SBDD 66 4.2.2 SBDD với DFS 68 4.2.3 SBDD áp dụng vào SGP 69 4.2.4 Kết áp dụng SBDD cho SGP 71 4.2.5 So sánh SBDS SBDD 73 CHƯƠNG MỘT SỐ PHƯƠNG PHÁP LOẠI BỎ ĐỐI XỨNG ĐỘNG KHÁC CHO SGP 75 5.1 Loại bỏ đối xứng với Intelligent-Backtracking (IB) 75 5.1.1 Ý tưởng thuật toán 75 Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 5.1.2 Thuật tốn 77 5.2 Local Search cho SGP 79 5.2.1 Mơ hình 79 5.2.2 Lân cận (Neighborhood) thành phần Tabu 79 5.2.3 Thuật toán 80 CHƯƠNG LOẠI BỎ ĐỐI XỨNG BẰNG PHƯƠNG PHÁP TĨNH VÀ THÊM RÀNG BUỘC DƯ THỪA ĐỂ GIẢI SGP 81 6.1 Loại bỏ đối xứng SGP nhiều điểm nhìn 81 6.1.1 Một số khái niệm quan trọng 81 6.1.2 Loại bỏ đối xứng phương pháp nhiều “điểm nhìn” 82 6.2 Loại bỏ đối xứng hạn chế miền cố định số tay gôn 88 6.3 So sánh với số kỹ thuật khác 90 CHƯƠNG GIẢI SGP TRONG MỘT SỐ TRƯỜNG HỢP ĐẶC BIỆT VÀ MỐI LIÊN QUAN VỚI CÁC HÌNH VUÔNG LATIN TRỰC GIAO 97 7.1 Giới thiệu thuật toán 97 7.2 Một số thảo luận kết xung quanh thuật toán 99 7.3 Liên hệ SGP với hình vng Latin trực giao 101 7.3.1 Giới thiệu hình vng Latin trực giao 101 7.3.2 Mối liên hệ MOLS SGP 104 7.3.3 Mối liên hệ SGP MOLR 106 PHẦN IV KẾT LUẬN 107 TÀI LIỆU THAM KHẢO 113 Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn LỜI NĨI ĐẦU Người mà tơi xin dành cảm ơn kính trọng đặc biệt PGS TS Nguyễn Thanh Thủy Không sách làm tơi say mê với “Trí tuệ Nhân tạo” Thầy mà Thầy người trực tiếp hướng dẫn tơi Chính Thầy người tin tưởng tạo điều kiện tốt cho tơi hồn thành Luận văn tốt nghiệp Chắc chắn khơng thể nói hết tình cảm mà tơi muốn nói, muốn cảm ơn tới TS Francisco Azevedo Thầy người ngồi viết chương trình sửa lỗi cho tơi Mọi thắc mắc tơi Thầy giải đáp cịn Thầy coi người bạn, với tôi, Thầy người bạn lớn Tôi muốn dành lời cảm ơn tới TS Trần Đình Khang, người có giúp đỡ tơi, động viên nhiều mặt tinh thần Tôi xin cảm ơn tới tất đồng nghiệp khoa CNTT, trường ĐHSPKT Hưng Yên, đặc biệt Th.S Ngô Hữu Tình, Th.S Nguyễn Minh Quý Th.S Nguyễn Đình Hân, họ nguồn động viên lớn cho Xin cảm ơn người bạn tốt tôi: Việt, Lý, Chuẩn, Hiếu, Thế, Zhang Dong, Manoela, họ cổ vũ chia sẻ với điều sống Những người cuối mà xin dành lời cảm ơn, gia đình tơi Họ ln điểm tựa mãi Mọi điều làm, nghĩ tới họ Lisbon, Ngày 26 tháng 10 năm 2006 Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn ACKNOWLEDGEMENTS The first person I would like to thank and respect specially is Prof Nguyen Thanh Thuy Not only the first book that I read made me interested in “Artificial Intelligence”, but also he is my excellent supervisor He believed in me, gave me a good change to my thesis If he had not taught and led me, probably I could have not got this thesis I am sure that there are not enough words to thank Prof Francisco Azevedo for all things he have been doing for me since I came here He helped me with the first steps from “Prolog” to “Constraint Programming” He read, try to understand and correct for my program I have learnt lots of things from him He invited me to go to his home, enjoin dinner with him and take me around Lisbon many times He is so kind, thoughtful He is a outstanding person He consider me as a friend, for me, he is my great friend I also would like to thank Dr Tran Dinh Khang for his help and support me during the time I have done the thesis My acknowledgements to all my colleagues, especially M.Sc.Ngo Huu Tinh, M.Sc.Nguyen Minh Quy, and M.Sc.Nguyen Dinh Han for encouraging me a lot Thank you to my best friend: Viet, Ly, Chuan, Hieu, The, Zhang Dong, and Manoela, they have been encouraging me in everything The last people I would like to thank are my family, all of them help, support, love me during whole my life They are my the first fulcrum and forever Everything I do, I it for them Lisbon, 26 September, 2006 Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn KÍ HIỆU VÀ Ý NGHĨA CÁC TỪ VIẾT TẮT Viết tắt Ý nghĩa CSP, CSPs Bài toán thỏa mãn ràng buộc CLP Lập trình Logic Ràng buộc CP Lập trình Ràng buộc SGP Bài tốn người chơi gơn SB Loại bỏ đối xứng SBDS Loại bỏ đối xứng thời gian tìm kiếm SBDD Loại bỏ đối xứng dựa vào ưu ND Kỹ thuật hạn chế miền F Kỹ thuật cố định số tay gôn NDF Kết tốt ND F DFS Tìm kiếm theo chiều sâu BT Quay lui NC Thỏa mãn điều kiện cho ràng buộc AC Thỏa mãn điều kiện cho ràng buộc hai ngơi MOLS Tập hình vng Latin trực giao MOLR Tập hình chữ nhật Latin trực giao Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn Ký hiệu Ý nghĩa P Chỉ toán thỏa mãn ràng buộc Z X Chỉ tập biến CSP D Chỉ miền cho tồn biến CSP C Lập trình Logic Ràng buộc n Số tay gơn tốn “Người chơi gơn” g Số nhóm tuần s Số phần tử nhóm w Số tuần đạt Gi,j Chỉ tay gôn tuần thứ i nhóm thứ j Gi,j(n) Chỉ tay gơn tuần thứ i nhóm thứ j vị trí n |S| Số phần tử tập S φP Đối xứng nhóm (các tay gơn thay đổi) φG Đối xứng tuần (các nhóm thay đổi) φW Đối xứng tuần (các tuần thay đổi) φX Đối xứng tay gơn (các tay gơn hốn vị ) N(n) Số hình vng lớn từ tập MOLS cấp n N(m×n) Số hình chữ nhật lớn từ tập MOLR cấp m×n r MOLS(n) Có r hình vng Latin trực giao cấp n r MOLR(m×n) Có r hình chữ nhật Latin trực giao cấp m×n Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn PHẦN I GIỚI THIỆU VỀ LẬP TRÌNH RÀNG BUỘC Lập trình ràng buộc (Constraint Programming - CP) phát triển thú vị mạnh mẽ ngơn ngữ lập trình thập kỷ gần đây[5, 7,10,11,24,28,36,37] Được xây dựng sở lý thuyết tốn học vững chắc, phát triển đặc biệt thu hút quan tâm mạnh mẽ việc áp dụng vào lĩnh vực thương mại, trở thành phương pháp mơ hình hóa cho nhiều loại toán tối ưu, cụ thể ràng buộc có hỗn tạp tốn tìm kiếm có tính tổ hợp Lý giải cho quan tâm CP thật đơn giản Ngôn ngữ lập trình đời sớm FORTRAN-66, gần với cấu trúc vật lý máy tính Vì vậy, xu hướng ngơn ngữ lập trình mang lại tự cho người lập trình việc định nghĩa đối tượng thủ tục tương ứng với thực thể thao tác miền ứng dụng Ngơn ngữ lập trình hướng đối tượng (Object Oriented Programming Language) cung cấp kỹ thuật tốt cho việc khai báo thành phần để kiểm soát hành vi thực thể miền toán cụ thể Tuy nhiên, ngơn ngữ lập trình truyền thống, bao gồm ngơn ngữ lập trình hướng đối tượng, cung cấp hỗ trợ với thực thể mà người lập trình muốn diễn tả ràng buộc quan hệ Người lập trình mong muốn vai trị ngơn ngữ để trì quan hệ tìm đối tượng thỏa mãn Ví dụ, xét định luật Ơm sau: U=I x R, Cơng thức mơ tả mối quan hệ hiệu điện thế, cường độ dịng điện điện trở Trong ngơn ngữ lập trình truyền thống, người lập trình khơng thể dùng quan hệ cách trực tiếp, thay vào phải mã hóa thành câu Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn lệnh mà từ việc tính tốn giá trị thành phần dựa thành tố lại Vì vậy, I suy từ U R công thức sau: I:= U/R, Nhưng giá trị tính từ hai thành phần cịn lại, công thức khác lại phát sinh: R:= U/I, Việc địi hỏi người lập trình mơ tả trì quan hệ đối tượng lập trình hợp lý cho ứng dụng có sử dụng Tuy nhiên nhiều ứng dụng, vấn đề quan trọng mơ hình quan hệ tìm đối tượng thỏa mãn Vì lý mà từ cuối năm 60, có nhiều chuyên gia quan tâm đến ngơn ngữ lập trình cho phép người lập trình đơn giản hóa quan hệ trạng thái đối tượng Nó vai trị thực thi nhằm đảm bảo quan hệ hay ràng buộc trì Những ngôn ngữ coi ngôn ngữ CP (Constraint Programming) Ban đầu ngôn ngữ CP thành công với số phần Chúng bổ trợ cho ngôn ngữ truyền thống với việc giải ràng buộc kỹ thuật không định trước đơn giản Những ngôn ngữ phần lớn phụ thuộc vào phương pháp lan truyền cục (local propagation) Phương pháp “lan truyền cục bộ” dùng ràng buộc để gán giá trị vào biến chưa biết từ giá trị biết cho biến khác ràng buộc Ví dụ, định luật Ơm tính tốn giá trị R, I V từ hai giá trị biết Bài toán với lan truyền cục phương pháp giải ràng buộc quan hệ yếu Ví dụ, khơng thể dùng để giải phương trình xảy đồng thời X= Y-Z X= 2Y+Z Như việc dựa lan truyền cục ngơn ngữ thời kỳ đầu có hai điểm yếu: Những thuận lợi giải ràng buộc Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 105 Chúng ta xem bảng sau: week group1 group group 1 9 8 Bảng 7.7: Một nghiệm cho trường hợp 3-3-4 Khi chuyển mơ hình sang dạng khác (chính V1 phần 6.1) Formatted: Font: Italic bảng sau: Golfer week 1 1 2 3 Formatted: Font: Bold 2 3 3 3 2 Formatted: Font: Bold Formatted: Font: Bold Formatted: Font: Bold Formatted: Font: Bold 3 Formatted: Font: Bold Bảng 7.8: Nghiệm cho trường hợp 3-3-4 mơ hình lấy nhóm làm giá trị Từ trở ta ký hiệu r hình vng Latin tập MOLS(n) r Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic MOLS(n) Formatted: Font: Italic Như vậy, với tập 2MOLS(3) tô đậm xây dựng nghiệm SGP cho trường hợp 3-3-4 Formatted: Font: Italic e Tóm lại với n lũy thừa số nguyên tố n=p , có (n-1) MOLS(n) xây dựng nghiệm cho SGP với trường hợp n-n- Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 106 (n+1) Như tổng quát so với thuật toán đề xuất thuật Formatted: Font: Italic toán [13] Từ suy trường hợp muốn tìm nghiệm SGP cho trường hợp g-g-n tương đương với việc tìm ta (n-2) MOLS(g) Đây Formatted: Font: Italic Formatted: Font: Italic Formatted: Font: Italic thực liên hệ thú vị Hơn nữa, ta khẳng định thuật tốn đề xuất dễ dàng cải tiến (phần 7.1) để tạo tập (n-1) MOLS(n) n nguyên tố Formatted: Font: Italic Formatted: Font: Italic (tức e =1, [9]) 7.3.3 Mối liên hệ SGP MOLR Trong [21] tóm tắt phương pháp xây dựng nghiệm cho SGP từ tập Formatted: Font: 14 pt, Not Bold, Font color: Black MOLR(m×n) Ở xin đưa cách tạo dựng thú vị sau: Formatted: Font: 14 pt, Not Bold, Font color: Black Sharma Das’s Formatted: Font: 14 pt, Italic, Font color: Black r MOLR(m×n) tương ứng với g- s - w SGP Formatted: Font: 14 pt, Font color: Black Formatted: Font: 14 pt, Italic, Font color: Black (g =n)- (s=m)- (w=r+1) (nếu g không chia hết cho s) (w >r+1) (nếu g chia hết cho s) Formatted: Font: 14 pt, Font color: Black Formatted: Font: 14 pt, Italic, Font color: Black Mathtalk-ga’ Formatted: Font: Italic r MOLR(m×n) tương ứng với g- s - w SGP (g =n)- (s=r+1)- (w=m) (nếu g khơng chia hết cho s) (w >m+1) (nếu g chia hết cho s) Đây thực liên hệ thú vị, tìm nhiều nghiệm Formatted: Font: Italic Formatted: Font: Not Italic Formatted: Font: Italic Formatted: Font: 14 pt, Font color: Black Formatted: Font: Italic Formatted: Font: Italic cho SGP cách nhanh chóng (so với lập trình ràng buộc), đồng thời chúng Formatted: Font: 14 pt, Font color: Black đưa nghiệm mới, góp phần bổ sung đáng kể vào tập Formatted: Font: Italic Formatted: Font: 14 pt, Italic, Font color: Black nghiệm cho SGP Formatted: Font: 14 pt, Font color: Black Formatted: Font: 14 pt, Font color: Black Formatted: Font: 14 pt, Not Bold, Font color: Black Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 107 PHẦN IV KẾT LUẬN Theo cách giải truyền thống với tốn tổ hợp khó, có hai cách tiếp cận truyền thống: Hoặc thực thủ cơng thuật tốn giải xác lập trình truyền thống, mơ hình tốn dùng thuật tốn có sẵn cho lớp ràng buộc số học cụ thể Hạn chế phương pháp thứ việc thiết kế địi hỏi chi phí lớn khơng dễ biến đổi tốn thay đổi Hạn chế phương pháp thứ hai không dễ diễn tả hiệu ràng buộc miền ứng dụng đủ mềm dẻo hiệu cho phép kinh nghiệm miền để giải chúng Ngơn ngữ CP đại khắc phục điểm yếu cách cung cấp ngơn ngữ lập trình dựa việc giải ràng buộc tinh vi Điều có nghĩa người lập trình viết chương trình kỹ thuật giải chung cung cấp việc thực thi ngôn ngữ Chúng ta biết tốn có ràng buộc, cơng việc tìm giá trị biến thỏa mãn ràng buộc Lập trình ràng buộc tỏ rõ hiệu toán mà việc u cầu mơ tả ràng buộc mang tính mềm dẻo Và ngày lập trình ràng buộc thể rõ vai trị mạnh mẽ việc giải toán liên quan đến thực sống, ngày lĩnh vực ứng dụng trở nên phong phú (toán học, y học, kinh tế, vật lý, tin học,…) Phần II, Luận văn kiến thức cô đọng cho CSPs: định nghĩa với khái niệm quan cho CSPs; Luận văn nêu thảo luận cách khái lược giải CSPs, kỹ thuật áp dụng nhằm biến đổi toán cho toán sau biến đổi gọn dễ giải Luận văn tốt nghiệp nêu tổng quan thuật tốn tìm kiếm nhân tố định q trình tìm nghiệm tốn Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 108 Trong phần III, phần đóng góp chủ yếu Luận văn, giới thiệu trình bày hệ thống cho phù hợp với tiêu chí cho việc giải SGP: mơ hình khác nhau, kỹ thuật khác nhau, phương pháp giải khác nhau, kết hợp chúng Đồng thời Luận văn so sánh mơ hình, phương pháp khác Luận văn tốt nghiệp giới thiệu toán với kiến thức cần thiết cho toán “Người chơi gơn” Từ chúng ứng dụng cho phần sau Tiếp đến giới thiệu số kỹ thuật, ràng buộc nhằm loại bỏ đối xứng tĩnh tốn, phương pháp khác sử dụng phần (hoặc hầu hết) kỹ thuật phần này, đồng thời đưa kỹ thuật để áp dụng cho việc giải SGP Hai kỹ thuật Kỹ thuật ND: Đây ràng buộc dư thừa, khơng làm nghiệm toán Làm bớt khả xét trình tìm kiếm Nó dễ dàng áp dụng cho phương pháp khác Kỹ thuật F: Tuy khơng bảo tồn tính nghiệm cho tốn, nhiều trường hợp giúp tốn giải thời gian nhanh (Bài toán Kirkman, hay tốn SGP cho trường hợp 8-4-9) Sau đó, Luận văn giới thiệu bốn mơ hình thường áp dụng cho việc giải SGP (có thể tham khảo thêm mơ hình SAT cho SGP[18]) Từ nêu đặc trưng mơ hình áp dụng giải SGP Vì tính đặc thù CSPs tính đối xứng toán (đối xứng nghiệm, đối xứng ràng buộc) gây tốn thời gian chi phí cho việc tìm kiếm nghiệm (chúng ta phải tìm kiếm lại khơng gian nghiệm mà đáng suy từ phần khác xét) Do việc loại bỏ đối Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn Deleted: PHẦN III: BÀI TỐN NGƯỜI CHƠI GƠN¶ ¶ Phần chúng tơi giới thiệu tốn đồng thời giới thiệu số kiến thức tảng Từ chúng tơi tiếp cận tốn với mơ hình phương pháp khác để so sánh thảo luận Ở phần cuối chúng tơi có giải trường hợp đăc biệt toán (khi s=g số nguyên tố) có kết luận xung quanh Phần phần đóng góp trọng tâm đồ án 109 xứng yêu cầu tự nhiên thiết yếu Một kỹ thuật áp dụng phổ biến lĩnh vực CSPs kỹ thuật loại bỏ đối xứng động giải SGP Nhưng tính đặc thù phương pháp, tách làm hai phần Phần thứ nói việc áp dụng kỹ thuật loại bỏ đối xứng thời gian tìm kiếm SBDS SBDD cho SGP nêu vài điểm nhằm so sánh chúng Phần hai giới thiệu hai phương pháp loại bỏ đối xứng động cho SGP Intelligent Backtracking (thực thi quay lui thông minh) Local Search Phần tiếp theo, Luận văn tập trung vào việc loại bỏ đối xứng tĩnh giải SGP Chương cuối đưa phương pháp đề xuất với so sánh kết với phương pháp trình bày phần trước Ta có so sánh kết thực nghiệm với phương pháp: Phương pháp SBDD (thực thi ILOG Solver 5.0 400MHz Ultrasparc-II) Phương pháp đánh giá tốt phương pháp SBDS Ta có kết luận sau: o Hầu hết trường hợp mà SBDD giải được giải phương pháp đề xuất thời gian nhỏ giây! (bao gồm tốn Kirkman’s School) o Đã tìm nghiệm tối ưu (số tuần nhiều hơn) nhiều trường hợp Phương pháp Local Search (thực thi C, 3.06GHz-processor, 512MB RAM) Trong [13, 21] nhận xét có nhiều trường hợp mà giải lập trình ràng buộc khó khăn Local Search giải cách dễ dàng ngược lại Tuy nhiên số Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn Formatted: Font: 14 pt, Italic, Font color: Black 110 trường hợp khơng tìm nghiệm tối ưu so với SGLS thời gian 10 phút Tuy nhiên tìm nghiệm nhiều SGLS trường hợp khó (7-7-8, 8-4-9, 8-8-9) Phương pháp nhiều “điểm nhìn” (ILOG Solver 4.4 với máy Sun Ultra 5/400, 256 MB RAM) Sau so sánh ta đưa khẳng định sau: o Hầu hết trường hợp phương pháp nhiều “điểm nhìn” giải giải phương pháp đề xuất thời gian giây o Có nhiều trường hợp phương pháp nhiều “điểm nhìn” cần đến 20, 30 thâm chí 60 phút, cần giải vịng xấp xỉ giây! o Luận văn tốt nghiệp giải nhiều trường hợp phương pháp nhiều “điểm nhìn” giải thời gian lớn (thậm chí giờ): 6-4-5, 8-3-5, 5-4-4, 6-4-3, 7-4-3, 8-5-2 Trong đó, giải với nghiệm tối ưu (đạt nhiều tuần hơn) thời gian phút Phương pháp IB (được thực thi C++, Pentium 4/ 2.4GHzprocessor) Ta có kết luận sau: o Trong phút hầu hết trường hợp mà phương pháp Intelligent Backtracking giải phương pháp NDF giải thời gian chấp nhận o Có hai trường hợp NDF khơng tối ưu Intelligent Backtracking (6-4-6 6-4-5) cụ thể số tuần NDF đạt hai trường hợp Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn Formatted: Font: 14 pt, Italic, Font color: Black Formatted: Font: 14 pt, Italic, Font color: Black 111 o Có trường hợp mà NDF giải với số nghiệm tối ưu (hơn 1,2,3,4 tuần) so với phương pháp Intelligent Backtracking Trong chương 7, Luận văn có nêu thuật toán để giải SGP cho trường hợp p-p-(p+1), p ngun tố, mà khơng tốn thời gian tìm kiếm Từ thuật toán này, rút kết luận thuật tốn dùng để giải cho trường hợp tổng quát number- number – với number số Cũng từ thuật toán này, tạo cách xây dựng tập MOLS Trên sở đó, Luận văn giải thích mối liên hệ thú vị SGP hình vng Latin trực giao (MOLS) Như từ toán Kirkman’ schoolgirls, tưởng toán đố vui, tốn “Người chơi gơn” xuất phát từ câu hỏi thực tế; Luận văn tiếp cận giới thiệu kỹ thuật CSPs để giải cho SGP Việc giải SGP liên quan nhiều đến toán tổ hợp ( Trong SGP (s-1)w=gs-1, tương đương với tốn “Balanced Incomplete Block Design” I.1 [9], “Steiner Triples”, MOLS, …) Chính chúng có tương đồng, bổ trợ; giải vấn đề tác động đến vấn đề lại, thúc đẩy tạo phát triển chung Có nhiều phương pháp, mơ hình để giải SGP Tuy nhiên tất mơ hình muốn loại bỏ đối xứng nhiều tốt (vì SGP tốn CSPs có tính đối xứng lớn) tĩnh, động kết hợp hai Việc khó khăn giải SGP khó khăn chung cho cộng đồng ràng buộc phải đối mặt với việc giải CSPs Mong muốn tương lai kết hợp kỹ thuật đề xuất với kỹ thuật khác SBDD hay SBDS để nâng hiệu việc tìm kiếm nghiệm cho SGP Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 112 Ngồi thấy có nhiều hướng để phát triển Luận văn như: Phát triển phương pháp (SBDS, SBDD, Intelligent Backtracking, Multiple-viewpoints, Local Search, thêm ràng buộc dư thừa…) Mỗi phương pháp, mơ hình ưu nhược trường hợp riêng Nếu có thể, nghiên cứu kết hợp phương pháp (Local Search + Ràng buộc dưa thừa, SBDD + ràng buộc dư thừa, SBDD + IB, …), có kết hợp mơ hình, … Việc giải SGP cơng việc khó, địi hỏi phải có kết hợp phương pháp chí cần tìm thêm phương pháp mới, cách tiếp cận Đây tạo tiền đề mong muốn cho nghiên cứu tương lai Bất chấp nỗ lực cộng đồng ràng buộc, trường hợp 8-4-10 số trường hợp khác SGP mở Nhưng thách thức thúc đẩy cộng đồng ngày phát triển công nghệ ràng buộc để ngày phù hợp với tốn khó thực tế Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 113 TÀI LIỆU THAM KHẢO Tiếng Việt Nguyễn Thanh Thủy, (1996), Trí tuệ nhân tạo: Các phương pháp giải vấn đề, NXBGD Việt Nam Tiếng Anh Azevedo F (2006), “An Attempt to Dynamically Break Symmetries in the Social Golfers Problem”, Azevedo et al (eds): Proceedings of the 11th Annual ERCIM Workshop on Constraint Programming (CSCLP'2006), pp 101–115 Azevedo F., Van Hau N (2006), “Extra Constraint for the Social Golfers Problem”, The 13th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, Phnom Penh, Cambodia, 13th - 17th November (Short paper) Anderson I., Honkala I (1997), “A Short Course in Combinatorial Designs”, http://www.utu.fi/~honkala/cover.html Association for Constraint Programming, http://slash.math.unipd.it/acp/ Barnier N., and Brisset P (2002), “Solving the Kirkman's Schoolgirl Problem in a Few Seconds”, Proceeding of Principles and Practice of Constraint Programming - CP 2002, Springer Verlag,, LNCS 2470, pp 477–491 Barták R., http://ktiml.mff.cuni.cs/~bartak/constraints/ Cohen D., Jeavons P., Jefferson C., Karen E P and Smith B (2005) “Symmetry Definitions for Constraint Programming”, Proceeding of Principles and Practice of Constraint Programming - CP 2005, Springer Verlag, LNCS 3709, pp 17-31 Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 114 Colbourn C J., and Dinitz J H.(1996), “The CRC Handbook of Combinatorial Design”, CRC Press, Boca Raton, FL 10 Constraint Programming online, http://www.cp-online.org/ 11.Constraints Archive, http://4c.ucc.ie/web/archive/index.jsp 12.Crawford J., Luks G., Ginsberg M., and Roy A (1996), “Symmetry breaking predicates for search problems”, Proceeding of the 5th Int Conf on Knowledge Representation and Reasoning, (KR ’96), pp 148–159 13.Dotu I., and Van Hentenryck P (2005), “Scheduling Social Golfers Locally”, Proceedings of the Second International Conference on the Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CP-AI-OR’05), Springer Verlag, LNCS 3524, pp 155–167 14.Fahle S., Torsten, Stefan, and Sellmann M “Symmetry breaking”, Proceeding of Principles and Practice of Constraint Programming - CP 2001, Springer Verlag, LNCS 2239, pp 93–107 15 Flener P., Frisch A., Hnich B., Kiziltan Z., Miguel I., Walsh T (2002), “Breaking row and column symmetry in matrix models”, Proceeding of Principles and Practice of Constraint Programming - CP 2002, Springer Verlag, LNCS 2470, pp 462-476 16.Focacci F., and Milano M “Global cut framework for removing symmetries”, Proceeding of Principles and Practice of Constraint Programming - CP 2001, Springer Verlag, LNCS 2239, pp 77–92 17.Frisch A., Hnich B., Kiziltan Z., Miguel I., Walsh T (2002), “Global constraints for lexicographic orderings”, Proceeding of Principles and Practice of Constraint Programming - CP 2002, Springer Verlag, LNCS 2470, pp 93-108 Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 115 18.Gent I.P and Lynce I (2005), “A SAT Encoding for the Social Golfer Problem”, Proceeding of IJCAI'05 workshop on Modelling and Solving Problems with Constraints 19.Gent I.P., and Smith B (2000), “Symmetry breaking during search in contraint programming”, W Horn, editor, EACI’2000, pp 599–603 20.Harvey W (2001), “Symmetry Breaking and the Social Golfer Problem”, Proceedings of SymCon-01: Symmetry in Constraints, pp 9–16 21 Harvey W and Winterer T (2005) “Solving the MOLR and Social Golfers Problems”, Proceedings of the 11th International Conference on Constraint Programming (CP-2005) 22.Karen E P (2003), “Comparison of Symmetry Breaking Method”, Proceeding of Principles and Practice of Constraint Programming - CP 2003, Springer Verlag, LNCS 2833, pp 990 23.Kiziltan Z (2004), “Symmetry Breaking Ordering Constraints”, PhD thesis, Department of Information Science, Uppsala University 24.Kzrysztof R.Apt (2003), Princeples of Constraint Programming, Cambridge Press 25.Law Y.C., and Lee J.H.M (2003), “Expressing symmetry breaking constraints using Multiple Viewpoints and channeling constraints”, Processing of the third International Workshop on Symmetry in Constraint Satisfaction Problem (SymCon’03), pp 127–141 26.Law Y.C., and Lee J.H.M (2005), “Breaking value symmetries in matrix models using channeling constraints”, Processing of the 20th Annual ACM Symposium on Applied Computing (SAC-2005), pp 375–380 27.Law Y.C., and Lee J.H.M (2006), “Symmetry Breaking Constraints for Value Symmetries in Constraint Satisfaction” Constraints (2006) to Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gôn 116 appear 17th ECAI, European Conference on Artificial Intelligence, IOS Press 28.Marriott K., and Stuckey P.J (1998), Programming with Constraints: An Introduction, MIT Press 29 Programming Systems Group of the Swedish Institute of Computer Science (2005), SICStus Prolog User’s Manual 30.Puget J.-F (1993), “On the Satisfiability of Symmetrical Constraint Satisfaction Problems” Proceedings of ISMIS’93 (1993), pp 350–361 31.Puget J.-F (2002), “Symmetry breaking revisited”, Proceeding of Principles and Practice of Constraint Programming - CP 2002, Springer Verlag, LNCS 2470, pp 446–461 32.Puget J.F (2005), “Breaking symmetries in all different problems”, Proceeding of 19th IJCAI (2005), pp 272-277 33.Sellmann M., and Van Hentenryck P (2005), “Structural symmetry breaking”, Proceeding of IJCAI'05 workshop on Modelling and Solving Problems with Constraints 34.Sellmann M., and Harvey, W (2002), “Heuristic constraint propagation – Using local search for incomplete pruning and domain filtering of redundant constraints for the social golfer problem”, Proceedings of the Fourth International Workshop on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimisation Problems (CPAI-OR’02), pp 191–204 35.Smith B (2001), “Reducing Symmetry in a Combinatorial Design Problem” Proceedings of the International Conference on the Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CP-AI-OR’01), pp 351–359 36.Tsang E (1993), Foundations of Constraint Satisfaction, Academic Press Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 117 37.Van Hentenryck P (1989), Constraint Satisfaction in Logic Programming, MIT Press 38.Walsh T (2006) “General Symmetry Breaking Constraints”, Proceeding of Principles and Practice of Constraint Programming - CP 2006, LNCS 4204, pp 650–664 39 http://csplib.org/ 40 http://mathworld.wolfram.com/KirkmansSchoolgirlProblem.html 41 http://www.icparc.ic.ac.uk/~wh/golf/ 42 http://www.icparc.ic.ac.uk/eclipse/examples/golf.pl.txt 43 http://www.cs.brown.edu/people/sello/solutions.html Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn Page 94: [1] Formatted Hau 9/22/2006 6:34:00 PM Hau 9/22/2006 6:34:00 PM Hau 9/22/2006 6:14:00 PM Hau 9/22/2006 6:14:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Font: Bold Page 94: [1] Formatted Font: Bold Page 94: [2] Formatted Font: 14 pt Page 94: [2] Formatted Font: 14 pt Page 94: [3] Formatted Font: 14 pt Page 94: [3] Formatted Font: 14 pt, Not Bold Page 94: [3] Formatted Font: 14 pt Page 94: [4] Formatted Font: 14 pt Page 94: [4] Formatted Font: 14 pt, Not Bold Page 94: [4] Formatted Font: 14 pt Page 94: [5] Formatted Font: 14 pt Page 94: [5] Formatted Font: 14 pt, Not Bold Page 94: [5] Formatted Font: 14 pt Page 94: [6] Formatted Font: 14 pt Page 94: [6] Formatted Font: 14 pt, Not Bold Page 94: [6] Formatted Font: 14 pt Page 94: [7] Formatted Font: 14 pt Page 94: [7] Formatted Font: 14 pt, Not Bold Page 94: [7] Formatted Font: 14 pt Page 94: [8] Formatted Font: 14 pt Page 94: [8] Formatted Font: 14 pt, Not Bold Page 94: [8] Formatted Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:32:00 PM Hau 9/22/2006 6:37:00 PM Hau 9/22/2006 6:37:00 PM Font: 14 pt Page 94: [9] Formatted Font: 14 pt Page 94: [9] Formatted Font: 14 pt, Not Bold Page 94: [9] Formatted Font: 14 pt Page 94: [10] Formatted Font: 14 pt Page 94: [10] Formatted Font: 14 pt, Not Bold Page 94: [10] Formatted Font: 14 pt Page 94: [11] Formatted Font: 14 pt Page 94: [11] Formatted Font: 14 pt, Not Bold Page 94: [11] Formatted Font: 14 pt Page 94: [12] Formatted Font: 14 pt Page 94: [12] Formatted Font: 14 pt, Not Bold Page 94: [12] Formatted Font: 14 pt Page 94: [13] Formatted Font: 14 pt Page 94: [13] Formatted Font: 14 pt, Not Bold Page 94: [13] Formatted Font: 14 pt Page 94: [14] Formatted Font: 14 pt, Not Bold Page 94: [14] Formatted Font: Not Bold Page 94: [15] Formatted Font: Italic Page 94: [15] Formatted Font: Bold ... sĩ Lập trình ràng buộc tốn người chơi gơn KÍ HIỆU VÀ Ý NGHĨA CÁC TỪ VIẾT TẮT Viết tắt Ý nghĩa CSP, CSPs Bài toán thỏa mãn ràng buộc CLP Lập trình Logic Ràng buộc CP Lập trình Ràng buộc SGP Bài. .. văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn PHẦN I GIỚI THIỆU VỀ LẬP TRÌNH RÀNG BUỘC Lập trình ràng buộc (Constraint Programming - CP) phát triển thú vị mạnh mẽ ngôn ngữ lập trình thập... vấn ràng buộc cho sở liệu, mở rộng sở liệu quan hệ cách cho phép chứa biến ràng buộc; ngôn ngữ lập trình hàm ràng buộc, Luận văn thạc sĩ Lập trình ràng buộc tốn người chơi gơn 17 ngơn ngữ lập trình