Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 6 DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT Spanning Tree Cây khung nhỏ nhất với đường kính bị chặn Tên một thuật toán xây
Trang 1-
LUẬN VĂN THẠC SỸ KHOA HỌC
GIẢI THUẬT DI TRUYỀN ĐA MỤC TIÊU GIẢI BÀI TOÁN CÂY KHUNG NHỎ NHẤT VỚI
ĐƯỜNG KÍNH BỊ CHẶN
NGÀNH: TOÁN TIN ỨNG DỤNG
PHẠM THẢO
Người hướng dẫn khoa học
PGS.TS NGUYỄN THANH THUỶ
HÀ NỘI - 2009
Trang 2Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 1
MỤC LỤC
LỜI CẢM ƠN 5
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT 6
DANH MỤC CÁC BẢNG 7
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 8
DANH MỤC CÁC THUẬT NGỮ TIẾNG ANH 10
PHẦN MỞ ĐẦU 11
CHƯƠNG I GIẢI THUẬT DI TRUYỀN ĐA MỤC TIÊU 14
1.1 Giải thuật di truyền 14
1.1.1 Giới thiệu giải thuật di truyền 14
1.1.2 Lịch sử phát triển giải thuật di truyền 15
1.1.3 Các khái niệm cơ bản 15
1.1.4 Sơ đồ giải thuật di truyền – Mô tả hoạt động 18
1.1.5 Các tham số của giải thuật di truyền 20
1.1.6 Khởi tạo quần thể ban đầu và chọn lọc cá thể 21
1.1.7 Chiến lược nạp lại quần thể 24
1.1.8 Điều kiện dừng của GA 26
1.1.9 Ứng dụng của giải thuật di truyền 27
1.2 Vấn đề tối ưu hóa đa mục tiêu 28
1.2.1 Mục đích 28
1.2.2 Vấn đề tối ưu hóa đa mục tiêu 29
1.2.3 Định nghĩa 1: Bài toán tối ưu đa mục tiêu 29
1.2.4 Định nghĩa 2: Tập khả thi 30
1.2.5 Định nghĩa 3: Quan hệ giữa hai véc tơ mục tiêu 30
1.2.6 Định nghĩa 4: Thống trị Pareto 31
1.2.7 Định nghĩa 5: Tối ưu Pareto 31
1.2.8 Định nghĩa 6: Các tập và các mặt không thống trị 32
1.2.9 Định nghĩa 7: Tập tối ưu Pareto 33
Trang 3Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 2
1.3 Giải thuật di truyền cho tối ưu đa mục tiêu 34
1.3.1 Giới thiệu 34
1.3.2 Sơ đồ chung cho giải thuật di truyền đa mục tiêu 37
1.3.3 Các thành phần chính trong giải thuật 39
CHƯƠNG II BÀI TOÁN CÂY KHUNG NHỎ NHẤT VỚI ĐƯỜNG KÍNH BỊ CHẶN 44
2.1 Các khái niệm cơ sở 44
2.1.1 Đồ thị 44
2.1.2 Đường đi và chu trình 44
2.1.3 Cây 45
2.2 Bài toán Cây khung của đồ thị 46
2.3 Bài toán Cây khung nhỏ nhất với đường kính bị chặn 47
2.4 Ứng dụng của bài toán cây khung nhỏ nhất với đường kính bị chặn 48
2.4.1 Bài toán xây dựng hệ thống đường sắt 48
2.4.2 Bài toán nối mạng máy tính 48
2.4.3 Thiết kế hệ phân tán 49
2.4.4 Nén bitmap trong hệ phục hồi thông tin 50
CHƯƠNG III XÂY DỰNG GIẢI THUẬT DI TRUYỀN ĐA MỤC TIÊU GIẢI BÀI TOÁN CÂY KHUNG NHỎ NHẤT VỚI ĐƯỜNG KÍNH BỊ CHẶN 52
3.1 Giải thuật di truyền đơn mục tiêu RGH cho bài toán cây khung nhỏ nhất với đường kính bị chặn 52
3.1.1 Giới thiệu 52
3.1.2 Sơ đồ thuật toán 53
3.1.3 Khởi tạo quần thể 55
3.1.4 Lựa chọn cá thể theo thuật toán Tournament 58
3.1.5 Kết hợp các cá thể 58
3.1.6 Đột biến xóa cạnh 62
3.1.7 Đột biến chuyển tâm 63
3.1.8 Đột biến thay thế cạnh tham lam 63
Trang 4Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 3
3.1.9 Đột biến tối ưu hóa cây con 63
3.2 Giải thuật di truyền đa mục tiêu SPEA1 cho bài toán cây khung nhỏ nhất với đường kính bị chặn 64
3.2.1 Giới thiệu 64
3.2.2 Sơ đồ thuật toán SPEA 1 66
3.2.3 Sơ đồ tạo thế hệ tiếp theo từ thế hệ hiện thời 67
3.2.4 Tính độ thích nghi 68
3.2.5 Lược bớt phần tử tập Pareto bằng phương pháp ghép cụm 71
3.2.6 Đánh giá thuật toán SPEA 1 74
3.3 Giải thuật di truyền đa mục tiêu SPEA 2 cải tiến giải thuật SPEA cho bài toán cây khung nhỏ nhất với đường kính bị chặn 75
3.3.1 Một số cải tiến trong SPEA 2 75
3.3.2 Sơ đồ thuật toán SPEA 2 76
3.3.3 SPEA 2 tính độ thích nghi 79
3.3.4 SPEA 2 Lựa chọn môi trường 82
CHƯƠNG IV CÀI ĐẶT VÀ KẾT QUẢ THỬ NGHIỆM 85
4.1 Kết quả cài đặt và thử nghiệm thuật toán RGH 85
4.1.1 Cài đặt RGH 85
4.1.2 Một số cải tiến trong cài đặt thuật toán 87
4.2 Kết quả cài đặt và thử nghiệm SPEA 1 89
4.2.1 Cài đặt SPEA 1 89
4.2.2 Sơ đồ lớp cài đặt 91
4.3 Kết quả cài đặt và thử nghiệm SPEA 2 94
4.3.1 Cài đặt SPEA 2 94
4.3.2 Sơ đồ lớp cài đặt 94
4.3.3 Môt tả một số hàm so sánh với SPEAI 95
4.4 Các bước hoạt động của chương trình 97
4.4.1 Chọn bộ dữ liệu cần kiểm thử 97
4.4.2 Chọn tham số đầu vào 97
Trang 5Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 4
4.4.3 Biểu diễn dữ liệu đầu vào 98
4.4.4 Khởi tạo quần thể 98
4.4.5 Lặp tạo thế hệ mới thông qua lai ghép và đột biến 99
4.4.6 Kết quả với bộ dữ liệu 99
4.4.7 Kết quả với dữ liệu thử nghiệm 500 điểm bộ 1 với D = 6 100
4.4.8 Kết quả với dữ liệu thử nghiệm 500 điểm bộ 1 với D = 5 100
4.4.9 Kết quả thu đƣợc 101
KẾT LUẬN 102
KIẾN NGHỊ VÀ NHỮNG KẾT QUẢ NGHIÊN CỨU TIẾP THEO 103
TÀI LIỆU THAM KHẢO 104
PHỤ LỤC 105
Phụ lục 1 Tính giá trị thích nghi của các cá thể trong tập Pareto và cá thể trong quần thể 105
Trang 6Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 5
Tôi xin chân thành cảm ơn
Hà Nội, ngày 20 tháng 04 năm 2009
Học viên
Phạm Thảo
Trang 7Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 6
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Spanning Tree
Cây khung nhỏ nhất với đường kính bị chặn
Tên một thuật toán xây dựng cây được đưa ra bởi Deo, and Gupta
Evolutionary Algorithm
Giải thuật tiến hóa Strength Pareto
chuẩn bị lai ghép, đột biến
Trang 8Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 7
DANH MỤC CÁC BẢNG
STT Mã bảng Tên bảng
Pareto
Trang 9Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 8
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
STT Mã hình Tên hình
1 Hình 1.1 Sơ đồ chung của giải thuật di truyền
2 Hình 1.2 Chiến lược nạp lại hoàn toàn
3 Hình 1.3 Chiến lược nạp lại ngẫu nhiên
4 Hình 1.4 Chiến lược nạp lại theo mô hình cá thể ưu tú
5 Hình 1.5 Ví dụ minh hoạ về tối ưu Pareto
6 Hình 1.6 Minh hoạ các tập kết quả tối ưu địa phương và các tập kết quả
tối ưu toàn bộ trong không gian mục tiêu
7 Hình 1.7 Lịch sử phát triển của giải thuật di truyền đa mục tiêu
8 Hình 1.8 Tập và mặt Pareto
9 Hình 1.9 Phương pháp đánh giá lựa chọn cá thể
10 Hình 1.10 Sơ đồ chung cho tiến hóa
11 Hình 1.11 Các phương pháp tính độ thích nghi
12 Hình 1.12 Phương pháp duy trì sự đa dạng
13 Hình 1.13 Phương pháp duy trì các cá thể tốt
14 Hình 2.1 Đồ thị vô hướng liên thông có trọng số G
15 Hình 2.2 Cây với tâm và đường kính với cùng bộ số liệu 20 đỉnh
16 Hình 2.3 Cây khung T của đồ thị với trọng số
17 Hình 3.1 Sơ đồ tổng thể thuật toán RGH
18 Hình 3.2 Sơ đồ thuật toán khởi tạo quần thể
Hình 3.3 Sơ đồ thuật toán lựa chọn cá thể theo phương pháp đấu loại
19 Hình 3.4 Sơ đồ thuật toán lai ghép giữa các cá thể
Hình 3.5 Sơ đồ mô tả thuật toán SPEA1
20 Hình 3.6 Sơ đồ tạo thế hệ tiếp theo của SPEA 1
Trang 10Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 9
trong trường hợp số lượng phần tử vượt quá cỡ của tập
cạnh
Hình 4.5 Sơ đồ lớp mô tả dữ liệu thành viên sử dụng trong SPEA 1
26 Hình 4.6 Sơ đồ lớp mô tả phương thức sử dụng trong SPEA 1
27 Hình 4.7 Sơ đồ lớp mô tả dữ liệu thành viên sử dụng trong SPEA 2
Hình 4.8 Giao diện đầu vào dữ liệu kiểm thử
Hình 4.9 Giao diện chọn tham số kiểm thử
Hình 4.10 Giao diện biểu diễn điểm dữ liệu đầu vào
Hình 4.11 Giao diện biểu diễn cá thể khởi tạo quần thể
Hình 4.12 Giao diện biểu diễn quá trình lai ghép
Hình 4.13 Giao diện biểu diễn kết quả tốt nhất hiện tại
Hình 4.14 Giao diện kết quả tốt nhất với bộ dữ liệu 500 điểm với D=6
Hình 4.15 Giao diện kết quả tốt nhất với bộ dữ liệu 500 điểm với D=5
Hình 4.16 Giao diện lai ghép với bộ dữ liệu 500 điểm với D=5
Trang 11Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 10
DANH MỤC CÁC THUẬT NGỮ TIẾNG ANH
STT Thuật ngữ Nghĩa tiếng việt
10 Fitness Assignment Tính độ thích nghi
11 Environmental Selection Lựa chọn môi trường
Trang 12Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 11
PHẦN MỞ ĐẦU
Lời nói đầu
Giải thuật di truyền (Genentic Algorithm - GA) là một phần của tính toán tiến hóa (Evolutionary Computing), một lĩnh vực đang phát triển rất nhanh của
Trí tuệ nhân tạo
Bài toán cây khung nhỏ nhất với đường kính bị chặn là một bài toán NP khó và là bài toán tối ưu có nhiều ứng dụng thực tế, đã có nhiều công trình nghiên cứu để giải bài toán này
Tuy nhiên, hiện nay số lượng công trình áp dụng giải thuật di truyền đa mục tiêu để giải bài toán này còn hạn chế
Mục đích, đối tượng và nội dung luận văn
Tên đề tài: Giải thuật di truyền đa mục tiêu giải bài toán cây khung nhỏ nhất với đường kính bị chặn
Các nội dung luận văn đã thực hiện được bao gồm:
Nghiên cứu giải thuật di truyền, bài toán đa mục tiêu, giải thuật di truyền
đa mục tiêu
Nghiên cứu bài toán cây khung nhỏ nhất với đường kính bị chặn
Xây dựng giải pháp sử dụng giải thuật di truyền tiến hoá tìm kiếm tham lam ngẫu nhiên (Random Greedy Heuristics Evolutionary Algorithm - RGH) áp dụng giải bài toán đặt ra và đã đề xuất một số cải tiến khi cài đặt RGH để cải thiện tốc độ tính toán
Nghiên cứu bài toán đa mục tiêu và giải thuật di truyền để giải bài toán này thuộc lớp này Tìm hiểu chi tiết các bước giải thuật di truyền đa mục
Trang 13Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 12
tiêu (SPEA1 và SPEA 2) giải bài toán cây khung nhỏ nhất với đường kính
bị chặn
Kết quả các thử nghiệm trên dạng đồ thị Euclid và non-Euclid với các tham số chuẩn đã có
Đánh giá các kết quả thu được và định hướng nghiên cứu tiếp theo
Với nội dung và mục đích như trên, luận văn gồm 4 chương với nội dung như sau:
Chương 1: Giải thuật di truyền đa mục tiêu Chương này tập trung giới
thiệu các vấn đề sau: Giới thiệu giải thuật di truyền, lịch sử phát triển, các khái niệm cơ bản, sơ đồ thuật toán chung và các thành, các ứng dụng của giải thuật
di truyền Chương này cũng giới thiệu vấn đề tối ưu đa mục tiêu Giới thiệu giải thuật di truyền cho bài toán đa mục tiêu và ứng dụng của giải thuật di truyền cũng được giới thiệu
Chương 2: Bài toán cây khung nhỏ nhất với đường kính bị chặn
Chương này giới thiệu các nội dung sau: Một số khái niệm cơ sở về cây, chu trình đường đi…, phát biểu bài toán cây khung nhỏ nhất, cây khung nhỏ nhất với đường kính bị chặn, các ứng dụng của bài toán
Chương 3: Xây dựng giải thuật di truyền và giải thuật di truyền đa mục tiêu giải bài toán cây khung nhỏ nhất với đường kính bị chặn Chương này tập
trung vào việc mô tả từng bước của các giải thuật đã sử dụng bao gồm: giải thuật di truyền tìm kiếm tham lam ngẫu nhiên RGH, giải thuật di truyền đa mục tiêu SPEA 1 và SPEA 2 Với mỗi thuật toán bao gồm các mục: Sơ đồ tổng thể hoạt động của thuật toán và sơ đồ chi tiết trong mỗi bước của thuật toán
Chương 4: Cài đặt và kết quả thực nghiệm: Chương này mô tả quá trình
cài đặt và thử nghiệm của từng chương trình theo các giải thuật đã sử dụng bao
Trang 14Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 13
gồm: giải thuật di truyền đơn mục tiêu RGH, giải thuật di truyền đa mục tiêu SPEA 1 và SPEA 2 Với mỗi chương trình, mô tả các việc: Biểu đồ lớp mô tả lưu trữ và hoạt động của thuật toán, các giao diện thực hiện chương trình, trình bày một số cải tiến đã thực hiện,các kết quả thu được và đánh giá kết quả thu được
Ý nghĩa khoa học và thực tiễn của đề tài: Giải thuật di truyền được áp
dụng để giải các bài toán khó (ví dụ các bài toán thuộc lớp các bài toán NP khó), máy học và có thể được sử dụng như là một công cụ để cải tiến chương trình qua các bước thực hiện Bài toán cây khung là bài toán có ý nghĩa thực tế rất lớn trong lĩnh vực thiết kế mạng truyền thông, thiết kế mạng phân tán
Trang 15Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 14
CHƯƠNG I GIẢI THUẬT DI TRUYỀN ĐA MỤC TIÊU
1.1 Giải thuật di truyền
1.1.1 Giới thiệu giải thuật di truyền
Giải thuật di truyền (Genentic Algorithm_GA) là một phần của tính toán tiến hóa (Evolutionary Computing), một lĩnh vực đang phát triển rất nhanh của
Trí tuệ nhân tạo
GA dựa trên những ý tưởng cơ bản trong học thuyết của Darwin về sự tiến
hóa Nói một cách đơn giản, bài toán được giải quyết bằng quá trình tiến hóa, đưa ra kết quả tốt nhất hay cá thể khỏe nhất, chúng là các lời giải được tiến hóa
GA mô phỏng quá trình tiến hóa tự nhiên: Kế thừa và đấu tranh sinh tồn
để cải tiến các thế hệ trong không gian lời giải GA thường được dùng trong các
bài toán tối ưu, lớp các bài toán NP khó Đó là lớp bài toán rất hay, nhưng thường rất khó tìm ra lời giải tối ưu với các giải thuật cổ điển vét cạn trong không gian tìm kiếm
Giải thuật di truyền là một phương pháp giải tối ưu dựa trên chọn lọc tự nhiên và di truyền
Nhiễm sắc thể là một cá thể ứng với lời giải của bài toán
Mỗi nhiễm sắc thể (NST) có nhiều gen, mỗi gen quy định một trạng thái của nhiễm sắc thể
Quần thể là một tập hợp các cá thể cạnh tranh với nhau
Thế hệ là các cá thể trong quần thể ở trong cùng một giai đoạn
Hàm thích nghi là một hàm thực dương, xác định độ thích nghi (độ phù hợp) của cá thể trong môi trường
Trang 16Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 15
1.1.2 Lịch sử phát triển giải thuật di truyền
Tính toán tiến hóa được I.Rechenberg giới thiệu vào những năm 1960
trong công trình “Evolution Stragies” (Những chiến lược tiến hóa) Ý tưởng của
ông đã được các nhà khoa học nghiên cứu phát triến tiếp
Giải thuật di truyền do John Holland phát minh và được ông phát triển
cùng với các đồng nghiệp Cuốn sách "Adaption in Natural and Artificial
Systems" (Sự thích nghi trong các hệ tự nhiên và nhân tạo) xuất bản năm 1975 đã
tổng hợp các kết quả của quá trình nghiên cứu và phát triển đó
Năm 1992, John Koza đã dùng GA để xây dựng các chương trình giải
quyết một số bài toán và gọi phương pháp này là "Genetic Programming" (GP)
Năm 1996, thư viện các hàm C++ cho GA (GALib) đã được Mathew Wall, Viện khoa học Massachussets (Massachusetts Institute of Technology) đưa ra
Đây là các công cụ sử dụng giải thuật di truyền cho tối ưu hoá các chương trình
có sử dụng sự biểu diễn hay các toán tử di truyền
Ngày nay giải thuật di truyền càng trở nên quan trọng, đặc biệt là trong lĩnh vực tối ưu hoá, một lĩnh vực có nhiều bài toán thú vị, được ứng dụng nhiều trong thực tiễn nhưng thường khó và chưa có giải thuật hiệu quả để giải
1.1.3 Các khái niệm cơ bản
1.1.3.1 Nhiễm sắc thể
Nhiễm sắc thể (Chromosome) hay còn gọi là cá thể Các sinh vật sống đều cấu tạo từ các tế bào và tất cả các tế bào này đều bao gồm một tập hợp các nhiếm sắc thể giống nhau Các NST này là một chuỗi các ADN, quy định đặc tính của
cả cá thể Mỗi NST bao gồm rất nhiều GEN, mỗi gen quy định một trạng thái nào đó Trong bài toán tối ưu, cá thể tương ứng với một lời giải tiềm tàng
Trang 17Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 16
1.1.3.2 Quần thể
Quần thể (Population) trong tự nhiên là một tập hợp các cá thể có cùng
một số đặc điểm nào đấy Trong giải thuật di truyền ta quan niệm quần thể là
một tập các lời giải tiềm tàng của một bài toán
1.1.3.3 Chọn lọc
Trong tự nhiên, quá trình chọn lọc (Selection) và đấu tranh sinh tồn đã làm thay đổi các cá thể trong quần thể Những cá thể tốt, thích nghi đƣợc với điều kiện sống thì có khả năng đấu tranh lớn hơn, do đó có thể tồn tại và sinh sản Các cá thể không thích nghi đƣợc với điều kiện sống thì dần mất đi Dựa vào nguyên lý của quá trình chọn lọc và đấu tranh sinh tồn trong tự nhiên, chọn
lựa các cá thể trong GA chính là cách chọn các cá thể có độ thích nghi tốt để đƣa
vào thế hệ tiếp theo hoặc để cho lai ghép, với mục đích là sinh ra các cá thể mới tốt hơn Tuy nhiên, quá trình chọn lọc mang rất nhiều yếu tố ngẫu nhiên Có nhiều cách để lựa chọn nhƣng cuối cùng đều nhằm đáp ứng mục tiêu là các cá thể tốt sẽ có khả năng đƣợc chọn cao hơn
1.1.3.4 Lai ghép
Lai ghép (CrossOver) trong tự nhiên là sự kết hợp các tính trạng của bố
mẹ để sinh ra thế hệ con Trong giải thuật di truyền, lai ghép đƣợc coi là một sự
tổ hợp lại các tính chất (thành phần) trong hai lời giải cha mẹ nào đó để sinh ra một lời giải mới mà có đặc tính mong muốn là tốt hơn thế hệ cha mẹ Đây là một quá trình xảy ra chủ yếu trong giải thuật di truyền
1.1.3.5 Đột biến
Đột biến (Mutation) là một sự biến đổi tại một (hay một số) gen của NST ban đầu để tạo ra một NST mới Đột biến có thể tạo ra một cá thể mới tốt hơn hoặc xấu hơn cá thể ban đầu Tuy nhiên, trong giải thuật di truyền thì ta luôn muốn tạo ra những phép đột biến cho phép cải thiện lời giải qua từng thế hệ Đột biến cũng mang tính chất ngẫu nhiên
Trang 18Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 17
1.1.3.6 Hàm thích nghi
Trong tự nhiên, chỉ có những cá thể nào thích nghi được với môi trường
thì mới tồn tại, không nó sẽ bị diệt vong GA đưa ra khái niệm hàm thích nghi
(Fitness Function) hay hàm sức khỏe để đánh giá một cá thể hay một lời giải, so với các cá thể khác Từ đó mới có thể chọn lựa được các lời giải tốt cho các thế
hệ sau Hàm thích nghi cũng là một tiêu chí đánh giá mức độ tiến hóa của quần thể
1.1.3.7 Không gian tìm kiếm
Khi muốn giải quyết một vấn đề nào đó bằng tìm kiếm, đầu tiên ta phải xác định không gian tìm kiếm Không gian tìm kiếm bao gồm tất cả các đối tượng mà ta cần quan tâm tìm kiếm
Khi giải một bài toán, chúng ta thường tìm một số lời giải được xem là tốt nhất Không gian của tất cả các lời giải khả thi được gọi là không gian tìm kiếm (hay không gian trạng thái) Mỗi một điểm trong không gian tìm kiếm biểu diễn cho một lời giải tiềm tàng Mỗi lời giải tiềm tàng được đánh dấu bằng giá trị hay
sức khỏe của nó trong bài toán Với GA, ta tìm kiếm lời giải tốt nhất trong số rất
nhiều các lời giải tiềm tàng
Tìm kiếm một lời giải tương ứng với việc tìm một giá trị cực nào đó (lớn
nhất hoặc nhỏ nhất) trong không gian tìm kiếm Đôi khi không gian tìm kiếm là
rất tốt, nhưng chỉ là một số Trong tiến trình sử dụng GA, quá trình tìm kiếm lời
giải sẽ sinh ra những điểm khác trong quá trình tiến hóa
Vấn đề là việc tìm kiếm rất phức tạp Ta sẽ tìm lời giải ở đâu và bắt đầu từ đâu Có rất nhiều cách để tìm lời giải thích hợp, nhưng những phương pháp này
có thể không cần phải đưa ra lời giải tốt nhất như các giải thuật leo đồi (hill
climbing), tìm kiếm tabu (tabu search), mô phỏng tôi luyện (simulated annealing) và giải thuật di truyền (genetic algorithm)
Trang 19Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 18
1.1.4 Sơ đồ giải thuật di truyền – Mô tả hoạt động
GA dựa trên cơ sở các ý tưởng Thuyết tiến hóa của Darwin Lời giải của
một bài toán được giải bằng GA sử dụng quá trình tiến hóa
Giải thuật bắt đầu bằng một tập các lời giải, được biểu diễn bằng các NST,
gọi là Quần Thể Các lời giải này được lấy ra và sử dụng để tạo nên quần thể
mới, với một mong muốn quần thể mới sẽ tốt hơn quần thể cũ Những lời giải được chọn từ quần thể mới hay thế hệ con cháu theo độ thích nghi Chúng càng thích nghi cao, chúng càng có nhiều cơ hội để tái sinh sản
Khoi tao tham so dau vao:
Xác suất lai ghép Xác suất đột biến
Cỡ quần thể Số lần tạo Kích thước nhiễm sắc th
Lựa chọn hàm thích nghi
Đưa ra kết quả tốt nhất
Tạo các cá thể và thêm vào danh sách quần thể
Đánh giá quần thể hiện thời;
Số lượng cá thể: Population Size.
i<Số lần tạo quần thể i> Số lần tạo
quần thể
Tạo thế hệ mới
Đánh giá quần thể hiện thời;
Nếu ghi ra file Y Ghi ra file
Y
Thiết lập biến lưu quần thể mới
i<Cỡ quần thể i> Cỡ quần thể
Lấy 2 con trong quần thể (Sử dụng thuật toán quay bánh xe để lấy ra 2 vị trí của 2 cá thể trong quần thể)
Sinh xác suất lai ghép (Sinh ngẫu nhiên)
Nếu nhỏ hơn xác suất lai ghép
Đem lai ghép tạo
ra 2 cá thể mới Y
Thuật toán đột biến 1 cá thể
Sinh số ngẫu nhiên nằm trong khoảng 0- TotalFitness
Sử dụng thuật toán tìm kiếm nhị phân để tìm vị trí của phần tử có giá trị nhỏ nhất lớn hơn giá trị ngẫu nhiên sinh ra
Trả ra vị trí phần
tử được lựa chọn Giải thuật di truyền
Tìm vị trí lai ghép
Giũ nguyên phần đầu, ghép phần đuôi
Với mỗi Gen trong NST
Sinh một số ngẫu nhiên nếu nhỏ hơn tỷ lệ đột biến thì đột biến gen đó Nếu đột biến, Giá trị Gen đó = ½(Giá trị Gen +
Số ngẫu nhiên mới)
Hình 1.1 Sơ đồ chung của giải thuật di truyền Với các khái niệm được giới thiệu ở trên, giải thuật di truyền được mô tả như sau:
Trang 20Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 19
1 [Begin] Sinh ngẫu nhiên một quần thể gồm n cá thể (là n lời giải cho bài
toán)
2 [Thích nghi] Ước lượng độ thích nghi eval(x) của mỗi cá thể x trong quần
thể
3 [Quần thể mới] Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi
quần thể mới hoàn thành:
a [Chọn lọc] Chọn hai cá thể bố mẹ từ quần thể cũ theo độ thích nghi
của chúng (cá thể có độ thích nghi càng cao thì càng có nhiều khả năng được chọn)
b [Lai ghép] Với một xác suất lai ghép được chọn, lai ghép hai cá thể
bố mẹ để tạo ra một cá thể mới
c [Đột biến] Với một xác suất đột biến được chọn, biến đổi cá thể mới
d [Chấp nhận] Thay con mới vào quần thể
4 [Thay thế] Sử dụng quần thể mới cho quá trình tiếp theo của thuật toán
5 [Thử nghiệm] Nếu điều kiện dừng được thoã mãn thì thuật toán kết thúc và
trả về lời giải tốt nhất trong quần thể hiện tại
6 [Vòng lặp ] Quay lại bước 2
Ta thấy rằng, cứ sau một bước lặp t, ta lại tạo được một quần thể mới P(t)
từ P(t-1), hay một tập các lời giải tiềm tàng cho bài toán Sau mỗi bước lặp, các
cá thể mới được sinh ra ta không thể biết trước được, nó sinh ra hoàn toàn ngẫu nhiên, ngẫu nhiên từ khi tạo quần thể ban đầu, cho đến ngẫu nhiên chọn lọc các
cá thể bố mẹ mang đi lai ghép, ngẫu nhiên cả trong quá trình lai ghép gen, cho đến đột biến gen Nó hoàn toàn giống như một quá trình tiến hóa trong tự nhiên
Trang 21Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 20
các tham số và sự sắp đặt mà từ đó ta có thể áp dụng để giải nhiều các bài toán khác nhau
NST được tạo ra như thế nào và mã hóa chúng như thế nào?
Lựa chọn cha mẹ để lai ghép như thế nào? Có nhiều cách khác nhau để lựa chọn, nhưng ý tưởng chủ đạo luôn là chọn những bố mẹ tốt hơn với hi vọng sinh ra con cái cũng sẽ tốt hơn
Sự chọn lựa các gen để đột biến cũng là một vấn đề phải quan tâm Đột biến không phải lúc nào cũng mang lại kết quả tốt, thậm chí còn mang lại kết quả ngược lại
1.1.5 Các tham số của giải thuật di truyền
1.1.5.1 Kích thước quần thể
Kích thước quần thể cho biết có bao nhiêu cá thể trong một quần thể (trong một thế hệ) Nhiều khi kích thước quá lớn cũng không thể cải thiện được hiệu suất tìm ra nghiệm Qua các nghiên cứu cũng như các thử nghiệm đã cho thấy kích thước quần thể không nên quá bé cũng không nên quá lớn Nếu có quá
ít cá thể, ít có khả năng thực hiện lai giống và chỉ một phần nhỏ không gian tìm kiếm được dùng Làm như vậy sẽ dễ xảy ra trường hợp bỏ qua các lời giải tốt, các thế hệ sẽ thoái hóa dần theo quá trình Nhưng quá nhiều cá thể cũng không
tốt vì GA sẽ chạy chậm đi, ảnh hưởng đến hiệu quả của giải thuật Các nghiên
cứu cũng đã chỉ ra không có lợi khi tăng kích thước quần thể lên quá một giới hạn cho phép Ngoài ra, chất lượng lời giải còn phụ thuộc vào phương pháp mã hóa Nếu cá thể ít có thể dễ bị thoái hoá Nếu cá thể nhiều làm cho GA chạy chậm
Trang 22Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 21
1.1.5.2 Xác suất lai ghép
Xác suất lai ghép cho biết việc lai ghép tạo ra thế hệ mới được thực hiện
toàn bố mẹ Nếu được lai ghép, con sinh ra sẽ có một phần giống bố và một phần
1.1.5.3 Xác suất đột biến
Xác suất đột biến cho biết các gen của nhiễm sắc thể thay đổi thường
0%, không gen nào thay đổi Toán tử đột biến có tác dụng ngăn ngừa giải thuật
di truyền rơi vào tình trạng cực trị địa phương Tuy nhiên nếu thực hiện đột biến với xác suất quá cao sẽ biến giải thuật di truyền thành giải thuật tìm kiếm ngẫu nhiên
1.1.6 Khởi tạo quần thể ban đầu và chọn lọc cá thể
1.1.6.1 Khởi tạo quần thể
Khởi tạo quần thể là bước đầu tiên của bài toán theo GA Quần thể ban
đầu thường được sinh ra một cách ngẫu nhiên, bao gồm các lời giải ngẫu nhiên thỏa mãn các điều kiện của bài toán nhưng ta chưa biết chắc được liệu nó có phải
là lời giải tối ưu hay không Tùy thuộc vào bài toán khác nhau mà ta có các cách khởi tạo quần thể khác nhau Cũng như trong tự nhiên, nếu chất lượng của quần thể ban đầu càng tốt, ta càng hi vọng các thế hệ sau sẽ ngày càng tốt hơn Do đó, khi tính toán giải thuật để tạo quần thể ban đầu, chúng ta cố gằng tìm những cách
có thể đưa ra những lời giải tiềm tàng chấp nhận được Đối với bài toán đồ thị và cây, để tìm đồ thị hay cây có trọng số nhỏ nhất, các cá thể xuất phát cũng nên có trọng số đủ nhỏ
Trang 23Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 22
1.1.6.2 Hàm thích nghi
Theo các nghiên cứu và các thử nghiệm của nhiều nhà nghiên cứu về giải thuật di truyền thì hàm thích nghi là một trong hai yếu tố quan trọng nhất quyết
định sự thành công hay thất bại của GA Hàm thích nghi được xây dựng sao cho
giá trị thích nghi phải phản ánh được giá trị thực của NST trong việc đáp ứng yêu cầu của bài toán Hàm thích nghi càng tốt thì cá thể càng có khả năng di truyền cao Trong các bài toán về cây khung nhỏ nhất thì hàm thích nghi sẽ là hàm tính tổng trọng số các cạnh trên các cây khung Trong bài toán tìm giá trị min của một hàm, thì hàm thích nghi chính là giá trị hàm tại các điểm đang xét Trong bài toán tìm hàm từ dữ liệu cho trước thì hàm thích nghi tính giá trị của các lời giải tiềm tàng tại các giá trị đầu vào Nếu nó càng gần với các giá trị đầu
ra của đầu bài thì lời giải càng tốt
1.1.6.3 Chọn lọc
Theo cơ chế di truyền, thế hệ P(t) sẽ sinh ra thế hệ sau P(t+1) Có nhiều
cách để lựa chọn các cá thể từ một quần thể Sau đây sẽ giới thiệu một số cơ chế hay áp dụng Để tiện mô tả các cơ chế lựa chọn ta đưa ra một số kí hiệu sau:
Hàm tính độ thích nghi của NST v i là f(v i)
Có nhiều phương pháp lựa chọn: Lựa chọn theo phương pháp quay bánh
xe, lựa chọn theo phương pháp đấu loại, lựa chọn theo cơ chế lấy mẫu ngẫu nhiên
1.1.6.4 Chọn lọc theo phương pháp đấu loại Tournament
Nguyên tắc chung: Chọn ngẫu nhiên k cá thể từ quần thể đem ra đấu loại Trong k cá thể đó, tìm cá thể có độ thích nghi tốt nhất Sơ đồ chi tiết thuật toán
này được trình bày ở Hình 3.3 trong chương 3
Trang 24Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 23
1.1.6.5 Chọn lọc theo vòng quay Roulette
Phục vụ quá trình chọn lọc có các thông số sau :
quần thể
Tính xác suất chọn p i cho mỗi cá thể v i :
Tính vị trí xác suất q i của mỗi cá thể :
Cơ chế lựa chọn theo bánh xe Roulette được thực hiện bằng cách quay
bánh xe Roulette N lần nhằm tạo N vị trí chọn ngẫu nhiên Mỗi lần quay để chọn
cá thể sẽ tiến hành như sau:
v1 được chọn, ngược lại thì chọn cá thể thứ i (2 i N) sao cho q i-1 < r q i
Ta có thể hình dung cơ chế này như sau: Có một hình tròn được chia làm
N phần, mỗi phần hình quạt sẽ tương ứng với một cá thể Độ lớn của hình quạt
đó tỉ lệ với độ thích nghi của cá thể Sau đó ta sẽ sinh một vị trí ngẫu nhiên nằm trên đường tròn Vị trí này nằm trên hình quạt nào thì cá thể tương ứng với hình quạt đó sẽ được lựa chọn
Rõ ràng phương pháp này thỏa mãn tính chất xác suất được chọn tỉ lệ với
độ thích nghi Hơn nữa, phương pháp chọn lọc Roulette này cho phép một cá thể
có thể được chọn nhiều lần
Phương pháp chọn lọc Roulette hoạt động tốt khi quần thể có kích thước lớn, với quần thể có kích thước nhỏ thì do số lần thực hiện vòng quay nhỏ nên sự phân bố của các số ngẫu nhiên sinh ra sẽ không được đều
1.1.6.6 Chọn lọc theo cơ chế lấy mẫu toàn phần ngẫu nhiên
Giả sử các cá thể đều đã được xác định độ thích nghi và được sắp xếp
ngẫu nhiên Ta cũng hình dung quần thể như là một hình tròn được chia làm N phần tương ứng với N cá thể, độ lớn của các phần cũng tương ứng tỉ lệ với độ
thích nghi của các cá thể
Ta lại hình dung ở ngay bên ngoài hình tròn đó có một vòng tròn bao
quanh, trên vòng tròn bao này có N điểm chia phân bố cách đều nhau Ta “quay”
Trang 25Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 24
vòng tròn bao này nhằm tạo ra một vị trí ngẫu nhiên của nó bao xung quanh hình
tròn bên trong Khi đó N điểm chia trên vòng tròn bao sẽ chỉ vào các phần hình quạt của hình tròn bên trong Một cá thể sẽ được chọn k lần nếu phần hình quạt tương ứng với nó có k điểm chia chỉ vào
Phương pháp lựa chọn trên tỏ ra khá hay khi thỏa mãn điều kiện cơ bản của chọn lọc là ngẫu nhiên và xác suất chọn tỉ lệ với độ thích nghi Ngoài ra nó còn có thêm tính chất là không thiên vị (Unbiased), cho phép khắc phục được nhược điểm của phương pháp vòng quay Roulette đối với những quần thể kích thước dân số nhỏ
Tuy nhiên nó vẫn có hạn chế là áp lực chọn lọc sẽ giảm sau một vài thế hệ
do sự khác biệt trong độ thích nghi giữa các cá thể bị thu hẹp
1.1.7 Chiến lược nạp lại quần thể
1.1.7.1 Nạp lại hoàn toàn
Tạo ra số NST mới bằng kích thước quần thể và quần thể mới bao gồm toàn các NST mới này, không có NST nào của thế hệ trước
Hình 1.2: Chiến lược nạp lại hoàn toàn
Nạp lại hoàn toàn: là chiến lược đơn giản nhất Mỗi NST chỉ tồn tại
trong một thế hệ, sang thế hệ tiếp theo sẽ được thay mới hoàn toàn Như vậy sẽ xảy ra trường hợp là các NST tốt sẽ không được giữ lại, do đó chiến lược này
không phải là chiến lược phù hợp cho việc cải thiện lời giải qua các thế hệ
Trang 26Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 25
1.1.7.2 Nạp lại ngẫu nhiên
Tạo ra số NST mới ít hơn kích thước quần thể và thay thế một cách ngẫu nhiên các NST ở thế hệ trước bằng NST ở thế hệ sau:
Gen n-1: p cá thể
Child n: m cá thể
Lai ghép
Nạp m con vào ngẫu nhiên
Hình 1.3: Chiến lược nạp lại ngẫu nhiên
Nạp lại ngẫu nhiên: Chiến lược này luôn đảm bảo toàn bộ số con được
sinh ra sẽ được nạp vào, nhưng số lượng con mới được sinh ra ít, và chiến lược ngẫu nhiên không đảm báo các NST tốt của thế hệ trước sẽ được giữ lại, và có
thể nó sẽ được thay thế bởi một NST tồi hơn rất nhiều so với nó Nạp lại ngẫu
nhiên vẫn khả thi hơn chiến lược nạp lại hoàn toàn khi các NST có thể tồn tại lớn
hơn hoặc bằng hai thế hệ
1.1.7.3 Nạp lại theo mô hình cá thể ưu tú
Tạo ra số NST mới ít hơn kích thước quần thể và thay thế chúng cho các
bố mẹ có độ thích nghi thấp
Trang 27Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 26
Hình 1.4 Chiến lược nạp lại theo mô hình cá thể ưu tú
Nạp lại theo mô hình cá thể ưu tú: Được coi là chiến lược tối ưu Các
NST tốt sẽ sống sót qua nhiều thế hệ Qua mỗi thế hệ, sẽ có một số lượng nhất định các NST tồi bị thay thế Tuy chiến lược không kiểm tra các NST con cháu nạp vào có tốt hơn bố mẹ bị loại đi hay không nhưng chắc chắn
là những NST con cháu nạp vào nếu là tồi thì sẽ bị loại trong thế hệ tiếp Như vậy nó vẫn đảm bảo qua nhiều thế hệ thì tính chất của quần thể sẽ được cải thiện dần dần
1.1.8 Điều kiện dừng của GA
GA không phải là lặp lại vô hạn, sinh sản liên tục, mà nó còn cần có điều
kiện dừng để kết thúc giải thuật và chọn ra lời giải tốt nhất
Kết thúc cưỡng bức: Ta sẽ thực hiện GA để sinh ra số thế hệ đúng bằng một số đã được cho trước GA sẽ dừng khi đã tạo đến
thế hệ cuối cùng Sử dụng phương pháp cưỡng bức có thể gây ra lãng phí thời gian nếu như các thế hệ sau gần như không tốt lên Tuy nhiên, cơ chế kiểm soát không phức tạp
Kết thúc tự nhiên: Đến một thế hệ nào đó mà hàm thích nghi cho
các con trong thế hệ đó không tốt hơn thì ta sẽ dừng giải thuật
Trang 28Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 27
Phương pháp kết thúc này có cơ chế kiểm soát phức tạp hơn nhưng không biết chính xác khi nào kết thúc giải thuật
Tùy theo điều kiện của bài toán mà ta sẽ chọn một trong hai điều kiện dừng của giải thuật
1.1.9 Ứng dụng của giải thuật di truyền
1.1.9.1 Đặc điểm
Giải thuật di truyền có các đặc điểm nổi bật sau :
(1) Giải thuật di truyền tìm kiếm nhiều đỉnh (điểm tối ưu) cùng một lúc Các toán tử di truyền sẽ giúp trao đổi thông tin giữa các đỉnh Như vậy, khả năng kết thúc tại một điểm cực trị địa phương sẽ giảm bớt
(2) Giải thuật di truyền chỉ làm việc với các NST là mã của các lời giải
Do đó với một GA có sẵn, đôi khi chỉ cần thay đổi cách biểu diễn NST là có giải
thuật cho một bài toán mới
(3) Giải thuật di truyền chỉ cần đánh giá hàm mục tiêu để phục vụ quá trình tìm kiếm chứ không đòi hỏi các thông tin bổ trợ khác
(4) Các thao tác cơ bản trong giải thuật di truyền dựa trên khả năng tích hợp tính ngẫu nhiên trong quá trình xử lý
(5) Thời gian tính toán lâu hơn các giải thuật khác Đây là một nhược
điểm của GA nhưng với sự phát triển của máy tính ngày nay thì đây không phải
là một vấn đề quá lớn
1.1.9.2 Ứng dụng
Với các đặc điểm được chỉ ra ở trên, GA thường được áp dụng để giải các
bài toán khó (ví dụ như các bài toán thuộc lớp bài toán NP khó ), máy học và có
Trang 29Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 28
thể được sử dụng để cải tiến các chương trình Cụ thể nó được áp dụng trong các lĩnh vực sau:
Các hệ phi tuyến động - phỏng đoán, phân tích dữ liệu
Các bài toán tối ưu trên đồ thị như các bài toán cây khung nhỏ nhất bị ràng buộc
1.2 Vấn đề tối ưu hóa đa mục tiêu
1.2.1 Mục đích
Hầu hết các bài toán trong tự nhiêu đều có một vài mục tiêu (thậm chí là xung đột nhau) cần phải thỏa mãn Nhiều bài toán trong số đó đã lần lượt được giải quyết bằng tối ưu hóa đơn mục tiêu bằng cách chuyển đổi tất cả các mục tiêu ngoại trừ một mục tiêu thành các ràng buộc Trong khi bài toán tối ưu hoá một mục tiêu thường được định nghĩa rõ ràng, thì bài toán tối ưu đa mục tiêu khó được định nghĩa rõ ràng Thay vì tối ưu một mục tiêu, đúng hơn là có một tập các sự kết hợp khác nhau, được biết đến như là kết quả tối ưu Pareto Những kết quả này là tối ưu theo một nghĩa rộng hơn mà không có kết quả nào khác trong không gian tìm kiếm mà tốt hơn chúng khi tất cả các mục tiêu đều được xét đến
Trang 30Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 29
1.2.2 Vấn đề tối ưu hóa đa mục tiêu
Vấn đề tối ưu hóa đa mục tiêu (Multiobjective Optimization Problem – MOP) cũng còn được gọi là vấn đề tối ưu hóa đa tiêu chuẩn (multicrieria optimization), tối ưu hóa đa thực thi (multiperformance) hoặc véctơ tối ưu hóa
có thể định nghĩa như vấn đề được chỉ ra dưới đây [13]:
Một véctơ quyết định phải thỏa mãn các ràng buộc và tối ưu hàm véctơ trong đó, mỗi phần tử biểu diễn một hàm mục tiêu Hàm mục tiêu có dạng một
mô tả toán học của miền thực thi, thường là xung đột với mục tiêu khác Do đó, thuật ngữ optimize nghĩa là việc tìm một kết quả mà kết quả, ra giá trị của tất cả hàm mục tiêu chấp nhận đối với lựa chọn quyết định
1.2.3 Định nghĩa 1: Bài toán tối ưu đa mục tiêu
Một bài toán tối ưu đa mục tiêu tổng quát bao gồm một tập gồm n tham số (các biến quyết định), một tập gồm k hàm mục tiêu và một tập gồm m ràng buộc Các hàm mục tiêu và các ràng buộc là các hàm của các biến quyết định Mục đích tối ưu hoá là:
Trang 31Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 30
Trong tối ưu đơn mục tiêu, tập khả thi được sắp xếp hoàn toàn theo hàm
Mục đích là để tìm ra kết quả (hay các kết quả) cho ra giá trị cực đại của f Tuy
nhiên, khi xem xét một vài mục tiêu bị bao hàm, tình hình có thay đổi: Một cách
tổng quát, X f không hoàn toàn được sắp xếp, nhưng được sắp xếp từng phần Điều này được minh hoạ ở phần bên trái của hình 1.5 Tình huống được thể hiện
bằng điểm B là tốt hơn kết quả được thể hiện bởi điểm C: nó cung cấp hiệu năng
cao hơn với chi phí thấp hơn Nó thậm chí có thể thích hợp hơn nếu nó chỉ có một véc tơ mục tiêu bằng việc suy luận dựa trên sự giống nhau đối với trường hợp đơn mục tiêu
1.2.5 Định nghĩa 3: Quan hệ giữa hai véc tơ mục tiêu
Cho bất kỳ hai véc tơ mục tiêu u và v,
nếu
nếu
Trang 32Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 31
Các quan hệ ≤ và < được định nghĩa tương tự
Với định nghĩa này, nếu có B > C, C > D thì kết quả là B > D Tuy nhiên, khi so
quả đƣợc kết hợp với E thì rẻ hơn nhƣng nó lại cung cấp hiệu năng thấp hơn kết quả đƣợc thể hiện bởi B Bởi vậy, hai véc tơ quyết định a, b có thể có ba khả
năng với các bài toán tối ƣu đa mục tiêu về quan hệ ≥ (trong sự trái ngƣợc với
Ở đây, các biểu tƣợng hay các dạng tiếp theo đƣợc sử dụng
để phân lớp các tình huống khác nhau
1.2.7 Định nghĩa 5: Tối ƣu Pareto
Nếu nó rõ ràng trong phạm vi ngữ cảnh mà tập A là có nghĩa, nó rất dễ bị
Trang 33Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 32
Hình 1.5 Ví dụ minh hoạ về tối ưu Pareto Trong hình 1.5, các điểm trắng thể hiện các kết quả tối ưu Pareto Chúng không quan tâm tới những cái khác Điều này rõ ràng tạo nên sự khác biệt chính đối với các bài toán tối ưu đơn mục tiêu: không có một kết quả tối ưu đơn mục tiêu nào mà một tập các kết quả tối ưu được thoả mãn Không có kết quả nào trong số các kết quả này được xác định là tốt hơn những kết quả khác nếu không
có các thông tin ưu tiên hơn được bao gồm (ví dụ việc sắp xếp các mục tiêu)
Tính toàn vẹn của các kết quả tối ưu Pareto được gọi là tập tối ưu Pareto; các véc tơ mục tiêu tương ứng tạo thành mặt trước hay mặt tối ưu Pareto
1.2.8 Định nghĩa 6: Các tập và các mặt không thống trị
Tập p(A) là tập không thống trị đối với A, tập các véc tơ mục tiêu tương
Pareto
Trang 34Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 33
Hình 1.6 Minh hoạ các tập kết quả tối ưu địa phương và các tập kết quả tối ưu
toàn bộ trong không gian mục tiêu
Tập tối ưu Pareto bao gồm các kết quả tối ưu toàn bộ Tuy nhiên, vì với các bài toán tối ưu đơn mục tiêu SOPs cũng có thể được tối ưu địa phương cái
mà tạo thành một tập không thống trị trong phạm vi vùng lân cận xác định Điều này tương ứng với các khái niệm về các tập tối ưu Pareto toàn bộ và cục bộ đã được giới thiệu bởi Deb (1998, 1999a):
1.2.9 Định nghĩa 7: Tập tối ưu Pareto
1 Tập A được biểu diễn như là một tập tối ưu cục bộ nếu
(1.7)
2 Tập A được gọi là một tập tối ưu Pareto toàn bộ nếu
Trang 35Phạm Thảo – Đảm bảo toỏn học cho mỏy tớnh và hệ thống tớnh toỏn Page 34
Sự khỏc biệt giữa tối ưu cục bộ và toàn bộ được hỡnh dung trong hỡnh 1.6 Đường nột đứt tạo thành một mặt tối ưu Pareto toàn bộ, trong khi đường nột liền
mụ tả mặt tối ưu Pareto cục bộ Cỏc vộc tơ quyết định được kết hợp với nhau sau cựng là khụng thống trị cục bộ được cho là khụng tối ưu Pareto, bởi vỡ kết quả cú
liờn quan với điểm A thống trị bất kỳ kết quả nào trong chỳng Cuối cựng, chỳ ý
rằng tập tối ưu Pareto toàn bộ khụng nhất thiết phải chứa tất cả cỏc kết quả tối ưu Pareto và tập kết quả tối ưu Pareto toàn bộ đú cũng là tập tối ưu Pareto cục bộ
1.3 Giải thuật di truyền cho tối ưu đa mục tiờu
1.3.1 Giới thiệu
Tính toán tiến hóa đ-ợc áp dụng cho bài toán tối -u đa mục tiêu objective evolutionary algorithms) đã đ-ợc đề cập và thử nghiệm từ năm 1984 bởi David Schaffer và trình bày trong sách của David Goldberg năm 1989 Sau
(multi-đó nhiều nhà nghiên cứu đã phát triển các phiên bản khác nhau sử dụng tính toán tiến hóa giải bài toán tối -u đa mục tiêu Một số cách tiếp cận đáng chú ý gồm: MOGA (Multi-objective Optimization GA) của Fonseca và Fleming sử dụng một thủ tục phân lớp tính trội, xếp hạng các cá thể của quần thể theo tính trội của nó trong quần thể; SPEA (Strength Pareto Approach) của Zitzler và Thiele duy trì một tập các cá thể -u tú trong quần thể sau mỗi lần tạo sinh và NSGA (Non-dominaled Sorting Genetic Algorithm) của Srinivas và Deb dựa trên thủ tục xếp hạng không trội và dùng hàm chia sẻ
Trang 36Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 35
Hình 1.7 Lịch sử phát triển của giải thuật di truyền đa mục tiêu
Mặc dù có các cách khác nhau để tiếp cận bài toán tối ưu đa mục tiêu, các hàm kết hợp các mục tiêu sang một mục tiêu, hầu như thực hiện trong các lĩnh vực tối ưu đa mục tiêu mà tập trung vào việc xấp xỉ tập Pareto Do đó, ta sẽ giả định theo mục đích của tối ưu được tìm hoặc xấp xỉ tập Pareto Vì vậy, kết quả của một MOEA là được quan tâm như là một tập kết quả không thống trị, hoặc được gọi là tập xấp xỉ Pareto
Tạo ra tập Pareto có thể mất nhiều chi phí tính toán và nó thường không thỏa mãn, bởi vì độ phức tạp cơ bản của ứng dụng ngăn cản phương pháp chính xác trong quá trình thực hiện Với lý do này, một số chiến lược tìm kiếm ngẫu nhiên như giải thuật tiến hóa, tìm kiếm tabu, rèn luyện mô phỏng và tối ưu đàn kiến (Ant Colony) đã được phát triển Nó thường không đảm bảo xác định thỏa hiệp tối ưu nhưng cố gắng tìm một xấp xỉ tốt, ví dụ tập kết quả mà Véctơ mục tiêu là có hy vọng không quá xa so với Véctơ mục tiêu
Trang 37Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 36
Nói một cách gần đúng, việc tạo ra các thuật toán tìm kiếm ngẫu nhiên bao gồm 3 phần:
Làm việc trong không gian nhớ chứa kết quả quan tâm hiện thời được chỉ ra
Phương pháp lựa chọn Phương pháp đánh giá như mô tả trong hình 1.9
Hình 1.9 Phương pháp đánh giá lựa chọn cá thể Cũng trong phần này, cần phân biệt giữa lựa chọn giao phối với lựa chọn môi trường (environmental) Lựa chọn giao phối hướng tới một mong muốn một kết quả tốt trong tương lai với một vài giá trị thường thực hiện trong dạng ngẫu nhiên Trái lại, lựa chọn môi trường xác định những kết quả lưu trữ trước đó và tạo một để giữ trong bộ nhớ trong Module biến đổi thực hiện một tập kết quả và sửa đổi có hệ thống hoặc ngẫu nhiên các kết quả theo một thứ tự tạo kết quả tiềm tàng tốt hơn Tóm lại, một bước lặp của một tối ưu ngẫu nhiên bao bồm các bước liên tiếp nhau: lựa chọn lai ghép, biến đổi và lựa chọn môi trường; Vòng lặp này
có thể lặp cho tới một miền giá trị kết quả được làm đầy
Trang 38Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 37
Các tìm kiếm ngẫu nhiên được thiết kết theo phương pháp truyền thống như đối với tối ưu đơn mục tiêu và do đó quan tâm chỉ tới kết quả ở một thời điểm Bộ nhớ sử dụng chứa các kết quả đơn điều chỉnh Như kết quả, không phù hợp là cần thiết và biến đổi được thực hiện bởi thay đổi các kết quả ứng cử hiện tại
1.3.2 Sơ đồ chung cho giải thuật di truyền đa mục tiêu
Như trên đã chỉ ra, trong bài toán đa mục tiêu, các hàm mục tiêu thường xung đột một cách tự nhiên trong hầu hết các vấn đề tối ưu thực tế Giải thuật di truyền có nhiều đặc tính nổi bật cho dạng bài toán này, các chiến lược tìm kiếm của lớp bài toán này được sử dụng cho tối ưu đa mục tiêu hơn 10 nhóm Điều này có nghĩa là tiến hóa tối ưu đa mục tiêu đã được khẳng định vị trí như là phân chia để tiếp cận kết hợp lĩnh vực tính toán tiến hóa và lớp bài toán tạo quyết định đa mục tiêu
Phần này đưa ra tổng quan giải thuật tiến hóa đa mục tiêu với việc tập trung vào phương pháp và lý thuyết Nói một cách khác, những thành phần cơ bản của tối ưu đa mục tiêu và giải thuật tiến hóa được giới thiệu, và một vài khái niệm về các thuật toán như chiến lược tính độ thích nghi, giới thiệu tính đa dạng
và vấn đề giữ lại các cá thể tốt trong quá trình tính toán
Một giải thuật di truyền đa mục tiêu được tổ chức thành ba bước:
Một tập kết quả ứng cử được duy trì
Tiến trình lựa chọn lai ghép được thực hiện trên tập này
Một vài kết quả có thể được kết hợp trong một điều kiện kết hợp để tạo ra kết quả mới
Theo tuần tự tiến hóa tự nhiên, một kết quả ứng cử được gọi là các thể và tập các kết quả ứng cử được gọi là quần thể Mỗi cá thể biểu diễn một kết quả có
Trang 39Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 38
thể, một véctơ quyết định, tuy nhiên, một cá thể không phải là một véctơ quyết định nhưng mã hóa của nó dựa trên biểu diễn xấp xỉ
Quá trình chọn cá thể lai ghép thường bao gồm 2 chiến lược: tính độ thích nghi và tập trung gian lai ghép Trong chiến lược đầu tiên, các cá thể trong quần thể hiện tại được đánh giá trong một không gian đối tượng, được quy định một giá trị phân bố, độ thích nghi, phản ánh chất lượng của chúng Sau đó, tập trung gian các cá thể lai ghép được tạo ngẫu nhiên từ quần thể theo giá trị của hàm thích nghi Thông thường sử dụng mẫu chọn từ quần thể và một với giá trị thích nghi tốt nhất được sao chép đưa vào trong quần thể trung gian Thủ tục này lặp lại cho đến khi quần thể trung gian được điền đầy
Rồi sau đó, toán tử biến đổi được áp dụng vào quần thể trung gian Với các thuật toán tiến hóa, chúng thường sử dụng hai thao tác: lai ghép và đột biến Toán tử lai ghép thực hiện một số thao tác trên các cha và tạo ra một số lượng cá thể con định trước bằng cách kết hợp các thành phần của cha Để bắt chước theo tiến hóa tự nhiên, toán tử lai ghép được thực hiện theo xác xuất lai ghép nào đó Toán tử đột biến thay đổi cá thể với một thay đổi nhỏ tỷ lệ đột biến Chú ý rằng đúng với tác động ngẫu nhiên, một vài cá thể trong quần thể trung gian có thể không bị tác động bởi đánh giá và do đó chỉ là sao chép một cách đơn giản kết quả trước
Cuối cùng, lựa chọn môi trường xác định những các thể của quần thể và được thay đổi trong quần thể trung gian để hình thành quần thể mới Đây là một cách khách quan để kết hợp cả hai tập và xác định việc chọn cá thể tốt nhất sống sót
Dựa trên cơ sở các khái niệm trên, tiến hóa tự nhiên được mô phỏng bởi quá trình lặp như chỉ ra trong hình 1.10 dưới đây:
Trang 40Phạm Thảo – Đảm bảo toán học cho máy tính và hệ thống tính toán Page 39
0011 = 1 kết quả
Đánh giá
độ thích nghi
Lựa chọn trung gian
0111 Finess = 19
0100 0011 0000
Lai ghép Đột biến
hệ trước Theo đó, cá thể tốt nhất trong quần thể cuối cùng được đưa ra bởi giải thuật di truyền
1.3.3 Các thành phần chính trong giải thuật
1.3.3.1 Tính độ thích nghi và chọn lọc
Hai mục đích cơ bản trong thiết kế MOEA: hướng dẫn việc hướng tới quá trình tìm kiếm tập Pareto và giữ một tập đa dạng của các kết quả không thống trị
Mục đích đầu tiên là có quan hệ chính với lựa chọn lai ghép, nói một cách
cụ thể là vấn đề của phân bố giá trị thích nghi trong tối ưu nhiều lĩnh vực Mục đích thứ hai tập trung việc lựa chọn cách tạo quần thể tránh việc quần thể chỉ