0
Tải bản đầy đủ (.pdf) (47 trang)

Vùng thích nghi (Niche) và sự hình thành loài (Speciation):

Một phần của tài liệu TÌM HIỂU BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT & ỨNG DỤNG GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN PHÁT THƯ (Trang 25 -25 )

III. Các toán tử và kỹ thuật di truyền nâng cao

4. Vùng thích nghi (Niche) và sự hình thành loài (Speciation):

Vấn đề muôn thuở của thuật toán di truyền là hội tụ sớm. Nghĩa là, một kiểu gen không tối ƣu kiểm soát quần thể kết quả trong đó mỗi cá thể hoặc giống hệt nhau hoặc rất giống nhau. Hậu quả là quần thể sẽ không đủ đa dạng cho sự tiến hóa xa hơn.

Nếu đơn giản chỉ tăng kích thƣớc quần thể sẽ không đủ để tránh vấn đề trên, vì bất cứ sự gia tăng quần thể nào sẽ phải chịu chi phí gấp đôi và cần nhiều thế hệ hơn nữa để bài toán hƣớng đến giải pháp tối ƣu.

Nhƣ vậy, thuật giải di truyền đối mặt với một vấn đề khó khăn. Đó là làm thế nào để quần thể có thể hội tụ về một giải pháp mà vẫn duy trì tính đa dạng. Những toán tử di truyền gây ra hội tụ - nhƣ phép lai hay sinh sản - phải đƣợc thay đổi bằng cách nào đó.

Một hạn chế khác đối với thuật giải di truyền đó là thời gian tham gia vào việc dẫn xuất ra một giải pháp. Nó không giống nhƣ những phƣơng pháp khác nhƣ là mạng neural, tìm kiếm leo đồi, các phƣơng pháp dựa trên luật v.v.., thuật giải di truyền nặng về mặt ngẫu nhiên và không đảm bảo sẽ hƣớng đến kết quả trong một thời gian xác định. Việc xảy ra một tỉ lệ lớn những lần chạy mà không tìm ra giải pháp tối ƣu là bình thƣờng đối với thuật giải di truyền.

Để giải quyết vấn đề này, ngƣời ta đề xuất hai khái niệm, đó là vùng thích nghi và loài. Trong nhiều bài toán thực tế, hai khái niệm này giải quyết đáng kể các khó khăn đã đƣợc nêu ở trên.

4.1 Vùng thích nghi và sự hình thành loài trong các bài toán đa phƣơng thức:

Giả sử hàm thích nghi là đa phƣơng thức (multimodal), nghĩa là hàm có nhiều đỉnh cực trị. Khi đó, thuật giải di truyền sẽ có xu hƣớng hội tụ đến một trong các đỉnh, đặt biệt là nếu một trong các đỉnh tối ƣu hơn so với những đỉnh còn lại.

Tuy nhiên, ngƣời ta thƣờng muốn xác định sự hội tụ các đỉnh cùng lúc. Một vùng thích nghi (niche) có thể đƣợc xem nhƣ là một trong các đỉnh và một loài là tập hợp các thành viên của quần thể phù hợp nhất với vùng thích nghi đó hay tập các cá thể tƣơng đồng hội tụ cùng nhau tại đỉnh đó. Khi đó, chúng ta muốn thuật giải di truyền tạo ra một quần thể con ổn định (loài) phù hợp với các vùng thích nghi..

Đối với dạng bài toán này, thuật giải di truyền thƣờng gặp hai vấn đề. Đầu tiên là sự phân phối các cá thể không đồng đều trên các đỉnh của không gian giải pháp. Thứ hai đặt ra là bố mẹ của những loài khác nhau - nghĩa là, từ những môi trƣờng thích nghi khác nhau - có xu hƣớng sản sinh cá thể con không tồn tại đƣợc. Và nhƣ vậy, các bố mẹ từ các vùng thích nghi khác nhau không đƣợc khuyến khích cặp đôi. Hai kỹ thuật sau có thể đƣợc dùng để giải quyết các khó khăn trên.

Việc kết cặp bố mẹ ở 2 vùng thích nghi khác nhau có thể dẫn đến việc tạo ra một con không tồn tại được (gọi là cá thể chết).

