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

Giải thuật gen di truyền giải bài toán lập kế hoạch học tập

77 609 1

Đ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 77
Dung lượng 3,86 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC LỤC2DANH MỤC THUẬT NGỮ VIẾT TẮT6DANH MỤC HÌNH VẼ, ĐỒ THỊ7DANH MỤC BẢNG9MỞ ĐẦU11CHƯƠNG 1. GIỚI THIỆU151.1.ĐẶT VẤN ĐỀ151.2.CÁC NGHIÊN CỨU LIÊN QUAN151.3.PHÁT BIỂU BÀI TOÁN161.3.1.Mô tả quy trình lập kế hoạch học tập của Trường Sĩ quan Tăng thiết giáp.161.3.2.Đầu vào171.3.3.Các ràng buộc171.3.4.Mục tiêu181.3.5.Đầu ra181.4.MÔ HÌNH BÀI TOÁN191.4.1.Các chỉ số191.4.2.Các biến191.4.3.Công thức cho các hàm ràng buộc201.4.4.Công thức cho các hàm mục tiêu201.4.5.Phương pháp giải quyết21CHƯƠNG 2. GIẢI THUẬT DI TRUYỀN222.1.KHÁI NIỆM CƠ BẢN222.1.1. Lịch sử giải thuật di truyền222.1.2. Khái niệm232.2.CÁC THAM SỐ CỦA GIẢI THUẬT DI TRUYỀN352.3.ỨNG DỤNG GIẢI THUẬT DI TRUYỀN352.4.BÀI TOÁN TỐI ƯU362.4.1.Một số khái niệm362.4.2.Các bài toán tối ưu37CHƯƠNG 3. ÁP DỤNG GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN LẬP KẾ HOẠCH HỌC TẬP TẠI TRƯỜNG SĨ QUAN TĂNG THIẾT GIÁP423.1.CÁC ĐỐI TƯỢNG423.2.BIỂU DIỄN MÔ HÌNH CÁ THỂ433.3.KHỞI TẠO QUẦN THỂ453.4.BIỂU DIỄN CÁC RÀNG BUỘC463.5.CÁC TOÁN TỬ DI TRUYỀN493.5.1.Đột biến493.5.2.Lai ghép503.6.TÍNH ĐỘ THÍCH NGHI CỦA CÁ THỂ523.7.THAM SỐ CỦA GIẢI THUẬT53CHƯƠNG 4. KẾT QUẢ ĐẠT ĐƯỢC544.1.GIẢI PHÁP CÔNG NGHỆ544.1.1.Hệ điều hành544.1.2.Nền tảng, ngôn ngữ lập trình544.1.3.Hệ quản trị CSDL544.1.4.Công cụ phát triển ứng dụng quản lý554.1.5.Giải pháp phân quyền sử dụng và dữ liệu554.1.6.Giải pháp sao lưu phục hồi564.2.MÔ HÌNH HỆ THỐNG574.2.1.Mô hình triển khai574.2.2.Mô hình xây dựng ứng dụng584.3.THỰC NGHIỆM604.3.1.Cơ sở dữ liệu604.3.2.Dữ liệu mẫu674.3.3.Tham số thử nghiệm684.3.4.Kết quả thử nghiệm684.3.5.Giao diện phần mềm694.4.NHẬN XÉT73CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN755.1.CÁC KẾT QUẢ ĐẠT ĐƯỢC755.2.HẠN CHẾ755.3.HƯỚNG PHÁT TRIỂN76TÀI LIỆU THAM KHẢO77

Trang 1

GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN LẬP KẾ HOẠCH HỌC TẬP

Chuyên ngành : Công Nghệ Thông Tin

LUẬN VĂN THẠC SĨ KỸ THUẬT

Công nghệ thông tin

Hà Nội – Năm 2014

Trang 2

MỤC LỤC

MỤC LỤC 2

LỜI CAM ĐOAN 5

DANH MỤC THUẬT NGỮ - VIẾT TẮT 6

DANH MỤC HÌNH VẼ, ĐỒ THỊ 7

DANH MỤC BẢNG 9

MỞ ĐẦU 11

CHƯƠNG 1 GIỚI THIỆU 15

1.1 ĐẶT VẤN ĐỀ 15

1.2 CÁC NGHIÊN CỨU LIÊN QUAN 15

1.3 PHÁT BIỂU BÀI TOÁN 16

1.3.1 Mô tả quy trình lập kế hoạch học tập của Trường Sĩ quan Tăng thiết giáp 16 1.3.2 Đầu vào 17

1.3.3 Các ràng buộc 17

1.3.4 Mục tiêu 18

1.3.5 Đầu ra 18

1.4 MÔ HÌNH BÀI TOÁN 19

1.4.1 Các chỉ số 19

1.4.2 Các biến 19

1.4.3 Công thức cho các hàm ràng buộc 20

1.4.4 Công thức cho các hàm mục tiêu 20

1.4.5 Phương pháp giải quyết 21

CHƯƠNG 2 GIẢI THUẬT DI TRUYỀN 22

2.1 KHÁI NIỆM CƠ BẢN 22

2.1.1 Lịch sử giải thuật di truyền 22

2.1.2 Khái niệm 23

Trang 3

2.2 CÁC THAM SỐ CỦA GIẢI THUẬT DI TRUYỀN 35

2.3 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN 35

2.4 BÀI TOÁN TỐI ƯU 36

2.4.1 Một số khái niệm 36

2.4.2 Các bài toán tối ưu 37

CHƯƠNG 3 ÁP DỤNG GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN LẬP KẾ HOẠCH HỌC TẬP TẠI TRƯỜNG SĨ QUAN TĂNG THIẾT GIÁP 42

3.1 CÁC ĐỐI TƯỢNG 42

3.2 BIỂU DIỄN MÔ HÌNH CÁ THỂ 43

3.3 KHỞI TẠO QUẦN THỂ 45

3.4 BIỂU DIỄN CÁC RÀNG BUỘC 46

3.5 CÁC TOÁN TỬ DI TRUYỀN 49

3.5.1 Đột biến 49

3.5.2 Lai ghép 50

3.6 TÍNH ĐỘ THÍCH NGHI CỦA CÁ THỂ 52

3.7 THAM SỐ CỦA GIẢI THUẬT 53

CHƯƠNG 4 KẾT QUẢ ĐẠT ĐƯỢC 54

4.1 GIẢI PHÁP CÔNG NGHỆ 54

4.1.1 Hệ điều hành 54

4.1.2 Nền tảng, ngôn ngữ lập trình 54

4.1.3 Hệ quản trị CSDL 54

4.1.4 Công cụ phát triển ứng dụng quản lý 55

4.1.5 Giải pháp phân quyền sử dụng và dữ liệu 55

4.1.6 Giải pháp sao lưu phục hồi 56

4.2 MÔ HÌNH HỆ THỐNG 57

4.2.1 Mô hình triển khai 57

4.2.2 Mô hình xây dựng ứng dụng 58

4.3 THỰC NGHIỆM 60

Trang 4

4.3.1 Cơ sở dữ liệu 60

4.3.2 Dữ liệu mẫu 67

4.3.3 Tham số thử nghiệm 68

4.3.4 Kết quả thử nghiệm 68

4.3.5 Giao diện phần mềm 69

4.4 NHẬN XÉT 73

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75

5.1 CÁC KẾT QUẢ ĐẠT ĐƯỢC 75

5.2 HẠN CHẾ 75

5.3 HƯỚNG PHÁT TRIỂN 76

TÀI LIỆU THAM KHẢO 77

Trang 5

DANH MỤC THUẬT NGỮ - VIẾT TẮT

excel

Trang 6

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Hình 1 Xác xuất của mỗi NST theo kiểu lựa chọn Roulet 26

Hình 2: Lựa chọn xếp hạng 28

Hình 3: Lai ghép một điểm cắt mã hóa nhị phân 29

Hình 4: Lai ghép một điểm cắt mã hóa nhị phân 29

Hình 5: Lai ghép đồng nhất mã hóa nhị phân 30

