1. Trang chủ
  2. » Giáo án - Bài giảng

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

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

Tiêu đề Differential Evolution (DE)
Người hướng dẫn PT. Huỳnh Thị Thanh Bình
Trường học Hanoi University of Science and Technology
Chuyên ngành Tính toán tiến hóa
Thể loại Bài giảng
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 1,14 MB

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

Nội dung

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!

Trang 1

PGS.TS Huỳnh Thị Thanh Bình

Email: binhht@soict.hust.edu.vn

Differential Evolution (DE)

Trang 2

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

𝑥∗ ∈ 𝑋: 𝑓 𝑥 ≥ 𝑓 𝑥∗ ∀ 𝑥 ∈ 𝑋

Trang 3

Sơ đồ của DE

Khởi tạo Đột biến Lai ghép Chọn

lọc

Trang 4

Mô hình thuật toán

Trang 5

Khở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ể 𝑁 ≥ 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 ∗ 𝑈𝐵𝑗 − 𝐿𝐵𝑗 + 𝐿𝐵𝑗

Trang 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 𝐼𝑘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

Trang 7

Lai 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 j ∈ [1, 𝐷]

 𝑂𝑘𝑖 = ቊ𝑉𝑘𝑖 𝑛ế𝑢 𝑗 = 𝑖 ℎ𝑜ặ𝑐 𝑟𝑎𝑛𝑑 0,1 < 𝐶𝑅

𝐼𝑘𝑖 𝑛𝑔ướ𝑐 𝑙ạ𝑖

 Sinh ra 1 con

Trang 8

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

Trang 9

Các biến thể của DE

 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

Trang 10

Hiệu chỉnh tham số trong DE

 Kích thước quần thể (N)

 F

 CR

Trang 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ể 𝑁 ∈

5𝐷 , 10𝐷 với D là số chiều không gian tìm kiếm

Trang 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ố 𝑟1, 𝑟2

 Cập nhật F và CR

𝐹𝑖,𝐺+1 = ቊ𝐹𝐿 + 𝑟𝑎𝑛𝑑1 ∗ 𝐹𝑢 𝑛ế𝑢 𝑟𝑎𝑛𝑑2 < 𝑟1

𝐹𝑖,𝐺 𝑛𝑔ượ𝑐 𝑙ạ𝑖

𝐶𝑅𝑖,𝐺+1 = ቊ𝑟𝑎𝑛𝑑3 𝑛ế𝑢 𝑟𝑎𝑛𝑑4 < 𝑟2

𝐶𝑅𝑖,𝐺 𝑛𝑔ượ𝑐 𝑙ạ𝑖

𝑟1 = 𝑟2 = 0.1, 𝐹 ∈ 0.1, 0.9 , 𝐶𝑅 ∈ [0,1]

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

 𝐶𝑅 ~𝑁 CRm, std , std = 0.1 Giá trị trung bình ban đầu CRm =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 𝑁 CRm, std

 Sau một số thế hệ (25 thế hệ) , CRm đượ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 CRm , các giá trị CR cũ bị xóa bỏ

Trang 14

Hiệu chỉnh tham số trong DE

Tỷ lệ lai ghép (CR) và hệ số scale F

 JADE

 𝐶𝑅 ~𝑁 CRm, 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]

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

 𝐹𝑖 = Cauchy( MF k , 0.1)

 𝐶𝑟𝑖 = N( MCr k , 0.1)

Trang 16

Hiệu chỉnh tham số trong DE

Tỷ lệ lai ghép (CR) và hệ số scale F

 SHADE

 k = 2

 𝐹𝑖 = Cauchy(0.52, 0.1)

 𝐶𝑟𝑖 = N(0.87, 0.1)

Trang 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

Trang 18

Hiệu chỉnh tham số trong DE

Tỷ lệ lai ghép (CR) và hệ số scale F

 SHADE

Trang 19

Thanks for your attention

Ngày đăng: 09/12/2022, 00:09

TỪ KHÓA LIÊN QUAN