intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tính toán tiến hóa - Bài 6: Differential evolution (DE)

Chia sẻ: Hàn Lâm Cố Mạn | Ngày: | Loại File: PDF | Số trang:19

38
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Tính toán tiến hóa - Bài 6: Differential evolution (DE). Bài này cung cấp cho học viên những nội dung về: giải thuật tiến hóa sai phân (Differential Evolution - DE); sơ đồ của DE; mô hình thuật toán; các biến thể của DE;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tính toán tiến hóa - Bài 6: Differential evolution (DE)

  1. Differential Evolution (DE) PGS.TS Huỳnh Thị Thanh Bình Email: binhht@soict.hust.edu.vn
  2. Tổng quan 2 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 𝑥 ∗ ∈ 𝑋: 𝑓 𝑥 ≥ 𝑓 𝑥 ∗ ∀ 𝑥 ∈ 𝑋
  3. Sơ đồ của DE 3 Chọn Khởi tạo Đột biến Lai ghép lọc
  4. Mô hình thuật toán 4
  5. Khởi tạo 5  Giả sử cần tối ưu 𝐷 tham số  Tham số thứ 𝑘 trong khoảng giá trị [𝐿𝐵𝑘 , 𝑈𝐵𝑘 ]  Kích thước quần thể 𝑁 ≥ 4  Mỗi cá thể được biểu diễn bằng một vector D chiều  Cá thể thứ i 𝐼𝑖 = 𝐼𝑖1 , 𝐼𝑖2 , … , 𝐼𝑖𝐷 I𝑖𝑗 = 𝑟𝑎𝑛𝑑 0,1 ∗ 𝑈𝐵𝑗 − 𝐿𝐵𝑗 + 𝐿𝐵𝑗
  6. Đột biến 6  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 𝐼𝑘1 , 𝐼𝑘2 , 𝐼𝑘3 𝑘 ≠ 𝑘1 ≠ 𝑘2 ≠ 𝑘3 .  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 𝑉𝑘 = 𝐼𝑘3 + 𝐹 ∗ (𝐼𝑘2 − 𝐼𝑘1 )  F là hằng số để scale chênh lệnh, 𝐹 ∈ [0,2]  𝑉𝑘 là vector đột biến
  7. Lai ghép 7  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 j ∈ [1, 𝐷] 𝑉𝑘𝑖 𝑛ế𝑢 𝑗 = 𝑖 ℎ𝑜ặ𝑐 𝑟𝑎𝑛𝑑 0,1 < 𝐶𝑅  𝑂𝑘𝑖 = ቊ 𝐼𝑘𝑖 𝑛𝑔ướ𝑐 𝑙ạ𝑖  Sinh ra 1 con
  8. Chọn lọc 8  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
  9. Các biến thể của DE 9  Khác nhau ở cách tính vector đột biến  Adaptive ?  DE/rand/1 : 𝑉𝑘 = 𝐼𝑘1 + 𝐹 ∗ (𝐼𝑘3 − 𝐼𝑘2 )  DE/rand/2: 𝑉𝑘 = 𝐼𝑘1 + 𝐹1 ∗ 𝐼𝑘3 − 𝐼𝑘2 + 𝐹2 ∗ (𝐼𝑘5 − 𝐼𝑘4 )  DE/best/1: 𝑉𝑘 = 𝐼𝑏𝑒𝑠𝑡 + 𝐹 ∗ (𝐼𝑘2 − 𝐼𝑘1 )  DE/best/2: 𝑉𝑘 = 𝐼𝑏𝑒𝑠𝑡 + 𝐹1 ∗ 𝐼𝑘2 − 𝐼𝑘1 + 𝐹2 ∗ (𝐼𝑘4 − 𝐼𝑘3 )  DE/target-to-best/1: 𝑉𝑘 = 𝐼𝑘 + 𝐹1 ∗ 𝐼𝑏𝑒𝑠𝑡 − 𝐼𝑘 + 𝐹2 ∗ 𝐼𝑘2 − 𝐼𝑘1
  10. Hiệu chỉnh tham số trong DE 10  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ể 11  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ể 𝑁 ∈ 5𝐷 , 10𝐷 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 12  jDE  Điều kiển F và CR bởi 2 tham số 𝑟1 , 𝑟2  Cập nhật F và CR 𝐹𝐿 + 𝑟𝑎𝑛𝑑1 ∗ 𝐹𝑢 𝑛ế𝑢 𝑟𝑎𝑛𝑑2 < 𝑟1 𝐹𝑖,𝐺+1 = ቊ 𝐹𝑖,𝐺 𝑛𝑔ượ𝑐 𝑙ạ𝑖 𝑟𝑎𝑛𝑑3 𝑛ế𝑢 𝑟𝑎𝑛𝑑4 < 𝑟2 𝐶𝑅𝑖,𝐺+1 = ቊ 𝐶𝑅𝑖,𝐺 𝑛𝑔ượ𝑐 𝑙ạ𝑖 𝑟1 = 𝑟2 = 0.1, 𝐹 ∈ 0.1, 0.9 , 𝐶𝑅 ∈ [0,1]
  13. Hiệu chỉnh tham số trong DE Tỷ lệ lai ghép (CR) và hệ số scale F 13  SaDE F = lấy ngẫu nhiên theo phân phối chuẩn N(0.5,0.3)  𝐶𝑅 ~𝑁 CR m , std , std = 0.1. Giá trị trung bình ban đầu CR m =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 𝑁 CR m , std  Sau một số thế hệ (25 thế hệ) , CR m đượ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 CR m , 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 14  JADE  𝐶𝑅 ~𝑁 CR m , 0.1 , 𝐶𝑅 ∈ 0,1  Cập nhật 𝐶𝑅𝑚 = 1 − 𝑐 𝐶𝑅𝑚 + 𝑐 ∗ 𝑚𝑒𝑎𝑛𝐴 (𝑆𝐶𝑟 )  𝑆𝐶𝑟 là tập các giá trị CR của các cá thể con thành công F ~𝑁 Fm , 0.1 , F∈ 0,1  Cập nhật 𝐹𝑚 = 1 − 𝑐 𝐹𝑚 + 𝑐 ∗ 𝑚𝑒𝑎𝑛𝐿 (𝑆𝐹 ) σ𝐹∈𝑆𝐹 𝐹 2 𝑚𝑒𝑎𝑛𝐿 = σ𝐹∈𝑆𝐹 𝐹  𝑐 ∈ [0.05, 0.2]
  15. Hiệu chỉnh tham số trong DE Tỷ lệ lai ghép (CR) và hệ số scale F 15  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]  𝐹𝑖 = Cauchy( MF k , 0.1)  𝐶𝑟𝑖 = N( MCr k , 0.1)
  16. Hiệu chỉnh tham số trong DE Tỷ lệ lai ghép (CR) và hệ số scale F 16  SHADE k =2  𝐹𝑖 = Cauchy(0.52, 0.1)  𝐶𝑟𝑖 = N(0.87, 0.1)
  17. Hiệu chỉnh tham số trong DE Tỷ lệ lai ghép (CR) và hệ số scale F 17  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 18  SHADE
  19. 19 Thanks for your attention
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2