Hình 6 Mặt nạ lai ghép đồng nhất 30

Hình 7: Lai ghép số học mã hóa nhị phân 30

Hình 8 Lai ghép một điểm cắt mã hóa hoán vị 31

Hình 9 Phép đảo bit mã hóa nhị phân 31

Hình 10 Hoán vị thứ tự mã hóa hoán vị 32

Hình 11 Thay đổi giá trị trong mã hóa giá trị 32

Hình 12 Sơ đồ chiến lược nạp lại hoàn toàn 33

Hình 13 Sơ đồ chiến lược nạp lại ngẫu nhiên 33

Hình 14 Sơ đồ chiến lược nạp lại theo mô hình cá thể tối ưu 34

Hình 15 Mô hình giải thuật 35

Hình 16 Mạch logic, đầu vào được nhập từ bên trái và đầu ra ở bên phải 38

Hình 17: Các lớp bài toán P, NP và co-NP 40

Hình 18: Phân lớp tạm thời các bài toán 41

Hình 19 Biểu diễn mô hình cá thể 43

Hình 20 Mô hình triển khai 58

Hình 21 Mô hình ứng dụng client/server 59

Hình 22 Kiến trúc ứng dụng 3 lớp 60

Hình 23 Giao diện đăng nhập 69

Hình 24 Giao diện quản lý danh mục 69

Hình 25 Giao diện phân công giáo viên dạy môn và lớp học 70

Trang 7

Hình 26 Giao diện dữ liệu chuẩn bị trước khi giải thuật thực hiện 70

Hình 27 Giao diện kết quả của phần mềm 71

Hình 28 Giao diện cập nhật chương trình đào tạo 71

Hình 29 Thiết lập lớp thuộc chương trình đào tạo 72

Hình 30 Giao diện thiết lập tham số hệ thống 73

Hình 31 Giao diện thiết lập tham số giải thuật 73

Trang 8

DANH MỤC BẢNG

Bảng 1 Bảng chỉ số 19

Bảng 2: Mã hóa nhị phân độ dài 20 bit 23

Bảng 3: Mã hóa hoán vị 2 NST A&B 24

Bảng 4: Mã hóa giá trị các NST A, B, C 25

Bảng 5 Khởi tạo cá thể 44

Bảng 6 Sao chép cá thể 44

Bảng 7 Khởi tạo dữ liệu vector của cá thể 45

Bảng 8 Khởi tạo quần thể 46

Bảng 9 Biểu diễn ràng buộc giảng viên không dạy 2 lớp cùng thời điểm 46

Bảng 10 Biểu diễn ràng buộc phòng không tồn tại 2 lớp cùng thời điểm 47

Bảng 11 Biểu diễn ràng buộc số học viên không quá số ghế ngồi của phòng 47

Bảng 12 Biểu diễn ràng buộc lớp không học 2 môn cùng thời điểm 48

Bảng 13 Biểu diễn ràng buộc môn thể dục không học tiết 5, 6 48

Bảng 14 Biểu diễn ràng buộc bài học bắt buộc sử dụng phòng thực hành, bãi tập 49 Bảng 15 Đột biến 50

Bảng 16 Chọn điểm lai ghép 51

Bảng 17 Lai ghép 52

Bảng 18 Tính độ thích nghi của cá thể 53

Bảng 19 Danh mục đơn vị 61

Bảng 20 Danh mục hình thức bài học 61

Bảng 21 Danh mục loại phòng học 61

Bảng 22 Danh mục môn học 62

Bảng 23 Danh mục phòng học 62

Bảng 24 Bảng dữ liệu người dùng 63

Bảng 25 Bảng phân quyền người dùng 63

Bảng 26 Bảng nhật ký sử dụng 64

Trang 9

Bảng 27 Bảng dữ liệu chương trình đào tạo 64

Bảng 28 Bảng dữ liệu chương trình đào tạo chi tiết 65

Bảng 29 Bảng dữ liệu chi tiết bài học của môn học trong chương trình đào tạo 66

Bảng 30 Bảng dữ liệu phân công Giảng viên – Lớp học 66

Bảng 31 Bảng dữ liệu phân công Giảng viên – Môn học 66

Bảng 32 Bảng dữ liệu kết quả xếp lịch 67

Bảng 33 Bảng dữ liệu thử nghiệm đơn giản 68

Bảng 34 Bảng dữ liệu thử nghiệm thực tế 68

Bảng 35: Bảng tham số thử nghiệm 68

Bảng 36 Bảng kết quả thử nghiệm đơn giản 69

Bảng 37 Bảng kết quả thử nghiệm thực tế 69

Trang 10

MỞ ĐẦU

1 Lý do chọn đề tài

Trong cuộc sống ta thường gặp các bài toán liên quan đến xếp lịch như lịchvận hành cho máy móc, lịch thực hiện dự án, lịch làm việc, lịch thi đấu trong thểthao, lịch sửa dụng tài nguyên,… Đối với mỗi loại bài toán này cần tìm ra phương

án xếp lịch thoả mãn tất cả các ràng buộc cũng như khai thác hiệu quả các nguồn tàinguyên hiện có, giảm thời gian và chi phí thực hiện

Bài toán lập kế hoạch học tập trong trường học nói chung và trong trường Đạihọc nói riêng là một trong những bài toán như vậy Có rất nhiều ràng buộc được đặt

ra trong bài toán này như ràng buộc về đối tượng tham gia (giảng viên, học viện,lớp học), ràng buộc về tài nguyên phục vụ giảng dạy (phòng học lý thuyết, phònghọc thực hành, máy chiếu, đồ dùng hỗ trợ giảng dạy…), ràng buộc về thời gian (sốtiết học, số lần học, số tiết mỗi lần học), ràng buộc về chuyên mồn và nhiều ràngbuộc khác phụ thuộc vào từng trường Vấn đề đặt ra là xây dựng một thời khoá biểuthoả mãn tất cả các ràng buộc trên đồng thời khai thác hiệu quả các nguồn tàinguyên phục vụ giảng dạy

Bài toán lập kế hoạch học tập thuộc lớp các bài toán NP-đầy đủ vì vậy có thểkhông tìm ra lời giải tối ưu Đây là một bài toán không mới và đã có nhiều giảithuật được đưa ra để giải quyết như giải thuật nhánh cận, giải thuật leo đồi, giảithuật luyện thép, giải thuật tô màu đồ thị, giải thuật xấp xỉ,… Tuy nhiên các giảithuật này thường không có tính tổng quát và chỉ áp dụng hiệu quả đối với các bàitoán quy mô nhỏ, ràng buộc ít về mặt dữ liệu

Ở Việt Nam hiện nay, các trường Đại học đang có nhiều hình thức đào tạokhác nhau như đào tạo tín chỉ, đạo tạo niên chế và có cả trường áp dụng cả 2 hìnhthức Do vậy việc xếp kế hoạch học tập vẫn là một gánh nặng cho các trường, đặcbiệt với những trường có quy mô đào tạo lớn Mặt khác trên thị trường hiện tại cũngchưa có sản phẩm nào giải quyết hiệu quả bài toán

Trong những năm gần đây, phương pháp tiếp cận di truyền đã thu hút rất nhiều

sự chú ý trong các lĩnh vực nghiên cứu khác nhau trong đó có khoa học máy tính.Phương pháp này có nhiều đặc điểm nổi trội như không đòi hỏi tri thức, tránh tối ưucục bộ, thực hiện tốt các bài toán có không gian lời giải lớn và có thể áp dụng chonhiều loại bài toán tối ưu khác nhau Trên thế giới hiện nay giải thuật di truyền kếthợp với tin học được ứng dụng để giải quyết những bài toán tối ưu một cách rấthiệu quả Vì vậy việc nghiên cứu và ứng dụng giải thuật di truyền (Genetic

Trang 11

Algorithm - GA) để giải quyết hiệu quả bài toán lập kế hoạch học tập là việc làmcần thiết.

2 Mục tiêu của đề tài

