ĐỒ ÁN GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG

60 1.4K 1
ĐỒ ÁN GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG

Đ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

MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN CHƯƠNG 1 TÌM HIỂU VỀ BÀI TOÁN LẬP LỊCH (SCHEDULING PROBLEM) 1 1.1 Tìm hiểu chung 1 1.2 Các đặc tính của bài toán lập lịch 1 1.3 Bài toán Lập Lịch Thi 2 1.3.1 Giới thiệu bài toán 2 1.3.2 Dữ liệu bài toán 2 1.4 Một số bước cơ bản để giải quyết bài toán lập lịch thi 2 CHƯƠNG 2 GIẢI THUẬT DI TRUYỀN (GAS) 3 2.1 Tìm hiểu chung về GAS 3 2.1.1 Cấu trúc giải thuật di truyền tổng quát 5 2.1.2 Những nguyên tắc cơ bản thực hiện giải thuật di truyền GAS 7 2.2. Các toán tử của giải thuật di truyền 7 2.3 Các tham số của giải thuật di truyền 8 2.4 Cách biểu diễn bài toán trong giải thuật di truyền (hay chọn cách biểu diễn cấu trúc dữ liệu cho bài toán) 8 2.4.1 Biểu diễn Gen bằng chuỗi nhị phân 8 2.4.2 Biểu diễn số thực bằng chuỗi nhị phân 9 2.4.2 Biểu diễn Gen bằng chuỗi số thực 12 2.4.3 Biểu diễn Gen bằng cấu trúc cây 13 2.5 Nguyên lý về xác định tính thích nghi 13 2.5.1 Độ thích nghi tiêu chuẩn 14 2.5.2 Độ thích nghi xếp hạng (rank method) 15 2.6 Mã hóa (Encoding) 18 2.6.1 Giới thiệu (Introduction) 18 2.6.3 Mã hóa vị trí (Permutation Encoding) 19 2.6.5 Cây mã hóa (Tree Encoding) 20 2.7 Các phương pháp chọn (Selection) 21 2.7.1 Chọn lọc Roulette(Roulette Wheel Selection) 21 2.7.2 Chọn lọc xếp hạng (Rank Selection) 21 2.7.3 Chọn lọc cạnh tranh ( Tournament Selection) 22 2.8 Các phương pháp lai tạo(crossover) và đột biến(mutation) 22 2.8.1 Binary Encoding (mã hóa nhị phân) 22 2.8.2 Permutation Encoding(Mã hóa vị trí) 24 2.8.3 Value Encoding (mã hóa theo giá trị) 24 2.8.4 Tree Encoding (Cây mã hóa) 25 2.9 Các toán tử trong giải thuật di truyền 26 2.9.1 Toán tử Chọn lọc 26 2.9.2 Toán tử lai ghép 27 2.9.3 Toán tử đột biến 28 2.9.4 Toán tử sinh sản 29 2.10 Các tham số cần sử dụng trong giải thuật di truyền 29 2.11 Điều kiện kết thúc thuật giải di truyền 29 2.12 Ứng dụng của thuật giải di truyền 30 CHƯƠNG 3 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO BÀI TOÁN SẮP XẾP LỊCH THI 31 3.1 Giai đoạn 1: Xếp lịch thi các lớp 31 3.1.1 Chọn mô hình cá thể 31 3.1.2 Tạo quần thể ban đầu 33 3.1.3 Độ thích nghi – chọn cá thể 33 3.1.4 Thuật toán lai ghép và đột biến 34 3.2 Giai đoạn 2: Xếp lịch thi cho toàn bộ cơ sở 34 3.2.1 Chọn mô hình cá thể 34 3.2.2 Tạo quần thể ban đầu 35 3.2.3 Độ thích nghi chọn cá thể 35 3.2.4 Thuật toán lai ghép và đột biến 36 3.2.5 Chọn điểm dừng thuật toán 36 CHƯƠNG 4 THIẾT KẾ HỆ THỐNG BÀI TOÁN LẬP LỊCH THI 38 4.1 Phân tích thiết kế hệ thống cơ sở dữ liệu 38 4.2 Các đối tượng của lịch thi 38 4.3 Mô tả bảng sơ đồ liên kết trong cơ sở dữ liệu 39 4.4 Chương trình thực nghiệm 43 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54 TÀI LIỆU THAM KHẢO 55

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN SINH VIÊN: HOÀNG THỊ QUỲNH HOA ĐỒ ÁN GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG Hà Nội - 2015 TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN SINH VIÊN: HOÀNG THỊ QUỲNH HOA ĐỒ ÁN GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG Chuyên ngành: Công nghệ thông tin Mã ngành: NGƯỜI HƯỚNG DẪN : THS ĐỖ THỊ THU NGA Hà Nội - 2015 LỜI MỞ ĐẦU Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho toán vấn đề nhà khoa học máy tính đặc biệt quan tâm Mục đích thuật toán tìm kiếm lời giải tìm lời giải tối ưu cho toán thời gian nhỏ 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 toán có không gian tìm kiếm nhỏ, phương pháp giải tốt Nhưng thực tiễn với không gian tìm kiếm lớn phương pháp không hiệu Vì vậy, việc đòi hỏi thuật giải chất lượng cao sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt cần thiết giải toán có không gian tìm kiếm lớn Thuật giải di truyền (genetic algorithm) kỹ thuật tìm kiếm lời giải tối ưu đáp ứng yêu cầu nhiều toán ứng dụng Thuật giải di truyền phát minh để bắt chước trình phát triển tự nhiên điều kiện quy định sẵn môi trường Các đặc điểm trình thu hút ý John Holand (ở Đại học Michigan) từ năm 1970 Holand tin gắn kết thích hợp thuật giải máy tính tạo kỹ thuật giúp giải vấn đề khó khăn giống tự nhiên diễn thông qua trình tiến hóa Trên giới nay, Thuật Giải Di Truyền kết hợp với Công nghệ thông tin ứng dụng để giải vấn đề phức tạp hệ thống điện cách hiệu Nhưng đề tài này, nghiên cứu ứng dụng Thuật giải Di truyền xếp lịch thi trường Đại học LỜI CẢM ƠN Để hoàn thành đồ án này, trước hết em xin cảm ơn thầy giáo, cô giáo Khoa Công nghệ thông tin, Trường Đại học Tài Nguyên Môi trường Hà Nội, người dạy dỗ, trang bị cho em kiến thức chuyên môn bốn năm học, giúp chúng em hiểu rõ lĩnh vực nghiên cứu để hoàn thành đề tài Em xin bày tỏ lòng biết ơn xâu sắc tới cô giáo Thạc sĩ Đỗ Thị Thu Nga, người hướng dẫn, cho em ý tưởng, bảo vướng mắc để em hoàn thành đồ án Em xin chân thành cảm ơn Hà Nội, tháng năm 2015 Sinh viên Hoàng Thị Quỳnh Hoa MỤC LỤC CHƯƠNG - TÌM HIỂU VỀ BÀI TOÁN LẬP LỊCH (SCHEDULING PROBLEM) 1.1 Tìm hiểu chung Lập lịch toán tìm kiếm chuỗi tối ưu để thực tập hoạt động chịu tác động tập ràng buộc cần phải thỏa mãn Người lập lịch cố gắng thử đến mức tối đa sử dụng cá thể, máy móc thời gian tối thiểu để hoàn thành toàn trình xếp lịch thi Vì toán lập lịch vấn đề khó giải Hiện có nhiều kỹ thuật hỗ trợ giải toán Những kỹ thuật bao gồm: tiếp cận trí tuệ nhân tạo hệ thống trí thức sở (knowledge-based systems), toán thỏa mãn ràng buộc, hệ chuyên gia, mạng Nơron tiếp cận nghiên cứu hoạt động: lập trình tính toán, lập trình động, tìm kiếm nhánh đường biên, kỹ thuật mô phỏng, tìm kiếm Tabu phương pháp nút cổ chai 1.2 Các đặc tính toán lập lịch - Tài nguyên: liệu đầu vào toán - Tác vụ: đánh giá qua tiêu chuẩn thực thời gian thực hiện, chi phí, mức tiêu thụ nguồn tài nguyên - Ràng buộc: điều kiện cần thỏa mãn để toán đưa lời giải tốt - Mục tiêu: đánh giá độ tối ưu lịch trình lời giải toán Khi mục tiêu thỏa mãn ràng buộc phải thỏa mãn 1.3 Bài toán Lập Lịch Thi 1.3.1 Giới thiệu toán Bài toán đặt vấn đề cần xếp lịch thi cho Trường Đại Học với nhiều sở học khác Cần có xếp lịch thi cho lớp phòng địa điểm, cho vừa phù hợp lại không bị trùng lịch 1.3.2 Dữ liệu toán - Danh sách sinh viên - Danh sách lớp - Danh sách khóa học - Danh sách học phần học - Danh sách giáo viên trông thi - Danh sách phòng thi - Danh sách môn thi số trình (hoặc tín chỉ) 1.4 Một số bước để giải toán lập lịch thi Bước 1: Khởi tạo liệu lịch thi Bước 2: Nhập, điều chỉnh liệu lịch thi Bước 3: Nhập, sửa, điều chỉnh ràng buộc lịch thi Bước 4: Xếp tự động lịch thi Bước 5: Điều chỉnh liệu lịch thi (nếu có thay đổi) Bước 6: Hoàn thiện lịch thi Bước 7: In ấn lịch thi Bước 8: Tổng hợp, thống kê truy vấn thông tin lịch thi CHƯƠNG - GIẢI THUẬT DI TRUYỀN (GAS) 2.1 Tìm hiểu chung GAS Genetic algorithms (Thuật giải di truyền) giải thuật mô theo trình chọn lọc tự nhiên, 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 (dựa thuyết tiến hóa muôn loài Darwin) điều kiện qui định sẵn môi trường Lấy ý tưởng từ trình tiến hóa tự nhiên, xuất phát từ lớp lời giải ban đầu, GA tiến hành tìm kiếm không gian lời giải cách xây dựng lớp lời giải tối ưu lời giải cũ Quá trình tiến hành dựa việc chọn lọc, lai ghép, đột biến từ lớp lời giải ban đầu Quần thể lời giải trải qua trình tiến hóa: hệ lại tái sinh lời giải tương đối tốt, lời giải “xấu” chết Trong GA, tập biến toán đưa ra, mã hóa sang chuỗi (hay cấu trúc mã hóa khác) tương tụ nhiễm sắc thể tự nhiên Mỗi chuỗi bao gồm giải pháp toán Giải thuật di truyền sử dụng toán tử sinh chọn lọc tự nhiên quần thể chuỗi nhị phân (hoặc cấu trúc khác), mã hóa khoảng tham số hệ, khảo sát phạm vi khác không gian tham số, định hướng tìm kiếm khoảng xác suất cao để tìm kiếm cách thực tốt Thuật toán di truyền gồm có bốn quy luật lai ghép, đột biến, sinh sản chọn lọc tự nhiên Quá trình lai ghép (phép lai) trình diễn cách ghép hay nhiều đoạn gen từ hai nhiễm sắc thể cha - mẹ để hình thành nhiễm sắc thể mang đặc tính cha lẫn mẹ Phép lai mô tả sau: - Chọn ngẫu nhiên hai hay nhiều cá thể quần thể Giả sử chuỗi nhiễm sắc thể cha mẹ có chiều dài m Tìm điểm lai cách tạo ngẫu nhiên số từ đến m-1 Như vậy, điểm lai chia hai chuỗi nhiễm sắc thể cha - mẹ thành hai nhóm nhiễm sắc thể m1 m2 Hai chuỗi nhiễm sắc thể lúc m1 + m22 m21 + m12 Đưa hai chuỗi nhiễm sắc thể vào quần thể để tiếp tục tham gia trình tiến hóa Quá trình đột biến (phép đột biến) trình tiến hóa gọi trình đột biến tính trạng không thừa hưởng từ hai chuỗi nhiễm sắc thể cha - mẹ Phép đột biến xảy với xác suất thấp nhiều lần so với xác suất xảy phép lai Phép đột biến xảy với xác suất thấp nhiều lần so với xác suất xảy phép lai Phép đột biến mô tả sau: - Chọn ngẫu nhiên hai hay nhiều cá thể quần thể Giả sử chuỗi nhiễm sắc thể cha mẹ có chiều dài m Tìm điểm lai cách tạo ngẫu nhiên số từ đến m - Như vậy, điểm lai chia hai chuỗi nhiễm sắc thể cha - mẹ thành hai nhóm nhiễm sắc thể m1 m2 Hai chuỗi nhiễm sắc thể lúc m11 + m22 m21 + m12 Đưa hai chuỗi nhiễm sắc thể vào quần thể để tiếp tục tham gia trình tiến hóa Quá trình đột biến (phép đột biến) trình tiến hóa gọi trình đột biến tính trạng không thừa hưởng từ hai chuỗi nhiễm sắc thể cha - mẹ Phép đột biến xảy với xác suất thấp nhiều lần so với xác suất xảy phép lai Phép đột biến mô tả sau: - Chọn ngẫu nhiên số k từ khoảng ≥ k ≥ m - Thay đổi giá trị gen thứ k - Đưa nhiễm sắc thể vào quần thể để tham gia trình tiến hóa tiếp Phép tái sinh: trình cá thể chép dựa độ thích nghi Độ thích nghi hàm gán giá trị thực cho cá thể quần thể Phép tái sinh mô sau: - Tính độ thích nghi cá thể quần thể, lập bảng cộng dồn giá trị thích nghi (theo thứ tự gán cho cá thể) ta tổng độ thích nghi Giả sử quần thể có n cá thể Gọi độ thích nghi cá thể thứ I Fi, tổng dồn thứ i Ft Tổng dồn thích nghi Fm Tạo số ngẫu nhiên F có giá trị đoạn từ đến Fm - Chọn cá thể k thỏa mãn F ≥ Ft đưa vào quần thể hệ Phép chọn: trình loại bỏ cá thể xấu để lại cá thể tốt Phép chọn mô tả sau: - Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần - Loại bỏ cá thể cuối dãy, để lại n cá thể tốt 2.1.1 Cấu trúc giải thuật di truyền tổng quát Bắt đầu t=0; Khởi tạo P(t) Tính độ thích nghi cho cá thể thuộc P(t) ; Khi (điều kiện dừng chưa thỏa mãn) lặp t = t+1 ; Chọn lọc P(t) Lai P(t) 10 STT Tên thuộc tính Kiểu liệu Ràng buộc Mô tả MaKhoaHoc int Primary key Mã khóa học TenKhoaHoc Nvarchar (100) null Tên khoa học 4.3.7 Phòng thi Phần phòng thi chứa ID phòng thi, tên phòng thi, ngày thi Chọn MaPhong làm khóa STT Tên thuộc tính Kiểu liệu Ràng buộc Mô tả MaPhong int Primary key Mã phòng TenPhong Nvarchar (100) null Tên phòng NgayThi Nvarchar (100) null Ngày thi 4.3.8 Lịch thi Phần lịch thi phần phần quan trọng nhất, gồm: ID, mã môn thi, mã ca thi, mã phòng thi, mã lớp Chọn MaLichThi làm khóa STT Tên thuộc tính Kiểu liệu Ràng buộc Mô tả MaLichThi int Primary key Mã lịch thi MaMonThi int null Mã môn thi MaCa int null Mã ca MaPhong int null Mã phòng MaLop int null Mã lớp 4.4 Chương trình thực nghiệm Kết demo chạy thử nghiệm chương trình lập lịch thời khóa biểu giải thuật di truyền Chương trình gồm có 12 form sau: - Form đăng nhập vào hệ thống - Form giao diện chương trình - Form đổi mật đăng nhập tài khoản quản trị - Form nhân viên quản trị viên - Form quản lý lớp học - Form quản lý môn thi - Form quản lý ca thi - Form quản lý sinh viên - Form quản lý khóa học - Form Sắp xếp lịch thi - Form quản lý phòng học - Form đăng xuất 4.4.1 Form đăng nhập - Người có quyền quản trị đăng nhập vào hệ thống quản lý lịch thi tài khoản mật cá nhân Ở phần chức vụ người quản trị chọn chức vụ nhân viên (ID 1) quản trị (ID 2) - Kích đăng nhập Người quản trị bắt đầu làm việc hệ thống xếp lịch thi - Khi nhập sai thông tin Tài Khoản, Mật Khẩu, Chức Vụ , hệ thống thông báo: 4.4.2 Giao diện chương trình - Trong giao diện chương trình Chia làm phần: Tài khoản Quản lý - Phần quản lý phần Nó có nhiệm vụ xếp phân bố lịch thi cho sinh viên lớp học, khóa học - Phần tài khoản giúp người quản trị bảo mật mật thoát khỏi chương trình 4.4.3 Form đổi mật - Form đổi mật phần tài khoản - Người quản trị viên bảo mật thông tin tốt thường xuyên thay đổi mật tài khoản - Khi thay đổi mật hoàn tất Chương trình xuất thông báo: - Ấn OK để hoàn tất trình 4.4.4 Form nhân viên, quản trị - Bắt đầu vào phần Là phần quản lý - Vào mục nhân viên Một cửa sổ xuất Là form nhân viên - Form nhân viên có nhiệm vụ quản lý thông tin ban quản trị chương trình - Khi thêm nhân viên thành công Chương trình xuất thông báo: - Ấn OK để hoàn tất thêm - Tương tự với mục sửa xóa nhân viên - Ấn OK để hoàn tất trình sửa, xóa nhân viên 4.4.5 Form quản lý lớp học - Vào mục lớp học Cửa sổ xuất Là form quản lý lớp học - Người quản trị nhập thông tin Tên Lớp Học Ở phần Tên Khóa Học tự động cập nhật thông tin từ mục Khóa học 4.4.6 Form quản lý môn thi - Vào mụcMôn Thi Cửa sổ xuất Là form Quản Lý Môn Thi - Người quản trị nhập thông tin Kí Hiệu môn thi, Tên Môn Thi, Số Tín Chỉ Để thêm cập nhật thông tin môn thi - Trong ô Tìm Kiếm Môn Thi, ta gõ chữ cửa sổ bên môn học tương ứng chứa chữ Giúp cho tìm kiếm môn học thuận lợi toàn khóa học có hàng trăm môn học 4.4.7 Form quản lý ca thi - Vào mục Ca Thi Cửa sổ xuất Là form Quản Lý Ca Thi - Người quản trị thêm cập nhật thông tin Tên Ca Thi Thời Gian Thi ca 4.4.8 Form quản lý sinh viên - Vào mục Sinh Viên Cửa sổ xuất Là form Quản Lý Sinh Viên - Người quản trị thêm cập nhật thông tin Tên Sinh Viên, Địa Chỉ, Ngày Sinh, Lớp Học Phần Khóa Học tự động cập nhật chọn Lớp Học 4.4.9 Form quản lý khóa học - Vào mục Khóa Học Cửa sổ xuất Là form Quản Lý Khóa Học - Người quản trị thêm cập nhật thông tin Tên Khóa Học 4.4.10 Form xếp lịch thi - Vào mục Lịch Thi Cửa sổ xuất Là form Quản Lý Lịch Thi Đây form chương trình - Lịch thi cập nhật thông tin đầy đủ cho sinh viên lớp học 4.4.11 Form quản lý phòng học - Vào mục Phòng Học Cửa sổ xuất Là form Quản Lý Phòng Học - Người quản trị thêm cập nhật thông tin Tên Phòng Học Ngày Thi 4.4.12 Form đăng xuất - Hoàn tất trình xếp lịch thi, người quản trị đăng xuất chương trình - Ấn Đăng Xuất Ấn Yes Hệ thống thoát hình form Đăng Nhập Hệ Thồng - Ấn Thoát Thoát hoàn toàn khỏi chương trình KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt - Áp dụng giải thuật di truyền để giải toán xếp lịch thi - Xây dựng thành công chương trình demo xếp lịch thi Hạn chế - Hướng phát triển tương lai 2.1 Hạn chế - Do giải thuật di truyền mang tính chất ngẫu nhiên nên kết đạt 100% - Giải thuật di truyền giải toán tối ưu với n biến vào Tuy nhiên, với số lượng biến vào nhiều, giá trị hàm mục tiêu đạt thường không gần với kết tối ưu thực Để khắc phục vấn đề này, tăng số lượng vòng lặp, hy vọng lần sinh sản muộn hình thành cháu với độ thích nghi cao ứng với giá trị hàm mục tiêu gần kết tối ưu thực 2.2 Hướng phát triển tương lai - Sắp lịch thi theo nhiều mức độ ưu tiên hơn( ưu tiên cho khóa, ưu tiên mức độ cần thiết môn học lại giúp sinh viên kịp trả nợ môn để trường thời gian, …) - Hoàn thiện số chức hiệu chỉnh để người dùng linh động trình hiệu chỉnh - Giao diện chương trình đẹp TÀI LIỆU THAM KHẢO [1] Ts Nguyễn Đình Thúc, Lập trình tiến hóa [2] PGS.TS Randy Ribler, Khoa tin trường Đại học Lynchburg, VA, USA, Giới thiệu giải thuật Di truyền Tính toán Tiến hóa [3] Trần Nguyên Phong (2008), ĐHKH Huế, SQL Server 2000 [4]Hoàn Kiếm, Lê Hoàng Thái (2000), Giải thuật di truyền, “Cách giải tự nhiên toán máy tính“, NXB Giáo dục [5] http://forum.mait.vn [6] http://baigiang.violet.vn [7] https://code.visualstudio.com [...]... nhỏ và khi đó chỉ có một vùng tìm kiếm nhỏ mới được khảo sát Ngược lại, việc kích thước quần thể quá lớn cũng không tốt, vì nó sẽ làm chậm quá trình giải bài toán 2.4 Cách biểu di n bài toán trong giải thuật di truyền (hay chọn cách biểu di n cấu trúc dữ liệu cho bài toán) Để áp dụng giải một bài toán bằng giải thuật di truyền, thao tác quan trọng nhất là biết chọn cấu trúc dữ liệu phù hợp Để giải. .. hóa và tìm đường - Quan sát máy (machine learning) - Thiết kế chế tạo máy - Các hệ thống điều khiển ống dẫn dầu, học máy (machine learning)… Cùng những nghiên cứu sâu hơn về sử dụng giải thuật di truyền trong các bài toán mang tính tổng chất quát hơn như: - Phân tích biệt số tuyến tính - Mô phỏng dự báo,… CHƯƠNG 3 - ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO BÀI TOÁN SẮP XẾP LỊCH THI Vấn đề của bài toán khá... Kết thúc dựa vào số thế hệ: Chọn số thế hệ, quá trình sẽ dừng đúng ngay số thế hệ đã quy định trước, không cần biết kết quả thế nào - Tính theo thời gian: Không cần biết đã bao nhiêu thế hệ hay kết quả thế nào, chỉ dựa vào số giờ quy định mà kết thúc - Tổ hợp: Dùng nhiều phương án khác nhau cho một vấn đề 2.12 Ứng dụng của thuật giải di truyền Trên thực tế, giải thuật di truyền đã được ứng dụng thành... P(t) Hết lặp Kết thúc Hình 2.1.1 Sơ đồ cấu trúc thuật toán di truyền 11 2.1.2 Những nguyên tắc cơ bản thực hiện giải thuật di truyền GAS Bước 1: Khởi tạo và mã hóa một quần thể ngẫu nhiên của nhiễm sắc thể Đó gọi là quần thể hiện tại Bước 2: Đánh giá độ thích của mỗi nhiễm sắc thể trong quần thể hiện tại Bước 3 : Tạo ra thế hệ trung gian, thông qua chọn lựa suy di n các nhiễm sắc thể trong quần thể... hợp Để giải bài toán trong giải thuật di truyền, ta thường chọn sử dụng một trong 3 loại cấu trúc dữ liệu sau: Chuỗi nhị phân, chuỗi số thực và cấu trúc cây Trong đó chuỗi nhị phân và chuỗi số thực thường được sử dụng nhiều hơn 2.4.1 Biểu di n Gen bằng chuỗi nhị phân Quy tắc biểu di n gen qua chuỗi nhị phân: Chọn chuỗi nhị phân ngắn nhất nhưng đủ thể hiện được tất cả kiểu gen Để biểu di n chuỗi nhị phân,... cá thể duy trì qua mỗi thế hệ tiến hóa của thuật giải di truyền Xác xuất đột biến: Pm là xác suất đột biến của gen Xác suất lai: Pc là xác suất một cá thể được chọn cho phép lai ghép 2.11 Điều kiện kết thúc thuật giải di truyền Thoát ra quá trình tiến hóa quần thể, dựa vào bài toán mà có các cách kết thúc vấn đề khác nhau, một khi đã đạt đến mức yêu cầu Một vài trường hợp thông thường như sau: - Kết... Y và 2 bit cho thành phần Z Tổng cộng chỉ chiếm 16 bit = 2 byte Chúng ta đã tiết kiệm được rất nhiều bộ nhớ 2.4.3 Biểu di n Gen bằng cấu trúc cây Một loại cây thường được sử dụng trong thuật giải di truyền là dạng cây hai nhánh (ở đây dùng chữ hai nhánh để phân biệt với loại cây nhị phân, thường dùng trong sắp xếp và tìm kiếm) 2.5 Nguyên lý về xác định tính thích nghi “Tính tốt của một cá thể (lời giải) ... mới được sinh ra Công việc còn lại của thuật toán là chỉ việc lặp lại các bước trên 2.9.4 Toán tử sinh sản - Sinh sản hữu tính: sử dụng phép lai ghép từ cha me để tạo ra các cá thể mới mang một phần đặc điểm cha và một phần đặc điểm của mẹ - Sinh sản vô tính: sử dụng phép đột biến để sinh ra cá tể mới khác cha mẹ 2.10 Các tham số cần sử dụng trong giải thuật di truyền Kích thước quần thể: PopSize, là... cạnh tranh + Chọn lọc hướng không gian - Toán tử di cư - Toán tử đột biến - Toán tử lai ghép + Lai ghép một điểm (one-point crossover) + Lai ghép hai điểm (two- point crossover) + Lai ghép N điểm (N- point crossover) + Lai ghép đồng nhất (Uniform crossover) 2.3 Các tham số của giải thuật di truyền Xác suất lai ghép: là tham số cho biết tần suất thực hiện toán tử lai ghép Nếu không có lai ghép, cá thể... Đó sẽ là cha mẹ của những thế hệ tiếp theo Bước 4 : Áp dụng toán tử lai ghép và nghịch đảo đối với những cặp hoặc nhiễm sắc thể đơn trong thế hệ trung gian, qua đó sẽ sản sinh ra một thế hệ nhiễm sắc thể mới Đó là quần thể hiện tại Lặp lại các bước 2 - 4 cho đến khi một giải pháp phù hợp được tìm thấy 2.2 Các toán tử của giải thuật di truyền - Toán tử chọn lọc + Chọn lọc dựa trên độ thích nghi + Chọn

