Bài giảng Tính toán tiến hóa - Bài 2: Genetic algorithm (GA). Bài này cung cấp cho học viên những nội dung về: sơ đồ thuật toán GA; các thành phần của GA; các phương pháp mã hóa lời giải; các phương pháp lai ghép; các phương pháp đột biến;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Trang 1PGS.TS Huỳnh Thị Thanh Bình
Email: binhht@soict.hust.edu.vn
Genetic Algorithm (GA)
Trang 2Tổng quan
Bắt đầu được nghiên cứu từ những năm 70 bởi J Holland, K DeJong, D Goldberg
Thường được áp dụng với:
Tối ưu hóa rời rạc
Tính chất:
Không quá nhanh
Sử dụng các heuristic để mang lại kết quả lại tạo tốt
Đặc biệt:
Lại tạo từ các cá thể cha mẹ tốt, có chọn lọc
Áp dụng các mô hình chọn lọc và lai tạo khác nhau
Trang 4Sinh quần thể mới Chọn lọc
Kiểm tra điều kiện dừng
Kết thúc
Trang 5I. Phương pháp mã hóa lời giải
II. Phương pháp lai tạo
III. Phương pháp đột biến
IV. Phương pháp chọn lọc cha mẹ
V. Phương pháp đấu tranh sinh tồn
Trang 7Genotype space = {0,1} L
Phenotype space
Encoding (representation)
Decoding (inverse representation)
011101001 010001001
10010010 10010001
Trang 8 Thường sử dụng mã hóa giá trị phức tạp
Giá trị được mã hóa có thể là:
Nguyên hay thực
Rời rạc hay liên tục
Hữu hạn hay vô hạn
Trang 91.7 2.3 5.6 5.2
Black White Yellow Yellow
a Các gene trong nhiễm sắc thể nhận giá trị thực.
b Các gene trong nhiễm sắc thể nhận giá trị rời rạc, từ một tập vô hạn hoặc hữu hạn
Trang 10 NST là một hoán vị của một tập các gene
Phù hợp với các bài toán liên quan đến tính hoánvị
VD: TSP
1 3 6 7 8 2 5 4 9
Trang 12 Prufer:
Biểu diễn một cây bằng một vector số nguyên
Kích thước mã hóa bằng n-2, n là số đỉnh của đồ thị
Mã hóa:
Bước 1: Đánh nhãn các đỉnh trên cây từ 1 đến n
Bước 2: Tìm đỉnh 𝑖 là đỉnh có id nhỏ nhất và có bậc = 1 trong cây
Bước 3: Đỉnh 𝑗 là đỉnh kết nối với 𝑖 ( duy nhất 1 đỉnh tồn tại, do bậc của 𝑖 là 1) và thêm j vào trong mã hóa
Bước 4: Loại bỏ đỉnh 𝑖 và cạnh (𝑖, 𝑗) trên cây
Bước 5: Lặp lại bước 2 cho tới khi cây còn 2 đỉnh
Trang 13 Prufer:
Giải mã
Bước 1: Tìm tập đỉnh S mà không xuất hiện trên mã hóa P
Bước 2: Tìm 𝑖 là đỉnh có id nhỏ nhất trong S, 𝑗 là phần tử trái nhất trong mã hóa
Bước 3: Loại bỏ đỉnh 𝑖 khỏi S và thêm cạnh (𝑖, 𝑗) vào cây
Bước 4: Lặp lại bước 1 cho tới khi S chỉ còn 2 đỉnh (giả sử a,b)
Bước 5: Thêm hai cạnh (a,b) vào cây
Trang 14 Prufer: Ví dụ
Trang 15 NetKeys:
Gán độ ưu tiên cho mỗi cạnh
thêm lần lượt các cạnh theo thứ tự độ ưu tiên sao cho không tạo thành chu trình
Kích thước vector mã hóa = số cạnh trong đồ thị
Đồ thị đẩy đủ => nxn
Mềm dẻo
Độ dư thừa mã hóa cao
Trang 16Các phương pháp lai ghép
Trên mã hóa nhị phân, đa giá trị
Lai ghép theo điểm cắt
Lai ghép chéo hóa nhị phân – SBX
Trên mã hóa cây
Lai ghép trộn cạnh
Trang 18Các phương pháp lai ghép
Lai ghép đồng bộ
Thích hợp với mã hóa nhị phân
Tại mỗi vị trí của cá thể con, lấy ngẫu nhiên 1 số thực u trong [0,1]
u<0.5: lấy gene của cha
u>= 0.5: lấy của mẹ
Trang 19 Sao chép phần giữa 2 điểm lai
của cha 1 vào con 1
Các gen chưa được sao chép,
tiến hành thêm vào con 1 bắt
đầu từ điểm lai thứ 2, theo
thứ tự xuất hiện ở cha 2
Trang 20 Sao chép phần giữa 2 điểm lai của cha 1 sang con
Các vị trí còn trống, sao chép các gene tương ứng ở cha 2 mà chưa có mặt trong con
Các vị trí còn lại thực hiện tìm kiếm “đối sánh”
Trang 219 4 8
4 2 3
O1 O2
9 4 8 7 1 5 6
O1 O2
Bước 1:
Bước 2:
8->3
Trang 23Các phương pháp lai ghép
Lai ghép Chéo hóa nhị phân - SBX
Với hai cá thể cha mẹ 𝑝1, 𝑝2, SBX sinh ra hai cá thểcon 𝑐1𝑣à 𝑐2 như sau:
Bước 1: Lấy ngẫu nhiên một số thực 𝑢 ∈ [0,1]
Bước 2: Tính hệ số 𝛽 theo công thức:
𝛽 =
2𝑢
1
𝜂𝑐+1 , 𝑢 ≤ 0.5 1
Trang 24Các phương pháp lai ghép
Lai ghép Chéo hóa nhị phân - SBX
Bước 3: Các cá thể con 𝑐1và 𝑐2 được sinh ra theocông thức
Trang 251 4
2 PrimRST
Trang 26Các phương pháp đột biến
Đảo bít : Biểu diễn nhị phân
Đổi chỗ: Biểu diễn nhị phân, hoán vị
Đổi giá trị: số nguyên, số thực
Đảo đoạn: nhị phân, hoán vị, số nguyên
Đột biến cây: biểu diễn cây
Đột biến đa thức: số thực
Trang 32Các phương pháp đột biến
Đột biến đa thức
Đối tượng: Biểu diễn số thực
Cá thể đột biến 𝑝′ từ 𝑝 theo các bước sau:
Bước 1: Lấy ngẫu nhiên một giá trị u thuộc [0,1]
Bước 2: Tại mỗi vị trí trên p tính các giá trị 𝛿𝐿 và 𝛿𝑅
𝐿 = 2𝑢
1 𝜂𝑚+1 − 1, 𝑢 ≤ 0.5
𝛿𝑅 = 1 − 2(1 − 𝑢 )
1 𝜂𝑚+1 , 𝑢 > 0.5 Cập nhật vị trí tương ứng trên cá thể con 𝑝′ :
𝑝′ = ൝ 𝑝 + 𝛿
𝐿 ∗ 𝑝 , 𝑢 ≤ 0.5
𝑝 + 𝛿𝐿 ∗ (1 − 𝑝), 𝑢 > 0.5
Trang 35Các phương pháp lựa chọn cha mẹ
Lựa chọn ngẫu nhiên
Các cá thể cha mẹ mang đi giao phối được chọn ngẫu nhiên hoàn toàn
Trang 36Các phương pháp lựa chọn cha mẹ
Lựa chọn theo bánh xe roulete
Tính tổng độ thích nghi của cả quần thể
Xác suất quỹ tích của cá thế thứ 𝑖 là 𝑞𝑖 = σ𝑗=1𝑖 𝑝𝑖
Lấy ngẫu nhiên một số thực r trong [0,1]
Cá thể thứ 𝑖 được lựa chọn nếu ቊ𝑞𝑖−1 ≤ r <𝑞𝑖 𝑛ế𝑢 𝑖 > 1
r < 𝑞1 𝑛ế𝑢 𝑖 = 1
Trang 38Các phương pháp lựa chọn cha mẹ
Lựa chọn theo thể thức giao đấu
Chọn ngẫu nhiên k cá thể cha mẹ
Ghép cặp cá thể được so sánh ngẫu nhiên với nhau và chọn ra hai cá thể tốt nhất làm cha mẹ
A B
C D
A
D Fitness(D) > Fitness(C)
Fitness(A) > Fitness(B)
Trang 39Phương pháp đấu tranh sinh tồn
Nạp lại hoàn toàn
Nạp lại ngẫu nhiên
Giữ lại cá thể ưu tú
Áp dụng các phương pháp của chọn lọc cha mẹ
Trang 40Các phương pháp đấu tranh sinh tồn
Nạp lại hoàn toàn
Sinh ra số con bằng số lượng cha mẹ và tiến hành thay thế tất cả cha mẹ bằng con
Có thể gây ra việc mất đi cá thể cha mẹ tốt
Tính tăng trưởng ổn định của quần thể bị giảm
Nguy cơ bị cục bộ thấp hơn
Trang 41Các phương pháp đấu tranh sinh tồn
Nạp lại ngẫu nhiên
Sau khi lai tạo có k con
Chọn ngẫu nhiên k cha mẹ của quần thể để thay thế bằng k con mới
Có thể gây ra việc mất đi cá thể cha mẹ tốt
Trang 42Các phương pháp đấu tranh sinh tồn
Nạp lại ngẫu nhiên
Luôn luôn giữ lại cá thể ưu tú nhất của quần thể
Đảm bảo quần thể không bao giờ bị suy giảm chất lượng
Trang 43Các phương pháp đấu tranh sinh tồn
Áp dụng phương pháp của lựa chọn cha mẹ
Kết hợp các phương pháp chọn lọc để chọn ra cá thểcủa quần thể cũ bị đào thải
Hoặc trộn các cá thể con vào quần thể và sử dụng cácphương pháp chọn lọc để chọn các cá thể bị đào thải(con có thể cũng bị loại)
Cũng có thể căn cứ vào tuổi của cá thể để đào thải
Trang 44 Giải thuật di truyền cơ bản
Giải thuật di truyền cho không gian thực
Giải thuật di truyền cho các biểu diễn có thứ tự vàhoán vị
Giải thuật di truyền trên cây và đồ thị
Giải thuật di truyền cho các bài toán tối ưu có ràngbuộc
Cấu trúc quần thể
Giải thuật di truyền song song
Trang 45Thanks for your attention