Giải thuật di truyền và ứng dụng vào bài toán lập thời khóa biểu

56 933 2
Giải thuật di truyền và ứng dụng vào bài toán lập thời khóa biểu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 1 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG NGUYỄN THỊ HỒNG GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG VÀO BÀI TOÁN LẬP THỜI KHÓA BIỂU LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH Thái Nguyên – 2013 S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 2 MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT 4 DANH MỤC CÁC BẢNG 5 DANH MỤC CÁC HÌNH 6 LỜI MỞ ĐẦU 7 CHƢƠNG 1. GIẢI THUẬT DI TRUYỀN TRONG KHAI PHÁ DỮ LIỆU 9 1.1 Quá trình khai phá dữ liệu và giải thuật di truyền (GA) 9 1.1.1 Quá trình khai phá dữ liệu 9 1.1.2 Giải thuật di truyền 12 1.2 Các khái niệm cơ bản về GA 13 1.2.1 Nhiễm sắc thể 13 1.2.2 Quần thể, thế hệ, toán tử di truyền, tiến hóa 15 1.2.3 Hàm thích nghi 15 1.2.4 Chọn lọc 15 1.2.5 Lai ghép 18 1.2.6 Đột biến 20 1.2.7 Chiến lƣợc nạp lại quần thể 21 1.3 Mô hình GA 23 1.4 Không gian tìm kiếm và điều kiện dừng của GA 24 1.4.1 Không gian tìm kiếm 24 1.4.2 Điều kiện dừng của GA 25 1.5 Đặc điểm và ứng dụng của GA 25 1.5.1 Đặc điểm của GA 25 1.5.2 Ứng dụng của GA 26 CHƢƠNG 2. BÀI TOÁN THUỘC LỚP NP 27 VÀ BÀI TOÁN LẬP THỜI KHÓA BIỂU 27 S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 3 2.1 Lớp các bài toán NP 27 2.1.1 Một số khái niệm: 27 2.1.2 NP-khó và NP-đầy đủ 27 2.1.3 Tối ƣu hóa đa mục tiêu 28 2.2. Bài toán lập thời khóa biểu 29 2.2.1 Một số khái niệm cơ sở 33 2.2.2 Mô hình bài toán 34 CHƢƠNG 3. XÂY DỰNG BÀI TOÁN THỜI KHOÁ BIỂU DỰA TRÊN GIẢI THUẬT DI TRUYỀN 37 3.1 Bài toán lập thời khóa biểu ở trƣờng Cao đẳng Công nghệ và Kinh tế Hà Nội . 37 3.1.1 Giới thiệu 37 3.1.2 Nội dung hoạt động nghiệp vụ 37 3.2 Áp dụng giải thuật di truyền vào bài toán lập thời khóa biểu 38 3.2.1 Các toán tử di truyền đối với bài toán hỗ trợ xếp thời khóa biểu 38 3.2.2 Thiết kế cơ sở dữ liệu 43 3.3. Cài đặt chƣơng trình 50 3.4. Đánh giá kết quả thử nghiệm 50 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 4 DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT TT Từ viết tắt Tiếng Anh Nghĩa Tiếng Việt 1 GA Genetic Algorithm giải thuật di truyền 2 EC Evolutionary computation tính toán tiến hóa 3 EP Evolutionary Programming quy hoạch tiến hóa 4 ES Evolutionary Strategies các chiến lƣợc tiến hóa 5 GP Genetic Programming lập trình di truyền 6 CS Classifier Systems các hệ thống phân loại 7 MOOP Multi-objective Optimization Problem Tối ƣu hóa đa mục tiêu 8 NST nhiễm sắc thể 9 Selection chọn lọc 10 Cross-over lai ghép 11 Mutation đột biến 12 Reproduction sinh sản 13 pop-size kích cỡ quần thể 14 NP-hard bài toán NP khó 15 NP-complete bài toán NP đầy đủ 16 Fitness độ thích nghi S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 5 DANH MỤC CÁC BẢNG Bảng1: Mã hóa nhị phân độ dài 20 bit 13 Bảng2: Mã hóa hoán vị 2 NST A&B 14 Bảng3: Mã hóa giá trị các NST A, B, C 14 Bảng4: Mặt nạ lai ghép đồng nhất 19 Bảng 5: Lai ghép một điểm cắt mã hóa hoán vị 20 Bảng 6: Phép đảo bit mã hóa nhị phân 20 Bảng 7: Hoán vị thứ tự mã hóa hoán vị 21 Bảng 8: Thay đổi giá trị trong mã hóa giá trị 21 Bảng 9: Bảng chỉ số 34 Bảng 10: Bảng kiểm tra ràng buộc về phòng 40 Bảng 11: Bảng kiểm tra ràng buộc về giảng viên 40 Bảng 12: Bảng kiểm tra ràng buộc về lớp sinh viên 41 S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 6 DANH MỤC CÁC HÌNH Hình 1: Xác suất của mỗi NST theo kiểu lựa chọn Roulet 16 Hình 2: Lựa chọn xếp hạng 17 Hình 3: Lai ghép một điểm cắt mã hóa nhị phân 18 Hình 4: Lai ghép hai điểm cắt mã hóa nhị phân 18 Hình 5: Lai ghép đồng nhất mã hóa nhị phân 19 Hình 6: Lai ghép số học mã hóa nhị phân 19 Hình 7: Chiến lƣợc nạp lại hoàn toàn 21 Hình 8: Chiến lƣợc nạp lại ngẫu nhiên 22 Hình 9: Chiến lƣợc nạp lại theo mô hình cá thể ƣu tú 22 Hình 10: Sơ đồ mô tả GA 23 Hình 11: Phân lớp tạm thời các bài toán 28 Hình 12: Ma trận cá thể 39 Hình 13: Lai ghép 1 điểm cắt 42 Hình 14: Sơ đồ giải thuật di truyền đề xuất 43 Hình 15: Nhập danh mục quản lý hình thức bài học 46 Hình 16: Quản lý danh mục loại phòng học 46 Hình 17: Quản lý danh mục lớp học 47 Hình 18: Quản lý danh mục môn học 47 Hình 19: Quản lý danh mục phòng học 48 Hình 20: Quản lý danh mục tòa nhà 48 Hình 21: Quản lý chƣơng trình đào tạo 49 Hình 22: Cập nhật chƣơng trình đào tạo khung 49 Hình 23: Cửa sổ xếp Thời khóa biểu 50 S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 7 LỜI MỞ ĐẦU Hiện nay trong ngành khoa học máy tính, việc tìm kiếm lời giải tối ƣu cho các bài toán là vấn đề luôn đƣợc các nhà khoa học đặc biệt quan tâm. Mục đích chính của các thuật toán tìm kiếm lời giải là tìm ra lời giải tối ƣu cho bài toán trong thời gian nhỏ nhất. Các thuật toán nhƣ tìm kiếm không có thông tin, vét cạn (tìm kiếm trên danh sách, trên cây hoặc đồ thị ) hoặc các thuật toán tìm kiếm có thông tin đƣợc sử dụng nhiều trong không gian tìm kiếm nhỏ. Đối với không gian tìm kiếm lớn, việc tìm kiếm các lời giải tối ƣu cho bài toán gặp nhiều khó khăn. Do đó, cần thiết phải có những thuật giải tốt và sử dụng kỹ thuật trí tuệ nhân tạo khi giải quyết các bài toán có không gian tìm kiếm lớn. Thuật giải di truyền (Genetic Algorithm - GA) là một trong những kỹ thuật tìm kiếm lời giải tối ƣu đã đáp ứng đƣợc yêu cầu của nhiều bài toán và ứng dụng. Cùng với logic mờ, GA đƣợc ứng dụng rất rộng rãi trong các lĩnh vực phức tạp. Sự kết hợp giữa GA và logic mờ đã chứng tỏ đƣợc hiệu quả trong các vấn đề khó mà trƣớc đây thƣờng đƣợc giải quyết bằng các phƣơng pháp thông thƣờng hay các phƣơng pháp cổ điển, nhất là trong các bài toán cần có sự lƣợng giá, đánh giá sự tối ƣu của kết quả thu đƣợc. Chính vì vậy, GA đã trở thành một trong những đề tài nghiên cứu thu hút đƣợc nhiều sự quan tâm và hiện nay đã và đang đem đến rất nhiều ứng dụng trong thực tiễn. Xuất phát từ thuyết tiến hóa muôn loài của Darwin, GA là một kỹ thuật chung giúp giải quyết vấn đề bài toán bằng cách mô phỏng sự tiến hóa của con ngƣời hay của sinh vật nói chung trong những điều kiện đƣợc qui định sẵn của môi trƣờng. GA là một thuật giải và mục tiêu của GA không nhằm đƣa ra lời giải chính xác tối ƣu mà là đƣa ra lời giải tƣơng đối tối ƣu. John Holland (1975) và Goldberg (1989) đã đề xuất và phát triển GA, là thuật giải tìm kiếm dựa trên cơ chế chọn lọc và di truyền tự nhiên. Thuật giải này sử dụng các nguyên lý di truyền về sự thích nghi và sự sống các cá thể thích nghi nhất trong tự nhiên. Do tính hấp dẫn và tính thời sự của khai phá dữ liệu, đặc biệt là giải thuật di truyền, tôi đã chọn đề tài “Giải thuật di truyền và ứng dụng vào bài toán lập thời S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 8 khóa biểu” làm luận văn cao học của mình. Trong đó tập trung nghiên cứu các kỹ thuật lập lịch và chọn ra một kỹ thuật tiêu biểu đề thực hiện bài toán thời khóa biểu phục vụ công tác giảng dạy của trƣờng, nơi tôi đang công tác. S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 9 Chương 1. GIẢI THUẬT DI TRUYỀN TRONG KHAI PHÁ DỮ LIỆU 1.1 Quá trình khai phá dữ liệu và giải thuật di truyền (GA) 1.1.1 Quá trình khai phá dữ liệu Theo Bách khoa toàn thƣ Việt Nam, tri thức là “kết quả của quá trình nhận thức của con người về đối tượng được nhận thức, làm tái hiện trong tư tưởng của con người những thuộc tính, những mối quan hệ, những quy luật vận động, phát triển của đối tượng và diễn đạt bằng ngôn ngữ tự nhiên hay hệ thống ký hiệu khác”. Phát hiện tri thức là một quá trình bao gồm một dãy các bƣớc lặp sau: 1. Làm sạch dữ liệu 2. Tích hợp dữ liệu 3. Chọn lựa dữ liệu 4. Chuyển đổi dữ liệu 5. Khai phá dữ liệu 6. Đánh giá các mẫu 7. Trình diễn tri thức Trong đó, khai phá dữ liệu là bƣớc quan trọng nhất trong tiến trình phát hiện tri thức. Dữ liệu là những mô tả về sự vật, con ngƣời và sự kiện trong thế giới thực. Dữ liệu bao gồm số, ký tự, văn bản, hình ảnh, đồ họa,…có một giá trị nào đó đối với ngƣời sử dụng và chúng đƣợc lƣu trữ, xử lý trong máy tính. Theo liệu bách khoa toàn thƣ, “khai phá dữ liệu ” là khâu chủ yếu trong quá trình phát hiện tri thức từ dữ liệu để trợ giúp cho việc làm quyết định trong quản lý. S ố hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 10 Khai phá dữ liệu (Data Mining-DM) là một khái niệm ra đời vào những năm cuối của thập kỷ 80. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy (regularities) trong tập dữ liệu. Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database – KDD) để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn. Trong đó, khai phá dữ liệu là một bƣớc đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu (pattern) (hay các mô hình) từ dữ liệu. Có nhiều kỹ thuật khác nhau đƣợc sử dụng để khai phá dữ liệu nhằm thực hiện hai chức năng mô tả và dự đoán. Với mỗi chức năng thì có các kỹ thuật DM tƣơng ứng với nó. Không có kỹ thuật nào tốt để áp dụng chung cho mọi trƣờng hợp. Kỹ thuật khai phá dữ liệu mô tả có nhiệm vụ mô tả các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. Một số kỹ thuật khai phá trong nhóm này là: phân cụm dữ liệu, tổng hợp, trực quan hoá, phân tích sự phát triển và độ lệch,… Kỹ thuật khai phá dữ liệu dự đoán có nhiệm vụ đƣa ra các dự đoán dựa vào việc suy diễn trên CSDL hiện thời. Một số kỹ thuật khai phá trong nhóm này là: phân lớp, hồi quy, cây quyết định, thống kê, mạng nơron, luật kết hợp,…. Một số kỹ thuật phổ biến thƣờng đƣợc sử dụng để khai phá dữ liệu hiện nay bao gồm: 1.Cây quyết định Kỹ thuật cây quyết định là một công cụ mạnh và hiệu quả trong việc phân lớp và dự báo. Các đối tƣợng dữ liệu đƣợc phân thành các lớp. Các giá trị của đối tƣợng [...]... thuật di truyền Đề giải quyết bài toán lập thời khóa biểu trọn vẹn hơn, ngƣời ta đã nghiên cứu sử dụng phƣơng pháp giải thuật di truyền và tính toán tiến hóa trên cơ sở những đặc tính nổi trội của nó Số hóa bởi Trung tâm Học liệu 31 http://lrc.tnu.edu.vn Giải thuật di truyền học có cơ chế tìm kiếm ngẫu nhiên dựa trên cơ chế tự chọn lọc tự nhiên và di truyền học Một giải thuật di truyền tiêu biểu bắt... bằng bất cứ một bài toán nào trong NP NP-đầy đủ là những bài toán khó nhất trong NP Hình 11 biểu di n cách phân lớp tạm thời các bài toán Hình 11: Phân lớp tạm thời các bài toán Bài toán “Hỗ trợ xếp thời khóa biểu thuộc vào lớp NP-khó, vì vậy không thể giải nó một cách chính xác khi kích thuớc dữ liệu đầu vào lớn Luận văn này sẽ không huớng vào tìm kiếm lời giải chính xác tốt nhất cho bài toán mà chuyển... di n sự tối ƣu hoặc giải pháp gần tối ƣu để giải quyết vấn đề Giải thuật di truyền trở thành kỹ thuật thông dụng để xử lý các vấn đề tối ƣu hóa chủ yếu dựa trên 3 lợi thế sau: - Giải thuật di truyền không kéo theo các vấn đề toán học phức tạp - Tính tuần hoàn của các toán tử di truyền làm cho giải thuật di truyền có ảnh hƣởng lớn đến việc tìm kiếm trên toàn cầu - Giải thuật di truyền rất mềm dẻo, chúng... thuật toán: là đánh giá luợng tài nguyên các loại mà các thuật toán đòi hỏi sử dụng Có hai loại tài nguyên quan trọng là thời gian và bộ nhớ Đánh giá độ phức tạp tính toán của bài toán là đƣa ra thời gian tính của thuật toán tốt nhất tổng số các thuật toán giải bài toán đã và chƣa biết Thuật toán có thời gian tính đa thức: là thuật toán mà độ phức tạp thời gian của nó trong truờng hợp xấu nhất đƣợc giới... chiến lƣợc -Các bài toán tối ƣu trên đồ thị - ví dụ nhƣ các bài toán cây khung nhỏ nhất bị ràng buộc - Tìm dạng của các phần tủ Protein - Bài toán ngƣời du lịch và lập thời gian biểu - Các hàm tạo ảnh Số hóa bởi Trung tâm Học liệu 26 http://lrc.tnu.edu.vn Chương 2 BÀI TOÁN THUỘC LỚP NP VÀ BÀI TOÁN LẬP THỜI KHÓA BIỂU 2.1 Lớp các bài toán NP 2.1.1 Một số khái niệm: Độ phức tạp của thuật toán: là đánh giá... giải thuật là dựa vào quy luật di truyền trong biến đổi, chọn lọc tự nhiên và tiến hoá trong sinh học Giải thuật di truyền tuy không phải là kỹ thuật khai phá dữ liệu đƣợc triển khai mạnh nhất trong kinh tế - xã hội, nhƣng nó có những lợi thế riêng, đặc biệt là trong ứng dụng trong ngành giáo dục với các bài toán lập lịch nhƣ sắp xếp thời khóa biểu Đây cũng là lý do mà đề tài tập trung nghiên cứu vào. .. xây dựng thuật toán Thêm vào đó, việc sử dụng đàn kiến sẽ làm cho các thuật toán ứng dụng ACO phức tạp có thể thêm một vài tập hợp các tác nhân hiệu quả để giải quyết bài toán Hiệu quả của nó đƣợc chứng minh bằng thực nghiệm và cho thấy kết quả nổi trội hơn so với các thuật toán mô phỏng tự nhiên khác nhƣ: luyện kim, di truyền, tính toán tiến hóa Đánh giá chung về các phương pháp trên: Các giải thuật. .. những bài toán nhu vậy là NP-khó Số hóa bởi Trung tâm Học liệu 27 http://lrc.tnu.edu.vn Vậy, bài toán ∏ là NP-khó nếu sự tồn tại một thuật toán có thời gian đa thức để giải nó kéo theo sự tồn tại thuật toán đa thức để giải mọi bài toán trong lớp NP Nói cách khác, nếu có thể giải một bài toán NP-khó nào đo một cách nhanh chóng, thì cũng có thể nhanh chóng giải quyết bất kỳ một bài toán nào khác Bài toán. .. và luyện kim có rất nhiều nhƣợc điểm và thƣờng không trả về kết quả nhƣ mong đợi Các giải thuật di truyền và tối ƣu đàn kiến có nhiều ƣu điểm hơn vì thế hiện nay hai phƣơng pháp này đƣợc sử dụng nhiều nhất để giải quyết các bài toán tối ƣu trong đó có bài toán xếp thời khóa biểu Xét về thời gian thực hiện chi phí thực hiện thì giải thuật tối ƣu đàn kiến tốt hơn nhƣng cũng phức tạp hơn so với giải thuật. .. Giải thuật di truyền có các đặc điểm nổi bật sau: - Giải thuật di truyền tìm kiếm nhiều đỉnh (điểm tối ƣu) cùng một lúc Các toán tử di truyền sẽ giúp trao đổi thông tin giữa các đỉnh Nhƣ vậy, khả năng kết thúc tại một điểm cực trị địa phƣơng sẽ giảm bớt - Giải thuật di truyền chỉ làm việc với các NST là mã của các lời giải Do đó với một GA có sẵn, đôi khi chỉ cần thay đổi cách biểu di n NST là có giải . 2.2. Bài toán lập thời khóa biểu 29 2.2.1 Một số khái niệm cơ sở 33 2.2.2 Mô hình bài toán 34 CHƢƠNG 3. XÂY DỰNG BÀI TOÁN THỜI KHOÁ BIỂU DỰA TRÊN GIẢI THUẬT DI TRUYỀN 37 3.1 Bài toán lập thời. nhiên. Do tính hấp dẫn và tính thời sự của khai phá dữ liệu, đặc biệt là giải thuật di truyền, tôi đã chọn đề tài Giải thuật di truyền và ứng dụng vào bài toán lập thời S ố hóa bởi Trung. NGUYÊN TRƯỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG NGUYỄN THỊ HỒNG GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG VÀO BÀI TOÁN LẬP THỜI KHÓA BIỂU LUẬN

Ngày đăng: 19/11/2014, 19:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan