Bài giảng Tính toán tiến hóa - Huỳnh Thị Thanh Bình

u trúc thu t toán ấ ậ Bước 3: Điều kiện dừng  Điều kiện dừng: Tương tự các thuật toán GA thôn thường  Số thế hệ tối đa  Số thế hệ tối đa mà EP không được cập nhật  Đầu ra: EP (Biên Pareto)29 Đánh giá  Ưu điểm:  Nhanh, độ phức tạp tương đương GA thông thường  Biên Pareto đều  Khả năng duy trì cân bằng các hàm mục tiêu (ví dụ: tránh hội tụ sớm khi áp dụng tìm kiếm cục bộ quá mạnh lên 1 mục tiêu)  Nhược điểm:  Hiệu quả phụ thuộc lớn vào tham số người dùng tự đặt (đặc biệt là cách chia vector trọng số)  Không hiệu quả bằng các thuật toán như NSGA-II trong nhiều bài toán thông thường (khả năng tối ưu các mục tiêu tương đối đồng đều)

pdf244 trang | Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 282 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Tính toán tiến hóa - Huỳnh Thị Thanh Bình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
càng cao, các cá thể có khả năng sinh tồn và cơ hội tham gia vào quá trình sinh sản càng lớn  Độ thích nghi cho biết mức độ tốt của lời giải tương ứng với biểu diễn cá thể  Thông thường, hàm thích nghi được tính thông qua hàm chi phí lời giải của bài toán  VD fitness(individual) = 1 – cost(individual) Hoặc fitness(individual) = 1/ cost(individual) 28 Qu n thầ ể  Quần thể là một tập hợp các cá thể.  Số lượng cá thể trong quần thể thường cố định  Sự đa dạng của quần thể được thể hiện qua:  Sự đa dạng giá trị thích nghi  Đa dạng về kiểu di truyền  Đa dạng về kiểu hình  Quá trình chọn lọc cá thể sinh tồn ở thế hệ tiếp theo được thực hiện trên quần thể 29 Cơ ch ch n l c cha mế ọ ọ ẹ  Xác suất lựa chọn các cá thể làm cha mẹ dựa trên giá trị độ thích nghi của chúng.  Một số cơ chế chọn lựa cha mẹ:  Lựa chọn ngẫu nhiên  Lựa chọn theo thứ hạng  Lựa chọn theo thể thức giao đấu  Lựa họn theo bánh xe roulete 30 Toán t lai ghépử  Là quá trình hình thành các NST mới ở cá thể con dựa trên các NST của cha mẹ.  Các NST ở cá thể con sinh ra bằng cách ghép một hay nhiều đoạn gene của hai hay nhiều NST cha mẹ với nhau  Các cá thể lai ghép với xác suất  Ví dụ: Toán tử lai ghép một cắt 31 Toán t đ t bi nử ộ ế  Là hiện tượng cá thể con mang một (số) tính trạng không có trong mã di truyền của cha mẹ  Xác suất xảy ra đột biến nhỏ hơn rất nhiều xác suất lai ghép  Toán tử đột biến giúp đảm bảo tính đa dạng cả quần thể 32 Cơ ch đ u tranh sinh t nế ấ ồ  Là cơ chế chọn ra các cá thể mang đi sinh tồn ở thế hệ tiếp theo  Các cơ chế đấu tranh sinh tồn:  Chọn lọc dựa vào tuổi: Loại bỏ các cá thể tồn tại lâu trong quần thể => đảm bảo tính đa dạng, tránh tư tưởng “cổ hủ”  Chọn lọc theo thứ hạng, giữ lại cá thể ưu tú=> giữ được xu hướng tăng trưởng của quần thể ổn định  Nạp lại hoàn toàn  Nạp lại ngẫu nhiên  Nạp lại một phần  Có thể sử dụng các phương thức ở bước lựa chọn bố mẹ 33 Đi u ki n d ngề ệ ừ  Điều kiện dừng của thuật toán thường thỏa mãn như sau:  Sau một số thế hệ nhất định, thuật toán không cải thiện chất lượng lời giải  Sau một số thế hệ nhất định  Thuật toán sử dụng hết lượng phép tính đánh giá cố định 34 Các biến thể EAs phổ biến  Giải thuật di truyền – Genetic Algorithm  Tiến hóa sai phân – Different Evolutionary Algorithm  Chiến lược tiến hóa – Evolution Strategies  Lập trình tiến hóa – Evolution Programming  Lập trình di truyền – Genetic Programming  Tiến hóa đa nhiệm – Multifactorial Evolutionary Algorithm 35 Gi i thu t di truy nả ậ ề  Đối tượng: - Tối ưu hóa rời rạc  Đặc điểm: Representation Binary strings v.v Recombination N-point or uniform Mutation Bitwise bit-flipping with fixed probability Parent selection Fitness-Proportionate Survivor selection All children replace parents Speciality Emphasis on crossover 36 L p trình di truy nậ ề  Đối tượng: - Học máy ( Xây dựng các công thức, dự đoán v.v)  Đặc điểm: Representation Tree structures Recombination Exchange of subtrees Mutation Random change in trees Parent selection Fitness proportional Survivor selection Generational replacement Representation Tree structures 37 Chi n lế ư c ti n hóaợ ế  Đối tượng: - Tối tham số thực  Đặc điểm: Representation Real-valued vectors Recombination Discrete or intermediary Mutation Gaussian perturbation Parent selection Uniform random Survivor selection (,) or (+) Specialty Self-adaptation of mutation step sizes 38 L p trình ti n hóaậ ế  Đối tượng:  Học máy - sử dụng máy trạng thái xác định  Tối ưu số - numercial optimization  Đặc điểm: Representation Real-valued vectors Recombination None Mutation Gaussian perturbation Parent selection Deterministic Survivor selection Probabilistic (+) Specialty Self-adaptation of mutation step sizes (in meta-EP) 39 So sánh các bi n thế ể L p trình ti n ậ ế hóa (EP) Chi n l c ti n ế ượ ế hóa (EG) L p trình di ậ truy n (GP)ề Gi i thu t di ả ậ truy n (GA)ề Áp d ngụ H c máy, t i ọ ố u sư ố T i u số ư ố CT h c máyọ T i u hóa r i ố ư ờ rạ Mã hóa NST Véc t giá tr ơ ị th cự Véc t giá tr ơ ị th cự Cây Xâu nh phân ị v.v Lai ghép Không Riêng bi t ho c ệ ặ trung gian Trao đ i cây ổ con N-point, đ n ồ nh t v.vấ Đ t bi nộ ế Phân ph i ố Gauss Phân ph i ố Gauss Thay đ i nútổ Đ o bít v.vả Ch n l c cha ọ ọ mẹ 1 cha sinh 1 con Ng u nhiên hay ẫ c đ nh ố ị D a trên ự fitness D a trên fitnessự Đ u tranh sinh ấ t nồ (+) (,) or (+) Thay th toàn ế b ộ Nhi u cách..ề Đ c bi tặ ệ T thích nghiự T thích nghiự Cây Lai ghép 40 Thanks for your attention PGS.TS Huỳnh Th Thanh Bìnhị Email: binhht@soict.hust.edu.vn Genetic Algorithm (GA) 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 3T 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 4Sơ đ thu t toán GAồ ậ Khởi tạo quần thể i t t Đánh giá độ thích nghi i t í i Sinh quần thể mới i t i Chọn lọc l Kiểm tra điều kiện dừng i tr i i Kết thúct t 5Các thành ph n c a GAầ ủ I. 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 6Cá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 7Cá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 8Cá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 9Cá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 10 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 11 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. 1 2 4 3 5 436 151 21 12 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 13 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 14 Các ph ng pháp mã hóa l i gi iươ ờ ả - Mã hóa Cây – tiếp Prufer: Ví dụ 15 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 16 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 17 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ợ ớ ị 18 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ẹ 19 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 20 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” 21 Các phư ng pháp lai ghépơ Lai ghép tư ng h p b ph nơ ợ ộ ậ 8 4 2 3 1 59 76 5 9 4 8 3 17 62 P1 P2 9 4 8 4 2 3 O1 O2 9 4 8 1 576 5 4 2 3 17 6 O1 O2 9 9 4 8 1 72 68 2 4 2 3 1 56 73 O1 O2 3 576 5 8 17 69 Bước 1: Bước 2: Bước 3: 9->4->2 8->3 22 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ẽ. 23 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ẹ. 24 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ẹ. 25 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 1 2 4 3 5 1 3 5 1 4 3 5 22 4 1 4 3 5 2 PrimRST 26 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 27 Các phư ng pháp đ t bi nơ ộ ế Đ o bítả Áp dụng với mã hóa nhị phân 28 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ị 29 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 30 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í đó 31 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 32 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 : 33 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 34 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 35 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 36 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 37 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) 38 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) 39 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ẹ 40 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 41 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 42 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 43 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 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àng buộc Cấu trúc quần thể Giải thuật di truyền song song 45 Thanks for your attention PGS.TS Huỳnh Th Thanh Bìnhị Email: binhht@soict.hust.edu.vn Genetic Programming 2N i dungộ  Tổng quan Genetic Programming (GP)  Các toán tử của GP  Ví dụ minh họa 3T ng quan v Genetic Programmingổ ề  Genetic Programming (Lập trình di truyền – GP) có thể coi là một thuật toán di truyền đặc biệt  Sơ đồ của GP giống sơ đồ của thuật toán GA  Điểm khác biệt giữa GA và GP  GA: Biểu diễn mỗi cá thể (nhiễm sắc thể) dưới dạng chuỗi các alen  GP: Mỗi cá thể là một hàm số hay chương trình máy tính, được biểu diễn dưới dạng cây  Mục tiêu của GP là tìm một chương trình tối ưu trong tập không gian các chương trình có thể, để thu được hiệu suất cao nhất  Ưng dụng: Tối ưu kiến trúc mạng Neural 4T ng quan v Genetic Programmingổ ề  Tại mỗi thế hệ, mỗi cá thể (hàm, chương trình) được tiến hóa để tìm ra hàm số ẩn tối ưu, có độ lỗi thấp nhất cho bài toán  Ví dụ: Tìm 1 hàm số f(x) sao cho đi qua tất cả các đỉnh A1, A2, A3, A4 5Các toán t c a GPử ủ  Biểu diễn cá thể  Lai ghép  Đột biến  Đánh giá độ thích nghi 6Bi u di n cá thể ễ ể  Mỗi cá thể trong GP biểu diễn một chương trình máy tính hay một hàm ẩn cần tìm  Để đảm bảo ngữ pháp của chương trình, ta cần xác định hai tập:  Tập kết thúc (terminal set) chứa các biến, hằng số, modun cơ bản có thể của chương trình  Tập hàm ( function set) chứa tất cả các hàm toán học cơ bản có thể dùng: +,-,*,/, exp, log, and , or, xor hoặc các cấu trúc quyết định if- then-else, 7Bi u di n cá thể ễ ể  Mỗi cá thể được biểu diễn dưới dạng một cấu trúc cây  Các nút lá của cây: Chọn từ tập kết thúc  Các nút trong của cây: Chọn từ tập hàm  Mỗi cá thể được khởi tạo như sau:  Nút gốc: được chọn ngẫu nhiên trong tập hàm  Nút không phải gốc: Chọn ngẫu nhiên trong tập hàm hoặc tập kết thúc  Chọn trong tập kết thúc: Nút trở thành nút lá  Chọn trong tập hàm: Nút là nút trong  Số lượng nhánh tại mỗi nút phụ thuộc vào hàm cơ bản tại nút đó 8Bi u di n cá th - Ví dể ễ ể ụ y := x * ln(a) + sin(z) / exp(-x) - 3.4 • Tập kết thúc: x, a, z, 3.4 • Tập hàm: *, +, - , /, ln, sin, exp 9Lai ghép  Các phương pháp chọn lọc cha mẹ sử dụng giống GA  Toán tử lai ghép trong GP: Chọn ngẫu nhiên một cây con trong mỗi cây cha mẹ và tráo đổi chúng cho nhau 10 Lai ghép – Ví dụ 11 Đ t bi nộ ế  Các phương pháp đột biến trong GP  Đột biến nút trong  Đột biến nút kết thúc  Đột biến đảo  Đột biến phát triển cây  Đột biến Gauss  Đột biến cắt tỉa cây 12 Đ t bi n - Đ t bi n nút trongộ ế ộ ế Thay thế hàm tại nút đó bằng một hàm khác trong tập hàm 13 Đ t bi n - Đ t bi n nút k t thúcộ ế ộ ế ế Thay thế biến, hằng tại nút đó bằng một biến, hằng khác trong tập kết thúc 14 Đ t bi n - Đ t bi n đ oộ ế ộ ế ả Chọn ngẫu nhiên một nút trong và đảo hai nút con của nó 15 Đ t bi n - Đ t bi n phát tri n cây ộ ế ộ ế ể Chọn ngẫu nhiên một nút và thay thế toàn bộ cây con của nút đó bằng một cây con ngẫu nhiên khác 16 Đ t bi n - Đ t bi n Gaussộ ế ộ ế Chọn ngẫu nhiên một nút lá chứa hằng số và thêm giá trị nhiễu Gauss vào nút đó 17 Đ t bi n - Đ t bi n c t t a câyộ ế ộ ế ắ ỉ Chọn ngẫu nhiên một nút và thay thế nút đó bởi một biến hay hằng số ngẫu nhiên trong tập kết thúc 18 Đánh giá đ thích nghiộ  Các cá thể được đánh giá trên cùng tập mẫu dữ liệu và giá trình hiệu suất trung bình thu được trên mẫu đó được sử dụng là giá trị độ thích nghi  Giả sử có một tập mẫu X và mỗi mẫu chứa ba giá trị đầu vào (a,x,z) và giá trị đích y. Độ thích nghi được tính như sau:  Tính giá trị đầu y^ ra thu được của chương trình mà cá thể biểu diễn với mỗi đầu vào (a,x,z)  Tính giá trị lỗi y^ so với y  Độ sai số trung bình MSE trên toàn bộ tập dữ liệu được xem như tiêu chí để đánh giá độ thích nghi 19 Ví d minh h aụ ọ  GP tìm Activation Function tối ưu cho Deeplearning [1]  Bước 1: Xác định tập kết thúc và tập hàm  Tập kết thúc: :  Tập hàm: x1 + x2, x1 − x2, x1 · x2, x1/(x2 + ϵ), max{x1, x2}, min{x1, x2} [1] Bingham, Garrett, William Macke, and Risto Miikkulainen. "Evolutionary optimization of deep learning activation functions." arXiv preprint arXiv:2002.07224 (2020) (GECCO 2020) 20 Ví d minh h aụ ọ  Đột biến chương trình  21 Ví d minh h aụ ọ  Lai ghép 22 Ví d minh h a- K t qu thu đụ ọ ế ả ư cợ 23 Thanks for your attention PGS.TS Huỳnh Th Thanh Bìnhị Email: binhht@soict.hust.edu.vn Evolutionary Programming 2N i dungộ  Tổng quan Evolutionary Programming (EP)  Các toán tử của EP  Ví dụ minh họa 3T ng quan v Evolutionary ổ ề Programming  Evolutionary Programming (Lập trình tiến hóa – EP) về cơ bản khác GA và GP:  Lấy cảm hứng từ việc mô phỏng các hành vi trong quá trình tiến hóa  GP tìm một tập hành vi tối ưu trong tập không gian hành vi quan sát được  GP không sử dụng toán tử lai ghép, chỉ sử dụng toán tử đột biến để sinh ra quần thể con mới 4Sơ đ thu t toán EPồ ậ  Bước 1: Khởi tạo một quần thể P(0) có N cá thể, t =0  Bước 2: Đánh giá độ thích của các cá thể trong P(t)  Bước 3: Đột biến mỗi các thể trong P(t) để sinh ra một quần thể con O(t)  Bước 4: Đánh giá các cá thể trong O(t)  Bước 5 : Chọn lọc P(t+1) từ P(t) và O(t)  Bước 6: t = t+1 và lặp lại bước 2,3,4,5 cho đến khi thỏa mã DK dừng 5Các toán t c a GPử ủ  Biểu diễn cá thể  Đột biến và chọn lọc sinh tồn <- Khác biệt  Đánh giá độ thích nghi 6Đ t bi n và ch n l c sinh t nộ ế ọ ọ ồ  Phép đột biến được thực hiện trên mỗi cá thể trong quần thể  Cá thể con sinh ra sẽ cạnh tranh với cá thể cha để sinh tồn trong thế hệ tiếp theo  Quá trình chọn lọc được diễn ra theo các cách sau:  Trên tất cả các cá thể: Cá thể cha và con có cơ hội được lựa chọn như nhau. Có thể dung các toán tử chọn lọc sinh tồn trong GA như tournament( giao đấu)..  Elitist: gọi S = N1 cá thể tốt nhất trong P(t)  P(t+1) = S U {N-N1 cá thể tốt nhất trong (P(t)\S) và O(t) }  Cull strategy: Loại bỏ các cá thể cha và con tồi nhất Vi dụ 1: EP tiến hóa máy trạng thái Ví dụ 2: EP tối ưu hàm số f(x) Ví dụ minh họa Ví dụ 1- EP tiến hóa máy trạng thái 9Ví d 1- EP ti n hóa máy tr ng thái h u h nụ ế ạ ữ ạ  Máy trạng thái hữu hạn (Finite-state machine FSM) là gì ?  Là một chuuwong trình máy tính biểu diễn các hành ddoogj cần thực thi  Các hành động phụ thuộc vào trạng thái hiện tại của máy và tham số đầu vào  FSM được định nghĩa như sau:  Với S: tập hữu hạn các trạng thái  I : Tập hữu hạn các kí hiệu đầu vào  O: Tập hữu hạn các kí hiệu đầu ra  : hàm trạng thái tiếp thoe  : hàm kí hiệu tiếp theo 10 Ví d 1- EP ti n hóa máy tr ng thái h u h nụ ế ạ ữ ạ 11 Ví d 1- EP ti n hóa máy tr ng thái h u h nụ ế ạ ữ ạ  Biểu diễn cá thể: Chuỗi nhị phân 6 bit  Bit 1:  1: trạng thái đang hoạt động,  0: không hoạt động  Bit 2: Biểu diễn kí hiệu đầu vào ( do chỉ có 0,1 nên dung 1 bít)  Bit 3,4: Biểu diễn trạng thái tiếp theo của máy ( do có 3 trạng thái)  Bit 5,6: Biểu diễn trạng kí hiệu đầu ra tiếp theo ( Do có 3 kí hiệu đầu ra có thể) 12 Ví d 1- EP ti n hóa máy tr ng thái h u h nụ ế ạ ữ ạ  Độ thích nghi:  Độ thích nghi của các cá thể được đo bằng khả năng dự đoán đúng kí hiệu đầu ra  Đột biến: Có thể áp dụng các phương pháp sau: 1. Thay đổi trạng thái ban đầu 2. Xóa trạng thái 3. Thêm một trạng thái 4. Thay đổi một dịch chuyển trạng thái 5. Thay đổi kí hiệu đầu ra với trạng thái hiện tại và đầu vào không đổi  Các toán tử có thể áp dụng như sau 13 Ví d 1- EP ti n hóa máy tr ng thái h u h nụ ế ạ ữ ạ  Các toán tử đột biến có thể áp dụng theo các cách như sau  Chọn ngâu nhiên đều 1 trong 5 phương pháp đầu tiên và áp dụng với xác xuất đột biến pm  Sinh một số theo phân phối Possion với trung bình . Lựa chọn ngẫu nhiên đều toán tử đột biến và áp dụng theo thứ tự Ví dụ 2- EP tối ưu hàm số f(x) 15 Ví d 2- EP t i ụ ố ưu hàm f(x)  Giả sử cần tối thiểu hàm số f(x) trong đoạn [0,2]  Mỗi cá thể được biểu diễn bằng một vector số thực chỉ chứa 1 phần tử  Mỗi cá thể được khởi tạo ngẫu nhiên đều trong đoạn [0,2]  Độ thích nghi: Cá teher nào cho giá trị f(x) càng nhỏ thì có độ thích nghi càng cao  Đột biến: Sử dụng đột biến Gauss: Cộng thêm một lượng giá trị nhỏ vào cá thể P(i) như sau: 16 Ví d 2- EP t i ụ ố ưu hàm f(x)  có thể được lựa chọn theo các cách như sau:  Không đổi, và giá trị nhỏ  Ban đầu lớn và giảm dần qua các thế hệ: Tăng khả năng khám phá của thuật toán ở giai đoạn ban đầu và khả năng khai thác ở các giai đoạn sau để thuật toán tội tụ  bằng độ lệch chuẩn của quần thể bố mẹ  Tự thích nghi. 17 Thanks for your attention PGS.TS Huỳnh Th Thanh Bìnhị Email: binhht@soict.hust.edu.vn Evolution Strategy 2N i dungộ  Tổng quan Evolution Strategy (ES)  Các loại ES  Ví dụ minh họa 3T ng quan v Evolution Strategyổ ề  Evolution Strategy (Chiến lược tiến hóa – ES)  Thuộc lớp các thuật toán tiến hóa EAs, dựa trên quần thể  Lấy cảm hứng từ chiến lược chọn lọc tự nhiên  Rất hiệu quả cho việc tối ưu số thực 4T ng quan v Evolution Strategyổ ề  Cho hộp đen với hàm mục tiêu cần tối ưu f(x)  Không thể tính được đạo hàm, không lồi.  f(x) là tất định  Gọi là phân phối của các lời giải tốt cho việc tối ưu f(x)  Nếu dạng phân phối là xác định (giả sử gauss) thì  là tham số mang thông tin về lời giải tốt nhất  được cập nhật qua mỗi thế hệ trong EAs 5T ng quan v Evolution Strategyổ ề  Bắt đầu với giá trị khởi tạo , Các thuật toán ES cập nhật theo 3 bước như sau:  Bước 1: Sinh một quần thể ban đầu P(t) , với N mẫu.  Bước 2: Đánh giá các cá thể trong P(t)  Bước 3: Chọn một tập con cá thể có độ thích nghi tốt nhất trong P(t) và cập nhật lại  Bước 4: t = t+1 và lặp lại bước 1 cho đến khi thỏa mã ĐK dừng 6Các lo i ESạ  Dựa theo chiến lược chọn lọc sinh tồn  (: Chọn cá thể tốt nhất từ cá thể con để sinh tồn ở thế hệ tiếp theo  ( : Chọn cá thể tốt nhất từ tập hợp của  cá thể con và  cá thể cha trước đó  Các thuật toán ES phổ biến:  Simple Gaussian Evolution Strategies  Covariance Matrix Adaptation Evolution Strategies (CMA-ES) 7Simple Gaussian Evolution Strategies  Là chiến lược tiến hóa đơn giản và cổ điển nhất của ES  Phân phối của các cá thể là phân phối Gauss n- chiều  lưu trữ thông tin của giá trị trung bình và độ lệch chuẩn  Các bước của thuật toán  Bước 1: Khởi tạo  Bước 2: Sinh ngẫu nhiên cá thể từ phân phối  Bước 3: Chọn ngẫu nhiên cá thể tốt nhất trong P(t+1) để cập nhật lại và  Bước 4: Lặp lại bước 2 và 3 8Simple Gaussian Evolution Strategies – Ví d ụ Bước 1: Khởi tạo 1- Initial Solution 9Simple Gaussian Evolution Strategies – Ví d ụ Bước 2: Sinh ra cá thể con 10 Simple Gaussian Evolution Strategies – Ví d ụ Bước 3: Chọn ra cá thể con tốt nhất 11 Simple Gaussian Evolution Strategies – Ví d ụ Bước 4: Cập nhật giá trị trung bình của phân phối và lặp lại bước 2 và 3 12 Simple Gaussian Evolution Strategies  càng cao: Mức độ khám phá của thuật toán càng lớn  Tuy nhiên giá trị khá tương đồng với  Khả năng hội tụ kém khi cao  Hình dạng của phân phối trong SGES là giống nhau ở mọi thởi điểm 13 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  Để khắc phụ những điểm yếu của SGES, CMA-ES xây dựng cơ chế thích nghi, điều chỉnh không gian khám phá sau mỗi thế hệ  Hình dạng của phân phối thay đổi và cập nhật sau mỗi thế hệ 14 Covariance Matrix Adaptation Evolution Strategies (CMA-ES) 15 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  CMA-ES thay đổi hình dạng của phân phối thông qua việc thích nghi hiệp phương sai C 16 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  Hiệp phương sai chỉ ra hướng mà quần thể nên tiến hóa Varian ce Covarian ce 17 Covariance Matrix Adaptation Evolution Strategies (CMA-ES) 18 Covariance Matrix Adaptation Evolution Strategies (CMA-ES) 19 Covariance Matrix Adaptation Evolution Strategies (CMA-ES) 20 Covariance Matrix Adaptation Evolution Strategies (CMA-ES) 21 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  Phân phối của các cá thể được xác định theo biểu thức  điều khiển mức độ scale của phân phối, gọi là step-size Step- size 22 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  Các bước của CMA-ES:  Bước 1: Khởi tạo: Ma trận hiệp phương sai C = I (ma trận đơn vị) m : vector nx1 chứa giá trị NST trung bình ban đầu của quần thể  : Step size ( vector nx1 chứa độ lệch chuẩn của các biển trong NST)  Bước 2: Sinh ra cá thể con thông qua cơ chế đột biến vector trung bình 23 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  Bước 3: Đánh giá độ thích nghi các cá thể con vừa sinh ra  Bước 4: Sắp xếp các cá thể con theo thứ tự giảm dần độ thích nghi:  Bước 5: Update giá trị trung bình m của quần thể Với là cá thể tốt nhất đầu tiên trong quần thể con sau khi sắp xếp  là vector hằng số ( ): Hệ số đóng góp của các cá thể vào vector trung bình 24 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  Bước 6: Cập nhật đường tiến hóa step –size Với : tốc độ phân hủy C: ma trận hiệp phương sai  = với : Vector ngẫu nhiên để đột biến trung bình sinh ra cá thể i  Bước 7: Cập nhật step-size Với ||X|| là chuẩn Euclid của vector X: 25 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  Bước 8: Cập nhật đường tiến hóa của ma trận hiệp phương sai C Với : tốc độ phân hủy  Bước 9: Cập nhật ma trận C * Với , 26 Covariance Matrix Adaptation Evolution Strategies (CMA-ES)  Điểm mạnh của CMA-ES  Hội tụ nhanh sau một số lượng thế hệ nhỏ  Giải quyết được các bài toán số chiều cao, không gian tìm kiếm rộng lớn, hoặc có hàm mục tiêu không tính được đạo hàm  Điểm yếu: Tốc độ tính toán, nhiều kiến thức toán học, lý thuyết 27 Thanks for your attention PGS.TS Huỳnh Th Thanh Bìnhị Email: binhht@soict.hust.edu.vn Differential Evolution (DE) 2T ng quan ổ Giải thuật tiến hóa sai phân (Differential Evolution - DE):  Thuật toán tối ưu ngẫu nhiên dựa trên quần thể  Được giới thiệu bởi Storn và Price vào năm 1996  Thuộc lớp giải thuật tiến hóa  Xử lý các bài toán tối ưu tham số thực, tìm cực trị hàm đa biến, phi tuyến, không khả vi  Các dạng bài toán mà DE giải quyết Hàm mục tiêu Mục tiêu bài toán tìm giá trị x* sao cho 3Sơ đ c a DEồ ủ Khởi tạo Đột biến Lai ghép Chọn lọc 4Mô hình thu t toánậ 5Kh i t oở ạ Giả sử cần tối ưu tham số Tham số thứ trong khoảng giá trị Kích thước quần thể Mỗi cá thể được biểu diễn bằng một vector D chiều Cá thể thứ i 6Đ t bi nộ ế Mỗi cá thể trong DE đều tham gia vào quá trình đột biến +lai ghép+ chọn lọc Quá trình đột biến được thực hiện trước khi lai ghép Với mỗi cá thể ta chọn ngẫu nhiên 3 cá thể khác nhau Toán tử đột biến được thực hiện bằng cách thêm sự chênh lệch giữa 2 cá thể vào cá thể thứ 3  F là hằng số để scale chênh lệnh,  là vector đột biến 7Lai ghép Cá thể con được sinh ra bằng cách lai ghép cá thể và vector đột biến Toán tử lai ghép sử dụng lai ghép nhị thức  Chọn ngẫu nhiên một số nguyên Sinh ra 1 con 8Ch n l cọ ọ Cá thể con sinh ra được so sánh với cá thể cha của chúng Nếu độ thích nghi của lớn hơn thì cá thể con sẽ thay thế cá thể cha trong thế hệ tiếp theo 9Các bi n th c a DEế ể ủ Khác nhau ở cách tính vector đột biến Adaptive ? DE/rand/1 : DE/rand/2: DE/best/1: DE/best/2: DE/target-to-best/1: 10 Hi u ch nh tham s trong DEệ ỉ ố Kích thước quần thể (N) F CR 11 Hi u ch nh tham s trong DE ệ ỉ ố Kích thư c qu n thớ ầ ể Các giải thuật tiến hóa mong muốn khám phá được nhiều không gian tìm kiếm trong các thế hệ đầu Ở các thế hệ cuối, quá trình tập trung khai thác những vùng có chứa lời giải hứa hẹn. Các giải thuật tiến hóa khác nhau ở mức độ khám phá và khai thác của chúng Khám phá => Kích thước quần thể lớn Khai thác => Kích thước quần thể nhỏ  Storn và Price chỉ ra nên chọn kích thước quần thể với D là số chiều không gian tìm kiếm 12 Hi u ch nh tham s trong DE ệ ỉ ố T l lai ghép (CR) và h s scale Fỷ ệ ệ ố  jDE  Điều kiển F và CR bởi 2 tham số  Cập nhật F và CR 13 Hi u ch nh tham s trong DE ệ ỉ ố T l lai ghép (CR) và h s scale Fỷ ệ ệ ố SaDE  F = lấy ngẫu nhiên theo phân phối chuẩn N(0.5,0.3)  . Giá trị trung bình ban đầu =0.5  Trong một số thế hệ (cụ thể 5), CR không đổi. Sau đó CR được sinh lại theo phân phối  Sau một số thế hệ (25 thế hệ) , được tính lại từ giá trị trung bình của các giá trị CR của các cá thể con thành công ở các thế hệ trước  Mỗi khi tính lại , các giá trị CR cũ bị xóa bỏ 14 Hi u ch nh tham s trong DE ệ ỉ ố T l lai ghép (CR) và h s scale Fỷ ệ ệ ố  JADE  ,  Cập nhật  là tập các giá trị CR của các cá thể con thành công  F , F  Cập nhật  15 Hi u ch nh tham s trong DE ệ ỉ ố T l lai ghép (CR) và h s scale Fỷ ệ ệ ố SHADE  Sử dụng Lehmer mean (Cec 14) để tính  Lưu trữ cảu mỗi thế hệ vào trong lịch sử  là mảng số thực có H phần tử  Cặp giá trị được chọn bằng cách lấy ngẫu nhiên một số k trong khoảng [1,H] 16 Hi u ch nh tham s trong DE ệ ỉ ố T l lai ghép (CR) và h s scale Fỷ ệ ệ ố SHADE  k = 2 17 Hi u ch nh tham s trong DE ệ ỉ ố T l lai ghép (CR) và h s scale Fỷ ệ ệ ố SHADE  Các phần tử trong ban đầu được khởi tạo đều là 0.5  được sử dụng bởi các cá thể con thành công được lưu trong  Sau mỗi thế hệ thứ i, tính lại và lưu trữ lại vị trí k = i mod H +1 trong mảng tương ứng 18 Hi u ch nh tham s trong DE ệ ỉ ố T l lai ghép (CR) và h s scale Fỷ ệ ệ ố SHADE 19 Thanks for your attention PGS.TS Huỳnh Th Thanh Bìnhị Email: binhht@soict.hust.edu.vn Ant Colony Optimization (ACO) 2Gi i thu t t i u hóa b y ki nả ậ ố ư ầ ế Xu t phát t ý t ng đàn ki n đi tìm ấ ừ ưở ế th c ănứ 3 Gi i thu t t i u hóa b y ki nả ậ ố ư ầ ế 4Gi i thu t t i u hóa b y ongả ậ ố ư ầ D a trên ph ng th c đàn ong đi tìm hoa ự ươ ứ l y m tấ ậ 5Gi i thu t t i u hóa b y đànả ậ ố ư ầ L ch s :ị ử Đ c đ xu t năm 1995 b i giáo s ượ ề ấ ở ư Russell Eberhart và nhà tâm lý h c James ọ Kenedy Russell Eberhart James Kenedy 6Gi i thu t t i u hóa b y đànả ậ ố ư ầ  L y ý t ng t vi c đàn chim tìm ki m ấ ưở ừ ệ ế th c ănứ Ví d đ n gi n minh h a:ụ ơ ả ọ 7T ng quanổ Ant Colony Optimization: Được giới thiệu bởi Marco Dorigo ở đầu những năm 1990s. Thuộc lớp các thuật toán tối ưu sử dụng Trí thông minh bầy đàn.  Lấy cảm hứng từ tập tính xã hội trong việc tìm kiếm thức ăn của đàn kiến trong tự nhiên. Thuật toán dựa trên quần thể. Đối tượng áp dụng: các bài toán tối ưu rời rạc (bài toán tìm đường đi). 8Quá trình tìm ki m th c ăn c a đàn ki nế ứ ủ ế  Ban đầu, các cá thể kiến đi theo các hướng ngẫu nhiên để tìm kiếm thức ăn.  Nếu tìm thấy thức ăn, các cá thể kiến mang thức ăn về tổ và để lại một chất hóa học (được gọi là pheromone) trên đường quay lại của nó.  Pheromone trên mỗi đường đi giảm dần theo thời gian  Đường có pheromone càng cao thì khả năng lựa chọn đi theo đường đi đó của các cá thể kiến khác càng lớn.  Càng nhiều cá thể kiến tìm thấy thức ăn trên một đường đi , thì pheromone của đường đi đó càng cao. 9Quá trình tìm ki m th c ăn c a đàn ki nế ứ ủ ế  Đàn kiến có thể tìm được đường đi ngắn nhất giữa tổ và thức ăn bằng cách nào?  Đầu tiên: Các cá thể kiến đi ngẫu nhiên theo mọi hướng  Nếu đường đi có khả năng dẫn tới nguồn thức ăn => Pheromone được rải trên đường quay trở lại  Đường đi càng ngắn, các cá thể kiến càng quay lại tổ nhanh => Nồng độ pheromone của đường đi đó được tăng cường sớm.  Đường đi càng dài=> Các cá thể kiến quay lại tổ lâu hơn => Nồng độ pheromone được cập nhật chậm và giảm dần do sự bay hơi  Sau một thời gian => Các cá thể kiến chỉ đi theo một đường đi duy nhất 10 Gi i thu t t i ả ậ ố ưu hóa đàn ki nế 11 Gi i thu t t i ả ậ ố ưu hóa đàn ki nế Quá trình xây d ng đ ng đi cho cá th ki nự ườ ể ế  Xét cá thể kiến . Quá trình xây dựng đường đi cho kiến như sau:  Giả sử kiến đang ở nút  Xác xuất đi từ đến nút là Với  là pheromone trên cạnh (i,j)  là mức độ thu hút của cạnh (i,j)  là tập các nút hàng xóm của mà chưa đi qua  và là tham số thuật toán 12 Gi i thu t t i ả ậ ố ưu hóa đàn ki nế Quá trình xây d ng đ ng đi cho cá th ki nự ườ ể ế  Nút , mà kiến di chuyển đến, sẽ được chọn theo bánh xe Roulete  Quá trình tiếp tục cho đến khi kiến có thể đến được (lời giải hợp lệ) hoặc không thể tiếp tục (lời giải không hợp lệ) 13 Gi i thu t t i ả ậ ố ưu hóa đàn ki nế Quá trình c p nh t pheromoneậ ậ  Pheromone trên mỗi cạnh (i,j) được cập nhật như sau:  Với là tốc độ bay hơi của các pheromone trước đó trên dường đi  là tổng các pheromone mới mà các cá thể kiến để lại trên đường đi của chúng: 14 Gi i thu t t i ả ậ ố ưu hóa đàn ki nế Quá trình c p nh t pheromoneậ ậ  Giá trị pheromone để lại bởi kiến trên đường đi của nó được tính như sau: Với   là chiều dài của hành trình  Q là hằng số kinh nghiệm 15 Gi i thu t t i ả ậ ố ưu hóa đàn ki nế Ý nghĩa c a các tham s , thu c tínhủ ố ộ  là mức độ thu hút hay kinh nghiệm của việc lựa chọn cạnh (i,j)  chỉ ra mức độ xuất hiện của cạnh (i,j) trên đường đi của các cá thể kiến  Nếu : Các cạnh trên đường đi được lựa chọn tham lam theo kinh nghiệm  Nếu : Ưu tiên sử dụng các cạnh có xu hướng được xuất hiện nhiều nhất trước đó 16 ACO for TSP problem  : Mong muốn đi theo các cạnh có chi phí nhỏ nhất Thêm thành phần “kiến tinh hoa”: Đánh trọng số cho pheromone của cạnh nằm trên đường đi tốt nhất Với Tham số thuật toán: 17 Gi i quy t m t bài toán b ng ACOả ế ộ ằ Phải chuyển bài toán về dạng đồ thị có trọng số G(V,E,w) Định nghĩa được pheromone trên cạnh Xác định biểu thức  Lựa chọn các toán tử cụ thể ( xây dựng đường đi cho kiến, cập nhật pheromone) cho bài toán cần giải quyết Hiệu chỉnh các tham số thuật toán 18 Th c nghi mự ệ Antsim v1.1 19 Thanks for your attention PGS.TS Huỳnh Th Thanh Bìnhị Email: binhht@soict.hust.edu.vn Particle Swarm Optimization (PSO) 2T ng quanổ Particle Swarm Optimization:  Được giới thiệu bởi Kennedy & Eberhart 1995  Lấy cảm hứng từ các hành vi xã hội của bầy chim và đàn cá  Thuộc lớp các thuật toán tối ưu sử dụng Trí thông minh bầy đàn  Thuật toán tối ưu dựa trên quần thể 3Các thành ph n c a thu t toán PSOầ ủ ậ Swarm (bầy) : Tập các cá thể (S) Particle (cá thể): ứng cử viên lời giải của bài toán  Vị trí,  Vận tốc ,  Vị trí tốt nhất đạt được của cá thể trong quá khứ : Cá thể tốt nhất trong bầy đàn: 4PSO Algorithm Các bước của thuật toán PSO: 1. Khởi tạo một bầy gồm N cá thể 2. Đánh giá độ thích nghi của mỗi cá thể trong bầy 3. Cập nhật vị trí tốt nhất (kinh nghiệm) của mỗi cá thể . 4. Cập nhật vị trí của cá thể tốt nhất của trong bầy đàn. 5. Cập nhật vận tốc và vị trí của mỗi cá thể theo và 6. Quay lại bước 2, và lặp cho đến khi thỏa mãn điều kiện dừng. 5PSO Algorithm (cont.) Biểu thức cập nhật vận tốc :  Hệ số ngẫu nhiên  : hệ số gia tốc Quán tínhT ành phần nhận thứcThành phần xã hội 6PSO Algorithm (cont.) Biểu thức cập nhật vận tốc :  Hệ số ngẫu nhiên  : hệ số gia tốc Cập nhật vị trí: Quán tínhThành phận nhận thứcThành phần xã hội 7PSO Algorithm – Tham số Hệ số gia tốc  Giá trị quá nhỏ làm hạn chế bước nhảy của các cá thể trong bầy đàn=> hội tụ chậm  Giá trị quá lớn : không hội tụ  Thông thường Giá trị vận tốc tối đa  Giá trị vận tốc tối đa của một cá thể ở chiều thứ d trong không gian: 8Ví d thu t toán PSO (B c 1 + 2 +3)ụ ậ ướ 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 • Khởi tạo 1 bầy đàn với 4 cá thể (t=0) • Đánh giá độ thích nghi, • Đánh dấu gbest gbest 9Ví d thu t toán PSO (B c 4)ụ ậ ướ 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 Cập nhât vận tốc của mỗi cá thể (t=1) gbest 10 Ví d thu t toán PSO (Bụ ậ ư c 4 ti p)ớ ế 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 Cập nhật vị trí của cá thể sau khi di chuyển (t=2) gbest 11 Ví d thu t toán PSO (Bụ ậ ư c 2+3)ớ 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 Đánh giá độ thích nghi và Cập nhật vị trí tốt nhất của mỗi cá thể và vị trí tốt nhất toàn cục (t=2) gbest 12 Ví d thu t toán PSO (Bụ ậ ư c 4)ớ 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 gbest Cập nhật vận tốc cho mỗi cá thể (t=2) Quán tính Nhận thức Xã hội Tổng hợp Quán tínhThành phần nhận thứcThành phần xã hội 13 Thu t toán PSO r i r cậ ờ ạ  Binary PSO:  Được giới thiệu bởi kennedy and Eberhart.  Mỗi cá thể (particle) là một biểu diễn nhị phân 0-1.  Biểu thức cập nhật vận tốc: Trạng thái trước đó Vận tốc Vị trí tốt nhất trước đó của cá thể đạt được Vị trí tốt nhất của cá thể tốt nhất trong cả bầy đàn 14 Binary PSO (cont.)  xác định một ngưỡng trong hàm xác xuất và nằm trong đoạn [0.0, 1.0].  Trạng thái của chiều thứ d trong biểu diễn của cá thể id ở thế hệ thứ t được xác định như sau: Với là một số ngẫu nhiên với phân phối đều Vid 1 15 Các bi n th PSOế ể  Hybrid PSO  Incorporate the capabilities of other evolutionary computation techniques.  Adaptive PSO  Adaptation of PSO parameters for a better performance.  PSO in complex environments  Multiobjective or constrained optimization problems or tracking dynamic systems.  Other variants  variations to the original formulation to improve its performance. 16 Hybrid PSO GA-PSO:  combines the advantages of swarm intelligence and a natural selection mechanism.  jump from one area to another by the selection mechanism  accelerating the convergence speed.  capability of “breeding”.  replacing agent positions with low fitness values, with those with high fitness, according to a selection rate 17 Hybrid PSO EPSO:  Evolutionary PSO  Incorporates a selection procedure  Self-adapting of parameters The particle movement is defined as: 18 Hybrid PSO : EPSO Mutation of weights and global best:  Learning parameters can be either fixed or dynamically changing as strategic parameters. Survival Selection:  Stochastic tournament. 19 Hybrid PSO : EPSO 20 Hybrid PSO : DEPSO  Hybrid of Differential Evolution and PSO.  A DE operator applied to the particle’s best position to eliminate the particles falling into local minima.  Alternation:  Original PSO algorithm at the odd iterations.  DE operator at the even iterations. 21 Hybrid PSO : DEPSO  DE mutation on particle’s best positions:  where k is a random integer value within [1,n] which ensures the mutation in at least one dimension. Trial point: For each dth dimention: 22 Hybrid PSO : DEPSO 23 Applications  Convenience of realization, properties of low constraint on the continuity of objective function and joint of search space, and ability of adapting to dynamic environment, make PSO be applied in more and more fields.  Some PSO applications:  Electronics and electromagnetic  Signal, Image and video processing  Neural networks  Communication networks  24 Thanks for your attention PGS.TS Huỳnh Th Thanh Bìnhị Email: binhht@soict.hust.edu.vn MULTI-OBJECTIVE OPTIMIZATION 2N i dungộ TỐI ƯU ĐA MỤC TIÊU  Bài toán đa mục tiêu  Hướng tiếp cận 1: Quy về đơn mục tiêu  Hướng tiếp cận 2: Pareto optimal A MULTI-OBJECTIVE EVOLUTIONARY ALGORITHM BASED ON DECOMPOSITION  Một số khái niệm  Cấu trúc thuật toán  Đánh giá TỐI ƯU ĐA MỤC TIÊU 4Bài toán đa m c tiêuụ Bài toán tối ưu đa mục tiêu (Multi-objective optimization problem):  Bài toán yêu cầu tối ưu 2 hay nhiều hàm mục tiêu cùng lúc.  Mô hình hóa:  (Giả sử các mục tiêu đều là cực tiểu hóa)  là tập nghiệm chấp nhận được của bài toán  hàm mục tiêu khác nhau: 5Bài toán đa m c tiêuụ  Ví dụ:  Xây dựng hệ thống mạng:  Tối đa phạm vi phủ sóng  Tối thiểu chi phí triển khai  Lập kế hoạch đầu tư:  Tối đa lợi nhuận  Tối thiểu rủi ro  Trong bài toán tối ưu đa mục tiêu, các hàm mục tiêu thường xung đột lẫn nhau, do đó hiếm có một lời giải tối ưu với tất cả mục tiêu cùng lúc. 6Bài toán đa m c tiêuụ Hướng tiếp cận giải bài toán đa mục tiêu:  Quy về đơn mục tiêu: Đưa ra công thức ánh xạ nhiều mục tiêu về 1 mục tiêu, rồi giải như bài toán đơn mục tiêu.  Pareto optimal: Dựa trên khái niệm tính trội và biên Pareto, tìm ra một số lời giải tốt với các hàm mục tiêu khác nhau, để một decision maker (ở đây có thể là con người) tự lựa chọn lời giải thích hợp nhất. 7H ng ti p c n 1: Quy v đ n m c tiêuướ ế ậ ề ơ ụ Một số phương pháp quy về đơn mục tiêu:  Vector trọng số  Tchebycheff  Penalty-based boundary intersection (PBI) (không giới thiệu) 8H ng ti p c n 1: Quy v đ n m c tiêuướ ế ậ ề ơ ụ Vector trọng số  Quy mục tiêu về 1 mục tiêu  Định nghĩa vector trọng số , sao cho  Trọng số 1 mục tiêu càng lớn thì mục tiêu đó càng được ưu tiên  Mục tiêu mới:  Ví dụ: Hai mục tiêu: 9H ng ti p c n 1: Quy v đ n m c tiêuướ ế ậ ề ơ ụ  Vector trọng số  Điểm tham chiếu  Biên tốt nhất tìm được theo từng mục tiêu  Giả sử các mục tiêu đều là minimize, với mọi lời giải tìm được:  Mục tiêu mới: Cực tiểu hóa: 10 H ng ti p c n 2: Pareto optimalướ ế ậ Tính trội (Pareto dominance):  Phương pháp so sánh 2 lời giải trong bài toán đa mục tiêu.  Lời giải được gọi là trội hơn nếu:  không tệ hơn ở mọi mục tiêu tương ứng  tốt hơn ở ít nhất 1 mục tiêu  Ví dụ trong bài toán cực tiểu hóa: 11 H ng ti p c n 2: Pareto optimalướ ế ậ Biên Pareto (Pareto front):  Một tập lời giải của bài toán đa mục tiêu trong đó không lời giải nào trội hơn (dominate) lời giải nào  Minh họa biên Pareto trong bài toán cực tiểu hóa 2 mục tiêu: 12 H ng ti p c n 2: Pareto optimalướ ế ậ  Các thuật toán áp dụng khái niệm Pareto optimal sẽ tập trung tìm kiếm biên Pareto tối ưu hoặc gần tối ưu cho bài toán  Một số thuật toán tiến hóa điển hình:  Non-dominated Sorting Genetic Algorithm II (NSGA- II)  Strength Pareto Evolutionary Algorithm 2 (SPEA2)  A Multi-objective Evolutionary Algorithm Based on Decomposition (MOEA/D) A MULTI-OBJECTIVE EVOLUTIONARY ALGORITHM BASED ON DECOMPOSITION (MOEA/D) 14 M t s khái ni mộ ố ệ  Phân hoạch  Hàng xóm  A multi-objective evolutionary algorithm based on decomposition 15 M t s khái ni mộ ố ệ Phân hoạch (Decomposition):  Nhắc lại: Phương pháp vector trọng số  Quy bài toán đa mục tiêu về đơn mục tiêu  Cho vector khác nhau: 1 bài toán đa mục tiêu  bài toán đơn mục tiêu khác nhau  lời giải tối ưu khác nhau  Phân hoạch: Phương pháp quy bài toán đa mục tiêu thành bài toán đơn mục tiêu khác nhau, kết hợp giải bài toán con này để được tập lời giải tạo thành biên Pareto của bài toán gốc 16 M t s khái ni mộ ố ệ Phân hoạch (Decomposition):  Ví dụ phân hoạch bài toán 2 mục tiêu: Bài toán g c:ố Bài toán con 1: Bài toán con 2: Bài toán con 9: 17 M t s khái ni mộ ố ệ Hàng xóm:  Trong phân hoạch ở trên, một số bài toán con có hàm mục tiêu (hay vector ) gần nhau hơn các bài toán khác  Ví dụ: Bài toán gốc có 2 mục tiêu, bài toán con đang xét có . Có 2 bài toán con khác: và . Dễ thấy bài toán gần với hơn.  Định nghĩa: “Hàng xóm” của 1 bài toán con là bài toán con gần với nó nhất trong bài toán con (bao gồm chính nó)  là hằng số cho trước ()  Khoảng cách 2 bài toán con là khoảng cách Euclid giữa 2 vector trọng số tương ứng  Ký hiệu: Hàng xóm của bài toán con : 18 M t s khái ni mộ ố ệ Hàng xóm:  Ví dụ xây dựng tập hàng xóm cho bài toán con 2:  : Mỗi bài toán con có 3 hàng xóm  3 bài toán con gần nhất là 1, 2, 3 (bao gồm chính nó)  Hàng xóm của 2: Bài toán con 1: Bài toán con 2: Bài toán con 3: Hàng xóm? 19 M t s khái ni mộ ố ệ A multi-objective evolutionary algorithm based on decomposition (MOEA/D)  Giải thuật tiến hóa đa mục tiêu dựa trên phân hoạch  Ý tưởng:  Phân hoạch bài toán đa mục tiêu thành bài toán đơn mục tiêu con  Tạo vector trọng số khác nhau  Duy trì 1 lời giải tốt nhất cho từng bài toán con  Tối ưu lời giải bài toán con bằng cách kết hợp lời giải của các “hàng xóm” (các bài toán gần nhau thì thường có lời giải tốt gần nhau)  Đánh giá lời giải:  1 trong các phương pháp quy về đơn mục tiêu đã nêu  Trong slide này dùng phương pháp Tchebycheff 20 C u trúc thu t toánấ ậ Thuật toán MOEA/D gồm 3 bước chính:  Bước 1: Khởi tạo  Bước 2: Tiến hóa theo thế hệ  Lặp lại nhiều lần tới khi thỏa mãn điều kiện dừng  Bước 3: Điều kiện dừng 21 C u trúc thu t toánấ ậ Đầu vào:  Các tham số:  vector trọng số  : Số hàng xóm của 1 bài toán con  Các đối tượng được duy trì và cập nhật qua từng thế hệ:  Quần thể: lời giải của bài toán con  Điểm tham chiếu : Dùng cho phương pháp đánh giá Tchebycheff  Không cần thiết nếu không dùng Tchebycheff  Quần thể ngoài EP: Biên Pareto của tất cả lời giải tìm được tính đến thế hệ hiện tại  Không cần thiết nếu trực tiếp dùng quần thể làm đầu ra 22 C u trúc thu t toánấ ậ Bước 1: Khởi tạo  Bước 1.1: Đặt quần thể ngoài  Bước 1.2: Xây dựng tập hàng xóm:  : Tập hàng xóm của bài toán thứ  - vector trọng số gần với vector nhất  Bước 1.3: Khởi tạo ngẫu nhiên quần thể:  Bước 1.4: Khởi tạo điểm tham chiếu : 23 C u trúc thu t toánấ ậ 𝑓=( 𝑓 1 , 𝑓 2,, 𝑓 𝑑) Bài toán 1 Bài toán 2 Bài toán N 𝒙𝟏 𝒙𝟐 𝒙𝟗 EP B c 1.1ướ 24 C u trúc thu t toánấ ậ Bước 2: Tiến hóa theo thế hệ (1) Với mỗi bài toán con :  Bước 2.1: Tạo lời giải mới  Chọn ngẫu nhiên 2 lời giải hàng xóm của ()  Lai ghép:  lời giải mới  Đột biến  lời giải mới  Bước 2.2: Sửa chữa/Cải thiện lời giải  Nếu không là lời giải hợp lệ, cần sửa chữa hoặc loại bỏ  Cải thiện nếu có thể (tùy bài toán) 25 C u trúc thu t toánấ ậ Bài toán 1 Bài toán 2 Bài toán N 𝒙𝟏 𝒙𝟐 𝒙𝟗 EP B c 2.1: T o l i gi i m iướ ạ ờ ả ớ Xét bài toán 2 Ch n ọCh n ọ Lai ghép + Đ t bi nộ ế 𝒚 B c 2.2: ướ S a ch a / ử ữ C i thi nả ệ 𝒚 ′ 26 C u trúc thu t toánấ ậ Bước 2: Tiến hóa theo thế hệ (2) Với mỗi bài toán con :  Bước 2.3: Cập nhật  Bước 2.4: Cập nhật các hàng xóm:  Với mọi  nếu (theo Tchebycheff)  thay bằng  Bước 2.5: Cập nhật EP:  Loại mọi lời giải bị trội bởi  Thêm vào EP nếu nó không bị trội bởi lời giải nào 27 C u trúc thu t toánấ ậ Bài toán 1 Bài toán 2 Bài toán N 𝒙𝟏 𝒙𝟐 𝒙𝟗 EP 𝒚 ′B c 2.4: ướSo sánh + Thay thế B c 2.5: ướ C p nh t EPậ ậ 28 C u trúc thu t toánấ ậ Bước 3: Điều kiện dừng  Điều kiện dừng: Tương tự các thuật toán GA thông thường  Số thế hệ tối đa  Số thế hệ tối đa mà EP không được cập nhật   Đầu ra: EP (Biên Pareto) 29 Đánh giá  Ưu điểm:  Nhanh, độ phức tạp tương đương GA thông thường  Biên Pareto đều  Khả năng duy trì cân bằng các hàm mục tiêu (ví dụ: tránh hội tụ sớm khi áp dụng tìm kiếm cục bộ quá mạnh lên 1 mục tiêu)  Nhược điểm:  Hiệu quả phụ thuộc lớn vào tham số người dùng tự đặt (đặc biệt là cách chia vector trọng số)  Không hiệu quả bằng các thuật toán như NSGA-II trong nhiều bài toán thông thường (khả năng tối ưu các mục tiêu tương đối đồng đều) 30 Thanks for your attention

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_tinh_toan_tien_hoa_huynh_thi_thanh_binh.pdf
  • pdf2. IntroEC_new_new.pdf
  • pdf3. Genetic Algorithm.pdf
  • pdf3. GeneticProgramming.pdf
  • pdf4. EvolutionaryProgramming.pdf
  • pdf5. EvolutionaryStrategy.pdf
  • pdf6. DE.pdf
  • pdf7. ACO.pdf
  • pdf8. PSO.pdf
  • pdf9. MOO.pdf