Đề tài tập trung nghiên cứu và ứng dụng giải thuật di truyền vào bài toán lập

kế hoạch học tập cho Trường Sĩ quan Tăng Thiết Giáp (TSQTTG) Đây là trườngtrong ngành quân đội có một số đặc thù riêng trong quá trình lập kế hoạch học tậpvới nhiều ràng buộc đặt ra

Để đạt được các mục tiêu trên, đề tài tập trung vào các nhiệm vụ cụ thể sau:

- Phân tích đặc điểm của bài toán lập kế hoạch học tập tại trường để từ đó đề

ra các giải pháp hợp lý trong việc xây dựng và triển khai hệ thống

- Tìm hiểu giải thuật di truyền và ứng dụng của nó trong việc giải quyết cácbài toán tối ưu

- Ứng dụng giải thuật di truyền vào bài toán lập kế hoạch học tập cho trường

- Thiết kế hệ thống và xây dựng ứng dụng

- Phân tích, đánh giá kết quả đạt được khi thực hiện hệ thống với các bộ dữliệu thử đơn giản

- Triển khai thực nghiệm với bộ dữ liệu của Trường SQTTG

3 Đối tượng và phạm vi nghiên cứu

Nghiên cứu các đặc điểm, đặc trưng của giải thuật di truyền, các thành phần

cơ bản như khởi tạo quần thể ban đầu, đánh giá độ thích nghi của các cá thể, cáctoán tử di truyền (chọn lọc, lai ghép, đột biến), điều kiện dừng

Ứng dụng giải thuật di truyền vào bài toán lập kế hoạch học tập tại mộttrường cấp Đại học trong ngành Quân đội theo học niên chế với những ràng buộc vànhững yêu cầu cơ bản

4 Phương pháp nghiên cứu

a Phương pháp nghiên cứu lý thuyết

- Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan

- Tổng hợp các tài liệu lý thuyết về giải thuật di truyền

- Biểu diễn bài toán lập kế hoạch học tập trong trường bằng mô hình giải thuật

di truyền

Trang 12

b Phương pháp nghiên cứu thực nghiệm

- Phân tích, thiết kế hệ thống theo quy trình xây dựng phần mềm

- Xây dựng hệ thống lập kế hoạch học tập sử dụng giải thuật di truyền

- Thử nghiệm hệ thống và đánh giá kết quả dựa trên bộ dữ liệu thử và dữ liệuthực tế của trường

6 Ý nghĩa khoa học và thực tiễn

- Áp dụng giải thuật di truyền vào máy tính là phương pháp áp dụng các quyluật của quá trình tiến hoá tự nhiên vào việc giải quyết các bài toán phức tạp

mà các thuật giải trước đó không đáp ứng được

- Việc lập kế hoạch học tập sử dụng giải thuật di truyền là vấn đề không mớinhưng chưa được áp dụng hiệu quả trong thực tế

- Giải thuật di truyền không những áp dụng trong lĩnh vực lập lịch mà còn cóthể được ứng dụng trong nhiều bài toán tối ưu khác Vì vậy kết quả nghiêncứu của đề tài sẽ là nền tảng và cơ sở để tiếp tục nghiên cứu về sau

- Kết quả của đề tài là hệ thống phần mềm TTGScheGA dùng để lập kế hoạchhọc tập có tính dễ sử dụng, tính tuỳ biến cao, đáp ứng tốt nhu cầu người sửdụng

- Hệ thống có thể chạy tốt với bộ dữ liệu thực tế tại các trường đại học giúpgiảm đáng kể thời gian và công sức trong việc lập kế hoạch học tập

7 Bố cục của luận văn

Bố cục của luận văn được chia thành 5 chương như sau:

Chương 1 Giới thiệu

Chương 1 nêu rõ tình hình lập kế hoạch học tập của trường Sĩ quan Tăng thiết giáp và yêu cầu bài toán đặt ra, quy trình cần tin học hoá, các ràng buộc, dữ liệu đầu vào, dữ liệu đầu ra, các yêu cầu chức năng.

Chương 2: Giải thuật di truyền

Trang 13

Chương 2 tập trung vào giới thiệu giải thuật di truyền, lịch sử phát triển, hướng tiếp cận giải các bài toán tối ưu, quy trình thực hiện giải thuật và các ứng dụng của giải thuật trong thực tế.

Chương 3: Giải thuật di truyền giải bài toán lập kế hoạch học tập tại trường Sĩ

quan Tăng Thiết giáp

Chương 3 nêu cách giải quyết bài toán lập kế hoạch học tập tại trường Sĩ quan Tăng thiết giáp bằng Giải thuật di truyền, từ biểu diễn các thành phần của giải thuật, dữ liệu đầu vào, dữ liệu đầu ra và cài đặt giải thuật để giải quyết bài toán

Chương 4: Kết quả đạt được

Chương 4 trình bày kết quả đạt được của phần mềm được cài đặt với các bộ

dữ liệu thử nghiệm và dữ liệu thực tế với những thay đổi các tham số của giải thuật

để có sự so sánh bộ tham số phù hợp.

Chương 5: Kết luận và hướng phát triển.

Chương 5 bàn về những vấn đề đã giải quyết được và những vấn đề còn chưa giải quyết được trong phạm vi của đề tài và đề xuất hướng phát triển tiếp theo cho

đề tài.

Trang 14

CHƯƠNG 1 GIỚI THIỆU

1.1 ĐẶT VẤN ĐỀ

Trong lĩnh vực lập lịch, giải thuật di truyền đã thu hút được rất nhiều cácnghiên cứu và đề xuất Bài toán lập lịch thuộc lớp các bài toán NP-khó và vì vậy, rấtcần các giải thuật xấp xỉ Tính đến nay có rất nhiều các đề xuất sử dụng giải thuật ditruyền cho bài toán lập lịch Tuy nhiên, bài toán lập lịch là một trong những bài toán

mà có nhiều thể loại đa dạng, mỗi một thể loại cần có thiết kế giải thuật di truyềnđặc biệt Về cơ bản, bài toán lập lịch được coi như là việc gán các mốc thời gian(time slots) thực hiện cho các cặp tiết học, phòng học sao cho phù hợp với khả năng

về tài nguyên (giảng viên, phòng học và trang thiết bị hỗ trợ) Tuy nhiên, sự đa dạng

thể hiện ở các thể loại ràng buộc khác nhau và mỗi một bài toán thực tế sẽ có những

ràng buộc đặc trưng riêng Chính vì vậy, mà các nghiên cứu đề xuất giải thuật di

truyền cho bài toán lập lịch luôn luôn là một chủ đề nóng

Trường Sĩ quan Tăng thiết giáp là trường trong quân đội nên lập kế hoạch họctập (kế hoạch huấn luyện) có nhiều đặc thù riêng không giống các trường học dân

sự Mục tiêu chính là xếp kế hoạch huấn luyện cho học viên của trường theo từngtháng để trường có kế hoạch huấn luyện cho toàn bộ học viên về kế hoạch giảngdạy của giảng viên

1.2 CÁC NGHIÊN CỨU LIÊN QUAN

Công việc lập kế hoạch học tập (lập lịch) trong trường đại học đã được côngnhận là khó cả về phương diện lý thuyết cũng như thực tế Một vài mô hình lập lịch

đã được mô tả trong thực tế, bao gồm từ lập lịch học của một trường đại học, lập

Chương này sẽ trình bày các vấn đề sau:

 Phát biểu bài toán

 Các nghiên cứu liên quan

 Ứng dụng của bài toán

Trang 15

lịch thi, hoặc một vài sự kiện trong trường đại học Các bài toán này được xem làbài toán lập lịch mà được định nghĩa như là các bài toán gán một số sự kiện như kìthi, khóa học với các khoảng thời gian và phòng thỏa mãn các ràng buộc.

