Tổng Quan Nghiên Cứu Về thuật giải di Truyền Thuật giải di truyền Các thao tác cơ bản Biểu diễn di truyền đối với lời giải tiềm tàng của bài toán Hàm đánh giá Cơ chế chọn
Trang 2Tổng Quan Nghiên Cứu Về thuật
giải di Truyền
Thuật giải di truyền
Các thao tác cơ bản
Biểu diễn di truyền đối với lời giải tiềm tàng
của bài toán
Hàm đánh giá
Cơ chế chọn lọc, lai ghép và đột biến
Phạm vi ứng dụng
Trang 31 Thuật giải di truyền
Đặt vấn đề:
Từ trước đến nay trong các nghiên cứu và ứng dụng tin học đã xuất hiện nhiều bài toán lý thú chưa tìm ra được phương pháp giải nhanh và hợp lý Phần lớn đó là những bài toán tối ưu nảy sinh trong các ứng dụng Để giải loại bài toán này, người
ta thường phải tìm đến một thuật giải hiệu quả mà kết quả thu được chỉ là xấp xỉ tối
ưu thuật giải di truyền (GA) là một trong những công cụ đó
Trang 41 Thuật giải di truyền
Nội dung của GA:
Thuật giải di truyền (GA) là thuật giải áp dụng quá trình tiến hoá tự nhiên để giải các bài toán tối ưu trong thực tế (từ tập các lời giải có thể ban đầu, thông qua nhiều bước tiến hoá, hình thành các tập hợp mới với những lời giải tốt hơn, cuối cùng sẽ tìm được lời giải gần tối ưu nhất)
Trang 51 Thuật giải di truyền
Cấu trúc thuật giải di truyền được thể hiện qua
Trang 61 Thuật giải di truyền
Sơ đồ:
Trang 71 Thuật giải di truyền
nhằm giải đáp các bài toán tìm kiếm Nó khác với các thủ tục tối ưu thông thường ở những điểm cơ bản sau:
Thứ nhất, thuật giải di truyền làm việc với các xâu, tìm kiếm tại nhiều đỉnh (điểm tối ưu) cùng một lúc Nhờ áp dụng các toán tử di truyền, nó sẽ trao đổi thông tin giữa các đỉnh, như vậy giúp giảm bớt khả năng kết thúc tại một cực tiểu cục bộ
mà không tìm thấy cực tiểu toàn cục
Thứ hai, nó làm việc chỉ với bộ mã của các biến, chứ không phải với bản thân biến
Thứ ba, thuật giải chỉ cần đánh giá hàm mục tiêu để phục
vụ quá trình tìm kiếm, chứ không đòi hỏi các thông tin bổ trợ khác
Cuối cùng, các thao tác cơ bản trong thuật giải di truyền dựa trên khả năng tích hợp tính ngẫu nhiên trong quá trình xử lý
Trang 8cháu (Lai ghép và đột biến)
cỡ tập hợp pop_size, xác suất áp dụng toán tử di truyền,vv )
Trang 9 Bài toán 2: Bài toán tối ưu hóa một hàm nhiều biến rời rạc: ứng dụng trong bài toán người du lịch (Travelling Saleman Problem)
Trang 103 Biểu diễn di truyền đối với lời
giải tiềm tàng của bài toán
Biểu diễn nhị phân
Mỗi lời giải được hiểu là một véc tơ nhiễm sắc thể, mỗi phần tử (mỗi biến) của vector nhiễm sắc thể được mã hoá nhờ một số lượng bit nào đó (0,1)
Độ chính xác của phương pháp này tùy thuộc vào số lượng bit thực sự dùng và bằng (UB-LB)/(2n-1), UB, LB là cận trên và cận dưới của miền giá trị và n là số lượng bit một phần tử của nhiễm sắc thể
Trang 113 Biểu diễn di truyền đối với lời
giải tiềm tàng của bài toán
Cách biểu nhị phân có nhược điểm là:
nhập là những số nguyên)
biểu diễn nhưng điều này sẽ làm chậm thuật toán
kích cỡ miền, vì chiều dài nhị phân cho trước là cố định
Trang 123 Biểu diễn di truyền đối với lời giải
tiềm tàng của bài toán
Biểu diễn dấu phẩy động
vector số dấu phẩy động với cùng chiều dài của véc
tơ lời giải Mỗi phần tử thuộc một miền xác định và các toán tử được thiết kế để bảo đảm yêu cầu này
năng của máy (số chữ số thập phân sau dấu phẩy)
do vậy tốt hơn so với biểu diễn nhị phân
representation, FP) có khả năng biểu diễn được các miền rộng lớn Hơn nữa, với biểu diễn FP, có thể dễ dàng thiết kế các công cụ đặc biệt để biểu thị những ràng buộc không tầm thường
Trang 134 Hàm đánh giá
Độ tốt của một cá thể: Là giá trị hàm tương
ứng của cá thể đối với một bài toán cụ thể
Ví dụ: Trong bài toán tối ưu cực đại một
hàm f, nếu chọn một cá thể là một nghiệm của bài toán thì một cá thể càng tốt khi làm cho giá trị hàm càng lớn
Để xác định được độ tốt của các cá thể
ta cần một hàm để làm việc này.Hàm này gọi là hàm mục tiêu
Trang 154 Hàm đánh giá
Ánh xạ hàm mục tiêu sang hàm thích nghi
Độ thích nghi của cá thể: là khả năng cá
thể đó được chọn lọc vào thế hệ sau hoặc
là được chọn lọc cho việc lai ghép để tạo
ra cá thể con
Trang 164 Hàm đánh giá
Hàm mục tiêu g(x) sau khi được tính toán (độ tốt của cá thể) sẽ là cơ sở để đánh giá tính thích nghi của cá thể
Ánh xạ: g(x) -> f(x)
Có nhiều cách để ánh xạ g(x) -> f(x), tùy vào từng mục đích của bài toán mà ta có các
phương pháp ánh xạ khác nhau
Trang 185 Cơ chế chọn lọc, lai ghép và đột biến
Trang 195 Cơ chế chọn lọc, lai ghép và đột biến
Sốngẫunhiên
0< n < 50
26 2 49 15 40 36 9 NST 4 1 6 2 5 5 2
Trang 205 Cơ chế chọn lọc, lai ghép và đột
biến
Đột biến:
Toán tử đột biến sẽ thay đổi một hoặc nhiều
gen (những vị trí trong nhiễm sắc thể) với xác suất bằng tỷ lệ đột biến
Giả sử rằng gen thứ năm từ nhiễm sắc thể
Trang 225 Cơ chế chọn lọc, lai ghép và đột
biến
Nhóm toán tử đột biến:
Đột biến đều, được định nghĩa tương tự như các toán tử cổ điển:
Nếu xit =(v1, , vn) là một nhiễm sắc thể , thì mỗi phần tử vk có cơ hội bằng nhau để thực hiện xử lý đột biến Kết quả việc ứng
dụng của toán tử này là một véc tơ (v1, , vk’, , vn), với
1<=k<=n, và vk’ là một giá trị ngẫu nhiên từ miền tham số tương ứng
Đột biến không đều là một trong những toán tử có nhiệm vụ tinh
chỉnh cho hệ thống Nó được định nghĩa như sau :
Nếu Svt =(v1, ,vm) là một nhiễm sắc thể và phần tử vk được
chọn cho đột biến này (miền của vk là [lk , uk]), kết quả là một vec tơ Svt+1 = (v1, .vk’, ,vm), với k [1, ,m], và :
vk’=vk + (t,uk-vk) nếu số ngẫu nhiên bằng 0 hoặc
vk’=vk - (t,vk- lk) nếu số ngẫu nhiên bằng 1
Trang 235 Cơ chế chọn lọc, lai ghép và đột
biến
Hàm (t,y) trả lại một giá trị trong khoảng
[0,y], khi t tăng thì xác suất
( (t,y) ->0 ) tăng
(t,y)=y*(1- r(1-t/T))b
r là một số ngẫu nhiên trong khoảng [0,1],
T là số vòng lặp tối đa , b là một tham số
hệ thống xác định mức độ không đồng
dạng Hình sau trình bầy giá trị trong hai lần lựa chọn
Trang 245 Cơ chế chọn lọc, lai ghép và đột
biến
Trang 255 Cơ chế chọn lọc, lai ghép và đột
biến
Nhóm toán tử lai ghép:
Lai ghép đơn giản, được định nghĩa một
cách thông thường, nhưng chỉ tại các vị trí giữa các phần tử của vector nhiễm thể x
Lai ghép số học: được định nghĩa như một kết hợp tuyến tính giữa hai vector: nếu Svt
và Swt lai ghép, thì sản sinh ra con cháu là :
Svt+1 = a*Swt + (1- a)*Svt và
Swt+1 = a*Svt + (1 - a)*Swt
Trang 266 Phạm vi ứng dụng:
GA đã từng được áp dụng thành công đối
với nhiều bài toán tối ưu như lập kế hoạch, điều khiển tương thích, chương trình trò trơi, các bài toán vận tải, bài toán người du lịch, tối ưu hoá cơ sở dữ liệu, học tham số trong mạng Nơron vv
Trang 27THUẬT GIẢI DI TRUYỀN GIẢI BÀI TOÁN TỐI ƯU HÀM RỜI RẠC TỔNG QUÁT
Trang 28f(A)-> min hoặc
Trang 292 Thuật giải tiến hóa tạo lập miền
các cá thể tối ưu
chiều dài k, giả định hàm lượng giá f cho trước, mỗi
giá, có thuật giải sau
Một cây nhận dạng có độ rộng n gọi tắt là cây nhận
dạng _ n được định nghĩa như sau:
Trang 302 Thuật giải tiến hóa tạo lập miền
Trang 312 Thuật giải tiến hóa tạo lập miền
các cá thể tối ưu
dạng tốt nhất theo một tiêu chí cho trước Với giả định
là tiêu chí được biết trước và được số hóa thành hàm
lượng giá , sử dụng Thuật giải tiến hóa {} giải bài toán
tìm kiếm tối ưu này
rộng n, giả định hàm lượng giá f cho trước, mỗi cá
thể A A được đánh giá bởi giá trị f(A) R+ ta định
nghĩa các phép toán di truyền như sau:
Trang 322 Thuật giải tiến hóa tạo lập miền
các cá thể tối ưu
Định nghĩa 2:
Nhóm các phép di truyền toàn cục tác động lên toàn
cấu trúc cây gồm:
giá của chúng (tương tự như toán tử tái tạo thông
Trang 332 Thuật giải tiến hóa tạo lập miền
các cá thể tối ưu
Lai :
Cho hai cây nhận dạng :
A = (V,E,ε,σ) và A’ = (V’,E’,ε’,σ’)
Chọn ngẫu nhiên
e : w → v
Với e là tập con hoặc bằng E và v không thuộc T, Phép “ lai “ không thực hiện nếu :
nA’(v’) = nA(v) , với mọi v’ є V’
Trong trường hợp khác , phép lai được thực hiện như sau :
(i)Chọn v’ є E’ sao cho nA’(v’) = nA(v)
(ii)Thay thế e : w → v bằng f : w’ → v’ và Av → tạo ra cây mới
B = (W,F,μ,ν) từ A và A’
(iii)Tương tự , chúng tôi cũng tạo được cây mới :
B’ = (W’,F’,μ’,ν’) từ A và A’
Trang 34Lai(tt)
Ví dụ: Ứng dụng cho cây nhận dạng có độ
rộng 4 với p2 và q2 là các đỉnh “lai” :
Trang 35Lai(tt)
Các kết quả thu được sau khi “lai” là:
Phép toán này đảm bảo không làm ảnh hưởng
đến cấu trúc ngữ cảnh trong cây, nó chỉ cho phép trao đổi cây con Av và A’v nếu
nA(v)=nA’(v’) và (v)= ’(v’)
Trang 362 Thuật giải tiến hóa tạo lập miền
các cá thể tối ưu
phép toán “đột biến” ứng dụng trên chuỗi, cho phép biến đổi một bit từ 0 về 1 hoặc từ 1 về 0
Phép toán switch được ứng dụng phụ thuộc vào một đỉnh v
trong cây nhận dạng độ rộng n:
Cho :
Trang 37Switch(tt)
Ví dụ: Toán tử switch ứng dụng tại nút p2 của cây nhận
dạng :
Trang 38Switch(tt)
Kết quả sẽ thu được cây nhận dạng mới:
Trang 392 Thuật giải tiến hóa tạo lập miền
Tập nhánh Ev,t chứa các nhánh con ev,t ,mỗi nhánh e:
v1 v2 trong E,được định nghĩa như sau:
(1)Nếu v2 ≠ v,t,v2 ≠ v,t,thì ev,t=e
(2)Nếu v2=v,thì xây dựng một nhánh mới ev,t: v1 t
(3)Nếu v2=t,thì xây dựng một nhánh mới ev,t:
t є Av hay không
Ánh xạ εv,t (w,+)=(w,-)= ε(w,-)v,t với mọi w thuộc V\T
Trang 40Translocation(chuyển dịch) (tt)
Ví dụ: Nếu chúng ta ứng dụng phép “chuyển
dịch” tại các nút chỉ định trong cây nhận dạng
dưới đây:
Trang 41Translocation(chuyển dịch)(tt)
Thì sau đó chúng ta sẽ thu được một
câynhận dạng mới:
Trang 42Translocation(chuyển dịch)(tt)
Trong trường hợp khác, bắt đầu từ các nút chọn lọc:
Trang 43Translocation(chuyển dịch)(tt)
Chúng ta thu được cây nhận dạng sau (với một nút đỉnh khác):
Trang 442 Thuật giải tiến hóa tạo lập miền
các cá thể tối ưu
thành phần cơ sở của cây:
trong đó J =[0,1] Trong phần lớn các ứng dụng, P sẽ
trở thành tập:
hoặc ,
một nhóm hoặc tại một vị trí được xác định bởi j
P P
J P
Trang 45Vi lai(tt)
Xuất phát từ cặp cây nhận dạng độ rộng
n: và chọn ra
một đỉnh không phải là nút lá v V và v’
V’ Nếu có một biến ngẫu nhiên rand J,
thì “Vi- lai” sẽ thay thế (v) và ’(v’) bởi q
và q’, xác định bởi
Trong phiên bản thô, v và v’ được chọn
ngẫu nhiên.Trong phiên bản đã tinh chỉnh,
toán tử sẽ xem xét P có phù hợp với (kiểu, giá trị) không, và chỉ cho phép “vi-lai” giữa
Trang 462 Thuật giải tiến hóa tạo lập miền
định j, thông qua ánh xạ P->P Trong trường
hợp tổng quát, nó thay thế cho bất cứ , với giá trị (v) bằng (trong đó
rand J là một giá trị ngẫu nhiên)
Với các phép di truyền định nghĩa như trên,
ta có thể ứng dụng thuật giải tiến hóa EA
trong chương 1 để xác định cây nhận dạng tối ưu
J J
v rand v
Trang 473 Thuật giải tiến hoá tổng quát tìm
(1)t:=0;
(2)Khởi tạo
(3)Trong khi (Điều kiện kết thúc lặp )
(3.1)Lượng giá (3.2)t:=t+1;
(
M A A
A t
M A f A f A f t
A
' , , ' ( 1 );
2 ,
' 1 ) (
' t
M A A A
A
));
( ( ) (t R ' t
)));
( ( ( )
(t M R ' t
));
( ( ) (t T M t
T
));
( ( )
(t m c t
m
); ) ( )
( )
( ) ( ) ( ) 1 ( ( )
m
t c t
T t M t R t
t A A
Trang 483 Thuật giải tiến hoá tổng quát tìm
cây nhận dạng – n tối ưu
Sau khi kết thúc vòng lặp, chúng ta thu được
quần thể các cá thể tối ưu nhất Lúc này, chỉ
việc chọn cá thể được lượng giá tốt nhất trong
quần thể đó làm bộ nghiệm tối ưu cho bài
toán
Tuy nhiên, Thuật giải trên là thuật giải tìm kiếm
cây nhận dạng – n trong trường hợp tổng quát Vào từng ứng dụng cụ thể, sẽ quyết định khi nào thì áp dụng các toán tử di truyền và áp
dụng nó như thế nào? Để minh hoạ khả năng của Thuật giải, chúng ta sẽ áp dụng Thuật giải
để giải quyết bài toán chứng thực vector