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

Áp dụng giải thuật di truyền giải bài toán cực tiểu hoá độ trễ

143 18 0

Đ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 143
Dung lượng 1,65 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ộ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 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trang 2

LỜ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 3

CHO 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 4

Phụ 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 5

LỜ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 6

LỜ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 7

MỤ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 8

2.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 9

4.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 10

Danh 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 11

Hì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 12

Hì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 13

Danh 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 14

Bả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 15

Bả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 16

Danh 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 17

LỜ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 19

Chươ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 20

1.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 22

1.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 25

1.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 26

KẾ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 27

Chươ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 29

Bằ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 30

Hì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 31

2.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 33

Thứ 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 36

2.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 37

Phươ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 38

Phươ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 39

2.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 40

Eval(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)

Ngày đăng: 27/02/2021, 23:27

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] A. Blum, P. Chalasani, D. Coppersmith, B. Pulleyblank, P. Raghavan, and M. Sudan, The minimum latency problem. Proc. 26th Annu. ACM Sympos. Theory Comput., pages 163 - 171, 1994 Sách, tạp chí
Tiêu đề: The minimum latency problem
Tác giả: A. Blum, P. Chalasani, D. Coppersmith, B. Pulleyblank, P. Raghavan, M. Sudan
Nhà XB: Proc. 26th Annu. ACM Sympos. Theory Comput.
Năm: 1994
[2] Hui Huang, Yaw-Ling Lin and Chuan - Yi Tang, A variation of minimum latency problem – Yung Sách, tạp chí
Tiêu đề: A variation of minimum latency problem – Yung
Tác giả: Hui Huang, Yaw-Ling Lin, Chuan - Yi Tang
[5] Sarubbi. J.F.M, Luna H.P.L. A New Flow Formulation for the Minimum Latency Problem Sách, tạp chí
Tiêu đề: A New Flow Formulation for the Minimum Latency Problem
Tác giả: Sarubbi. J.F.M, Luna H.P.L
[6] Aaron Archer, Asaf Levin, David Williamson. A Faster, Better Approximation Algorithm for the Minimum Latency Problem, Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 88-96, 2003 Sách, tạp chí
Tiêu đề: A Faster, Better Approximation Algorithm for the Minimum Latency Problem
Tác giả: Aaron Archer, Asaf Levin, David Williamson
Nhà XB: Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms
Năm: 2003
[9] E. Minieka, The delivery man problem on a tree network, Ann. Oper. Res., 18 (1989) 261–266 Sách, tạp chí
Tiêu đề: The delivery man problem on a tree network
Tác giả: E. Minieka
Nhà XB: Ann. Oper. Res.
Năm: 1989
[11] Michalewicz Z. Genetic Algorithms + Data Structures = Evolution Programs Third 3 edition, Springer Sách, tạp chí
Tiêu đề: Genetic Algorithms + Data Structures = Evolution Programs
Tác giả: Michalewicz Z
Nhà XB: Springer
Năm: Third 3 edition
[13] P. Larranaga, C.M.H. Kuijpers, R.H. Murga I.Inza, S. Dizdarevic. Genetic Alogorithms for Travelling Salesman Problem. Department of Computer Science and Artifical Intelligence, P.O. Box 649, University of the Basque Country, E-20080 Donastia - San Sebastian, Spain Sách, tạp chí
Tiêu đề: Genetic Alogorithms for Travelling Salesman Problem
Tác giả: P. Larranaga, C.M.H. Kuijpers, R.H. Murga I.Inza, S. Dizdarevic
Nhà XB: Department of Computer Science and Artifical Intelligence, University of the Basque Country
[15] Mitchell Melanie. An Introduction to Genetic Algorithms. A Bradford Book The MIT Press Cambridge, Massachusetts, London, England, Fifth printing, 1999, First MIT Press paperback edition, 1998 Sách, tạp chí
Tiêu đề: An Introduction to Genetic Algorithms
Tác giả: Mitchell Melanie
Nhà XB: A Bradford Book
Năm: 1999
[16] Brad L.Miller, David E. Gold. Gordberg. Genetic Algorithms, Tournament Selection and the Effects of Noise. IlliGal. Report No 95006 July 1995 Sách, tạp chí
Tiêu đề: Genetic Algorithms, Tournament Selection and the Effects of Noise
Tác giả: Brad L. Miller, David E. Gold, Gordberg
Nhà XB: IlliGal
Năm: 1995
[3] S. Arora and G. Karakostas. Approximation schemes for minimum latency problems. In STOC 1999, 688 - 693 Khác
[4] M. Goemans, J. Kleinberg, An improved approximation ratio for the minimum latency problem, Mathematical Programming 82 (1998), 111–124 Khác
[7] R. Sitters, The minimum latency problem is NP-hard for weighted trees, in Proc. 9th International IPCO Conference, Lecture Notes in Comput. Sci., Vol. 2337, 2002, pp.230–239 Khác
[8] B.Y. Wu, Polynomial time algorithms for some minimum latency problems, Inf. Process. Lett., 75(5) (2000) 225–229 Khác
[9] Exact algorithms for the minimum latency problemG. Bang Ye Wu, ZhengNan Huang, Fu-Jie Zhan Khác
[10] E. Koutsoupias, C. Papadimitriou and M. Yannakakis, Searching a fixed graph, in Proc. 23nd Colloquium on Automata, Languages and Programming, Lecture Notes in Comput. Sci., Vol. 1099, 1996, pp. 280–289 Khác
[14] Prof. Dr. rer. Nat. Volker Claus, Dr. L.C. Jain, Andrew Udina, Nicole Weicher, Sexual Selection In Gas – Minor Thesis. University of Stuttgart, Germany, 10- 9-2001 Khác
[18] Nguyễn Đức Nghĩa - Nguyễn Tô Thành. Toán rời rạc – Nhà xuất bản đại học quốc gia Hà Nội – 2001 Khác

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