Trong 20 năm trở lại đây, các cách tiếp cận heuristic đã được áp dụng thànhcông cho các bài toán lập lịch Ví dụ, heuristics dựa trên đồ thị, tabu search, largeneighborhood search, giải thuật great deluge algorithms, hybrid algorithms, vàpopulation based algorithms including memetic algorithms, ant colonyoptimization, genetic algorithms, honeybee mating optimization (HBMO)algorithms đã được ứng dụng Tuy nhiên, các giải thuật này đặc trưng cho dạng bàitoán lập lịch tổng quát, nhưng khó khăn trong việc cài đặt giải quyết các bài toán cụthể

Các giải thuật trên có thể được cải tiến phù hợp với những bài toán thực tếhơn, nhưng quá trình này thường khó và không hiệu quả Dựa trên một mô hình bàitoán cụ thể, ta sẽ xây dựng các ràng buộc đặc trưng cho bài toán đó Từ đó, luận văn

đề xuất một giải thuật GA giải bài toán lập kế hoạch học tập

1.3 PHÁT BIỂU BÀI TOÁN

1.3.1 Mô tả quy trình lập kế hoạch học tập của Trường Sĩ quan Tăng thiết

giáp.

- Tại trường Sĩ quan Tăng thiết hàng năm trước khi vào năm học mới, bộ phậnlàm kế hoạch (Ban kế hoạch của Phòng Đào tạo) sẽ phải chuẩn bị chươngtrình học chi tiết cho khoá học mới vào cho cả quá trình học tuỳ theo từngđối tượng học (đối tượng 3 năm, 4 năm, ngắn hạn…)

- Mỗi chương trình học chỉ rõ từng môn học với số lượng tổng số tiết học (lýthuyết, thực hành, bãi tập), danh sách các bài học cụ thể đến từng bài học và

số tiết Tiết nào học thực hành hoặc ngoài bãi tập có thông tin trang bị hỗ trợphục vụ đi kèm của bài đó (tài nguyên sử dụng trong buổi học) Một số bàihọc chỉ định phòng học bắt buộc

- Dựa theo chương trình học, Ban Kế hoạch sẽ phân bổ kế hoạch học cho từngđối tượng ứng với chương trình học cụ thể và lập lịch theo từng tháng Thángtrước lập lịch cho tháng tiếp theo Do đặc thù của trường quân đội, giảng

Trang 16

viên thường xuyên có lịch công tác đột xuất do nhiệm vụ nên trong tháng lậplịch cho tháng tiếp giảng viên phải đăng ký thời gian bận trong tháng tiếp.Ban Kế hoạch dựa vào thông tin giảng viên bận hay rảnh để phân bổ bài họccủa môn học cho phù hợp trong tháng để kịp theo chương trình học trongnăm.

- Sau khi đã có lịch của tháng tiếp theo, Ban Kế hoạch in ra trên giấy A0 vàxin xác nhận của Trưởng phòng Đào tạo, ký đóng dấu của nhà trường và gửicông khai đến các khoa giảng viên, các đơn vị quản lý học viên

Một số lưu ý trong lịch của trường:

- Cùng môn học nhưng với mỗi bài học có độ dài khác nhau thì xếp ở các tuầncũng có độ dài số tiết học khác nhau Ví dụ môn Vũ khí trong tuần hiện tạihọc bài số 1 là 2 tiết nhưng ở tuần sau có thể học 4 tiết lý thuyết liên tục hoặc

6 tiết thực hành liên tục Do vậy số tiết học phụ thuộc vào bài học của mônhọc

- Số tiết lý thuyết được xếp theo cặp (2, 4 tiết, 6 tiết)

- Thời gian học tập lý thuyết vào buổi sáng, buổi chiều ôn

- Số lượng lớp học viên không lớn và mỗi lớp học một chuyên ngành riêng nênkhông áp dụng ghép lớp

- Danh sách giảng viên

- Các yêu cầu bắt buộc đối với bài học cụ thể (phòng học bắt buộc, trang bị hỗtrợ bắt buộc)

- Bảng phân công giảng viên giảng dạy môn học, lớp học

1.3.3 Các ràng buộc

Ràng buộc của bài toán được chia thành 2 loại là ràng buộc cứng và ràng buộcmềm Ràng buộc cứng là những ràng buộc bắt buộc kết quả phải thoả mã các ràng

Trang 17

buộc đó Ràng buộc mềm là ràng buộc tuỳ chọn và thường là mục tiêu tối ưu củabài toán.

1.3.3.1 Ràng buộc cứng

- Một giảng viên không thể dạy 2 lớp học cùng một thời điểm

- Một phòng tại một thời điểm không thể có 2 lớp học (trừ phòng học chung)

- Số lượng sinh viên không thể vượt quá số ghế ngồi của phòng

- Một lớp không thể học 2 môn cùng một thời điểm

- Môn thể dục sẽ không vào tiết 5-6 của buổi sáng

- Bài học bắt buộc sử dụng phòng thực hành, bãi tập

1.3.3.2 Ràng buộc mềm

- Khoảng trống giữa 2 lần dạy của giảng viên trong một buổi càng gần nhaucàng tốt

- Thời gian trống của các lớp học viên càng ít càng tốt

- Số tiết giảng viên dạy chênh lệch không quá lớn

- Số phòng sử dụng càng ít càng tốt

1.3.4 Mục tiêu

- Tìm một kế hoạch học tập thoả mã các ràng buộc cứng

- Tối thiểu thời gian trống của các lớp học viên

- Tối thiểu thời gian trống của các giảng viên

- Các biểu thống kê độ căng của giảng viên, của phòng trong từng ngày

- Tổng thời gian dạy của từng giảng viên trong tháng

Trang 18

1.4 MÔ HÌNH BÀI TOÁN

Trang 19

1.4.3 Công thức cho các hàm ràng buộc

 Một giảng viên không dạy hai lớp cùng một thời điểm:

Trang 20

- F4 = với mọi n,g

 Một lớp học tiết 6 buổi sang không học tiết 1 buổi chiều:

- F5 = Nếu G(n,6,l) = 1 thì G(n,7,l) = 0 với mọi n,l

 Môn thể dục không học vào tiết 5-6 buổi sáng:

- Gọi m 0 là chỉ số của môn thể dục.

- F6 = Khi đó: E(n,t,l,m 0 ) =0 nếu t = 5,6 với mọi n,l

1.4.4 Công thức cho các hàm mục tiêu

 Tối thiểu thời gian trống của lớp sinh viên:

- Fit1 = Min ( ) với mọi l

 Tối thiểu thời gian trống của giảng viên:

