ĐẶ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
Trang 1EVOLUTION 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
Trang 2NỘ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
Trang 3GIẢ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
Trang 4ĐẶT BÀI TOÁN
4
Trang 6ĐẶT BÀI TOÁN
Khi đạo hàm bậc nhất bằng 0, nghĩa là:
Trong đó các số hạng là các dãy số thực giảm dần về 0 ( và )
6
Trang 8ĐẶ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.
Trang 10LƯỢC ĐỒ THUẬT TOÁN
10
Trang 11LƯỢ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
XÂY DỰNG QUẦN THỂ MỚI
ĐỘT BIẾN
Yes No
11
Trang 12LƯỢ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
Trang 13BIỄ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
Trang 14CHỌN LỌC
SELECTION
14
Trang 15CHỌ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ể)
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
Trang 16PHƯƠNG PHÁP TẠO MẪU
16
Trang 17TRUNCATION 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.
Trang 18ROULETTE 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)
Trang 19ROULETTE WHEEL SELECTION
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
Trang 20LINEAR 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
Trang 21EXPONENTIAL RANK SELECTION
21
Trang 23LAI GHÉP
CROSSOVER
23
Trang 24LAI 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.
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
Trang 25LAI GHÉP
25
Trang 26LAI GHÉP ĐIỂM ĐƠN
Xem xét toán tử lai ghép điểm đơn (single-point)
Con này lấy năm bit đầu tiên của nó từ cha thứ nhất và sáu bit còn lại từ cha thứ
hai, bởi mặt nạ lai ghép là 11111000000 xác định các lựa chọn này cho mỗi vị trí
bit
Con thứ hai dùng cùng mặt nạ lai ghép, nhưng đổi vai trò của hai cha Do đó, nó
Trang 27LAI GHÉP ĐIỂM ĐƠN
Mặt nạ lai ghép luôn luôn được xây dựng sao cho nó bắt đầu với chuỗi chứa n giá trị 1 liên tục, được theo sau một số giá trị 0 cần thiết để hoàn chỉnh chuỗi
Cách này tạo ra cá thể con có n bit đầu được phân phối bởi một cha và các bit
còn lại bởi cha thứ hai
Mỗi lần toán tử lai ghép điểm đơn được áp dụng, điểm lai ghép n được chọn
ngẫu nhiên, rồi mặt nạ lai ghép được tạo và áp dụng
27
Trang 28 Trong ví dụ trên, cá thể con được tạo ra dùng một mặt nạ với n0 = 2 và n1 = 5 Như lai ghép trước,
hai cá thể con được tạo ra bằng cách hoán đổi vai trò của hai cá thể cha. 28
Trang 30TÁI SINH QUẦN THỂ
Là phương pháp chọn các cá thể đã được sinh ra từ các phương pháp như lai, đột biến để thay thế cho cha mẹ, tạo nên một quần thể mới.
Phương pháp:
-Thay thế hoàn toàn cha mẹ
-Tráo đổi k cha, mẹ với k cá thể con:
Tráo đổi ngẫu nhiên k cha mẹ với k con
Chọn những cá thể tốt và bỏ đi k cá thể xấu nhất
Chọn k cá thể cha mẹ theo điều kiện (xác xuất hoặc số lần xuất hiện tối đa)
30
Trang 31ĐỘT BIẾN
MUTATION
31
Trang 33ĐIỀU KIỆN DỪNG
Thông thường có các điều kiện dừng sau:
Dừng theo kết quả: một khi đạt đến mức giá trị yêu cầu thì chấm dứt ngay quá trình
thực hiện.
Dừng dựa vào số thế hệ: chọn số thế hệ, quá trình sẽ dừng đúng ngay số thế hệ đã qui
định trước, không cần biết kết quả như thế nào.
Dừng dựa trên cấu trúc nhiễm sắc thể: do sự hội tụ của quần thể bằng cách kiểm soát
số alen được hội tụ, ở đây alen được coi như hội tụ nếu một số phần trăm quần thể đã định trước có cùng (hoặc tương đương đối với các biểu diễn không nhị phân) giá trị
trong alen này Nếu số alen hội tụ vượt quá số phần trăm nào đó của tổng số alen, việc tìm kiếm sẽ kết thúc.
Dừng dựa trên ý nghĩa đặc biệt của một nhiễm sắc thể: đo tiến bộ của giải thuật
trong một số thế hệ cho trước Nếu tiến bộ này nhỏ hơn một hằng số ε xác định, kết thúc
Trang 34CẢM ƠN SỰ THEO DÕI CỦA THẦY
VÀ CÁC BẠN
34