2.3. Các vấn đề cơ bản của thuật toán di truyền
2.3.2. Các thành phần trong thuật toán di truyền
2.3.2.2. Toán tử chọn lọc
Toán tử chọn lọc có nhiệm vụ lựa chọn ngẫu nhiên từ quần thể 2 cá thể để đem lai ghép sinh cá thể cho quần thể mới. Sự lựa chọn phải thỏa mãn điều kiện là xác suất được lựa chọn của một cá thể phải tỉ lệ với độ thích nghi của cá thể đó. Sau đây là một số phương pháp phổ biến:
2.3.2.2.1. Phương pháp chọn lọc theo bánh xe Roulette (Roulette wheel selection) Phục vụ quá trình chọn lọc có các thông số sau :
Tính tổng độ thích nghi của cả quần thể : F =
1
( )
n
i i
f v
, n là dân số của quần thể.
Tính xác suất chọn pi cho mỗi cá thể vi : pi = f(vi)/F
Tính vị trí xác suất qi của mỗi cá thể : qi=
1 i
j j
p
Cơ chế lựa chọn theo bánh xe Roulette được thực hiện bằng cách quay bánh xe Roulette n lần nhằm tạo n vị trí chọn ngẫu nhiên. Mỗi lần quay để chọn cá thể tiến hành như sau:
Sinh một giá trị ngẫu nhiên r nằm trong khoảng (0,1].
*
6 /
9 3
Nếu rq1 thì cá thể v1 được chọn, ngược lại thì chọn cá thể thứ i (2 i n) sao cho qi1 r qi.
Ta có thể hình dung cơ chế này như sau: Có một hình tròn được chia làm n phần, mỗi phần hình quạt sẽ tương ứng với một cá thể. Độ lớn của hình quạt đó tỉ lệ với độ thích nghi của cá thể. Sau đó ta sẽ sinh một vị trí ngẫu nhiên nằm trên đường tròn. Vị trí này nằm trên hình quạt nào thì cá thể tương ứng với hình quạt đó được sẽ được lựa chọn.
Chromos ome1 Chromos ome2 Chromos ome3 Chromos ome4
Hình 2.4. Phương pháp chọn lọc theo bánh xe Roulette
Rõ ràng phương pháp này thỏa mãn tính chất xác suất được chọn tỉ lệ với độ thích nghi. Ngoài ra, nó còn cho phép một cá thể có thể được chọn nhiều lần. Phương pháp chọn lọc theo bánh xe Roulette hoạt động tốt khi quần thể có kích thước lớn. Vì với quần thể có kích thước nhỏ thì số lần thực hiện vòng quay nhỏ nên sự phân bố của các số ngẫu nhiên sinh ra sẽ không được đều.
2.3.2.2.2 Chọn lọc theo cơ chế lấy mẫu toàn phần ngẫu nhiên (Stochastic universal sampling)
Giả sử các cá thể đều đã được xác định độ thích nghi và được sắp xếp ngẫu nhiên. Ta cũng hình dung quần thể như là một hình tròn được chia làm n phần tương ứng với n cá thể, độ lớn của các phần cũng tương ứng tỉ lệ với độ thích nghi của các cá thể.
Ta lại hình dung ở ngay bên ngoài hình tròn đó có một vòng tròn bao quanh, trên vòng tròn bao này có n điểm chia phân bố cách đều nhau.
Ta “quay” vòng tròn bao này nhằm tạo ra một vị trí ngẫu nhiên của nó bao xung quanh hình tròn bên trong. Khi đó, n điểm chia trên vòng tròn bao sẽ chỉ vào các phần hình quạt của hình tròn bên trong. Một cá thể sẽ được chọn k lần nếu phần hình quạt tương ứng với nó có k điểm chia chỉ vào.
Phương pháp lựa chọn trên tỏ ra khá hay khi thỏa mãn điều kiện cơ bản của chọn lọc là ngẫu nhiên và xác suất chọn tỉ lệ với độ thích nghi. Ngoài ra nó còn có thêm tính chất là không thiên vị (unbiased), cho phép khắc phục được nhược điểm của phương pháp bánh xe Roulette đối với những quần thể kích thước dân số nhỏ.
Tuy nhiên nó vẫn có hạn chế là áp lực chọn lọc sẽ giảm sau một vài thế hệ do sự khác biệt trong độ thích nghi giữa các cá thể bị thu hẹp.
2.3.2.2.3. Chọn lọc theo xếp hạng (rank selection)
Chọn lọc xếp hạng cho phép duy trì áp lực chọn lọc qua các thế hệ ngay cả khi độ thích nghi của các cá thể khác biệt nhau không nhiều. Phương pháp chọn lọc xếp hạng tiến hành như sau:
Sắp xếp các cá thể theo thứ tự giảm dần của độ thích nghi.
Đặt lại độ thích nghi cho tất cả các cá thể theo nguyên tắc: cá thể có độ thích nghi tốt nhất ban đầu thì độ thích nghi mới sẽ là n (n là dân số quần thể). Cá thể có độ thích nghi ban đầu xếp ở vị trí thứ i thì độ thích nghi mới sẽ là n i 1;
Áp dụng các phương pháp khác như chọn lọc theo bánh xe Roulette hoặc chọn lọc theo cơ chế lấy mẫu toàn phần ngẫu nhiên đối với các cá thể trong quần thể.
2.3.2.2.4. Chọn lọc theo thể thức giao đấu (tournament selection)
Cho trước một hằng số thiên vị giao đấu là K với 0 < K < 1. Chọn lọc theo giao đấu diễn ra như sau:
Chọn ngẫu nhiên từ quần thể 2 cá thể bất kì.
Tạo một số ngẫu nhiên r thuộc khoảng (0,1].
Nếu r > K thì cá thể có độ thích nghi lớn hơn sẽ được chọn vào quần thể trung gian.
Nếu r K thì chọn cá thể có độ thích nghi nhỏ hơn.
Trường hợp 2 cá thể có độ thích nghi bằng nhau thì chọn ngẫu nhiên một trong 2 cá thể đó.
Đưa 2 cá thể trở lại quần thể ban đầu.
Lặp lại quá trình lựa chọn từ bước thứ nhất cho đến khi có đủ n cá thể trong quần thể trung gian.
Cách chọn lọc này có ưu điểm là dễ tạo ra sự đa dạng của quần thể mới.