- Fit2 = Min ( với mọi g

 Tối thiểu số phòng sử dụng

- Fit3 = Min ( với mọi n

1.4.5 Phương pháp giải quyết

Việc lập kế hoạch trong tháng có thể chia thành các tuần rời rạc trong tháng đểthực hiện, mỗi tuần lập kế hoạch từ thứ 2 đến thứ 6 Mỗi tháng có thể lập kế hoạchcho 5 tuần Mỗi tuần sau đi được xếp lịch, môn học sẽ được đánh dấu đã xếp lịchđến bài học nào của môn, tuần tiếp theo sẽ thực hiện xếp cho bài học tiếp theo

Trang 21

CHƯƠNG 2 GIẢI THUẬT DI TRUYỀN

2.1 KHÁI NIỆM CƠ BẢN

2.1.1 Lịch sử giải thuật di truyền

Ý niệm về giải thuật di truyền đã được một số nhà sinh vật học đưa ra từnhững năm 50-60, thế kỉ XX A.S Fraser là người tiên phong nêu lên sự tươngđồng giữa sự tiến hóa của sinh vật và chương trình tin học giả tưởng về GeneticAlgorithms (GA)

Tuy nhiên, chính John Henry Holland mới là người triển khai ý tưởng vàphương pháp giải quyết vấn đề dựa theo sự tiến hóa Từ những bài giảng, bài báocủa mình, ông đã đúc kết các ý tưởng vào trong cuốn sách đầu tay Adaptation inNatural and Artificial Systems, xuất bản năm 1975 Dựa trên lý thuyết cơ bản về

GA của Holand, Keneth De Jong đã triển khai và chứng minh những thành quả doông thực hiện đã góp phần quan trọng trong việc tạo ra nền tảng toán học cho lýthuyết GA

Giải thuật di truyền hình thành trên quan niệm cho rằng quá trình tiến hoá tựnhiên là quá trình hoàn hảo nhất, hợp lý nhất, và tự nó đã mang tính tối ưu Quanniệm này có thể được xem như một tiên đề đúng không chứng minh được nhưngphù hợp với thực tế khách quan Quá trình tiến hoá thể hiện tính tối ưu ở chỗ thế hệsau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước Tiến hoá tựnhiên được duy trì nhờ hai quá trình cơ bản : sinh sản và chọn lọc tự nhiên Xuyênsuốt quá trình tiến hoá tự nhiên, thế hệ mới luôn được sinh ra và bổ sung thay thếthế hệ cũ Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại, ngược

Chương này sẽ trình bày các vấn đề sau:

 Khái niệm cơ bản

 Tham số của giải thuật di truyền

 Ứng dụng của giải thuật di truyền

Trang 22

lại sẽ bị đào thải Sự thay đổi môi trường là động lực thúc đẩy quá trình tiến hoá vàngược lại tiến hoá góp phần thay đổi môi trường

2.1.2 Khái niệm

2.1.2.1 Nhiễm sắc thể

Các sinh vật sống đều cấu tạo từ các tế bào, và tất cả các tế bào này đều baogồm một tập hợp các nhiếm sắc thể giống nhau Các NST này là một chuỗi cácAND, quy định đặc tính của cả cá thể Mỗi NST bao gồm rất nhiều GEN, mỗi genquy định một trạng thái nào đó

Trong bài toán tối ưu, mỗi cá thể tương ứng với một lời giải chấp nhận được.Việc mã hóa và giải mã gen, biến đổi giữa kiểu gen và kiểu hình được quyết địnhbởi tính chất của bài toán

Trong giải thuật di truyền, nhiễm sắc thể được biểu diễn trên máy tính bằngcách mã hoá nhiễm sắc thể và với từng bài toán khác nhau mà có cách mã hoá NSTcho phù hợp Có các cách mã hoá NST sau :

2.1.2.1.1 Mã hóa nhị phân

Đây là cách mã hóa nhị phân phổ biến nhất.Mỗi một nhiễm sắc thể là mộtchuỗi bit nhị phân 0 & 1 Mỗi một bit có thể biểu diến một đặc tính nào đó của lờigiải, và số bit cần để mã hóa được tính toán hợp lý để chuỗi nhị phân không quá dài,

mà chỉ vừa đủ cho biểu diễn thông tin cần thiết cho lời giải

Chromosome A 00110101000010111010Chromosome B 10111100110010001011

Bảng 2: Mã hóa nhị phân độ dài 20 bit

Mã hoá nhị phân thường hay dùng trong các bài toán tối ưu các hàm một biếnhay nhiều biến Khi đó, mỗi chuỗi nhị phân sẽ biểu diễn hàm tại một (tập) giá trịcủa (các) biến hoặc mỗi bộ chuỗi nhị phân sẽ biểu diễn một bộ nghiệm của hàm

Trang 23

Ví dụ: Trong bài toán cái túi, dùng một chuỗi nhị phân để biểu diễn một cách

xếp đồ vào túi có kích thước bằng số đồ vật, mỗi bit tương ứng với các đồ vật sẽ cóhai giá trị : giá trị 0 nếu đồ vật đó không được cho vào túi và giá trị 1 nếu đồ vậtđược cho vào túi

Mã hoá nhị phân tuy là phổ biến nhưng nó có một nhược điểm là có thể tạo rakhông gian mã hoá lớn hơn so với không gian giá trị của NST Do đó, với nhiều bàitoán thì biểu diễn nhị phân là không hữu hiệu

2.1.2.1.2 Mã hóa hoán vị

Mỗi NST là một chuỗi hoán vị của các số (thường là số tự nhiên) để biểu diễnmột trình tự nào đó

Chromosome A 4 7 9 3 2 1 8 6 5Chromosome B 9 6 5 1 4 3 2 7 8

Bảng 3: Mã hóa hoán vị 2 NST A&B

Mã hoá hoán vị phù hợp cho các bài toán liên quan đến thứ tự Đối với các bàitoán này, việc thao tác trên các nhiễm sắc thể chính là hoán vị các số trong chuỗi đólàm thay đổi trình tự của nó Mã hóa hoán vị rất hữu ích với các bài toán sắp xếp

Ví dụ: Bài toán người du lịch Cho trước một số thành phố và khoảng cách

giữa chúng Tìm đường đi cho người du lịch để anh ta có thể đi thăm tất cả cácthành phố, mỗi thành phố chỉ đi qua một lần đồng thời tổng đường đi là ngắn nhất

Cách mã hóa: Mỗi một lời giải hay một cách đi của người du lịch được biểu

diến bằng một dãy các số chỉ trình tự người đó sẽ đi

2.1.2.1.3 Mã hóa giá trị

Mã hóa giá trị trực tiếp có thể được sử dụng trong các bài toán mà giá trị của

nó là các giả trị phức tạp như là số thực Sử dụng mã hóa nhị phân sẽ trở nên khókhăn Trong đó, mỗi NST là một chuỗi các giá trị Các giá trị có thể là các thông tin

Trang 24

liên quan đến bài toán, từ số nguyên, số thực, kí tự cho đến các đối tượng phức tạphơn.

Ví dụ: Tìm trọng số cho mạng Nơron.

2.1.2.2 Quần thể, thế hệ, toán tử di truyền, tiến hóa

Quần thể (Population): là một tập hợp các cá thể có cùng một số đặc điểm nàođấy Trong giải thuật di truyền ta quan niệm quần thể là một tập các lời giải của mộtbài toán

Thế hệ (Generation): được xác định bởi một quần thể chưa tham gia vào quátrình tiến hóa tiếp theo

Toán tử di truyền (GA operator) là các toán tử thao tác đối với các cá thểnhằm tạo ra các cá thể mới

Quá trình tiến hóa (Evolution) là việc áp dụng các toán tử di truyền đối với các

cá thể, chuyển quần thể từ thế hệ này sang thế hệ tiếp theo, với một bộ phận cá thểhoặc toàn bộ quần thể đã được biến đổi

2.1.2.3 Hàm thích nghi

Trong tự nhiên, chỉ có những cá thể nào thích nghi được với môi trường thìmới tồn tại, ngược lại sẽ bị đào thải GA đưa ra khái niệm hàm thích nghi, hay hàmsức khỏe để đánh giá một cá thể so với quần thể Dựa vào giá trị hàm thích nghi của

Trang 25

mỗi cá thể, giải thuật di truyền mới có thể chọn lựa được các cá thể tốt cho các thế

hệ sau Hay nói cách khác, hàm thích nghi là một tiêu chí đánh giá mức độ tiến hóacủa quần thể

2.1.2.4 Chọn lọc

Dựa vào nguyên lý của quá trình chọn lọc và đấu tranh sinh tồn trong tự nhiên,chọn lựa các cá thể trong GA là chọn các cá thể có độ thích nghi tốt để đưa vào thế

hệ tiếp theo hoặc để cho lai ghép, với mục đích sinh ra các cá thể mới tốt hơn

Có nhiều cách để lựa chọn các cá thể từ một quần thể Sau đây sẽ giới thiệumột số cơ chế hay áp dụng Để tiện mô tả các cơ chế lựa chọn luận văn đưa ra một

2.1.2.4.1 Lựa chọn theo bánh xe Roulet

Trước khi lựa chọn thì tính các giá trị sau:

Tính tổng độ thích nghi của cả quần thể: F = i )

Tính xác suất chọn p i cho mỗi NST v i : p i = f(v i ) / F

Tính vị trí xác suất q i của mỗi NST: q i = j

Trang 26

-Hình 1 Xác xuất của mỗi NST theo kiểu lựa chọn Roulet

Cơ chế lựa chọn theo bánh xe Roulet được thực hiện bằng cách quay bánh xeRoulet N lần Mỗi lần chọn một NST từ quần thể hiện hành vào quần thể mới bằngcách sau:

 Phát sinh ngẫu nhiên một số r trong khoảng [0, 1]

Nếu r < q 1 thì chọn NST v1; ngược lại thì chọn NST thứ i (2 ≤ i

≤pop_size) sao cho q i-1 ≤ r ≤ q i.Với cơ chế lựa chọn như thế này thì có một số nhiếm sắc thể sẽ được chọn

nhiều lần Điều này phù hợp với lý thuyết lược đồ: Các NST tốt nhất thì có nhiều

bản sao, NST trung bình thì không đổi, NST kém thì chết đi.

Hoặc lựa chọn kiểu bánh xe Roulet có thể mô tả theo thuật toán sau:

(1) [SUM] Tính tổng giá trị thích nghi S của tất cả các cá thể hay nhiễm săcthể trong toàn quần thể

(2) [SELECT] sinh một số ngẫu nhiên trên đoạn (0 S) ta được r.

(3) [LOOP] duyệt lại toàn bộ quần thể, tính tổng hàm thích nghi từ 0, ta gọi

là s Khi nào s > r thì ta dừng lại với nhiễm sắc thể hiện tại.

2.1.2.4.2 Lựa chọn xếp hạng

Theo cơ chế lựa chọn trên khi sự khác biệt giữa các hàm thích nghi lớn,cácNST có độ thích nghi kém sẽ rất ít có cơ hội được lựa chọn, nhất là khi cócác NSTtốt có độ thích nghi trên 90%

Trang 27

Cơ chế lựa chọn xếp hạng được mô tả như sau:

 Sắp xếp các NST trong quần thể theo độ thích nghi từ thấp đến cao

 Đặt lại độ thích nghi cho quần thể đã sắp xếp theo kiểu: NST thứ nhất

có độ thích nghi là 1, nhiễm săc thể thứ hai có độ thích nghi là 2,

v.v…, NST thứ pop_size có độ thích nghi là pop_size

(a) Trạng thái quần thể trước khi (b) Trạng thái quần thể sau

Hay còn được gọi là lựa chọn theo trạng thái ổn định Cơ chế lựa chọn:

 Lấy một số NST trong quần thể ra để chọn, NST có độ thích nghi caonhất được chọn

 Lặp lại thao tác trên N lần

2.1.2.5 Lai ghép

Lai ghép là sự kết hợp các tính trạng của bố mẹ để sinh ra thế hệ con Tronggiải thuật di truyền, lai ghép được coi là một sự tổ hợp lại các tính chất (thành phần)trong hai hoặc nhiều cá thể cha mẹ nào đó để sinh ra một cá thể mới mà có đặc tínhmong muốn là tốt hơn cá thể cha mẹ

Hình 2: Lựa chọn xếp hạng

Trang 28

Tùy theo cách mã hóa NST mà có các những cách lai ghép khác nhau:

2.1.2.5.1 Lai ghép theo mã hóa nhị phân

 Lai ghép một điểm cắt (One Points Crossover)

- Điểm cắt là một gen vị trí ngẫu nhiên k trên NST

- Cá thể con có phần đầu đến gen thứ k giống hệt mẹ, phần còn lạigiống hệt cha

Hình 3: Lai ghép một điểm cắt mã hóa nhị phân

 Lai ghép 2 điểm cắt

- Hai điểm cắt sẽ được chọn ngẫu nhiên

Hình 4: Lai ghép một điểm cắt mã hóa nhị phân

- Con sinh ra từ đầu cho đến điểm cắt thứ nhất được sao chép từcha, từ điểm cắt thứ nhất đến điểm cắt thứ hai sao chép từ mẹ vàphần còn lại sao chép từ cha

 Lai ghép đồng nhất

- Chuỗi nhị phân của con sẽ được lai ghép ngẫu nhiên hoặc từ mẹhoặc từ cha Hay nói cách khác, ta sẽ xây dựng một mặt nạ laighép Nó cũng là một chuỗi nhị phân các bit 0&1

Trang 29

- Duyệt mặt nạ: ở vị trí bit mặt nạ = 1 thì gen ở vị trí tương ứng của

mẹ được lai ghép cho con, nếu bit mặt nạ = 0 thì gen ở vị trí tươngứng của cha được lai ghép cho con

Hình 5: Lai ghép đồng nhất mã hóa nhị phân

Cụ thể hơn ta có bảng sau:

Hình 6 Mặt nạ lai ghép đồng nhất

Lai ghép số học: Cá thể con được sinh ra bằng một phép toán logic

nào đó (AND,OR,…) với cặp NST bố mẹ

Hình 7: Lai ghép số học mã hóa nhị phân 2.1.2.5.2 Lai ghép theo mã hóa hoán vị

Lai ghép một điểm cắt:

 Vị trí cắt được chọn một cách ngẫu nhiên

Trang 30

 Duyệt NST cha từ đầu, gen nào chưa có trong NST của con thì đưavào.

2.1.2.6.1 Đột biến theo mã hóa nhị phân

Phép đảo bit: Bit được chọn sẽ được đảo.

Hình 9 Phép đảo bit mã hóa nhị phân 2.1.2.6.2 Đột biến theo mã hóa hoán vị

Hoán đổi thứ tự:

Thứ tự các gen được hoán đổi được lựa chọn ngẫu nhiên

Trang 31

Hình 10 Hoán vị thứ tự mã hóa hoán vị 2.1.2.6.3 Đột biến theo mã hóa giá trị

Ví dụ: Nếu mã hóa số thực, ta có thể thêm hoặc bớt một lượng rất nhỏ vàocác gen được chọn để đột biến

Hình 11 Thay đổi giá trị trong mã hóa giá trị

2.1.2.7 Chiến lược nạp lại quần thể

Chiến lược nạp lại quần thể là một trong những bước rất quan trọng của giảithuật di truyền, quyết định khả năng và tốc độ hội tụ của giải thuật di truyền Dựavào chiến lược nạp lại quần thể có thể phân loại các giải thuật di truyền

Một số chiến lược nạp lại quần thể:

2.1.2.7.1 Chiến lược nạp lại hoàn toàn

Tạo ra số NST mới bằng kích thước quần thể và quần thể mới bao gồm toàncác NST mới này, không có NST nào của thế hệ trước

Trang 32

Thế hệ n-1: p cá thể

Thế hệ n: p cá thể

Thế hệ con: p cá thể Lai ghép

Nạp lại hoàn toàn

Hình 12 Sơ đồ chiến lược nạp lại hoàn toàn 2.1.2.7.2 Chiến lược nạp lại ngẫu nhiên

Tạo ra số NST mới ít hơn kích thước quần thể và thay thế một cách ngẫunhiên các NST ở thế hệ trước bằng NST ở thế hệ sau:

Trang 33

Thế hệ n-1: p cá thể

Thế hệ con: m cá thể

Lai ghép

Nạp m con

Hình 14 Sơ đồ chiến lược nạp lại theo mô hình cá thể tối ưu

2.1.2.8 Mô hình giải thuật

Begin

Khởi tạo quần thể ban đầu

Tính độ thích nghi của các cá thể trong quần thể

Thoả mãn điều kiện dừng?

- Lựa chọn cá thể

Chọn lời giải tốt nhất từ cá thể có độ thích nghi cao nhất

End

Lai ghép Đột biến

Trang 34

Hình 15 Mô hình giải thuật

2.1.2.9 Điều kiện dừng của GA

GA không lặp lại vô tận, sinh sản liên tục, mà cần có điều kiện dừng để kếtthúc giải thuật và chọn ra lời giải tốt nhất

Có hai cách để kết thúc giải thuật di truyền:

- Kết thúc cưỡng bức: Ta sẽ thực hiện GA để sinh ra số thế hệ đúng bằng

một số đã được cho trước GA sẽ dừng khi đã tạo đến thế hệ cuối cùng

Sử dụng phương pháp cưỡng bức có thể gây ra lãng phí thời gian nếu nhưcác thế hệ sau gần như không tốt lên Tuy nhiên, cơ chế kiểm soát khôngphức tạp

- Kết thúc tự nhiên: Đến một thế hệ nào đó mà hàm thích nghi cho các con

trong thế hệ đó không tốt hơn thì ta sẽ dừng giải thuật

Phương pháp kết thúc này có cơ chế kiểm soát phức tạp hơn nhưng không biếtchính xác khi nào kết thúc giải thuật

-2.2 CÁC THAM SỐ CỦA GIẢI THUẬT DI TRUYỀN

Giải thuật di truyền có các tham số quan trọng như kích thước quần thể

(popsize), xác suất lai ghép (p c ), xác suất đột biến (p m) Việc lựa chọn các tham sốphù hợp sẽ tăng tính hiệu quả của giải thuật

Trong các tham số trên thì popsize là quan trọng nhất, nếu chọn kích thước

quần thể quá nhỏ thì tính đa dạng của quần thể bị hạn chế và ảnh hưởng đến kết quảcòn nếu quá lớn sẽ làm hao phí tài nguyên của máy tính và làm chậm quá trình tiếnhoá

Trang 35

2.3 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN

Để ứng dụng giải thuật di truyền vào việc giải quyết một bài toán nào đó cầnphải thực hiện một số công việc quan trọng sau:

1 Lựa chọn cách biểu diễn mô hình NST sao cho mỗi NST có thể chứađựng được một lời giải của bài toán

2 Xây dựng hàm đánh giá độ thích nghi cho từng NST Đây là bước khókhăn và ảnh hưởng lớn đến tính hiệu quả của giải thuật

3 Lựa chọn các toán tử di truyền phù hợp, trong đó tập trung cho ba toán tửchính là chọn lọc, lai ghép và đột biến

4 Xác định các tham số của giải thuật di truyền như kích thước quần thể,xác suất lai ghép, xác suất đột biến

5 Xác định điều kiện dừng cho quá trình tiến hoá

2.4 BÀI TOÁN TỐI ƯU

2.4.1 Một số khái niệm

Độ phức tạp của thuật toán: là đánh giá luợng tài nguyên các loại mà các thuậttoá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ớ Đánhgiá độ 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ấttổ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 giancủa nó trong truờng hợp xấu nhất được giới hạn trên bởi một hàm đa thức của kíchthuớc dữ liệu đầu vào (kích thuớc dữ liệu đầu vào được tính bằng số bit cần thiết để

biểu diễn nó) Tức là nếu n là kích thuớc dữ liệu đầu vào, thì luôn tồn tại một đa thức p(n) sao cho W(n) ∈ O(p(n)).

Ví dụ:

Các thuật toán có độ phức tạp thời gian trong truờng hợp xấu nhất sau đều cóthời gian tính đa thức

Trang 36

O(p(n)) = 2n 3n + 4 5n + n nlgn

Các thuật toán có độ phức tạp thời gian trong truờng hợp xấu nhất sau không

có thời gian tính đa thức

O(f(n)) = 2n 20.01n n!

Có hai cách tiếp cận chính để đanh giá độ phức tạp tính toán:

- Đánh giá cận duới độ phức tạp bài toán

- Chỉ ra mức độ khó của nó có thể so sánh với bất ký bài toán khó hiện đabiết

Bài toán quyết định: là bài toán mà đầu ra của nó chỉ có thể là yes

hoặc no (0 hoặc 1, đúng hoặc sai…)

- Một số bài toán quyết định:

- Bài toán về tính số nguyên tố sau là bài toán quyết định “Hỏi số nguyên

tố n có là số nguyên tố hay không?”

- Với dữ liệu vào n = 23 thì câu trả lời là yes, còn với dữ liệu vào n

= 24 thì câu trả lời là no.

- Bài toán tổng con (Subset sum): “Cho tập I số nguyên dương a 1 , a 2, …, a n

và một số nguyên dương T Hỏi có thể tìm được một tập con S của I mà tổng các số trong S = T?”

2.4.2 Các bài toán tối ưu

Truớc những năm 1970, phương pháp chủ yếu để giải các bài toán tối ưu làxây dựng phương pháp giải đúng Nhưng qua kinh nghiệm tính toán cũng như phântích tính hữu hiệu của phương pháp này, nguời ta nhận ra rất nhiều hạn chế của nó,nhất là về mặt thời gian tính toán Phương pháp giải đúng chỉ được áp dụng khi giảibài toán với kích thuớc trung bình Từ rất sớm, các nhà khoa học về lý thuyết máytính nhu Steve Cook và Dick Karp đã quyết định rằng yêu cầu tối thiểu của bất cứ

một bài toán tối ưu nào là thời gian chạy đa thức: O(n c ) , với c là hằng số Tuy

nhiên, không phải mọi bài toán đều có thể được giải quyết một cách nhanh chóng

Trang 37

Rất khó xác định bài toán nào có thể giải quyết một cách nhanh chóng, bài toán nàokhông thể Bởi vậy Cook, Karp, và một số nhà khoa học khác định nghia ra lớp bàitoán NP-khó, mà phần lớn mọi nguời đều tin rằng chúng không thể được giải quyếttrong thời gian đa thức.

Bài toán về tính thực hiện của được của mạch CIR-SAT (Circuit satisfiability)

là một ví dụ điển hình của bài toán mà chúng ta chua biết cách để giải nó trong thờigian đa thức Trong bài toán này, cho một mạch logic bao gồm một tập các cổngAND, OR, và NOT được kết nối với nhau bởi dây dẫn Đầu vào cho mạch này là

tập m giá trị logic (true/false) x 1 , x 2 ,…, x m (xem hình 5) Đầu ra là một giá trị logic

đơn TRUE/FALSE Cho một bộ giá trị đầu vào, có thể tính được đầu ra trong thời

gian đa thức (thực tế là tuyến tính) sử dụng tìm kiếm theo chiều sâu và đánh giá đầu

ra của mỗi cổng trong thời gian tuyến tính Bài toán về tính thực hiện của mạch đặt

ra rằng, cho một mạch bất kỳ, liệu rằng có một bộ đầu vào làm cho đầu ra của mạch

luôn là TRUE, hoặc ngược lại, luôn là FALSE hay không Chưa ai biết được cách

giải quyết bài toán này nhanh hơn cách thử tất cả 2m đầu vào có thể của mạch,nhung nó đòi hỏi thời gian là hàm mũ Mặt khác, không ai có thể chứng minh được

đó là cách tốt nhất chúng ta có thể làm Liệu rằng có một thuật toán thông minh nào

mà chưa từng có ai phát hiện ra không?

Hình 16 Mạch logic, đầu vào được nhập từ bên trái và đầu ra ở bên phải

Trang 38

2.4.2.1 Các lớp bài toán P, NP và co - NP

Dưới đây là phân loại các lớp của bài toán

- P: là lớp bài toán quyết định có thể được giải quyết trong thời gian đa thức.Hay nói cách khác, P là lớp các bài toán có thể được giải một cách nhanhchóng

- NP: là lớp bài toán quyết định mà để xác nhận câu trả lời là yes của nó, cóthể đưa ra bằng chứng ngắn ngọn dễ kiểm tra Hay có thể nói NP là lớp các bàitoán mà có thể kiểm tra câu trả lời yes một cách nhanh chóng trong thời gian

đa thức nếu đã có được lời giải Ví dụ, trong bài toán về tính thực hiện củamạch là NP, nếu câu trả lời là yes, thì bất cứ bộ giá trị đầu vào nào cho giá trịđầu ra là yes đều sẽ chứng minh cho câu trả lời Ta có thể kiểm tra lại bằngcách đánh giá mạch logic trong thời gian đa thức

- co-NP hoàn toàn nguợc với NP Đó là lớp bài toán mà để xác nhận câu trả lời

no thì có thể đưa ra bằng chứng ngắn gọn để kiểm tra.

Nếu một bài toán thuộc lớp P, thì nó cung thuộc lớp NP-để kiểm tra một câutrả lời yes trong thời gian đa thức, ta có thể tính toán lại câu trả lời từ đầu trong thờigian đa thức Tương tự như vậy, bất cứ bài toán nào thuộc lớp P thì cũng thuộc lớpco-NP

P |NP P co-NP

Một câu hỏi lớn đặt ra trong lý thuyết khoa học máy tính là liệu có đẳng thức P

= NP hay không Không ai biết được chính xác câu trả lời Một cách trực quan cóthể thấy rõ ràng rằng NP ≠ P, như minh họa trong hình 6 Các nghiên cứu đã khiến

ta tin rằng các bài toán có thể vô cùng khó để giải quyết, mặc dù lời giải lại rất rõràng khi đa biết được nó Nhưng không ai có thể chứng minh được điều này

Ngày đăng: 11/06/2016, 15:33

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Hsiao – Lan Fang (1992), Investigating Genetic Algorithms for Scheduling, Department of Artificial Intelligence University of Edinburgh Sách, tạp chí
Tiêu đề: Investigating Genetic Algorithms for Scheduling
Tác giả: Hsiao – Lan Fang
Năm: 1992
[2]. Jeffrey Horn, Nicholas Nafpliotis and David E. Goldberg (1993), Multiobjective Optimization Using The Niched Pareto Genetic Algorithm, Illinois Genetic Algorithm laborary University of Illiois at Urbana Champaign Sách, tạp chí
Tiêu đề: Multiobjective Optimization Using The Niched Pareto Genetic Algorithm
Tác giả: Jeffrey Horn, Nicholas Nafpliotis and David E. Goldberg
Năm: 1993
[3]. Darrell Whitley, A Genetic Algorithm Tutorial, Computer Science Department, Colorado State University Fort Collins, CO 80523 Sách, tạp chí
Tiêu đề: A Genetic Algorithm Tutorial
[4]. Spyros Kazarlis, Vassilios Petridis and Pavlina Fragkou, Solving University Timetabling Problems Using Advanced Genetic Algorithms, Technological Educational Institute of Serres Sách, tạp chí
Tiêu đề: Solving University Timetabling Problems Using Advanced Genetic Algorithms
[5]. Hal Aljibury, A. Antonio Arroyo (1999), Creating Q-table parameters using Genetic Algorithms, Florida conference on Recent Advances in Robotics Sách, tạp chí
Tiêu đề: Creating Q-table parameters using Genetic Algorithms
Tác giả: Hal Aljibury, A. Antonio Arroyo
Năm: 1999
[6]. Kalyanmoy Deb (2002), A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II, IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 6, NO. 2, APRIL 2002 Sách, tạp chí
Tiêu đề: A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II
Tác giả: Kalyanmoy Deb
Năm: 2002
[7]. Matthew Bartschi Wall (1996), A Genetic Algorithm for Resource- Constrained Scheduling, Massachusetts Institute of Technology Sách, tạp chí
Tiêu đề: A Genetic Algorithm for Resource-Constrained Scheduling
Tác giả: Matthew Bartschi Wall
Năm: 1996
[8]. Sadaf Naseem Jat, Shengxiang Yang (2009), A Guided Search Genetic Algorithm for the University Course Timetabling Problem, Multidisciplinary International Conference on Scheduling : Theory and Applications (MISTA 2009) Sách, tạp chí
Tiêu đề: A Guided Search Genetic Algorithm for the University Course Timetabling Problem
Tác giả: Sadaf Naseem Jat, Shengxiang Yang
Năm: 2009
[9]. Anirudha Nanda, Manisha P. Pai, and Abhijeet Gole (2012), An Algorithm to Automatically Generate Schedule for School Lectures Using a Heuristic Approach, International Journal of Machine Learning and Computing, Vol. 2, No. 4, August 2012 Sách, tạp chí
Tiêu đề: An Algorithm to Automatically Generate Schedule for School Lectures Using a Heuristic Approach
Tác giả: Anirudha Nanda, Manisha P. Pai, and Abhijeet Gole
Năm: 2012
[10]. Alexander Brownlee (2005), An Application of Genetic Algorithms to University Timetabling, Honours Project Sách, tạp chí
Tiêu đề: An Application of Genetic Algorithms to University Timetabling
Tác giả: Alexander Brownlee
Năm: 2005
[11]. Marco Chiarandini,Mauro Birattari, Krzysztof Socha, Olivia Rossi- Doria (2006), An effective hybrid algorithm for university course timetabling, Springer Science + Business Media, LLC 2006 Sách, tạp chí
Tiêu đề: An effective hybrid algorithm for university course timetabling
Tác giả: Marco Chiarandini,Mauro Birattari, Krzysztof Socha, Olivia Rossi- Doria
Năm: 2006
[12]. George G. Mitchell, Diarmuid O’Donoghue, David Barnes, Mark McCarville (2003), GeneRepair - A Repair Operator for Genetic Algorithms, Proceedings of the GECCO-2003 Late Breaking Papers, 235-239, Chicago, IL, July 12-16, 2003 Sách, tạp chí
Tiêu đề: GeneRepair - A Repair Operator for Genetic Algorithms
Tác giả: George G. Mitchell, Diarmuid O’Donoghue, David Barnes, Mark McCarville
Năm: 2003
[13]. Shengxiang Yang (2010), Genetic Algorithms With Guided and Local Search Strategies for University Course Timetabling, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS Sách, tạp chí
Tiêu đề: Genetic Algorithms With Guided and Local Search Strategies for University Course Timetabling
Tác giả: Shengxiang Yang
Năm: 2010

HÌNH ẢNH LIÊN QUAN

Hình 13. Sơ đồ chiến lược nạp lại ngẫu nhiên - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Hình 13. Sơ đồ chiến lược nạp lại ngẫu nhiên (Trang 33)
Hình 12. Sơ đồ chiến lược nạp lại hoàn toàn - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Hình 12. Sơ đồ chiến lược nạp lại hoàn toàn (Trang 33)
Bảng 5. Khởi tạo cá thể - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng 5. Khởi tạo cá thể (Trang 44)
Bảng 12. Biểu diễn ràng buộc lớp không học 2 môn cùng thời điểm - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng 12. Biểu diễn ràng buộc lớp không học 2 môn cùng thời điểm (Trang 48)
Bảng 16. Chọn điểm lai ghép - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng 16. Chọn điểm lai ghép (Trang 50)
Hình 20. Mô hình triển khai - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Hình 20. Mô hình triển khai (Trang 58)
Hình 21. Mô hình ứng dụng client/server - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Hình 21. Mô hình ứng dụng client/server (Trang 59)
Bảng dữ liệu lưu thông tin kết quả xếp lịch. Cấu trúc bảng dữ liệu như sau: - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng d ữ liệu lưu thông tin kết quả xếp lịch. Cấu trúc bảng dữ liệu như sau: (Trang 68)
Bảng 31. Bảng dữ liệu phân công Giảng viên – Môn học - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng 31. Bảng dữ liệu phân công Giảng viên – Môn học (Trang 68)
Bảng 32. Bảng dữ liệu kết quả xếp lịch - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng 32. Bảng dữ liệu kết quả xếp lịch (Trang 69)
Bảng 33. Bảng dữ liệu thử nghiệm đơn giản - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng 33. Bảng dữ liệu thử nghiệm đơn giản (Trang 69)
Bảng 34. Bảng dữ liệu thử nghiệm thực tế - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng 34. Bảng dữ liệu thử nghiệm thực tế (Trang 70)
Bảng 35: Bảng tham số thử nghiệm - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Bảng 35 Bảng tham số thử nghiệm (Trang 70)
Hình 23. Giao diện đăng nhập - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Hình 23. Giao diện đăng nhập (Trang 71)
Hình 25. Giao diện phân công giáo viên dạy môn và lớp học - Giải thuật gen di truyền giải bài toán lập kế hoạch học tập
Hình 25. Giao diện phân công giáo viên dạy môn và lớp học (Trang 72)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w