1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG VÀO BÀI TOÁN SẮP XẾP THỜI KHÓA BIỂU Ở TRƯỜNG THPT

54 1,4K 12

Đ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

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 386,63 KB

Nội dung

NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG VÀO BÀI TOÁN SẮP XẾP THỜI KHÓA BIỂU Ở TRƯỜNG THPT

TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT HƯNG YÊN KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG VÀO BÀI TOÁN SẮP XẾP THỜI KHÓA BIỂU Ở TRƯỜNG THPT Giáo Viên Hướng Dẫn: Nguyễn Hồng Điệp Khóa: 2008-2012 Hưng n, tháng 12 năm 2011 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………………………………………………………………………………… ………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………………………………………………………………………………… ………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Giáo viên hướng dẫn Nguyễn Hoàng Điệp ……………………………………………………………………………………… NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………………………………………………………………………………… ………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………………………………………………………………………………… ………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Giáo Viên Phản Biện MỤC LỤC DANH MỤC HÌNH LỜI NĨI ĐẦU Với khả nay, máy tính giúp người giải nhiều tốn khó mà trước thường bó tay Mặc dù cịn số lớn tốn thú vị chưa có thuật giải hợp lý để giải chúng Trong số tốn tối ưu thường gặp thực tiễn Trước để giải toàn tối ưu người ta thường dùng phương pháp cổ điển như: leo đồi, mô luyện thép… Với tốn có khơng gian tìm kiếm nhỏ Thì phương pháp giải tốt Nhưng với khơng gian tìm kiếm lớn, phương pháp khơng hiệu Vì vậy, điều kiện địi hỏi phải có phương pháp để giải tốt toán dạng Ngày để giải tốn tối ưu, dùng ”giải thuật di truyền” “Giải thuật di truyền” phát triển dựa mơ q trình tiến hóa sinh học Được bắt đầu Nils Aall Baricelli mơ q trình tiến hóa trị chơi năm 1954 Sau đến Alex Fraser xuất sách Artificial Selection (chọn lọc nhân tạo) Nhưng John Holland người thực đặt tên cho giải thuật “giải thuật di truyền” việc xuất sách năm 1975 Từ giải thuật có tên “giải thuật di truyền” Và với phát triển mạnh mẽ hồn thiện lý thuyết” giải thuật di truyền” Và ứng dụng giải thuật tốn thực tế Qua q trình tìm hiểu, em thấy ứng dụng “giải thuật di truyền” hay Nên sau Ngun Hồng Điệp giao số đề tài gợi ý chúng em định chọn “giải thuật di truyền” làm đề tài cho đồ án Trong trình thực tập, em xin cảm ơn hướng dẫn tận tình Nguyễn Hồng Điệp Thầy Cơ khoa giúp đỡ chúng em hoàn thiện đề tài Mặc dù chúng em cố gắng, thời gian kiến thức hạn chế Nên đồ án cịn nhiều sai sót Vì vậy, chúng em mong góp ý Thầy Cơ bạn để hoàn thiện tốt đề tài Ngày 30 tháng 12 năm 2011 Sinh viên thực CHƯƠNG I LÝ THUYẾT VỀ GIẢI THUẬT DI TRUYỀN (GENETIC ALGORITHM - GA) 1.1 Lịch sử giải thuật di truyền Trước tiên ý niệm thuật giải di truyền số nhà sinh vật học đưa từ năm 50-60, kỷ XX Alex Fraser người tiên phong nêu lên tương đồng tiến hóa sinh vật chương trình tin học giả tưởng genetic algorithm Tuy nhiên, John Henry Holland người triển khai ý tưởng phương thức giải vấn đề dựa theo tiến hóa người Từ giảng, báo mình, ơng đúc kết ý tưởng vào sách đầu tay Adaptation in Natural and Artifical systems (mô theo tự nhiên hệ thống nhân tạo ), xuất năm 1975 Dựa lý thuyết GA Holland, Keneth De Jong triển khai, chứng minh thành ông thực góp phần quan trọng việc tạo tảng toán học cho lý thuyết thuật giải di truyền Và sau John koza tiếp nối, phát triển giải thuật di truyền Lần Holland nghiên cứu thuật giải này, chúng hồn tồn khơng có tên Do nguồn gốc phương pháp từ gen di truyền, Holland đặt tên cho “thuật giải di truyền“ 1.2 Tóm tắt giải thuật di truyền Thuật giải di truyền (GA) kỹ thuật chung giúp giải vấn đề toán cách mơ tiến hóa người hay sinh vật nói chung (dựa thuyết tiến hóa mn lồi Darwin) điều kiện qui định sẵn môi trường GA thuật giải, nghĩa mục tiêu GA không nhằm đưa lời giải xác tối ưu mà đưa lời giải tương đối tối ưu Theo đề xuất ban đầu giáo sư John Holland, vấn đề-bài toán đặt mã hóa thành chuỗi bit với chiều dài cố định Nói cách xác thơng số tốn chuyển đổi biểu diễn lại dạng chuỗi nhị phân Các thơng số biến hàm hệ số biểu thức toán học Người ta gọi chuỗi bit mã genome ứng với cá thể, genome có chiều dài Nói ngắn gọn, lời giải biểu diễn chuỗi bit, giống cá thể quy định gen cá thể Như vậy, thuật giải di truyền, cá thể có gen gen phục vụ cho cá thể Ban đầu, ta phát sinh số lượng lớn, giới hạn cá thể có gen ngẫu nhiên Nghĩa phát sinh tập hợp chuỗi bit ngẫu nhiên Tập cá thể gọi quần thể ban đầu (initial population) Sau đó, dựa hàm đó, ta xác định giá trị gọi độ thích nghi - Fitness Giá trị này, hiểu độ "tốt" lời giải Vì phát sinh ngẫu nhiên nên độ "tốt" lời giải hay tính thích nghi cá thể quần thể ban đầu khơng xác định Để cải thiện tính thích nghi quần thể, người ta tìm cách tạo quần thể Có hai thao tác thực hệ để tạo hệ khác với độ thích nghi tốt Thao tác chép nguyên mẫu nhóm cá thể tốt từ hệ trước đưa sang hệ sau (selection) Thao tác đảm bảo độ thích nghi hệ sau giữ mức độ hợp lý Các cá thể chọn thông thường cá thể có độ thích nghi cao Thao tác thứ hai tạo cá thể cách thực thao tác sinh sản số cá thể chọn từ hệ trước – thơng thường cá thể có độ thích nghi cao Có hai loại thao tác sinh sản : lai tạo (crossover), hai đột biến (mutation) Trong thao tác lai tạo, từ gen hai cá thể chọn hệ trước phối hợp với (theo số quy tắc đó) để tạo thành hai gen Thao tác chọn lọc lai tạo giúp tạo hệ sau Tuy nhiên, nhiều hệ khởi tạo ban đầu có đặc tính chưa phong phú chưa phù hợp nên cá thể không rải hết không gian tốn Từ đó, khó tìm lời giải tối ưu cho tốn Thao tác đột biến giúp giải vấn đề 10 Đó biến đổi ngẫu nhiên nhiều thành phần gen cá thể hệ trước tạo cá thể hoàn toàn thệ sau Nhưng thao tác phép xảy với tần suất thấp (thường 0.01), thao tác gây xáo trộn làm cá thể chọn lọc lai tạo có tính thích nghi cao, dẫn đến thuật tốn khơng cịn hiệu Thế hệ tạo lại xử lý hệ trước (xác định độ thích nghi tạo hệ mới) có cá thể đạt giải pháp mong muốn đạt đến thời gian giới hạn Tóm lại: Một thuật giải di truyền (hay chương trình tiến hóa bất kỳ) giải toán cụ thể phải gồm năm thành phần sau đây: - Cách biểu diễn nhiễm sắc thể cho lời giải toán - Cách khởi tạo quần thể ban đầu - Hàm lượng giá đóng vai trị mơi trường, đánh giá lời giải theo mức độ thích nghi chúng - Các phép toán di truyền - Các tham số khác(kích thước quần thể,Pc , Pm …) Lược đồ GA: Input: toán tối ưu max f(x) không gian x € X Output: nghiệm tốt f, x0 € X f(x0) đạt lân cận max Method Khởi tạo quần thể ban đầu với n cá thể Lặp m buớc, bước phát sinh quần thể theo quy trình sau 2.1 Lai ghép: 40 Phần áp dụng thực thi cho tất lớp, tương ứng với lớp có file lưu trữ tất lịch lớp mà sử dụng, hình thức nhiễm sắc thể quẩn thể Ngồi mục đích xem xét kiểm tra, chúng cịn dùng làm thơng tin để chạy lịch sau 2.2.1.5 Chọn lọc Trong toán ta dùng phương pháp chọn lọc tự nhiên dựa vào độ thích nghi vịng quay bánh xe Roulette Thuật giải chọn lọc roulette(Davis, [1991,8]) sau: Tính tổng giá trị thích nghi tất thành viên quần thể gọi tổng thích nghi (total fitness) Phát sinh số n số ngẫu nhiên khoảng từ đến tổng thích nghi Trả lại thành viên quần thể mà độ thích nghi cộng với độ thích nghi thành viên quần thể trước lớn hay n… Ví dụ: o Với pop_size = o Fit[0] = 0,0032 o Fit[1] = 0,0576 o Fit[2] = 0,0264 Sum = 0,0872 Giả sử: random01() = 0,5 rand = 0,5 * 0,0872 = 0,0436 j = 0; partsum = fit[0] = 0,0032 j = 1; partsum = 0,0032 + fit[1] = 0,0608 partsum > rand  i = j = 1; select() = 1; 2.2.2 Giai đoạn 2: Xếp lịch học cho tồn trường 41 2.2.2.1 Chọn mơ hình cá thể Lịch học toàn trường bao gồm tất lịch học lớp có sở, lớp có lịch học rõ ràng có nghĩa có lịch tồn trường Dựa vào giai đoạn đầu, lớp cho hàng loạt lịch học, việc chọn ngẫu nhiên lịch học lớp khơng có khó khăn Nhìn mơ hình cá thể lịch lớp ta thấy lớp học sở có tính chất mơn học lớp, ta chọn lịch lớp học làm đơn vị nhiễm sắc thể mơ hình thuật tốn di truyền xếp lịch tồn trường Và tương tự, ta chọn thời khóa biểu tồn trường làm cá thể Ở nhiễm sắc thể số mang tính chất số file lưu trữ thông tin cá thể lịch lớp ( số lịch học lớp ) Như phạm vi giá trị nhiễm sắc thể khác nhau, ta xác định phạm vi cách rõ ràng, cần đọc giá trị kích thước file tương ứng lớp mà thơi Giống lịch lớp, cá thể lịch tồn trường phải qua giai đoạn kiểm tra ban đầu, để mức đạt dạng thời khóa biểu 2.2.2.2 Tạo quần thể ban đầu Quần thể khởi đầu gồm cá thể tạo mơ hình trên, thơng tin lớp học phải chọn buổi học thuộc sở, có file lịch lớp đầy đủ Ở kích thước cá thể số lớp có, dài hay ngắn tùy theo sở, giống lịch lớp chiều dài tính theo số mơn có lớp Cơng việc tốn nhiều thời gian, cơng việc đọc file để kiểm tra, quần thể cho kết mặt áp dụng toán vào thuật giải di truyền 42 2.2.2.3 Độ thích nghi - chọn cá thể Giai đoạn hội tụ cá thể quần thể, việc đánh giá sở tùy theo số lớp, số học số phòng học Phòng học phải hợp lý sức chứa lớp học, thơng thường người ta chọn phòng lớn cho lớp tương ứng lớn Nhưng ta chọn phương pháp khác, lớp phòng xếp theo thứ tự lớn dần Cho nên xếp lịch, lớp đặt phịng vừa mà sở có Điều thời gian thực tế hợp lý Cũng đánh giá lại ràng buộc lịch giáo viên, lần xét mặt trùng dạy lớp thời điểm Tương tự, ta sử dụng tham biến lịch dạy cho giáo viên, để ghi nhận tránh trường hợp trùng Với lần kiểm tra tương ứng với giá trị thích nghi, cuối tổng giá trị độ thích nghi cá thể Cơng việc khơng khác lịch lớp, cá thể chọn cá thể tốt nhất, giá trị thích nghi đạt mức đỉnh 2.2.2.4 Thuật toán chọn lọc, lai ghép đột biến Sử dụng lại phần xếp lịch lớp, chọn cá thể theo độ thích nghi, lai ghép ngẫu nhiên đoạn đột biến hoán vị điểm Do giống mặt liệu, yêu cầu cấu trúc thuật tốn khơng khác nhiều, việc dùng lại này, khơng gây ảnh hưởng q trình thực xếp lịch Một lần nói thời gian thực thi, nhiều thời gian công việc xếp lịch lớp, số lượng phạm vi ràng buộc lớn phải đọc liệu file Nhưng mặt hoạt động không khác 2.2.2.5 Chọn điểm dừng thuật tốn Đã nói giai đoạn phần áp dụng thuật giải di truyền vào toán, điểm dừng thuật toán dựa độ thích nghi Một số toán chọn điểm dừng theo số hệ, dựa tính tương đối kết quả, với tốn cần có kết thúc tuyệt đối tốt nhất, mặt dù số 43 hệ phải chọn trước từ đầu Vì tính chất u cầu tốn khơng bị sai lệch Nếu trình thực thi qua giai đoạn, cần kết không đạt đến điểm dừng, xem tốn khơng có kết 44 CHƯƠNG III PHÂN TÍCH THIẾT KẾ BÀI TỐN 3.1 Phân tích thiết kế với UML 3.1.1 Biểu đồ Use Case Hình Biểu đồ Use Case mức tổng quát 45 3.1.2 Biểu đồ Tuần tự 3.1.2.1 Biểu đồ Tuần tự chức Đăng nhập Hình 3: Biểu đồ chức “Đăng nhập” 3.1.2.2 Biểu đồ chức “sắp xếp TKB” Hình 4:Biểu đồ chức “sắp xếp TKB” 46 3.1.2.3 Biểu đồ chức “cập nhật thông tin TKB” bao gồm Nhập, Sửa, Xóa Hình 5: Biểu đồ chức “cập nhật thông tin TKB” 3.1.2.4 Biểu đồ chức “xem thời khóa biểu theo giáo viên” Hình 6: Biểu đồ chức “xem thời khóa biểu theo giáo viên” 47 3.1.2.5 Biểu đồ chức “xem thời khóa biểu theo lớp” Hình 7: Biểu đồ chức “xem thời khóa biểu theo lớp” 3.1.3 Biểu đồ Lớp Hình 8: Biểu đồ lớp mức Tổng quát 3.2 Thiết kế sở liệu toán 3.2.1 Cơ sở liệu 48 Hình 9: Cơ sở liệu 3.2.2 Mơ tả bảng Cơ sở liệu 3.2.2.1 Bảng tblToMon Bảng liệu chứa thông tin tổ môn trường Mỗi tổ mơn có mã tên riêng Bảng thuộc tính: STT Tên thuộc tính MaToMon Kiểu liệu Nvarchar(50) Ràng buộc Primary key TenToMon Nvarchar(50) Not null Mô tả Mã để phân biệt tổ môn Tên tổ môn 3.2.2.2 Bảng tblGiaoVien Bảng liệu chứa thông tin giáo viên, giáo viên có mã riêng thơng tin cá nhân giáo viên Bảng thuộc tính: STT Tên Thuộc tính Kiểu liệu MaGV Nvarchar(50) TenGV DiaChi SDT Nvarchar(50) Nvarchar(100 ) Int Email Nvarchar(50) Ràng buộc Mô tả Primary key Mã giáo viên để phân biệt giáo viên với GV khác Not null Tên giáo viên Địa liên lạc giáo viên Số điện thoại liên lạc giáo viên Địa email liên lạc 49 MaToMon Nvarchar(50) foreign key giáo viên Khóa ngoại liên kết bảng tblGiaovien tblToMon 3.2.2.3 Bảng tblMonhoc Bảng liệu chứa thông tin môn học, thông tin bao gồm: STT Tên thuộc tính MaMonHoc Kiểu liệu Nvarchar(50) TenMonHoc SoTiet MaToMon Nvarchar(50) Int Nvarchar(50) Ràng buộc Mô tả Primary key Mã môn học, để phân biệt môn học với môn học khác Tên môn học Số tiết học môn foreign key Khóa ngoại liên kết bảng tblMonHoc tblToMon 3.2.2.4 Bảng tblHocKy Bảng liệu bao gồm thông tin sau: STT Tên thuộc tính MaHocKy NamHoc Kiễu liệu Nvarchar(50) Nvarchar(50) Ràng buộc Mô tả Primary key Mã học kỳ Năm học 3.2.2.5 Bảng tblLop Bảng chứa thông tin tất lớp Bao gồm thông tin sau: STT Tên thuộc tính MaLop TenLop Siso MaHocKy 3.2.2.6 Kiểu liệu Nvarchar(50) Nvarchar(50) Int Nvarchar(50) Ràng buộc Mô tả Primary key Mã lớp Tên lớp Sĩ số lớp foreign key Khóa ngoại liên kết bảng tblLop bảng tblHocKy Bảng tblGiangDay Bảng chứa thông tin chung bảng, liên kết bảng lại thành cấu trúc chặt chẽ Bảng bao gồm thông tin sau: 50 STT Tên thuộc tính MaGiangDay MaLop Kiểu liệu Nvarchar(50) Nvarchar(50) MaMon Nvarchar(50) MaGV Nvarchar(50) Length batDauGD Nvarchar(50) Nvarchar(50) ketthucGD Nvarchar(50) Ràng buộc Mô tả Primary key Mã thơng tin giảng dạy foreign key Khóa ngoại liên kết tới bảng tblLop foreign key Khóa ngoại liên kết tới bảng tblMaMon foreign key Khóa ngoại liên kết tới bảng tblGiaoVien Tổng thời gian Thời gian bắt đầu giảng dạy Thời gian kết thúc giảng dạy 51 CHƯƠNG IV KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết đạt - Nghiên cứu giải thuật di truyền áp dụng phân tích tốn xếp thời khóa - biểu Xây dựng demo mơ giải thuật di truyền ngơn ngữ lập trình C# 4.2 Hạn chế, hướng phát triển 4.2.1 Hạn chế - Chưa xây dựng thành cơng chương trình xếp thời khóa biểu 4.2.2 Hướng phát triển - Tiếp tục xây dựng chương trình xếp thời khóa biểu cho trường trung học phổ thông 52 TÀI LIỆU THAM KHẢO [1] Nguyễn Đình Thúc, Lập trình tiến hóa, Nhà xuất Giáo dục (http://www.box.net/public/pbuo21pcrp) [2] Nguyễn Đình Thái, Trí tuệ nhân tạo - Lập trình tiến hóa (http://ngocchistar.gocom.vn/ebook/Tin-Hoc-Lap-Trinh-p34704c54641/tri-tuenhan-taolap-trinh-tien-hoa-i37988) [3] Hồn Kiếm, Lê Hoàng Thái, Giải thuật di truyền, cách giải tự nhiên tốn máy tính, NXB Giáo dục, 2000 [4] PTS Nguyễn Thanh Thủy , Trí tuệ nhân tạo – Các phương pháp giải vấn đề kỹ thuật xử lý tri thức, NXBGiáo dục, 1995 [5] Nguyễn Quang Hoan, Nhập môn TTNT, Tài liệu nội [6] Stuart J Russell and Peter Norvig, Artifical Intelligence: A Modern Approach, Prentice Hall Second edition, 2002 … Một số báo-báo cáo [1] THUẬT GIẢI DI TRUYỀN VÀ ỨNG DỤNG [2] A PSEUDO GENETIC ALGORITHM FOR SOLVINGBEST PATH PROBLEM S Behzadi, Ali A.Alesheikh [3] Genetic Algorithm Finding the ShortestPath in Networks c?a Bilal Gonen [4] Genetic Algorithms in Search, Optimizationand Machine Learning [5] A Genetic Algorithm Approach to Solve theShortest Path Problem for Road Maps c?a Sachith Abeysundara, BaladasanGiritharan, Saluka Kodithuwakku [6] Introduction to Genetic Algorithms Assaf Zaritsky Ben-Gurion University, Israel www.cs.bgu.ac.il/~assafza [7] Introduction to Genetic Algorithms and Evolutionary Computation Andrew L Nelson http://s.pudn.com/search_hot_en.asp?k=genetic+algorithm# ... cho giải thuật ? ?giải thuật di truyền? ?? việc xuất sách năm 1975 Từ giải thuật có tên ? ?giải thuật di truyền? ?? Và với phát triển mạnh mẽ hồn thiện lý thuyết” giải thuật di truyền? ?? Và ứng dụng giải thuật. .. hoạt động giải thuật di truyền Thuật gải di truyền dựa tảng lý thuyết biểu di? ??n chuỗi nhị phân lý thuyết sơ đồ 1.12 Ứng dụng thuật giải di truyền Trên thực tế, giải thuật di truyền ứng dụng thành... đưa vào trình Lấy nghiệm End 12 Hình 1:Sơ đồ tổng quát giải thuật di truyền 13 1.3 Cách biểu di? ??n toán giải thuật di truyền (hay chọn cách biểu di? ??n cấu trúc liệu cho toán) Để áp dụng giải toán

Ngày đăng: 08/10/2015, 00:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w