Giải thuật di truyền cổ điển

Một phần của tài liệu Lai ghép mạng nơron Hopfield và giải thuật di truyền giải bài toán tối ưu ràng buộc (Trang 30)

1. 4 Kết luận

2.1.1Giải thuật di truyền cổ điển

GA cổ điển đƣợc Holland giới thiệu (chi tiết xem [23]) để giải bài toỏn tối ƣu: Max { f(x) | x M }

Ở đõy M là hỡnh hộp trong khụng gian số thực n-chiều, f(x) dƣơng với mọi x thuộc M.

Thủ tục GA đƣợc thực hiện nhƣ sau:

 Mỗi x trong M đƣợc mó húa tƣơng ứng bởi một xõu nhị phõn độ dài m: z=(z1, z2,…, zm) gọi là nhiễm sắc thể (cũn gọi là cỏ thể), mỗi zi đƣợc gọi là một gene và chỉ nhận một trong hai giỏ trị 0 hoặc 1. Xõy dựng thủ tục mó húa , giải mó tƣơng ứng.

Vớ dụ: về một nhiễm sắc thể trong GA cổ điển: 0 0 1 1 1 0 1 0 1 1

Mỗi kiểu gene (tức một nhiễm sắc thể cụ thể) biểu thị một lời giải cú thể của bài toỏn, một quỏ trỡnh tiến húa đƣợc thực hiện trờn một quần thể (một tập hợp nhiễm sắc thể) tƣơng đƣơng với sự tỡm kiếm trong khụng gian cỏc lời giải cú thể.

Sự tỡm kiếm này đũi hỏi sự cõn bằng giữa hai mục đớch: tỡm lời giải tốt nhất và khỏm phỏ khụng gian tỡm kiếm.

Thuật toỏn di truyền cổ điển thực hiện tỡm kiếm theo nhiều hƣớng bằng cỏch duy trỡ một tập lời giải cú thể, khuyến khớch sự hỡnh thành và trao đổi thụng tin giữa cỏc hƣớng. Tập lời giải trải qua cỏc quỏ trỡnh tiến húa và cuối cựng cho ta một lời giải đủ tốt tựy theo yờu cầu. Tại mỗi thế hệ cỏc lời giải tƣơng đối tốt đƣợc tỏi sinh, trong khi đú cỏc lời giải tƣơng đối tồi bị loại bỏ dõ̀n.

Hỡnh 2.1 Sơ đồ tổng quỏt của giải thuật di truyền

 Trờn tọ̃p nhiờ̃m sắc thờ̉ , ngƣời ta xỏc định hàm eval để đỏnh giỏ độ “thớch nghi” của mỗi cỏ thể hay chớnh là độ tốt, xấu của từng lời giải (hàm này đúng vai trũ của một mụi trƣờng sống trong thuyết tiến húa):

 Tạo quần thể ban đầu P(0) gồm N phần tử và thực hiện quỏ trỡnh tiến húa theo cấu trỳc: Procedure GA Begin t  0; Khởi tạo P(t); Đỏnh giỏ P(t); Repeat t  t+1; Chọn lọc Q(t) từ P(t-1); // nhờ bỏnh xe xổ số

Tỏi tạo P(t) từ Q(t); // nhờ cỏc toỏn tử di truyền Đỏnh giỏ P(t) và chọn lọc cỏ thể tốt nhất;

Until điều_kiện_kết_thỳc;

Biểu diễn lời giải;

End;

Quỏ trỡnh tiến húa đƣợc diễn ra trong vũng lặp: Tại thế hệ thứ t thuật toỏn duy trỡ một tập lời giải P(t)= {x1t

, x2t,…, xNt}. Mỗi lời giải xit

đƣợc đỏnh giỏ “độ thớch nghi”. Một tập lời giải mới đƣợc xõy dựng (vũng lặp thứ t+1) bằng cỏch “chọn lọc” cỏc cỏ thể thớch nghi hơn, ta đƣợc tập lời giải trung gian. Sau đú một số cỏ thể trong tập lời giải đó đƣợc chọn bị biến đổi bằng cỏc toỏn tử di truyền để tạo thành lời giải mới cho thế hệ thứ (t+1)

Cỏc thủ tục chọn lọc một quần thể theo phƣơng phỏp bỏnh xe xổ số và tỏi tạo nhờ cỏc toỏn tử di truyền đƣợc thực hiện nhƣ sau:

2.1.1.1 Thủ tục chọn lọc

Phộp chọn lọc là một quỏ trỡnh chọn lọc cỏc cỏ thể để tham gia vào cỏc pha tiếp theo của quỏ trỡnh tiến húa. Việc lựa chọn cỏc cỏ thể từ một quần thể dựa trờn độ thớch nghi của cỏ thể đú, nghĩa là những cỏ thể nào cú giỏ trị hàm thớch nghi cao cú nhiều khả năng đƣợc chọn để tỏi tạo trong cỏc thế hệ tiếp theo.

