Tải bản đầy đủ (.pptx) (34 trang)

Thuyết trình chủ đề giải thuật tiến hóa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.21 MB, 34 trang )

EVOLUTION ALGORITHM (EA)
Lê Phi Trường Nguyễn Đức Tú Nguyễn Tôn Thất Tú
Nguyễn Quốc Tuấn Nguyễn Ngọc Tuyên Đặng Minh Úc
Dương Hoàng Việt Mai Quốc Việt
1
NỘI DUNG TRÌNH BÀY

Đặt bài toán

Lược đồ tổng quát của EA

Các nguyên lý cơ bản trong EA

Biểu diễn gen (Cấu trúc dữ liệu)

Lựa chọn độ fitness (Độ đo sự thích nghi)

Các quy tắc chọn lọc

Các quy tắc lai ghép

Các quy tắc đột biến
2
GIẢI THUẬT TIẾN HÓA

Thuật toán tiến hóa dựa trên lý thuyết tiến hóa của Darwin bằng cách mô
phỏng các quá trình tiến hóa và cơ chế sinh học để giải quyết vấn đề.

Thuật toán thông qua sinh sản, đột biến, lựa chọn để giải quyết vấn đề tối
ưu hóa.
3


ĐẶT BÀI TOÁN
4
ĐẶT BÀI TOÁN

Xét bài toán tối ưu không ràng buộc sau:
,



Bài toán có nghĩa là tìm một giá trị sao
cho f có giá trị lớn nhất

Đồ thị hàm số
5
ĐẶT BÀI TOÁN

Khi đạo hàm bậc nhất bằng 0, nghĩa là:

Phương trình trên có vô số lời giải

Trong đó các số hạng là các dãy số thực giảm dần về 0 ( và )


6
ĐẶT BÀI TOÁN

Biểu diễn:

Ta sử dụng một vectơ nhị phân làm nhiễm sắc thể để biểu diễn các giá trị thực của
biến x. Chiều dài vectơ phụ thuộc vào độ chính xác cần có. Trong ví dụ này, ta cần

chính xác đến 6 số lẻ tức có nghĩa, ta cần có 3 x 106 khoảng có kích thước bằng
nhau.

Ta cần 22 bit để biểu diễn cho một nhiễm sắc thể

2097152 = 221 < 3 x 106 < 222 = 4194304

Chuyển đổi từ chuỗi nhị phân <<b21b20…b0>> thành số thực:

với

Đây cũng chính là hàm định giá


7
ĐẶT BÀI TOÁN

Khởi tạo quần thể:

Ta tạo một quần thể các nhiễm sắc thể, trong đó mỗi
nhiễm sắc thể là một vectơ nhị phân 22 bit, tất cả 22 bit
của mỗi nhiểm sắc thể đều được khởi tạo ngẫu nhiên.

Hàm lượng giá: là hàm f(x)

Đột biến và lai:

Đột biến:

Lai ghép:

8
ĐẶT BÀI TOÁN

Các tham số

Pop_size = 50

Xác suất pc = 0.25

Xác suất pm = 0.01

Kết quả

Vmax = (111001101000100000101)
ứng với xmax = 1.850773
Thế hệ thứ Hàm lượng giá
1 1.441942
6 2.250003
8 2.250283
9 2.250284
10 2.250363
12 2.328077
39 2.344251
40 2.345087
51 2.738930
99 2.849246
137 2.850217
145 2.850227
9
LƯỢC ĐỒ THUẬT TOÁN

10
LƯỢC ĐỒ THUẬT TOÁN
BẮT ĐẦU
PHÁT SINH QUẦN
THỂ BAN ĐẦU
XÁC ĐỊNH ĐỘ THÍCH
NGHI CỦA CÁ THỂ
TRONG QUẦN THỂ
CÓ CÁ THỂ NÀO ĐẠT ĐẾN
LỜI GIẢI TỐI ƯU CHƯA?
TRÌNH BÀY
LỜI GIẢI
CHỌN LỌC
LAI GHÉP
XÂY DỰNG
QUẦN THỂ MỚI
ĐỘT BIẾN
Yes
No
11
LƯỢC ĐỒ THUẬT TOÁN

Bước 1: Khởi tạo một quẩn thể ban đầu (các đáp án ban đầu của bài toán).

Bước 2: Xác định giá trị hàm mục tiêu (fitness) cho mỗi cá thể trong quần thể.

Bước 3: Tạo ra quần thể mới bằng cách lai ghép chéo (crossover) từ các cá thể hiện tại có chọn lọc
(selection), đồng thời tạo ra các đột biến (mutation) trong quần thể mới theo một xác xuất nhất định.

