Một trong những phương pháp được áp dụng hiệu quả cho bài toán tối ưu, đặc biệt là lớp bài toán tối ưu tổ hợp là giải thuật di truyền.. Giải thuật di truyền được đề xuất bởi Holland tron
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2LỜI CẢM ƠN Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined MỤC LỤC 1 Danh mục hình vẽ Error! Bookmark not defined Danh mục bảng Error! Bookmark not defined Danh mục thuật ngữ Error! Bookmark not defined LỜI NÓI ĐẦU Error! Bookmark not defined CHƯƠNG 1 GIỚI THIỆU BÀI TOÁN Error! Bookmark not defined
1.1 Phát biểu bài toán Error! Bookmark not defined 1.2 Mô hình đồ thị của bài toán Error! Bookmark not defined 1.3 Các giải thuật giải bài toán Error! Bookmark not defined 1.4 Đề xuất hướng áp dụng giải thuật di truyền Error! Bookmark not defined 1.5 Nhiệm vụ của luận văn Error! Bookmark not defined
CHƯƠNG 2 GIẢI THUẬT DI TRUYỀN Error! Bookmark not defined
2.1 Một số khái niệm cơ bản trong sinh học Error! Bookmark not defined 2.1.1 Di truyền học Error! Bookmark not defined 2.1.2 Thuyết chọn lọc tự nhiên Error! Bookmark not defined 2.1.3 Độ thích nghi và khung cảnh thích nghi Error! Bookmark not defined 2.2 Các vấn đề cơ bản của giải thuật di truyền Error! Bookmark not defined 2.2.1 Cấu trúc của giải thuật di truyền Error! Bookmark not defined 2.2.3 Các kỹ thuật biểu diễn Error! Bookmark not defined 2.2.4 Phép toán di truyền Error! Bookmark not defined 2.2.5 Các tham số trong giải thuật di truyền Error! Bookmark not defined 2.2.6 Phương pháp lựa chọn Error! Bookmark not defined 2.3 Cơ sở lý thuyết của giải thuật di truyền Error! Bookmark not defined 2.3.1 Thuộc tính của lược đồ Error! Bookmark not defined 2.3.2 Phép toán di truyền Error! Bookmark not defined 2.3.5 Điều kiện dừng của giải thuật Error! Bookmark not defined 2.3.6 Sự hội tụ của giải thuật Error! Bookmark not defined 2.4 Giải thuật di truyền kết hợp Error! Bookmark not defined 2.4.1 Giải thuật tìm kiếm địa phương Error! Bookmark not defined 2.4.1.1 Giải thuật 2-opt Error! Bookmark not defined 2.4.1.2 Giải thuật 3-opt Error! Bookmark not defined
Trang 3CHO BÀI TOÁN CỰC TIỂU HOÁ ĐỘ TRỄ Error! Bookmark not defined
3.1 Kỹ thuật biểu diễn Error! Bookmark not defined 3.1.1 Kỹ thuật biểu diễn nhị phân Error! Bookmark not defined 3.1.2 Kỹ thuật biểu diễn liền kề Error! Bookmark not defined 3.1.3 Kỹ thuật biểu diễn thứ tự Error! Bookmark not defined 3.1.4 Kỹ thuật biểu diễn đường đi Error! Bookmark not defined 3.2 Phép toán di truyền Error! Bookmark not defined 3.2.1 Phép toán lai ghép Error! Bookmark not defined 3.2.2 Phép toán đột biến Error! Bookmark not defined 3.3 Phương pháp lựa chọn Error! Bookmark not defined 3.4 Các tham số Error! Bookmark not defined 3.5 Điều kiện dừng giải thuật Error! Bookmark not defined 3.6 Giải thuật di truyền kết hợp Error! Bookmark not defined 3.7 Một số đánh giá ban đầu Error! Bookmark not defined 3.7.1 Xác suất lai ghép Error! Bookmark not defined 3.7.2 Xác suất đột biến Error! Bookmark not defined 3.7.3 Toán tử di truyền Error! Bookmark not defined 3.7.4 Kích thước nhóm Error! Bookmark not defined 3.7.5 Kích thước quần thể Error! Bookmark not defined 3.7.6 Giải thuật di truyền kết hợp Error! Bookmark not defined
CHƯƠNG 4 TÍNH TOÁN THỰC NGHIỆM Error! Bookmark not defined
4.1 Mục đích thực nghiệm Error! Bookmark not defined 4.1.1 Giải thuật GA Error! Bookmark not defined 4.1.2 Giải thuật LS Error! Bookmark not defined 4.1.3 Giải thuật GAH Error! Bookmark not defined 4.2 Thiết kế và xây dựng chương trình Error! Bookmark not defined 4.2.1 Thiết kế chương trình Error! Bookmark not defined 4.2.2 Xây dựng chương trình Error! Bookmark not defined 4.3 Hướng dẫn sử dụng Error! Bookmark not defined 4.4 Mô tả dữ liệu thực nghiệm Error! Bookmark not defined 4.5 Kết quả thực nghiệm Error! Bookmark not defined 4.5.1 Thực nghiệm lựa chọn các tham số Error! Bookmark not defined 4.5.2 Thực nghiệm với bộ dữ liệu TSPLIB95 Error! Bookmark not defined
Trang 4Phụ lục 1: Các bảng thực nghiệm Error! Bookmark not defined Phụ lục 2: Mô tả nội dung đĩa CD kèm theo Error! Bookmark not defined
Trang 5LỜI CẢM ƠN
Để hoàn thành Luận Văn Tốt nghiệp Cao Học giai đoạn 2006-2008, em xin chân thành cảm ơn thầy giáo PGS.TS Nguyễn Đức Nghĩa đã trực tiếp hướng dẫn và
tận tình giúp đỡ em trong quá trình nghiên cứu
Em xin gửi lời cảm ơn tới các thầy cô trong Khoa Công Nghệ Thông Tin, cũng như các thầy cô trong trường Đại Học Bách Khoa Hà Nội đã truyền thụ những kiến thức bổ ích trong quá trình em học tập và nghiên cứu tại trường
Em xin gửi lời cảm ơn tới gia đình và bạn bè đã giúp đỡ động viên em trong quá trình học tập và hoàn thành Luận Văn Tốt nghiệp lần này
Mặc dù có nhiều cố gắng nhưng do thời thời gian và kiến thức còn hạn chế nên luận văn vẫn còn có nhiều thiếu sót Em rất mong nhận được những ý kiến đóng góp quý báu từ thầy, cô và các bạn
Hà Nội, ngày 11 tháng 11 năm 2008
Học viên thực hiện:
Ban Hà Bằng
Trang 6LỜI CAM ĐOAN
Tôi xin cam đoan luận văn cao học này là kết quả nghiên cứu tôi trong suốt một năm qua, không sao chép nguyên si từ bất kỳ công trình nghiên cứu nào Những kiến thức tham khảo để hoàn thành luận văn, tôi đều chú thích cẩn thận trong mục tài liệu tham khảo
Trang 7MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
Danh mục hình vẽ 6
Danh mục bảng 9
Danh mục thuật ngữ 12
LỜI NÓI ĐẦU 13
CHƯƠNG 1 GIỚI THIỆU BÀI TOÁN 15
1.1 Phát biểu bài toán 15
1.2 Mô hình đồ thị của bài toán 16
1.3 Các giải thuật giải bài toán 18
1.4 Đề xuất hướng áp dụng giải thuật di truyền 19
1.5 Nhiệm vụ của luận văn 21
CHƯƠNG 2 GIẢI THUẬT DI TRUYỀN 23
2.1 Một số khái niệm cơ bản trong sinh học 23
2.1.1 Di truyền học 23
2.1.2 Thuyết chọn lọc tự nhiên 24
2.1.3 Độ thích nghi và khung cảnh thích nghi 25
2.2 Các vấn đề cơ bản của giải thuật di truyền 27
2.2.1 Cấu trúc của giải thuật di truyền 27
2.2.3 Các kỹ thuật biểu diễn 28
2.2.4 Phép toán di truyền 30
2.2.5 Các tham số trong giải thuật di truyền 32
2.2.6 Phương pháp lựa chọn 32
2.3 Cơ sở lý thuyết của giải thuật di truyền 34
2.3.1 Thuộc tính của lược đồ 34
2.3.2 Phép toán di truyền 35
2.3.5 Điều kiện dừng của giải thuật 38
2.3.6 Sự hội tụ của giải thuật 39
2.4 Giải thuật di truyền kết hợp 39
2.4.1 Giải thuật tìm kiếm địa phương 39
2.4.1.1 Giải thuật 2-opt 41
Trang 82.4.1.2 Giải thuật 3-opt 41
2.4.1.3 Giải thuật luyện kim 42
2.4.2 Kết hợp hai giải thuật 45
CHƯƠNG 3 THIẾT KẾ GIẢI THUẬT DI TRUYỀN 48
CHO BÀI TOÁN CỰC TIỂU HOÁ ĐỘ TRỄ 48
3.1 Kỹ thuật biểu diễn 48
3.1.1 Kỹ thuật biểu diễn nhị phân 48
3.1.2 Kỹ thuật biểu diễn liền kề 49
3.1.3 Kỹ thuật biểu diễn thứ tự 50
3.1.4 Kỹ thuật biểu diễn đường đi 51
3.2 Phép toán di truyền 52
3.2.1 Phép toán lai ghép 52
3.2.2 Phép toán đột biến 58
3.3 Phương pháp lựa chọn 60
3.4 Các tham số 61
3.5 Điều kiện dừng giải thuật 62
3.6 Giải thuật di truyền kết hợp 62
3.7 Một số đánh giá ban đầu 63
3.7.1 Xác suất lai ghép 63
3.7.2 Xác suất đột biến 64
3.7.3 Toán tử di truyền 64
3.7.4 Kích thước nhóm 65
3.7.5 Kích thước quần thể 65
3.7.6 Giải thuật di truyền kết hợp 65
CHƯƠNG 4 TÍNH TOÁN THỰC NGHIỆM 68
4.1 Mục đích thực nghiệm 68
4.1.1 Giải thuật GA 68
4.1.2 Giải thuật LS 75
4.1.3 Giải thuật GAH 78
4.2 Thiết kế và xây dựng chương trình 80
4.2.1 Thiết kế chương trình 80
4.2.2 Xây dựng chương trình 82
4.3 Hướng dẫn sử dụng 84
4.4 Mô tả dữ liệu thực nghiệm 91
Trang 94.5 Kết quả thực nghiệm 95
4.5.1 Thực nghiệm lựa chọn các tham số 95
4.5.2 Thực nghiệm với bộ dữ liệu TSPLIB95 112
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 116
TÀI LIỆU THAM KHẢO 119
Phụ lục 1: Các bảng thực nghiệm 121
Phụ lục 2: Mô tả nội dung đĩa CD kèm theo 139
Trang 10Danh mục hình vẽ
Hình 1.1 Đường đi tối ưu MLP trong file dữ liệu Berlin 52 17
Hình 1.2 Đường đi tối ưu TSP trong file dữ liệu Berlin 52 17
Hình 2.1 Cấu trúc nhiễm sắc thể 24
Hình 2.2 Khung cảnh thích nghi của quần thế 26
Hình 2.3 Quá trình tiến hoá độ thích nghi của quần thể 26
Hình 2.4 Các bước trong giải thuật di truyền 28
Hình 2.5 Mô tả kỹ thuật biểu diễn cây 30
Hình 2.6 Minh hoạ phép toán di truyền 31
Hình 2.7 Hình vẽ mô tả sự hội tụ của giải thuật di truyền 39
Hình 2.8 Hình minh hoạ các bước của giải thuật tìm kiếm địa phương 40
Hình 2.9 Mô tả cách thức tìm kiếm của giải thuật tìm kiếm địa phương 40
Hình 2.10 Giải thuật tìm kiếm địa phương 2-opt 41
Hình 2.11 Giải thuật tìm kiếm địa phương 3-opt 42
Hình 2.12 Hình mô tả giải thuật kết hợp 45
Hình 3.1 Mô tả phép toán PMX 53
Hình 3.2 Mô tả phép toán CX 54
Hình 3.3 Mô tả phép toán CX 56
Hình 3.4 Mô tả phép toán DM 58
Hình 3.4 Mô tả phép toán ISM 59
Hình 3.5 Mô tả phép toán SIM 59
Hình 3.7 Mô tả phép toán SM 60
Hình 4.1 Lược đồ mô tả các bước của giải thuật GA 69
Hình 4.2 Lược đồ mô tả bước xây dựng quần thể ban đầu 70
Hình 4.3 Lược đồ mô tả bước lựa chọn tournament 71
Hình 4.4 Lược đồ mô tả bước thực hiện của toán tử OX2 72
Hình 4.5 Lược đồ mô tả bước thực hiện của toán tử POS 73
Hình 4.6 Lược đồ mô tả bước thực hiện của toán tử đột biến DM 74
Hình 4.7 Lược đồ mô tả bước thay thế cá thể có tổng độ trễ cao 74
Hình 4.8 Lược đồ mô tả các bước tạo lời giải ban đầu S 75
Trang 11Hình 4.9 Lược đồ mô tả các bước trong giải thuật 2-opt 76
Hình 4.10 Lược đồ mô tả các bước trong giải thuật 3-opt 77
Hình 4.11 Lược đồ mô tả các bước trong giải thuật luyện kim 78
Hình 4.12 Lược đồ mô tả các bước trong giải thuật di truyền kết hợp 79
Hình 4.13 Một số chức năng chính của chương trình 81
Hình 4.14 Sơ đồ minh hoạ các bước thực hiện của chương trình 82
Hình 4.15 Giao diện chính của chương trình 84
Hình 4.16 Giao diện bước chọn chức năng nạp dữ liệu 85
Hình 4.17 Giao diện nhập dữ liệu từ file txt 86
Hình 4.18 Toạ độ các đỉnh hiển trên khung hình 87
Hình 4.19 Giao diện bước chọn giải thuật 88
Hình 4.20 Giao diện bước nhập tham số cho giải thuật GA 89
Hình 4.21 Giao diện bước nhập tham số cho giải thuật GAH 89
Hình 4.22 Giao diện bước chạy chương trình 90
Hình 4.23 Giao diện hiển kết quả giải thuật 91
Hình 4.24 Hình biểu diễn sự phân bố các điểm trong Eil101 93
Hình 4.25 Hình biểu diễn sự phân bố các điểm trong Berlin52 93
Hình 4.26 Hình biểu diễn sự phân bố các điểm trong Pr13 94
Hình 4.27 Hình biểu diễn sự phân bố các điểm trong Ts225 94
Hình 4.28 So sánh kết quả lời giải với 99
N/Nt = 20, POS + DM, Pcrossover = (0.6, 0.7, 0.8, 0.9), Pmutation = (0.01, 0.02, 0.03) 99
Hình 4.29 So sánh kết quả lời giải với 99
N/Nt = 20, OX2 + DM, Pcrossover = (0.6, 0.7, 0.8, 0.9), Pmutation = (0.01, 0.02, 0.03) 99
Hình 4.30 So sánh kết quả lời giải hai phép toán lai ghép POS và OX2 với 100
N/Nt = 20, Pcrossover = 0.6, Pmutation = 0.02 100
Hình 4.31 So sánh kết quả lời giải với 103
N/Nt = (5, 10, 20, 40), POS + DM, Pcrossover = 0.6, Pmutation = 0.2 103
Hình 4.32 So sánh kết quả lời giải với 103
N/Nt = (5, 10, 20, 40), OX2 + DM, Pcrossover = 0.6, Pmutation = 0.2 103
Hình 4.33 So sánh kết quả lời giải với 105
N/Nt = (20, 30, 40), POS + DM, Pcrossover = 0.6, Pmutation = 0.2, N > 100 105
Trang 12Hình 4.34 So sánh kết quả lời giải với (N/Nt = 20, POS + DM, 107
Pcrossover = (0.6, 0.1), Pmutation = (0.2, 0.00) 107
Hình 4.35 So sánh kết quả lời giải với 109
N = 20Nt, POS + DM, Pcrossover = 0.6, Pmutation = 0.02, Nk = 5, 10, 15 109
Hình 4.36 So sánh kết quả lời giải 111
N/Nt = 20, POS + DM, Pcrossover = 0.6, Pmutation = 0.02, các giải thuật khác nhau 111
Hình 4.37 So sánh kết quả lời giải 114
N/Nt = 20, POS + DM, Pcrossover = 0.6, Pmutation = 0.02, GA, GAH, LS, AA 114
Trang 13Danh mục bảng
Bảng 2.1 Bảng so sánh khái niệm giữa thuyết nhiệt động lực học và bài toán tối ưu 43
Bảng 4.1 So sánh sự phân bố các đỉnh trong các thành phố 92
Bảng 4.2 Kết quả thực nghiệm N/Nt = 20, OX2 + DM, 97
Nk = 5, Pcrossover = (0.9, 0.8, 0.7, 0.6), Pmutation = (0.01, 0.02, 0.03) 97
Bảng 4.3 Kết quả thực nghiệm N/Nt = 20, POS + DM, 98
Nk = 5, Pcrossover = (0.9, 0.8, 0.7, 0.6), Pmutation = (0.01, 0.02, 0.03) 98
Bảng 4.4 Kết quả thực nghiệm 101
N/Nt = (5, 10, 40), POS + DM, Pcrossover = 0.6, Pmutation = 0.02, Nk = 5 101
Bảng 4.5 Kết quả thực nghiệm N/Nt = (5, 10, 40), OX2 + DM, Pcrossover = 0.6, Pmutation = 0.02, Nk = 5 102
Bảng 4.6 Kết quả thực nghiệm 104
N/Nt = (20, 30, 40), POS + DM, Pcrossover = 0.6, Pmutation = 0.02, Nt > 100, Nk = 5 104
Bảng 4.7 Kết quả thực nghiệm Pcrossover = 0.1, Pmutation = 0.02, N/Nt = 20, Nk = 5 106
Bảng 4.7 Kết quả thực nghiệm Pcrossover = 0.6, Pmutation = 0.00, N/Nt = 20, Nk = 5 107
Bảng 4.9 Kết quả thực nghiệm Pcrossover = 0.6, Pmutation = 0.02, N/Nt = 20, Nk = 10 108
Bảng 4.10 Kết quả thực nghiệmPcrossover = 0.6, Pmutation = 0.02, N/Nt = 20, Nk = 15 109
Bảng 4.11 Kết quả thực nghiệm 110
Pcrossover = 0.6, Pmutation = 0.02, N/Nt = 20, Nk = 5, 2-opt, 3-opt, luyện kim 110
Bảng 4.12 So sánh kết quả lời giải của các giải thuật 113
Bảng 5.1 Kết quả với Pcrossover = 0.9 và Pmutation = 0.03, Berlin52 121
Bảng 5.2 Kết quả với Pcrossover = 0.8 và Pmutation = 0.03, Berlin52 121
Bảng 5.3 Kết quả với Pcrossover = 0.7 và Pmutation = 0.03, Berlin52 121
Bảng 5.4 Kết quả với Pcrossover = 0.6 và Pmutation = 0.03, Berlin52 121
Bảng 5.5 Kết quả với Pcrossover = 0.9 và Pmutation = 0.01, Berlin52 122
Bảng 5.6 Kết quả với Pcrossover = 0.8 và Pmutation = 0.01, Berlin52 122
Bảng 5.7 Kết quả với Pcrossover = 0.7 và Pmutation = 0.01, Berlin52 122
Bảng 5.8 Kết quả với Pcrossover = 0.6 và Pmutation = 0.01, Berlin52 122
Bảng 5.9 Kết quả với Pcrossover = 0.9 và Pmutation = 0.02, Berlin52 123
Bảng 5.10 Kết quả với Pcrossover = 0.8 và Pmutation = 0.02, Berlin52 123
Trang 14Bảng 5.11 Kết quả với Pcrossover = 0.7 và Pmutation = 0.02, Berlin52 123
Bảng 5.12 Kết quả với Pcrossover = 0.6 và Pmutation = 0.02, Berlin52 123
Bảng 5.13 Kết quả với Pcrossover = 0.9 và Pmutation = 0.03, KroC100 124
Bảng 5.14 Kết quả với Pcrossover = 0.8 và Pmutation = 0.03, KroC100 124
Bảng 5.15 Kết quả với Pcrossover = 0.7 và Pmutation = 0.03, KroC100 124
Bảng 5.16 Kết quả với Pcrossover = 0.6 và Pmutation = 0.03, KroC100 124
Bảng 5.17 Kết quả với Pcrossover = 0.9 và Pmutation = 0.01, KroC100 125
Bảng 5.18 Kết quả với Pcrossover = 0.8 và Pmutation = 0.01, KroC100 125
Bảng 5.19 Kết quả với Pcrossover = 0.9 và Pmutation = 0.01, KroC100 125
Bảng 5.20 Kết quả với Pcrossover = 0.6 và Pmutation = 0.01, KroC100 125
Bảng 5.21 Kết quả với Pcrossover = 0.9 và Pmutation = 0.02, KroC100 126
Bảng 5.22 Kết quả với Pcrossover = 0.8 và Pmutation = 0.02, KroC100 126
Bảng 5.23 Kết quả với Pcrossover = 0.7 và Pmutation = 0.02, KroC100 126
Bảng 5.24 Kết quả với Pcrossover = 0.6 và Pmutation = 0.02, KroC100 126
Bảng 5.25 Kết quả với Pcrossover = 0.9 và Pmutation = 0.03, St70 127
Bảng 5.26 Kết quả với Pcrossover = 0.8 và Pmutation = 0.03, St70 127
Bảng 5.27 Kết quả với Pcrossover = 0.7 và Pmutation = 0.03, St70 127
Bảng 5.28 Kết quả với Pcrossover = 0.6 và Pmutation = 0.03, St70 127
Bảng 5.29 Kết quả với Pcrossover = 0.9 và Pmutation = 0.01, St70 128
Bảng 5.30 Kết quả với Pcrossover = 0.8 và Pmutation = 0.01, St70 128
Bảng 5.31 Kết quả với Pcrossover = 0.7 và Pmutation = 0.01, St70 128
Bảng 5.32 Kết quả với Pcrossover = 0.6 và Pmutation = 0.01, St70 128
Bảng 5.33 Kết quả với Pcrossover = 0.9 và Pmutation = 0.02, St70 129
Bảng 5.34 Kết quả với Pcrossover = 0.8 và Pmutation = 0.02, St70 129
Bảng 5.35 Kết quả với Pcrossover = 0.9 và Pmutation = 0.02, St70 129
Bảng 5.36 Kết quả với Pcrossover = 0.6 và Pmutation = 0.02, St70 129
Bảng 5.37 Kết quả với Pcrossover = 0.9 và Pmutation = 0.03, Eil101 130
Bảng 5.38 Kết quả với Pcrossover = 0.8 và Pmutation = 0.03, Eil101 130
Bảng 5.39 Kết quả với Pcrossover = 0.7 và Pmutation = 0.03, Eil101 130
Bảng 5.40 Kết quả với Pcrossover = 0.6 và Pmutation = 0.03, Eil101 130
Bảng 5.41 Kết quả với Pcrossover = 0.9 và Pmutation = 0.01, Eil101 131
Trang 15Bảng 5.42 Kết quả với Pcrossover = 0.8 và Pmutation = 0.01, Eil101 131
Bảng 5.43 Kết quả với Pcrossover = 0.7 và Pmutation = 0.01, Eil101 131
Bảng 5.44 Kết quả với Pcrossover = 0.6 và Pmutation = 0.01, Eil101 131
Bảng 5.45 Kết quả với Pcrossover = 0.9 và Pmutation = 0.02, Eil101 132
Bảng 5.46 Kết quả với Pcrossover = 0.8 và Pmutation = 0.02, Eil101 132
Bảng 5.47 Kết quả với Pcrossover = 0.7 và Pmutation = 0.02, Eil101 132
Bảng 5.48 Kết quả với Pcrossover = 0.6 và Pmutation = 0.02, Eil101 132
Bảng 5.49 Kết quả với Pcrossover = 0.9 và Pmutation = 0.03, Pr76 133
Bảng 5.50 Kết quả với Pcrossover = 0.8 và Pmutation = 0.03, Pr76 133
Bảng 5.51 Kết quả với Pcrossover = 0.7 và Pmutation = 0.03, Pr76 133
Bảng 5.52 Kết quả với Pcrossover = 0.6 và Pmutation = 0.03, Pr76 133
Bảng 5.53 Kết quả với Pcrossover = 0.9 và Pmutation = 0.01, Pr76 134
Bảng 5.54 Kết quả với Pcrossover = 0.8 và Pmutation = 0.01, Pr76 134
Bảng 5.55 Kết quả với Pcrossover = 0.7 và Pmutation = 0.01, Pr76 134
Bảng 5.56 Kết quả với Pcrossover = 0.6 và Pmutation = 0.01, Pr76 134
Bảng 5.57 Kết quả với Pcrossover = 0.8 và Pmutation = 0.02, Pr76 135
Bảng 5.58 Kết quả với Pcrossover = 0.8 và Pmutation = 0.02, Pr76 135
Bảng 5.59 Kết quả với Pcrossover = 0.7 và Pmutation = 0.02, Pr76 135
Bảng 5.60 Kết quả với Pcrossover = 0.6 và Pmutation = 0.02, Pr76 135
Bảng 5.61 Kết quả với Pcrossover = 0.9 và Pmutation = 0.03, Lin105 136
Bảng 5.62 Kết quả với Pcrossover = 0.8 và Pmutation = 0.03, Lin105 136
Bảng 5.63 Kết quả với Pcrossover = 0.7 và Pmutation = 0.03, Lin105 136
Bảng 5.64 Kết quả với Pcrossover = 0.6 và Pmutation = 0.03, Lin105 136
Bảng 5.65 Kết quả với Pcrossover = 0.9 và Pmutation = 0.01, Lin105 137
Bảng 5.66 Kết quả với Pcrossover = 0.8 và Pmutation = 0.01, Lin105 137
Bảng 5.67 Kết quả với Pcrossover = 0.7 và Pmutation = 0.01, Lin105 137
Bảng 5.68 Kết quả với Pcrossover = 0.6 và Pmutation = 0.01, Lin105 137
Bảng 5.69 Kết quả với Pcrossover = 0.9 và Pmutation = 0.02, Lin105 138
Bảng 5.70 Kết quả với Pcrossover = 0.8 và Pmutation = 0.02, Lin105 138
Trang 16Danh mục thuật ngữ
STT Từ viết tắt Giải nghĩa tiếng Anh Giải nghĩa tiếng Việt
thông tin di truyền
phần tử
thông tin di truyền
14 MPX Maximal Preservative Crosssover Lai ghép bảo tồn cực đại
21 VR Voting Recombination Crossover Lai ghép tái tổ hợp bầu chọn
Trang 17LỜI NÓI ĐẦU
Bài toán cực tiểu hoá độ trễ (MLP – Minimum Latency Problem) thuộc lớp bài toán tối ưu tổ hợp và là bài toán NP - khó trong trường hợp tổng quát [1] Hiện nay, bài toán MLP có rất nhiều ứng dụng trong thực tế [2] Do vậy, việc tìm ra được lời giải tối
ưu cho bài toán đang là mối quan tâm của nhiều nhà nghiên cứu Một số hướng tiếp cận giải bài toán được đề xuất, song các kết quả đạt được chưa cao
Hơn hai thập kỷ qua, ngành khoa học về các phương pháp tối ưu đã có những bước tiến lớn, rất nhiều phương pháp tối ưu được áp dụng Một trong những phương pháp được áp dụng hiệu quả cho bài toán tối ưu, đặc biệt là lớp bài toán tối ưu tổ hợp là giải thuật di truyền Giải thuật di truyền được đề xuất bởi Holland trong những năm
1970, là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp thích hợp cho lớp bài toán tối ưu tổ hợp Giải thuật di truyền là một phân ngành của giải thuật tiến hóa vận dụng các nguyên lý của thuyết tiến hóa Đến nay, giải thuật đã được ứng dụng vào nhiều ngành, nhiều lĩnh vực và thu được nhiều thành tựu
Với mục đích nâng cao kết quả, tác giả chọn hướng tiếp cận giải thuật di truyền (giải thuật thích hợp cho lớp bài toán tối ưu tổ hợp) giải bài toán cực tiểu hoá độ trễ
Nội dung của luận văn bao gồm những phần sau:
• Chương 1: Giới thiệu bài toán
Chương này trình bày bài toán cực tiểu hoá độ trễ, ứng dụng của bài toán trong thực tế, cách biểu diễn bài toán trên mô hình đồ thị, cũng như các giải thuật giải bài toán Trên cơ sở đó, đề xuất hướng áp dụng giải thuật di truyền giải bài toán
Chương 2: Giải thuật di truyền
Trong chương này, trình bày một số khái niệm cơ bản trong sinh học Trên cơ
sở đó, trình bày các vấn đề cơ bản của giải thuật di truyền Cuối cùng là trình bày về giải thuật di truyền kết hợp
Trang 18• Chương 3: Thiết kế giải thuật di truyền cho bài toán cực tiểu hoá độ trễ
Chương này tập trung thiết kế giải thuật di truyền áp dụng cho bài toán cực tiểu hoá độ trễ MLP
Chương 4: Tính toán thực nghiệm
Chương này trình bày tính toán thực nghiệm theo hướng giải thuật di truyền được xây dựng trong chương trước để kiểm nghiệm và đánh giá hiệu quả của
giải thuật
K ết luận và hướng phát triển nghiên cứu ở các giai đoạn tiếp theo
Ý nghĩa khoa học và thực tiễn luận văn:
• Giải thuật di truyền là một phân ngành của giải thuật tiến hóa áp dụng hiệu quả cho bài toán tối ưu, đặc biệt là lớp bài toán tối ưu tổ hợp Hiện này, giải thuật di truyền được ứng dụng vào nhiều ngành, nhiều lĩnh vực và thu được nhiều thành
tựu [12]
• Bài toán cực tiểu hoá độ trễ thuộc lớp các bài toán tối ưu tổ hợp thường gặp và
có nhiều ứng dụng trong thực tế [2] Do vậy, việc nâng cao chất lượng lời giải của bài toán có ý nghĩa thực tế cao Hướng áp dụng giải thuật di truyền giải bài
toán cực tiểu hoá độ trễ là có cơ sở khoa học và thực tiễn
Trang 19Chương này phát biểu bài toán cực tiểu hoá độ trễ (MLP), một số ứng dụng của bài toán trong thực tế, cách biểu diễn bài toán trên cơ sở lý thuyết đồ thị, cũng như các giải thuật giải bài toán Trên cơ sở đó đề xuất việc áp dụng giải thuật di truyền giải bài toán MLP
CHƯƠNG 1
GIỚI THIỆU BÀI TOÁN
Bài toán cực tiểu hoá độ trễ (minimum latency problem) cũng được biết như một dạng khác của bài toán người giao hàng, bài toán người bán hàng (Traveling Salesman Problem) [4, 5]
Cho một tập n điểm p1, …, pn, mỗi điểm đều có cạnh nối với các điểm còn lại Tìm một đường đi đơn bắt đầu từ một điểm xuất phát đến thăm tất cả các điểm còn lại, sao cho tổng độ trễ của đường đi đó là cực tiểu
∑n
1
i ) p (
l à Min Với l(pi) là độ trễ của điểm thứ i
Trong đó, độ trễ đường đi là tổng độ trễ của tất cả các điểm có trong đường đi
đó và độ trễ của một điểm bất kỳ là tổng độ dài cạnh nối các điểm liền nhau trong đường đi trước khi điểm đó được thăm lần đầu
Một số ứng dụng của bài toán cực tiều hoá độ trễ [2]:
• Một máy chủ có một tập các yêu cầu Máy chủ đó phải lập lịch sao cho cực tiểu hoá thời gian trung bình mà mỗi yêu cầu phải đợi
• Một ứng dụng khác của bài toán MLP được sử dụng để cực tiểu hoá thời gian tìm kiếm thông tin trên mạng
Trang 201.2 Mô hình đồ thị của bài toán
Trong trường hợp tổng quát, coi mỗi điểm của đường đi là một đỉnh của đồ thị đầy đủ có trọng số Khi đó, đường đi giữa hai điểm là cạnh nối giữa hai đỉnh Bài toán được phát biểu:
Cho một đồ thị đầy đủ có trọng số Kn với tập đỉnh V = {vi | i = 1, 2, …, n} và
ma trận trọng số đối xứng C = {cij ≥ 0 | i, j = 1, 2, …, n} Tìm một đường đi đơn bắt đầu từ một đỉnh xuất phát bất kỳ trong đồ thị đến thăm tất cả các đỉnh còn lại, sao cho
độ trễ của đường đi đó là cực tiểu
Trong đó, độ trễ đường đi là tổng độ trễ của tất cả các đỉnh có trong đường đi đó
và độ trễ của một đỉnh bất kỳ là tổng độ dài cạnh nối các đỉnh liền nhau trong đường đi trước khi đỉnh đó được thăm lần đầu
Nếu dãy đỉnh v1v2…vn là đường đi trên Kn, thì độ trễ của đường đi đó được tính như sau: ∑∑
=
−
= +n
2
i
1 i
1 j
1 jj
1001060709
16100211210
17602101940
15701219012
1691040120
Đường đi T = 1 – 5 – 4 – 2 – 3 – 6 có tổng độ trễ nhỏ nhất: (9 + (9 + 10) + (9 +
10 + 12) + (9 + 10 + 12 + 19) + (9 + 10 + 12 + 19 + 17)) = 192
Trang 21• Ví dụ 2 [6]: Trong trường hợp các điểm là các đỉnh của đồ thị đầy đủ trong file dữ liệu Berlin52
Hình 1.1 Đường đi tối ưu MLP trong file dữ liệu Berlin 52
Hình 1.2 Đường đi tối ưu TSP trong file dữ liệu Berlin 52
Trang 221.3 Các giải thuật giải bài toán
MLP là bài toán NP- khó trong trường hợp tổng quát [1, 2, 3, 4], thậm chí là bài toán NP- khó trong trường hợp các đỉnh của nó là các đỉnh của cây có trọng lượng [7]
Do đó, trong trường hợp tổng quát, không tồn tại một giải thuật có độ phức tạp đa thức
để giải bài toán trên Nếu giải bằng phương pháp quy hoạch động trong trường hợp
tổng quát, độ phức tạp của giải thuật sẽ là hàm số mũ O(n2
2n
) [8] Bang Ye Wu, ZhengNan Huang, Fu-Jie Zhan đề xuất giải thuật kết hợp phương pháp quy hoạch động
và phương pháp nhánh cận có độ phức tạp hàm số mũ giải bài toán MLP trong trường hợp các đỉnh của bài toán là các đỉnh của đồ thị vô hướng có trọng lượng [9]
Các giải thuật có độ phức tạp đa thức giải bài toán MLP trong một số trường hợp đặc biệt:
• Cây không trọng lượng - độ phức tạp giải thuật trong trường hợp này là đa thức [9]
• Các đỉnh pi nằm trên một đường thẳng - phương pháp giải quy hoạch động - O(n2
) [1]
• Các đỉnh pi là các đỉnh của cây có số lượng lá là hằng số (trees of constant number of leaves) [10]
Một số giải thuật giải bài toán MLP trong trường hợp tổng quát:
• Các giải thuật gần đúng: Trong trường hợp tổng quát, Blum đưa ra giải thuật gần đúng với hệ số gần đúng là 144, Geomans và Klein-berg đưa ra hệ số gần đúng là 21.55, còn Grag đưa ra hệ số là 10.78 [3] Aaron Archer, Asaf Levin, David Williamson đề xuất giải thuật gần đúng tốt nhất với hệ số gần đúng sấp sỉ 3.01 [6]
• Một số giải thuật tìm kiếm địa phương: 2-opt, 3-opt, giải thuật luyện kim, giải thuật Tabu Reasearch, một số giải thuật Heuristic
Trang 23• Giải thuật di truyền: Giải thuật di truyền thường áp dụng tốt cho những bài toán tối ưu hoá tổ hợp như bài toán TSP và MLP Ngoài ra, có thể kết hợp giải thuật di truyền với giải thuật tìm kiếm địa phương Trong đó, giải thuật
di truyền đóng vai trò trong việc tìm các cực trị, còn giải thuật địa phương sẽ
“leo” lên các đỉnh đó để tìm cực đại (cực tiểu) toàn cục
Giải thuật gần đúng mà Aaron Archer, Asaf Levin, David Williamson đề xuất giải bài toán MLP có hệ số gần đúng nhỏ nhất, song kết quả đạt được vẫn chưa cao Với mục đích nâng cao chất lượng lời giải, hướng áp dụng giải thuật di truyền giải bài toán MLP là có cơ sở khoa học vì:
Thứ nhất, hướng áp dụng giải thuật di truyền giải bài toán người bán hàng (bài
toán cũng thuộc lớp bài toán tối ưu tổ hợp) đạt được nhiều kết quả khả quan cả về lý thuyết lẫn thực nghiệm [13, 14] Điều này chứng tỏ giải thuật di truyền có thể áp dụng tốt cho bài toán MLP
Thứ hai, giải thuật di truyền có nhiều ưu điểm so với các phương pháp tối ưu
truyền thống [11, 15]:
• Giải thuật di truyền tác động vào mã biểu diễn lời giải thay vì trực tiếp vào lời giải đó Do đó, miền xác định và miền giá trị của mã biểu diễn là rời rạc Như vậy, giải thuật di truyền có thể khắc phục được các hạn chế về vấn đề liên tục,
về sự tồn tại đạo hàm, …
• Các phương pháp tối ưu truyền thống tác động trực tiếp lên từng lời giải thông qua một vài bước lặp để biến đổi thành lời giải khác Tuy nhiên, các phương pháp này thường gặp phải vấn đề khi đạt đến trạng thái cực trị địa phương Trong khi đó, giải thuật di truyền tác động lên quần thể các lời giải Nhờ vậy, nhược điểm trên được hạn chế thông qua tính đa dạng của các lời giải
Trang 24• Các phương pháp tối ưu truyền thống thường yêu cầu tập các rằng buộc hoặc các giá trị đạo hàm, … Trong khi đó, giải thuật di truyền chỉ cần quan tâm đến giá trị hàm mục tiêu
• Các phương pháp truyền thống biến đổi lời giải ban đầu thành lời giải khác thông qua các luật cố định Do vậy, các phương pháp này chỉ áp dụng cho một lớp các bài toán xác định, mà không thể áp dụng rộng rãi cho các lớp bài toán khác nhau Ngược lại, giải thuật di truyền sử dụng các luật xác suất để tìm kiếm lời giải; dẫn đến việc tìm kiếm có thể diễn ra theo nhiều hướng khác nhau và hội
tụ ở những lời giải gần tối ưu
Với những ưu điểm này, tác giả tập trung hướng nghiên cứu áp dụng giải thuật
di truyền vào giải bài toán MLP
Trang 251.5 Nhiệm vụ của luận văn
Từ những yêu cầu đặt ra, nhiệm vụ của luận văn là:
• Tìm hiểu và nghiên cứu bài toán cực tiểu hoá độ trễ, các ứng dụng thực tế của bài toán, các giải thuật giải bài toán và kết quả đạt được Đồng thời nghiên cứu hướng áp dụng giải thuật di truyền giải bài toán MLP
• Nghiên cứu tổng quan về các vấn đề cơ bản của giải thuật di truyền, đồng thời nghiên cứu các phương pháp, kỹ thuật nâng cao kết quả của giải thuật
• Từ các cở sở lý thuyết trên, tiến hành thiết kế giải thuật di truyền giải bài toán MLP
• Cài đặt mô hình và tiến hành thử nghiệm giải thuật đã đề xuất
Trang 26KẾT LUẬN CHƯƠNG
Chương này tập trung giới thiệu bài toán MLP, các ứng dụng thực tế, mô hình
đồ thị của bài toán, cũng như các giải thuật giải bài toán
MLP là bài toán NP-khó trong trường hợp tổng quát, kể cả trong trường hợp các đỉnh của nó là các đỉnh của cây có trọng lượng Ngoài một số trường hợp đặc biệt của bài toán có thể giải được bằng giải thuật có độ phức tạp đa thức; còn trong trường hợp tổng quát không tồn tại những giải thuật tương tự
Một số hướng giải bài toán MLP trong trường hợp tổng quát:
• Giải thuật gần đúng
• Giải thuật tìm kiếm địa phương
• Giải thuật di truyền
Giải thuật di truyền có nhiều ưu điểm so với các phương pháp truyền thống:
• Giải thuật di truyền có thể khắc phục các hạn chế về vấn đề liên tục, về sự tồn tại đạo hàm
• Khắc phục hạn chế của giải thuật tìm kiếm địa phương khi giải thuật đạt đến trạng thái cực trị địa phương thông qua tính đa dạng của các cá thể lời giải
• Giải thuật di truyền chỉ quan tâm đến giá trị hàm mục tiêu Do đó, làm đơn giản hoá quá trình tìm kiếm
• Thứ tư, giải thuật di truyền có thể áp dụng rộng rãi cho nhiều lớp bài toán khác nhau
Với những ưu điểm có được, đồng thời trên cơ sở nghiên cứu các kết quả lý thuyết và thực nghiệm đạt được khi áp dụng giải thuật di truyền giải bài toán người bán hàng (TSP), tác giả tập trung hướng nghiên cứu áp dụng giải thuật di truyền để giải bài toán MLP
Trang 27Chương này trình bày một số khái niệm cơ bản trong sinh học như: Di truyền học, thuyết chọn lọc tự nhiên, độ thích nghi và khung cảnh thích nghi của toàn quần thể Trên cơ sở đó, trình bày các vấn đề cơ bản của giải thuật di truyền: Cấu trúc giải thuật, các kỹ thuật biểu diễn lời giải, các phép toán di truyền, các tham số trong giải thuật, cũng như mô hình toán học của giải thuật, sự hội tụ của giải thuật Cuối cùng
là trình bày về giải thuật di truyền kết hợp
CHƯƠNG 2
GIẢI THUẬT DI TRUYỀN
2 1.1 Di truyền học
Tất các các cơ thể sống gồm nhiều tế bào, mỗi tế bào là một tập các cá thể Mỗi
cá thể là một chuỗi các DNA, mỗi DNA chứa mọi thông tin cần thiết tạo nên các đặc tính sự sống cho mọi sinh vật
Về cơ bản, mỗi gen mã hoá một đặc tính (như: Màu mắt, màu lông, …) Một tập các thuộc tính (như: Màu xanh, màu đỏ) của một đặc tính được gọi là allele Mỗi gen
có một vị trí xác định trong cá thể được gọi là locus
Một tập tất cả các cá thể được gọi là genome Trong đó, một tập các gen xác định trong genome được gọi là kiểu gen
Tập các đặc tính vật lý biểu hiện ra bên ngoài được quy định bởi kiểu gen được gọi là kiểu hình
Trong quá trình sinh sản, các cá thể con cháu được tạo thành từ quá trình lai ghép giữa các cá thể cha mẹ Các cá thể con cháu này sau khi được tạo ra sẽ trải qua quá trình biến dị - đó là quá trình biến đổi cấu trúc ADN từ cha mẹ
Trang 28Độ thích nghi của một cá thể được hiểu là khả năng sinh tồn của cơ thể đó đối với môi trường bên ngoài
Hình 2.1 Cấu trúc nhiễm sắc thể
2 1.2 Thuyết chọn lọc tự nhiên
Mọi sinh vật đều chịu sự chi phối của vô số các điều kiện sống phức tạp khác
nhau Vì vậy, chúng phải đấu tranh chống lại những điều kiện sống khắc nghiệt đó
Những cá thể nào mang đặc tính, kiểu hình có lợi cho sự sinh tồn, thì cá thể đó tồn tại, phát triển, sinh sản nhiều và con cháu ngày một đông Những cá thể nào mang đặc tính, kỉểu hình không có lợi thì ít có khả năng tồn tại, ít được sinh sản nên con cháu hiếm dần Dưới sự tác động của quá trình chọn lọc tự nhiên, những cá thể nào thích nghi được với điều kiện sống khắc nghiệt, cá thể đó mới sống sót và phát triển
Tính biến dị và tính di truyền chịu sự tác động của chọn lọc tự nhiên là nhân tố chính hình thành các đặc điểm thích nghi của sinh vật
Dưới tác dụng của chọn lọc tự nhiên, trên quy mô lớn, trong thời gian dài, đã dẫn đến hình thành nhiều loài mới từ một loài ban đầu
Trang 29Bằng thuyết chọn lọc tự nhiên, Darwin đã giải thích được sự hình thành đặc điểm thích nghi của sinh vật và cũng đã chứng minh rằng toàn bộ sinh vật ngày nay là kết quả của quá trình tiến hoá từ một nguồn gốc chung
2 1.3 Độ thích nghi và khung cảnh thích nghi
Như đã trình bày ở phần trước, kiểu gen là một tập các gen của một cơ thể sống;
kiểu hình là tập tất cả những đặc tính có thể quan sát, được quy định bởi kiểu gen và môi trường Không gian kiểu hình là tập tất cả kiểu hình của các cá thể trong một quần thể
Độ thích nghi của một cá thể bao gồm khả năng cá thể đó sinh tồn, phát triển, sinh sản ra nhiều con cháu và di truyền những đặc tính có lợi cho các thế hệ tiếp theo
Cá thể nào có độ thích nghi càng cao thì khả năng chúng tồn tại và phát triển càng cao Thông qua quá trình tiến hoá, độ thích nghi của các cá thể ngày càng cao qua nhiều thế
hệ
Khung cảnh thích nghi của một quần thể biểu diễn mối liên hệ giữa độ thích nghi và kiểu hình của toàn quần thể Giả sử, nếu kiểu hình được biểu diễn trong không gian hai chiều; khi đó, trong khung cảnh thích nghi tồn tại những chỗ lồi - ứng với kiểu hình có độ thích nghi cao (được gọi là “đỉnh thích nghi”) và những chỗ lõm - ứng với kiểu hình độ thích nghi thấp (được gọi là “đáy thích nghi”)
Về cơ bản, thông qua quá trình chọn lọc tự nhiên, các cá thể tiến hoá từ nơi
có độ thích nghi thấp đến nơi có độ thích nghi cao - “leo đồi” và kết quả là hội tụ
ở một vài đỉnh trong khung cảnh thích nghi của quần thể
Trang 30Hình 2.2 Khung cảnh thích nghi của quần thế
Kiểu hình
Độ thích nghi
Hình 2.3 Quá trình tiến hoá độ thích nghi của quần thể
Trang 312.2 Các vấn đề cơ bản của giải thuật di truyền
2.2.1 C ấu trúc của giải thuật di truyền
Giải thuật di truyền là một loại giải thuật tìm kiếm, được đề xuất bởi Holland trong những năm 1970 Giải thuật di truyền tạo ra một quần thể gồm nhiều lời giải khác nhau (các cá thể lời giải) Các cá thể lời giải trong quần thể ngày một tốt hơn thông qua quá trình tiến hoá, qua nhiều thế hệ Quá trình tiến hoá của các cá thể dựa trên thuyết chọn lọc tự nhiên, theo nguyên tắc “kẻ thích nghi nhất là kẻ tồn tại”
Giải thuật di truyền (ký hiệu: GA) gồm một số bước cơ bản [12]:
• [Bắt đầu] Khởi tạo quần thể ngẫu nhiên với kích thước cho trước
• [Độ thích nghi] Đánh giá độ thích nghi của mỗi cá thể trong quần thể
• [Quần thể mới] Quá trình tạo ra một quần thể mới như sau:
[Lựa chọn] Chọn hai cá thể cha mẹ từ quần thể ban đầu theo nguyên tắc
cá thể nào có độ thích nghi càng cao, cá thể đó càng có nhiều cơ hội lựa chọn
[Lai ghép] Lai ghép hai cá thể cha mẹ để tạo ra các cá thể con cháu
[Đột biến] Các cá thể con cháu trải qua quá trình biến dị
[Thay thế] Thay thế các cá thể cha mẹ bằng các cá thể con cháu
• [Kiểm tra] Nếu thoả mãn điều kiện dừng đưa ra kết quả
• [Vòng lặp] Quay trở lại bước 2
Trang 32Đánh giá
độ thích nghi
Hình 2.4 Các bước trong giải thuật di truyền
2.2.3 Các k ỹ thuật biểu diễn
Có bốn kỹ thuật phổ biến biểu diễn các cá thể lời giải Tuỳ thuộc vào những bài toán khác nhau, mà áp dụng những kỹ thuật biểu diễn khác nhau [12]
Kỹ thuật biểu diễn dưới dạng chuỗi nhị phân:
Mỗi cá thể được biểu diễn bằng chuỗi các bit 0, 1 Ví dụ:
Cá thể A: 101100101100101011100101
Cá thể B: 111111100000110000011111
Kỹ thuật biểu diễn này có ưu điểm là dễ cài đặt Tuy nhiên, cũng tồn tại một số nhược điểm: Thứ nhất, độ chính xác không cao khi tăng kích thước miền biểu diễn
Trang 33Thứ hai, khi tăng độ chính xác của lời giải, số lượng bit biểu diễn cũng phải tăng lên; dẫn đến làm chậm giải thuật
Kỹ thuật biểu diễn theo đường đi:
Mỗi cá thể được biểu diễn bằng một chuỗi các chữ số hoặc một chuỗi các ký tự
Ví dụ:
Cá thể A: 1 5 3 2 6 4 7 9 8
Cá thể B: A B C D E F G H I J
Kỹ thuật này được sử dụng rộng rãi trong các bài toán có yêu cầu về tính thứ tự
như: Bài toán TSP, MLP
Kỹ thuật biểu diễn dưới dạng chuỗi giá trị thực:
Trong một số bài toán tối ưu, việc biểu diễn lời giải dưới dạng chuỗi nhị phân là rất khó khăn, đặc biệt khi miền biểu diễn quá nhỏ Để khắc phục hạn chế này, kỹ thuật biểu diễn theo giá trị được đề xuất Mỗi cá thể được biểu diễn bằng một chuỗi giá trị
Kỹ thuật biểu diễn cây:
Mỗi cá thể được biểu diễn bằng cây các đối tượng và thường được áp dụng trong các chương tình tiến hoá Ví dụ:
Trang 34( do until step wall )
Hình 2.5 Mô tả kỹ thuật biểu diễn cây
2.2.4 Phép toán di truy ền
Có nhiều phép toán lai ghép khác nhau phụ thuộc vào các kỹ thuật biểu diễn khác nhau Một số phép toán di truyền phổ biến [12]:
Với kỹ thuật biểu diễn theo nhị phân:
Phép toán lai ghép một điểm: Chọn ngẫu nhiên một điểm lai ghép Cá thể con cháu được tạo ra bằng cách sao chép phần đầu của cá thể cha
mẹ thứ nhất (từ đầu chuỗi đến điểm lai ghép thứ nhất); phần còn lại được sao chép từ cá thể cha mẹ còn lại (từ điểm lai ghép thứ hai đến hết chuỗi)
Ví dụ: 11001011 + 11011111 = 11001111
Phép toán lai ghép hai điểm: Chọn ngẫu nhiên hai điểm lai ghép Cá thể con cháu được tạo ra như sau: Sao chép từ đầu chuỗi đến điểm lai ghép thứ nhất trong cá thể cha mẹ đầu tiên; từ điểm lai ghép thứ nhất đến điểm lai ghép thứ hai trong cá thể cha mẹ còn lại; từ điểm lai ghép thứ hai đến hết chuỗi từ cá thể cha mẹ thứ nhất
Ví dụ: 11001011 + 11011111 = 11011111
Trang 35 Phép toán lai ghép ngẫu nhiên: Cá thể con cháu được lai ghép ngẫu nhiên từ cả hai cá thể cha mẹ
Với kỹ thuật biểu diễn đường đi:
Phép toán lai ghép một điểm:
Trang 362.2.5 Các tham số trong giải thuật di truyền
Kích thước của quần thể
Kích thước của quần thể là số lượng cá thể có trong một quần thể Thông thường, các cá thể ban đầu được khởi tạo một cách ngẫu nhiên hoặc theo một chiến lược xác định Kích thước của quần thể không đổi qua các thế hệ và ảnh hưởng đến kết quả của giải thuật Nếu số lượng các cá thể trong quần thể ít, kết quả lời giải đạt được không cao Tuy nhiên, không phải lúc nào việc tăng kích thước quần thể cũng làm tăng kết quả lời giải Tóm lại, việc lựa chọn kích thước quần thể như thế nào còn tuỳ thuộc vào kỹ thuật biểu diễn và kích thước của sâu mã hoá
Xác suất lai ghép
Xác suất lai ghép là tần xuất mà phép toán lai ghép được thực thi Nếu xác suất của phép toán lai ghép là 1 thì tất cả các cá thể con cháu đều được lai ghép từ cha mẹ Ngược lại, nếu xác suất của phép toán lai ghép là 0 thì các cá thể con cháu ở thế hệ sau
là bản sao chép nguyên si từ cha mẹ chúng
Xác suất đột biến
Xác suất đột biến là tần xuất mà phép toán đột biến được thực thi Nếu xác suất đột biến là 1 thì tất cả các cá thể con cháu đều bị biến đổi Ngược lại, khi xác suất của phép toán đột biến là 0 thì tất cả các cá thể con cháu đều không bị thay đổi
2.2.6 Phương pháp lựa chọn
Hàm lựa chọn sẽ chọn ra các cá thể cha mẹ cho quá trình lai ghép Tiêu chí lựa chọn cá thể cha mẹ dựa trên độ thích nghi của chúng Cá thể nào có độ thích nghi càng cao, cá thể đó càng có nhiều cơ hội được chọn Có nhiều phương pháp lựa chọn như: Phương pháp quay bánh xe roulette, phương pháp lựa chọn theo cấp bậc (rank selection), phương pháp lựa chọn steady-state, phương pháp lựa chọn Tournament, …
Trang 37Phương pháp quay bánh xe roulette: Theo phương pháp này, mỗi cá thể trong
quần thể chiếm một dải quạt có độ rộng tỷ lệ với độ thích nghi của cá thể đó Độ rộng của dải quạt được tính theo tỷ lệ phần trăm độ thích nghi của mỗi cá thể với tổng độ thích nghi của toàn quần thể Mỗi lần quay vòng tròn Roulette, một cá thể sẽ được lựa chọn Việc quay để chọn một cá thể thực hiện theo các bước:
• Đánh số các cá thể trong quần thể
• Tính tổng độ thích nghi của toàn quần thể
• Ứng với mỗi cá thể, tính tổng tích luỹ bằng tổng độ thích nghi của cá thể đó với độ thích nghi của các cá thể đứng trước nó
• Sinh một số ngẫu nhiên n trong khoảng từ 0 đến tổng độ thích nghi quần thể
• Cá thể đầu tiên trong quần thể có tổng tích luỹ lớn hơn hoặc bằng n sẽ được chọn
Tuy nhiên, phương pháp này có nhược điểm trong trường hợp độ thích nghi của các cá thể trong quần thể khác nhau nhiều Ví dụ: Nếu độ thích nghi của cá thể tốt nhất chiếm 90% vòng tròn roulette, khi đó cơ hội lựa chọn các cá thể khác là rất thấp
Phương pháp lựa chọn theo cấp bậc: Đầu tiên, phương pháp này sẽ phân cấp
quần thể như sau: Cá thể tồi nhất sẽ có độ thích nghi là 1, cá thể tồi tiếp theo sẽ nhận
độ thích nghi là 2, … và cá thể tốt nhất sẽ nhận độ thích nghi là N (N là số lượng cá thể trong quần thể) Với việc phân cấp này, tất các cá thể đều có cơ hội được lựa chọn bởi
sự khác biệt về độ thích nghi giữa cá thể tốt nhất và cá thể tồi nhất không nhiều Kết quả, quá trình hội tụ của giải thuật sẽ diễn ra chậm hơn so với phương pháp quay bánh
xe roulette
Phương pháp lựa chọn Tournament: Theo phương pháp này, chọn ngẫu nhiên
một nhóm cá thể lời giải với kích thước cho trước Sau đó, chọn ra hai cá thể có độ thích nghi cao nhất làm cá thể cha mẹ Tiến hành lai ghép hai cá thể đó để tạo ra hai cá thể con cháu và đồng thời thay thế hai cá thể con cháu này cho hai cá thể có độ thích nghi thấp nhất trong nhóm
Trang 38Phương pháp lựa chọn Steady-State: Ý tưởng chính của phương pháp lựa
chọn này là lựa chọn một phần lớn các cá thể vào trong quần thể mới Trong mỗi thế
hệ, một số cá thể có độ thích nghi cao sẽ được lựa chọn để tạo ra cá thể con cháu
Trong khi đó, một số cá thể có độ thích nghi thấp sẽ bị loại bỏ và bị thay thế bởi những
cá thể con cháu có độ thích nghi cao hơn
Phương pháp lựa chọn Elitism: Theo các phương pháp lựa chọn trước, những
cá thể tốt nhất có thể bị thay thế bởi những cá thể có độ thích nghi thấp Để tránh điều này, phương pháp sẽ sao chép các cá thể tốt nhất vào trong quần thể mới Sau đó, các
cá thể còn lại được lựa chọn theo một trong những phương pháp trên
2.3.1 Thuộc tính của lược đồ
Cơ sở lý thuyết của giải thuật di truyền dựa trên biểu diễn sâu nhị phân và lý thuyết lược đồ Một lược đồ là một sâu có chiều dài bằng sâu cá thể Các thành phần của lược đồ có thể nhận một trong các giá trị của tập ký tự biểu diễn gen hoặc một ký
tự đại diện “*” Lược đồ biểu diễn không gian con trong không gian tìm kiếm; trong
đó, không gian con này là tập tất cả các chuỗi trong không gian tìm kiếm mà với mọi vị trí trong sâu, giá trị của gen trùng với giá trị của lược đồ
Kí tự đại diện “*” có thể khớp với bất kỳ ký tự biểu diễn nào Ví dụ: Lược đồ (*1010) sẽ khớp với 2 sâu: (11010) và (01010) Như vậy, lược đồ (11010) và (01010) chỉ khớp với chính nó; còn lược đồ (*****) khớp với tất cả các lược đồ có độ dài là 5
Với lược đồ cụ thể có tương ứng 2r
sâu, với r là số ký tự đại diện “*” có trong lược đồ; ngược lại, một sâu có chiều dài m có tối đa 3mlược đồ khác nhau và chỉ khớp với 2mlược đồ trong đó Như vậy, trong một quần thể kích thước n, có tương ứng từ
2mđến Min (nx2m
, 3m
) lược đồ khác nhau
Trang 392.3.2 Phép toán di truyền
Xét một quần thể có kích thước n Gọi ξ (S, t) là số lượng sâu cá thể trong quần thể ở thế hệ t khớp với lược đồ S Gọi Eval(S, t) là độ thích nghi của lược đồ S ở thế hệ
t Giả sử có n sâu cá thể T = {C1 ,…, Cn} trong quần thể khớp với lược đồ S ở thế hệ t
và Eval(Ci) là độ thích nghi của sâu cá thể thứ i trong T khớp với S Thì:
n
)C(Eval)
t,S(Eval
n
1 i
)C(Eval i
(2.2) Trong đó, Fit(t) là tổng độ thích nghi của quần thể ở thế hệ t, được tính:
Fit(t) = ∑
= n
1 i
i ) C (
Ở thế hệ t + 1, số sâu khớp với lược đồ S(ξ (S, t +1) ) được tính:
ξ (S, t + 1) = ξ (S, t) * n *
)t(Fit
)t,S(Eval
(2.4)
Gọi Fit (t)=
n
) t ( Fit là độ thích nghi trung bình của quần thể Viết lại:
S(ξ (S, t +1) = ξ (S, t) * _
)t(Fit
)t,S(Eval
Từ đó cho thấy, lược đồ có độ thích nghi lớn hơn độ thích nghi trung bình toàn quần thể thì số lượng sâu cá thể khớp với lược đồ đó sẽ tăng ở các thế hệ sau Ngược lại, lược đồ có độ thích nghi nhỏ hơn độ thích nghi trung bình toàn quần thể thì số lượng sâu cá thể khớp với lược đồ đó sẽ giảm ở các thế hệ tiếp theo Công thức trên gọi
là phương trình tăng trưởng sinh sản của lược đồ S Giả sử lược đồ S có độ thích nghi trên mức độ thích nghi trung bình k % thì:
Trang 40Eval(S, t) =
)t(Fit + k *
)t(
Với: k > 0: Với lược đồ có độ thích nghi lớn hơn độ thích nghi trung bình
k < 0: Với lược đồ có độ thích nghi nhỏ hơn độ thích nghi trung bình
Phép toán lai ghép
Giả sử, lược đồ được chọn để lai ghép S = (***111*****) có chiều dài xác định δ(S) = 6 − 4 = 2 Khi đó, tồn tại ba khả năng:
Khả năng thứ nhất, nếu lược đồ được chọn để lai ghép không khớp với lược đồ
S ở các vị trí cố định và nếu điểm lai ghép được chọn trong khoảng [4; 6] thì lược đồ bị phá hỏng ở thế hệ tiếp theo Gọi chiều dài sâu cá thể là L, các vị trí lai ghép có thể chọn trong đoạn từ 1 tới L-1 với đồng xác suất Điều đó có nghĩa là xác suất S bị phá vỡ được xác định bởi:
P1(S) =
1 L
) s (
−
δ
Khả năng thứ hai, nếu lược đồ được chọn để lai ghép khớp với lược đồ S ở các
vị trí cố định thì lược đồ S không bị phá hỏng ở thế hệ tiếp theo
P2(S) = S(ξ (S, t) + Fit(t)*
Fit(t)
* n
Fit(t)
(2.9) Khả năng thứ ba, hai lược đồ bất kỳ lai ghép tạo ra lược đồ S Do đó,
Pre(S) ≤ (1 - S(ξ (S, t) + Fit(t)*
Fit(t)
* n
Fit(t)
) * (1 -
1 L
) s (
−
δ
) (2.10) Gọi xác xuất lai ghép là Pc ≤ 1
Từ đó, xác suất lược đồ S bị phá huỷ trong cả ba trường hợp:
Pdel(S) ≤ pc * (1 - S(ξ (S, t) + Fit(t)*
Fit(t)
* n
Fit(t)
) * (1 -
1 L
) s (
− δ
) (2.11)