Bài giảng Tính toán tiến hóa - Chương 2: Genetic Algorithm
Cá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ác phươ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
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àng buộc
Cấu trúc quần thể
Giải thuật di truyền song song
45 trang |
Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 364 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Tính toán tiến hóa - Chương 2: Genetic Algorithm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Genetic Algorithm (GA)
Tổ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
Tổng quan
Các thuật toán GAs khác nhau ở việc sử dụng các toán tử :
Biểu diễn mã hóa
Đột biến
Lai ghép
C ơ chế chọn lọc sinh tồn, sinh sản
S ơ đồ thuật toán GA
Khởi tạo quần thể
Đánh giá độ thích nghi
Sinh quần thể mới
Chọn lọc
Kiểm tra điều kiện dừng
Kết thúc
Các thành phần của GA
Phương pháp mã hóa lời giải
Phương pháp lai tạo
Phương pháp đột biến
Phương pháp chọn lọc cha mẹ
Phương pháp đấu tranh sinh tồn
Các phương pháp mã hóa lời giải
Mã hóa nhị phân
Mã hóa đa giá trị
Mã hóa hoán vị
Mã hóa cây (cạnh, Prufer, mã hóa đỉnh cha )
Rời rạc hóa
Các phương pháp mã hóa lời giải - Mã hóa nhị phân
Genotype space = {0,1} L
Phenotype space
Encoding
(representation)
Decoding
(inverse representation)
011101001
010001001
10010010
10010001
Các phương pháp mã hóa lời giải - Mã hóa đa giá trị
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
Các phương pháp mã hóa lời giải - Mã hóa đa giá trị - Ví dụ
1.7
2.3
5.6
5.2
A
C
B
A
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
Các phương pháp mã hóa lời giải - Mã hóa hoán vị
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án vị
VD: TSP
1
3
6
7
8
2
5
4
9
Các phương pháp mã hóa lời giải - Mã hóa Cây
Mã hóa cạnh:
(1,2),(2,3), (1,4),(4,5)
Mã hóa đỉnh cha
Parent(1) = 1, Parent(2) = 1.
Các phương pháp mã hóa lời giải - Mã hóa Cây – tiếp
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
Các phương pháp mã hóa lời giải - Mã hóa Cây – tiếp
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
Các phương pháp mã hóa lời giải - Mã hóa Cây – tiếp
Prufer: Ví dụ
Các phương pháp mã hóa lời giải - Mã hóa Cây – tiếp
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
Cá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 đồng bộ
Trên mã hóa hoán vị
Lai ghép thứ tự -OX
Lai ghép t ư ơng hợp bộ phận –PMX
Lai chu trình – CX
Trên mã hóa số thực
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
Các ph ư ơng pháp lai ghép Lai ghép theo điểm cắt
a. Một điểm cắt
b. Hai điểm cắt
c. N điểm cắt
Thích hợp với mã hóa nhị phân
Cá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ẹ
Các ph ư ơng pháp lai ghép Lai ghép thứ tự
Chọn 2 điểm lai bất kì, khác nhau
Con 1:
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
Các ph ư ơng pháp lai ghép Lai ghép t ư ơng hợp bộ phận
Chọn 2 điểm lai bất kì
Con thứ nhất:
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”
Các ph ư ơng pháp lai ghép Lai ghép t ư ơng hợp bộ phận
B ư ớc 1:
B ư ớc 2:
B ư ớc 3:
9->4->2
8->3
Các ph ư ơng pháp lai ghép Lai ghép chu trình
Tìm các chu trình
Copy lần lượt các chu trình vào con theo thứ tự nghịch đảo xen kẽ .
Cá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ẹ , SBX sinh ra hai cá thể con như sau:
B ư ớc 1: Lấy ngẫu nhiên một số thực
Bước 2: Tính hệ số theo công thức:
trong đó, là hệ số phân bố thường trong khoảng từ 2 đến 10.
càng cao thì cá thể con sinh ra càng gần cha mẹ.
Cá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 và được sinh ra theo công thức
Đặc điểm:
Hai con có phân phối gần với phân phối của cha mẹ giúp duy trì và kế thừa được những đặc tính tốt của hai cha mẹ.
Các ph ư ơng pháp lai ghép Lai ghép trộn cạnh
Trộn tập cạnh của hai cây t ư ơng ứng thu đ ư ợc tập cạnh E
Thực hiện thuật toán PrimRST để sinh cây khung ngẫu nhiên trên E
Cá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
Các ph ư ơng pháp đột biến Đảo bít
Áp dụng với mã hóa nhị phân
Các ph ư ơng pháp đột biến Đảo đổi chỗ
Áp dụng với mã hóa nhị phân/ hoán vị
Các ph ư ơng pháp đột biến Đổi giá trị
Tiến hành thêm bớt một lượng nhỏ vào giá trị của gene
Các ph ư ơng pháp đột biến Đảo đoạn
Chọn 2 ví trí ngẫu nhiên
Đảo đoạn nằm giữa 2 ví trí đó
Các ph ư ơng pháp đột biến Đột biến cây
Cắt một cây con (subtree) trên cây ban đầu và gắn vào một nút khác trong cây
Cá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à
Cập nhật vị trí t ư ơng ứng trên cá thể con :
Các ph ư ơng pháp đột biến Đột biến đa thức
Đặc điểm:
Phân phối của các cá thể con gần với cha mẹ
Toán tử parent-centric
Các phương pháp chọn lọc cha mẹ
Chọc lọc ngẫu nhiên
Chọn lọc theo vòng quay roulette
Chọn lọc theo xếp hạng
Chọn lọc theo thể thức giao đấu
Cá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
Cá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ể
Tính xác suất lựa chọn cá thể thứ là
Xác suất quỹ tích của cá thế thứ là
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
Các ph ư ơng pháp lựa chọn cha mẹ Lựa chọn theo thứ hạng
Tiến hành xếp hạng các cá thể trong quần thể dựa trên độ thích nghi
Các xếp hạng có thể chỉ đơn giản là sắp xếp, cũng có thể sử dụng các hàm đặc biệt
Dựa trên hạng đã xếp chọn tỉ lệ tương ứng các cá thể theo ý muốn.
Ví dụ:
Chọn 50% tốt nhất
Chọn 40% tốt nhất và 10% tồi nhất
Chia ra làm 3 khoảng: Tốt, trung bình, xấu. Mỗi khoảng lấy 50% tốt nhất (Elitsm)
Cá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)
Phươ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ẹ
Cá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
Cá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
Cá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
Cá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ác phươ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
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àng buộc
Cấu trúc quần thể
Giải thuật di truyền song song
Thanks for your attention
Các file đính kèm theo tài liệu này:
- bai_giang_tinh_toan_tien_hoa_chuong_2_genetic_algorithm.ppt