Với mỗi quần thể P(t-1) gồm N nhiễm sắc thể: P(t-1)= {v1, v2,…,vn} ta xõy dựng bỏnh xe xổ số và thực hiện quỏ trỡnh chọn lọc:

 Bỏnh xe xổ số Đỏnh giỏ độ phự hợp toàn phần: F =   N 1 i i) eval(v

Tớnh cỏc xỏc suất chọn pi của nhiễm sắc thể vi: pi = eval(vi)/F

Tớnh cỏc xỏc suất tớch lũy qi của cỏc nhiễm sắc thể vi: qi =   i j j q 1  Quỏ trỡnh chọn lọc

Quỏ trỡnh chọn lọc quần thể Q(t) từ P(t-1) dựa vào bỏnh xe xổ số đƣợc thực hiện theo cỏch sau:

Đối với mỗi số tự nhiờn k {1, 2,…, N} tạo một số ngẫu nhiờn rk[0,1]

Nếu qi rk  qi-1 thỡ chọn vi thuộc Q(t). Hiển nhiờn, ở đõy mỗi nhiễm sắc thể cú thể đƣợc chọn nhiều lần và Q(t) vẫn cú N phần tử. Cỏc cỏ thể v cú độ thớch nghi eval(v) lớn sẽ cú khả năng đƣợc lựa chọn nhiều hơn.

2.1.1.2 Quỏ trỡnh tỏi tạo

Quỏ trỡnh tỏi tạo dựa trờn cỏc toỏn tử di truyền: tương giao chộo và biến dị.

 Cỏc toỏn tử di truyền (adsbygoogle = window.adsbygoogle || []).push({});

Toỏn tử tương giao chộo (hay cũn đƣợc gọi là phộp lai ghộp), kết hợp cỏc

đặc tớnh trờn nhiễm sắc thể cha và mẹ để tạo thành hai cỏ thể mới bằng cỏch trỏo đổi cỏc đoạn gene tƣơng ứng trờn cỏc nhiễm sắc thể của cha và mẹ. Với hai nhiễm sắc thể

x = (x1, x2,…, xm) và y = (y1, y2,…,ym)

Chọn điểm tƣơng giao k (cú thể ngẫu nhiờn) ta sẽ sinh đƣợc hai nhiễm sắc thể mới:

Vớ dụ: với hai nhiễm sắc thể cha và mẹ

Parent1 0 0 1 0 1 0 0 1 1 Parent2 1 1 1 0 0 1 0 0 1

Chọn điểm tƣơng giao k = 3, thỡ sau khi thực hiện trao đổi tƣơng giao chộo cỏc nhiễm sắc thể của bố, mẹ ta đƣợc hai nhiễm sắc thể mới:

Child1 0 0 1 0 0 1 0 0 1 Child2 1 1 1 0 1 0 0 1 1

Toỏn tử biến dị (hay cũn gọi là đột biến) là sự sửa đổi một vài gene của một nhiễm sắc thể đƣợc chọn

Nếu gene xk của nhiễm sắc thể x=(x1,…, xm) biến dị thỡ ta đƣợc nhiễm sắc thể mới x’:

x’ = (x1,…, xk-1, 1-xk, xk+1,…,xm)  Thủ tục tỏi tạo

Cho trƣớc cỏc xỏc suất tƣơng giao chộo pc và xỏc suất biến dị pm.

Đối với mỗi nhiễm sắc thể vi (i chạy từ 1 đến N) thuộc Q(t), ta tạo ra một số ngẫu nhiờn r[0,1]. Nếu r < pc thỡ vi đƣợc đƣa vào tập tƣơng giao chộo. Tập này đƣợc chia thành cặp, nếu lẻ thỡ cú thể thờm hoặc bớt ngẫu nhiờn một nhiễm sắc thể khỏc và ỏp dụng toỏn tử tƣơng giao chộo để tạo nờn hậu duệ mới thay thế cho nú.

Sau khi tƣơng giao chộo, đối với mỗi gene của mỗi nhiễm sắc thể tạo ra một số ngẫu nhiờn r[0,1]. Nếu r<pm thỡ gene này đƣợc biến dị.

Quỏ trỡnh trờn cho ta quần thể P(t) của thế hệ t và đƣợc đỏnh giỏ để chọn phần tử cú độ thớch nghi tốt nhất.

2.1.1.3 Cơ sở toỏn học của GA

Cỏc đỏnh giỏ về sự hội tụ của GA cũn rất nghốo (xem [10,23]). Cỏc kết quả đạt đƣợc chủ yếu dựa trờn định lý về lƣợc đồ chứng minh sự hội tụ theo xỏc suất tới lời giải tối ƣu của bài toỏn. Tuy nhiờn, về mặt thực hành, giải thuật di truyền vẫn là

một giải thuật đƣợc ƣa thớch để giải cỏc bài toỏn khú trong thực tế và cho lời giải đủ tốt. Đối với cỏc bài toỏn đó cú phƣơng phỏp giải tốt bằng phƣơng phỏp truyền thống thỡ GA kộm hiệu quả hơn.

Một phần của tài liệu Lai ghép mạng nơron Hopfield và giải thuật di truyền giải bài toán tối ưu ràng buộc (Trang 30)