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

Giải thuật di truyền đa mục tiêu giải bài toán khung nhỏ nhất với đường kính bị chặn

107 21 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 107
Dung lượng 2,61 MB

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

Nội dung

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 2

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

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

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

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

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

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

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 7

DANH MỤC CÁC BẢNG

STT Mã bảng Tên bảng

Pareto

Trang 9

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

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

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

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

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

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

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

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

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 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 18

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

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 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 20

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 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 21

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

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 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 23

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 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 24

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

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

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

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 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 28

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 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 29

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

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

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 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 32

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

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 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 34

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 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 35

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

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

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 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 38

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 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 39

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

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 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ỉ

Ngày đăng: 25/02/2021, 16:02

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

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

w