4.2 Lấn áp (Crowding):

Vấn đề đầu tiên - ngăn chặn 1 kiểu gen duy nhất chiếm cả quần thể - đƣợc giải quyết bằng cách đảm bảo rằng 1 cá thể mới sẽ thay thế một trong nhữg kiểu gen tƣơng đồng của nó. Crowding cố gắng duy trì quần thể cân bằng. Cơ chế cho sự thay thế này khá là đơn giản: chọn ngẫu nhiên CF cá thể và thông qua tính toán khoảng cách hamming, quyết định cá thể thay thế thích hợp.

Ƣu điểm của Crowding là đánh giá đƣợc các cá thể khi lựa chọn nạn nhân thay thế, CF thƣờng là 2 hoặc 3. Việc thay thế các cá thể tƣơng đồng đóng vai trò ngăn chặn lại một kiểu gen chiếm lĩnh toàn bộ quần thể, mặt khác, cho phép các vùng ít thích nghi có thể hình thành bên trong quần thể chính

Crowding không tạo ra các vùng thích nghi một cách rõ ràng, cũng không cố gắng khuyến khích chúng mà chỉ cho phép chúng hình thành.

4.3 Sharing:

Một cách tiếp cận khác đƣợc thông qua trong sơ đồ Sharing, trong đó cá thể bên trong quần thể sử dụng việc chia sẻ các tài nguyên hạn chế, vì chúng cố gắng thích nghi.

Theo cách tƣơng tự nhƣ Crowding, sự chiếm lĩnh của quần thể bởi kiểu gen duy nhất không đƣợc khuyến khích bằng cách thay thế các cá thể tƣơng đồng nhau trong phần đông quần thể. Tuy nhiên Sharing không đơn giản là tính toán nhƣ Crowding. Và một vấn đề rất cụ thể phải biết trƣớc là có bao nhiêu đỉnh trong không gian giải pháp.

Sharing khuyến khích sự hình thành các vùng thích nghi và ngăn chặn viễn cảnh không tốt của những cá thể từ những vùng thích nghi khác nhau kết cặp để tạo ra cá thể con bằng cách sử dụng hình thức giao phối giới hạn.

Xác định hàm Sharing dựa trên sự tƣơng đồng

Hoặc dựa trên tƣơng đồng kiểu hình (giá trị đƣợc mã hóa) thay vì kiểu gen

Hai nhiễm sắc càng tƣơng đồng, chúng càng phải chia sẻ giá trị thích nghi. Mỗi nhiễm sắc thể x có một hệ số tính toán cho nó

Share factor (x) = Sum over y in population share (similarity (x,y))

Giá trị thích nghi của nhiễm sắc thể sẽ đƣợc tính lại bằng cách chia giá trị thích nghi ban đầu cho hệ số chia sẻ của nó

New fitness (x) = fitness (x)/share factor (x).

Sharing đƣợc xem là hiệu quả hơn trong nhóm hàm đa phƣơng thức (multimodal). Mặt khác, Sharing tích cực phát triển nên vùng thích nghi mới, do đó phân phối các cá thể qua

tất cả các đỉnh trong không gian. Crowding đơn giản hơn Sharing, cả trong tính toán và thực hiện.

4.4 Vùng thích nghi và sự hình thành loài trong bài toán đơn phƣơng thức:

Phƣơng pháp tiếp cận bài toán đơn phƣơng thức (Unimodal) liên quan đến vùng thích nghi cố gắng duy trì một quần thể cân bằng, hoặc thông qua giới hạn việc sinh sản để ngăn chặn sự kết hợp các cặp bố mẹ không tƣơng thích hoặc thông qua các phƣơng pháp thay thế làm cản trở việc chiếm lĩnh một quần thể bởi một kiểu gen duy nhất.