Ngày đăng: 22/06/2016, 08:33

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • LỜI CẢM ƠN

  • CHƯƠNG 1 - TÌM HIỂU VỀ BÀI TOÁN LẬP LỊCH (SCHEDULING PROBLEM)

  • 1.1 Tìm hiểu chung

    • 1.2 Các đặc tính của bài toán lập lịch

    • 1.3 Bài toán Lập Lịch Thi

      • 1.3.1 Giới thiệu bài toán

      • 1.3.2 Dữ liệu bài toán

      • 1.4 Một số bước cơ bản để giải quyết bài toán lập lịch thi

      • CHƯƠNG 2 - GIẢI THUẬT DI TRUYỀN (GAS)

        • 2.1 Tìm hiểu chung về GAS

          • 2.1.1 Cấu trúc giải thuật di truyền tổng quát

          • 2.1.2 Những nguyên tắc cơ bản thực hiện giải thuật di truyền GAS 

          • 2.2. Các toán tử của giải thuật di truyền

          • 2.3 Các tham số của giải thuật di truyền

          • 2.4 Cách biểu diễn bài toán trong giải thuật di truyền (hay chọn cách biểu diễn cấu trúc dữ liệu cho bài toán)

            • 2.4.1 Biểu diễn Gen bằng chuỗi nhị phân

            • 2.4.2 Biểu diễn số thực bằng chuỗi nhị phân

            • 2.4.2 Biểu diễn Gen bằng chuỗi số thực

            • 2.4.3 Biểu diễn Gen bằng cấu trúc cây

            • 2.5 Nguyên lý về xác định tính thích nghi

              • 2.5.1 Độ thích nghi tiêu chuẩn

              • 2.5.2 Độ thích nghi xếp hạng (rank method)

              • 2.6 Mã hóa (Encoding)

                • 2.6.1 Giới thiệu (Introduction)

                • 2.6.3 Mã hóa vị trí (Permutation Encoding)

                • 2.6.5 Cây mã hóa (Tree Encoding)

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

Tài liệu liên quan