Bước 4. Các cá thể trong quần thể mới sinh ra được thay thế cho các cá thể trong quần thể cũ


Bước 5. Nếu điều kiện dừng thỏa mãn thì giải thuật dừng lại và trả về cá thể tốt nhất cùng với giá trị
hàm mục tiêu của nó, nếu không thì quay lại bước 2
12
BIỄU DIỄN GEN

Để thực hiện được các bước của giải thuật di truyền như đã nêu trên, thao
tác quan trọng nhất là lựa chọn cấu trúc dữ liệu (CTDL) phù hợp. Để giải
quyết bài toán dùng giải thuật di truyền, ta thường sử dụng 3 cấu trúc dữ
liệu sau:

Chuỗi nhị phân,

Chuỗi số thực

Cấu trúc cây.
13
CHỌN LỌC
SELECTION
14
CHỌN LỌC

Là quá trình chọn ra một hoặc một vài cá thể để:

Giữ lại trong quần thể mới (tái sinh quần thể)

Lai ghép

Đột biến


Khó khăn trong chọn lọc:

Vấn đề hội tụ sớm

Nguyên nhân:

Áp lực chọn lọc

Tính đa dạng của quần thể

Giải pháp:

Nghiên cứu về cơ chế tạo mẫu

Nghiên cứu về bản chất hàm mục tiêu
15
PHƯƠNG PHÁP TẠO MẪU
16
TRUNCATION SELECTION

Đặc tính:

Là phương pháp đơn giản nhất

Dùng đối với quần thể cá thể lớn

Mã Giả:
TRS_code{
1. Sếp theo thứ tự giảm dần theo độ thích nghi các phần tử trong P(t)
2. Chọn p phần trăm các phần tử được giữ lại (trong khoảng 10% -50%)

3. sp=[n*p] (n là số cá thể của quần thể)
4. Chọn sp cá thể đầu.
}
17
ROULETTE WHEEL SELECTION

Gọi p(i) là xác xuất cá thể i được chọn, f(i) là độ thích nghi của i, n là số cá thể của quần thể (pop_size)
Có: p(i) =
RWS_code{

Tính tổng S=

Với mỗi cá thể 1≤ i ≤ n do {
-
Sinh số random x ϵ [0,S];
-
iSum=0; j=0
Do{
- iSum← iSum+ f(j);
- j ← j+1;
} while (iSum < x and j<n)
}
}


18
ROULETTE WHEEL SELECTION
Number of individual 1 2 3 4 5 6 7 8 9 10 11
fitness value 2.0 1.8 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0
selection probability 0.18 0.16 0.15 0.13 0.11 0.09 0.07 0.06 0.03 0.02 0.0

19
LINEAR RANK SELECTION

Với P(i) =

Rank(i) được sắp xếp theo thứ tự giảm dần của độ thích nghi của cá thể, thích nghi tốt nhất rank(x) = n, thích nghi tồi nhất
rank(k)=1

LRS_code{

Xếp hạng các cá thể trong quần thể theo sự giảm của giá trị thích nghi, giá trị rank(worst) =n, rank(best) =1 (n = pop_size)

S(0) =0; p(i) = ; với a chọn thỏa dk: 1≤ a ≤ 2 và b = 2-a

For i =0 to n do {
S(i) = S(i-1)p(i) ;
}
-
For j = 0 to k do { // k là số cá thể cần chọn sau mỗi phép chọn
r = random(0, S(n))
chọn cái thể i sao cho S(i-1) <= r <= S(i);
j++;
}
}


20
EXPONENTIAL RANK SELECTION
21
TOURAMENT SELECTION


Là phương pháp thuộc kiểu rank-base
Nội dung:
-
Chọn một nhóm gồm t cá thể
-
Trong t cá thể này chọn cá thể tốt nhất
-
Lắp lại quá trình k lần để lấy k cá thể tốt nhất
22
LAI GHÉP
CROSSOVER
23
LAI GHÉP

Là quá trình hình thành nhiễm sắc thể mới trên cơ sở các nhiễm sắc thể
cha–mẹ , bằng cách ghép một hay nhiều đoạn gen của hai (hay nhiều)
nhiễm sắc thể cha mẹ với nhau.

Có 3 loại phép lai:

Lai ghép điểm đơn

Lai ghép điểm kép

Lai ghép đồng nhất

Toán tử lai ghép tạo ra hai con từ hai chuỗi cha bằng cách sao chép các bit
được chọn lựa từ mỗi cha. Bit ở vị trí i trong mỗi con được sao chép từ bit ở
vị trí i của một trong hai cha. Chọn lựa cha nào phân phối bit cho vị trí i

được quyết định bởi thêm vào một chuỗi mặt nạ lai ghép.
24
LAI GHÉP
25

×