Một số phƣơng pháp không sử dụng vùng thích nghi hoàn toàn mà bắt chƣớc hoạt động của nó ở một mức độ nào đó. Có nhiều phƣơng pháp thay thế bảo đảm rằng các cá thể mới sinh ra đủ khác so với phần còn lại của quần thể trƣớc khi cho phép chúng gia nhập quần thể, chẳng hạn nhƣ thuật giải di truyền Clone Prevention, Steady State (SSGA). Cũng có một số sơ đồ chọn lọc đặc biệt hoạt động theo cách tƣơng tự nhƣ sinh sản có giới hạn đƣợc mô tả trên đây, trong đó, cha mẹ đƣợc phép thực hiện sự kết đôi chỉ khi chúng thỏa một tiêu chí nhất định. Sinh sản có giới hạn cho phép sự tiến hóa của các vùng thích nghi khác nhau. Do đó, cho phép mỗi vùng thích nghi phát huy một số ảnh hƣởng lên quá trình tiến hóa.

Clone prevention và SSGA hoạt động tƣơng tự nhƣ Crowding, trong đó, trƣớc khi

một cá thể đƣợc phép nhập vào quần thể, nó đƣợc so sánh với các cá thể khác để xác minh tính duy nhất của nó. Trong khi mỗi lần, Crowding chỉ xem xét một vài cá thể, các phƣơng pháp mới này bảo đảm tính duy nhất bằng cách so sánh cá thể mới với mọi cá thể khác trong quần thể. Giống nhƣ Crowding, chúng không cố gắng tạo các vùng thích nghi hay loài (species) rõ ràng mà cố ngăn chặn sự chi phối lên quần thể bởi một hình thái duy nhất.

Không may, cả hai phƣơng pháp này có chi phí cao vì việc so sánh các cá thể là việc khá tốn kém.

4.5 Ngăn chặn sự loạn luân (Incest prevention):

Incest prevention cố mai mối (matchmake) cặp bố mẹ với ý định các con của chúng sẽ lấy các gen tốt nhất từ bố mẹ chúng. Đó là kết hợp các bố mẹ khác nhau sao cho tính đa dạng đƣợc giữ trong quần thể và vì vậy cho phép tiếp tục tiến hóa.

Khi một quần thể tiến hóa, các cá thể càng trở nên tƣơng tự nhau hơn và vì vậy, khó mà tìm đƣợc cặp bố mẹ phù hợp hơn. Để tránh tình huống không có cặp bố mẹ nhƣ vậy trong quần thể, cần một tập ngƣỡng khác – có thể nới lỏng nếu có sự khó khăn trong việc chọn bố mẹ.

Đồ thị của một hàm đơn phương thức

Mã giả cho thuật toán chọn cặp bố mẹ

SET THRESHOLD

REPEAT

FOR EACH INDIVIDUAL DO

TEST INDIVIDUAL

ENTER PARENT POPULATION

IF NO-NEW-PARENTS THEN

LOWER THRESHOLD

FOR EACH INDIVIDUAL DO REPEAT

SELECT PARENTS

UNTIL DIFFERENT ( )

UNTIL END-CRITERION REACHED OR THRESHOLD=0

Ngay sau khi một cá thể đƣợc kiểm tra, nó cố gắng gia nhập vào quần thể bố mẹ nhƣ đƣợc mô tả ở trên, bƣớc này chỉ thành công nếu cá thể thích nghi hơn so với thành viên ít thích nghi nhất trong quần thể bố mẹ. Sau khi mọi cá thể mới đƣợc kiểm tra, một kiểm tra để xem liệu quần thể bố mẹ có bị thay đổi. Một quần thể không bị thay đổi sẽ dẫn đến một ngƣỡng khác (bằng cách giảm ngƣỡng cũ).

Hàm DIFFERENT() đơn giản tính toán khoảng cách giữa các cặp bố mẹ và bảo đảm rằng, nếu chúng là hạt giống sinh sản thì độ khác nhau sẽ trên ngƣỡng.

4.6 Thuật toán Pygmy

Mặc dù incest prevention tránh đƣợc chi phí cho clone prevention, vẫn còn chi phí

cho việc tìm các cặp thỏa mãn mỗi khi giao phối (kết cặp). Để giảm chi phí càng nhiều càng tốt nhƣ các phƣơng pháp khác, thuật toán Pygmy đƣợc đề xuất – không tính rõ độ khác nhau giữa cặp bố mẹ mà chỉ cho thấy rằng các cặp bố mẹ mà nó chọn là khác nhau.

Thuật toán Pygmy thƣờng đƣợc dùng trong các bài toán với hai hay nhiều yêu cầu, chẳng hạn: sự phát triển của các giải pháp cần phải đạt cả hai tiêu chí là hiệu quả và nhanh. Các vùng thích nghi đƣợc dùng bởi hai hàm thích nghi riêng biệt, vì thế, tạo ra hai hình thái (loài). Các cá thể từ mỗi loài sau đó đƣợc coi nhƣ có các giới tính khác biệt và khi cặp bố mẹ đƣợc chọn cho việc tạo một cá thể mới, chúng đƣợc rút ra từ mỗi loài với ý định là mỗi bố mẹ phát huy áp lực từ hàm thích nghi của mình.

Thông thƣờng, có một hàm thích nghi chính cho biết tính hiệu quả và một cho yêu cầu thứ cấp. Các cá thể hiệu quả cao sẽ gia nhập vùng thích nghi đầu tiên, các cá thể không thích hợp với vùng thích nghi này trải qua một kiểm tra độ thích nghi thứ hai – đơn giản là hàm thích nghi ban đầu đƣợc sửa đổi để bao gồm các yêu cầu phụ. Các cá thể này sau đó cố gắng gia nhập vào vùng thích nghi thứ hai và nếu không hoàn thành việc này, các cá thể có liên quan sẽ bị chết sớm.

Việc sử dụng 2 vùng thích nghi duy trì một quần thể cân bằng và bảo đảm rằng các cá thể phù hợp với các yêu cầu sẽ đƣợc sinh ra. Sau đây là mã giả của thuật toán Pygmy.

REPEAT

FOR EACH INDIVIDUAL DO

TEST INDIVIDUALWITH MAIN FITNESS FUNCTION

ENTER PARENT POPULATION #1

IF UNSUCCESSFUL

TEST INDIVIDUALWITH SECONDARY FITNESS FUNCTION

ENTER PARENT POPULATION #2

FOR EACH INDIVIDUAL DO

SELECT PARENT FROM POPULATION #1

CREATE NEW INDIVIDUAL

UNTIL END-CRITERION REACHED

Mỗi vùng thích nghi đƣợc thực hiện nhằm duy trì các cá thể trong một không gian giải pháp. Dĩ nhiên, cũng có khả năng một con nào đó thừa hƣởng những đặc điểm tồi tệ nhất của bố mẹ chúng. Những đứa con này sẽ đƣợc bỏ qua bởi thuật toán Pygmy nhƣng bố mẹ chúng vẫn tồn tại đƣợc – vì chúng có khả năng sinh ra các con tốt nên đƣợc duy trì.

4.7 Hạn chế kết cặp (Restricted Mating)

Mục đích của hạn chế việc kết cặp là khuyến khích sự hình thành loài và giảm khả năng sinh sản chết (the production of lethals). Một cá thể chết (lethal) là một con của cặp bố mẹ từ hai vùng thích nghi khác nhau. Mặc dù mỗi bố mẹ đều có độ thích nghi cao nhƣng sự kết hợp các nhiễm sắc thể của chúng có thể không thích hợp nếu nó rơi vào thung lũng giữa hai đỉnh cực đại nhƣ hình.

Về mặt lý thuyết, nếu có hai bố mẹ tƣơng tự nhau (nghĩa là từ cùng một niche) đƣợc giao phối thì các con cái sẽ tƣơng tự nhau. Tuy nhiên, điều này phụ thuộc nhiều vào sơ đồ mã hóa – đặc biệt là sự tồn tại của các khối kiến trúc và tính lấn át gen (epistasis). Theo lẽ thƣờng của các toán tử lai ghép và đột biến , cặp bố mẹ tƣơng đƣơng về kiểu gen sẽ luôn sinh ra các con có cùng kiểu gen. Nhƣng trong một nhiễm sắc thể có tính lấn át gen cao, không có điều gì đảm bảo rằng các con này không có độ thích nghi thấp, nghĩa là chúng dễ chết (lethal). Sự tƣơng tự về kiểu gen không bảo đảm sự tƣơng tự về kiểu hình. Điều này ảnh hƣởng tới giới hạn của việc sử dụng kết cặp có giới hạn.

Một phần của tài liệu TÌM HIỂU BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT & ỨNG DỤNG GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN PHÁT THƯ (Trang 25 -25 )

×