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

Một phần của tài liệu Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Tìm hiểu mạng neural nhân tạo và giải thuật di truyền (Trang 31)

Phần trên hệ thống lại một cách khái quát các khái niệm và một số kỹ thuật di truyền cơ bản: sinh sản, lai ghép và đột biến. Chúng hoạt động tốt trong nhiều bài toán thực tế. Tuy nhiên, để cải thiện sức mạnh của thuật giải di truyền, chúng ta cần có các kỹ thuật và toán tử phức tạp hơn để biểu diễn được hầu hết các kiểu hình tự nhiên.

Trong phần này, chúng tôi trình bày một số kỹ thuật biểu diễn mức thấp như thể trội, thể lưỡng bội và các toán tử đảo, sao chép, xóa bỏ, chia tách. Các toán tử cấp cao như sự thích nghi môi trường sống (niche), sự hình thành loài (speciation) và các kỹ thuật tối ưu nhiều mục tiêu cũng được khảo sát chi tiết. Đây cũng chính là phần chính của báo cáo.

1. Thể lƣỡng bội (Diploidy), thể trội (Dominicance) và thể khuyết (Abeyance):

Trong các phần trên, chúng ta chỉ xem xét các kiểu hình đơn giản nhất tồn tại trong tự nhiên, đó là nhiễm sắc thể đơn bội. Một nhiễm sắc thể đơn bộichỉ chứa một tập các gen

nghĩa là một alen chiếm giữ một vị trí. Tự nhiên chứa đựng nhiều tổ chức đơn bội, nhưng hầu hết chúng có dạng sống không phức tạp.

Khi tự nhiên muốn kiến tạo(xây dựng) một dạng sống phức tạp hơn hay dạng sống động vật, một cấu trúc nhiễm sắc thể phức tạp hơn là cần thiết, đó là nhiễm sắc thể lưỡng bộihoặc nhiễm sắc thể kép. Ở dạng lưỡng bội, một kiểu gen chứa một hoặc nhiều cặp nhiễm sắc thể, mỗi cặp chứa thông tin cho cùng một chức năng.

Xét cấu trúc nhiễm sắc thể lưỡng bội sau, với các kí tự khác nhau đại diện cho các alen khác nhau (giá trị chức năng gen khác nhau):

P q r s t P Q R S t

Alen đại diện cho thuộc tính của một gen cụ thể. Mỗi vị trí của một kí tự đại diện cho một alen. Các kí tự viết hoa và viết thường được đưa ra ở trên đại diện cho các alen thay thế (alternative) tại mỗi vị trí. Trước tiên, trong tự nhiên mỗi alen biểu thị các thuộc tính kiểu hình khác nhau. Chẳng hạn, Q có thể biểu diễn cho gen tóc xám và q có thể là gen tóc đen. Như vậy, một cặp (Q, q) mô tả một chức năng, vì thế, cần phải có cách để quyết định xem giá trị nào được chọn bởi vì chẳng hạn, kiểu hình không thể cùng lúc tóc xám và tóc đen.

Một cách tiếp cận để loại bỏ xung đột dư thừa này là thông qua một cơ chế gọi là gen trội. Tại một vị trí, một alen (gọi là gen trội) sẽ được ưu tiên hơn một alen thay thế khác (gọi là gen lặn). Có thể nói rằng, một alen là trội nếu nó được biểu hiện khi đi cặp với một vài alen khác. Biểu hiện nghĩa là nó xuất hiện trong các kiểu hình.

Trong ví dụ trên, nếu giả sử tất cả các kí tự hoa là trội và tất cả các kí tự thường là lặn thì kiểu hình được biểu thị của nhiễm sắc thể ví dụ trên sẽ là:

P q r S t

→ P Q R S t (gen đƣợc biểu hiện lên kiểu hình)

p Q R S t

Gen trội luôn luôn được biểu hiện và gen lặn chỉ biểu hiện khi nó đi cặp với cùng một gen lặn. Gen trội được biểu thị trong các phần tử dị hợp (Pp  P) hoặc đồng hợp (SS  S) và gen lặn được biểu thị chỉ khi là đồng hợp lặn (tt  t).

Do đó trội là một toán tử di truyền được sử dụng để tính toán kiểu hình các giá trị alen có thể tại một vị trí gen.

Nhiễm sắc thể lưỡng bội cung cấp sự thuận lợi cho các cá thể khi môi trường thay đổi qua một khoảng thời gian. Việc có 2 gene cho phép hai giải pháp khác nhau được nhớ (ghi lại) và chuyển qua cho con cháu. Một trong những gen này là trội (nghĩa là nó sẽ biểu hiện lên kiểu hình), trong khi những gen khác là lặn.

Nếu điều kiện môi trường thay đổi, sự trội có thể hoán chuyển, do đó một gen khác sẽ là trội. Sự hoán chuyển này có thể xảy ra nhanh hơn mức có thể nếu cơ chế tiến hóa phải thay

băng hà và không phải kỷ băng hà). Thuận lợi chính của lưỡng bội là nó cho phép sự đa dạng rộng lớn hơn của các alen được giữ lại trong quần thể so với đơn bội. Hiện tại thì có hại nhưng tiềm năng là các alen hữu dụng có thể vẫn được duy trì, nhưng ở trạng thái lặn.

Trong thuật giải di truyền, lưỡng bội có thể hữu ích trong các ứng dụng trực tuyến, các hệ thống có thể chuyển giữa các trạng thái khác nhau. Lưỡng bội chiếm một vị trí quan trọng trong thuật giải di truyền. Ngoài việc mang hai lần thông tin di truyền, nhiễm sắc thể phải mang thông tin trội.

2. Thể đa bội (Multiploid):

Một thuật giải di truyền đa bội kết hợp một vài ứng viên (candidates) cho mỗi gen trong một kiểu gen duy nhất, và sử dụng một vài cơ chế dạng trội để quyết định gen nào sẽ được kích hoạt trong kiểu hình.

Trong tự nhiên, chúng ta tìm thấy nhiều tổ hợp có kiểu gen đa bội, các tổ hợp này chứa nhiều bộ nhiễm sắc thể với một số cơ chế để xác định gen nào được biểu hiện, nghĩa là trội tại một vị trí gen nào đó. Cơ chế này chủ yếu là nâng cao tính đa dạng của quần thể, các gen hiện tại chưa được sử dụng vẫn còn là loại gen đa bội, chưa được biểu hiện, nhưng được bảo vệ khỏi sự tuyệt chủng cho đến khi chúng trở nên hữu ích trong các thế hệ sau.

Một kiểu gen đa bội, thể hiện trong hình, một nhiễm sắc thể có p=3 thành phần, mỗi thành phần có chiều dài L và tương tự như một nhiễm sắc thể đơn bội. Để xác định gen nào được biểu hiện lên kiểu hình, ta dùng một mặt nạ, chỉ ra gen của thành phần nào trong p thành phần là trội tại một vị trí cụ thể trong nhiễm sắc thể. Thông tin này được giải mã thành kiểu hình như sau:

Đa bội loại 2 (multiploid type 2)

Một giá trị alen a tại điểm i trong mặt nạ biểu thị rằng gen thứ i trong thành phần ứng với chỉ số a trở thành gen thứ i trong kiểu hình. Chiều dài của mặt nạ có thể ngắn hơn chiều dài của nhiễm sắc thể.

Trong hình Đa bội loại 2 ở trên, nếu chiều dài của mặt nạ là m và nhiễm sắc thể có chiều dài L, một gen tại vị trí “i” trong mặt nạ với giá trị là “a” chỉ ra rằng tập L/m gen liên tục thứ i trong thành phần thứ a của nhiễm sắc thể là trội.

3. Một số toán tử vi mô tái thiết lập thứ tự: 3.1 Toán tử đảo (inversion): 3.1 Toán tử đảo (inversion):

Đảo là toán tử một ngôi, một trong các toán tử di truyền thực hiện việc tái sắp xếp thứ tự. Toán tử đảo ngược là cơ chế tự nhiên chủ yếu để tái mã hóa một vấn đề. Trong toán tử đảo ngược, hai điểm đánh dấu và chiều dài của nhiễm sắc thể được cho trước, đoạn nhiễm sắc thể giữa hai điểm đánh dấu bị cắt và đảo ngược. Để rõ ràng hơn, ta xét hai nhiễm sắc thể có chiều dài 8, hai điểm đánh dấu được chọn ngẫu nhiên (là 2 và 6) như sau:

Sử dụng toán tử đảo, ta có kết quả:

Toán tử đảo có thể sử dụng như một toán tử đột biến. Nó có một số biến thể sau:

 Đảo tuyến tính

 Đảo khối

Đảo tuyến tính là phép đảo như đã thấy ở ví dụ trên. Đảo tuyến tính+ cuối là đảo tuyến tính với xác suất được chỉ ra là 0.75. Khi đảo tuyến tính không được thực hiện, đảo cuối có thể được thực hiện với xác suất 0.125 tại đầu trái hoặc đầu phải của chuỗi. Đảo tuyến tính + cuối khác đảo tuyến tính ở việc phá vỡ các alen gần trung tâm của chuỗi và các alen nằm ở cuối chuỗi một cách không cân đối. Trong chế độ đảo liên tục, phép đảo được áp dụng với một xác suất đảo cụ thể Pi, đối với mỗi cá thể mới khi nó được tạo. Trong chế độ đảo khối một nửa quần thể mới được tạo được trải qua việc đảo đồng nhất.

3.2 Chia tách và dịch chuyển:

Xét quá trình hình thành giao tử khi có nhiều hơn một cặp nhiễm sắc thể trong kiểu gen. Khi nó hình thành một giao tử, ta chọn ngẫu nhiên một trong mỗi nhiễm sắc thể đơn bội. Quá trình chọn lọc ngẫu nhiên này được gọi là sự chia tách – phá vỡ mọi liên kết tồn tại giữa các gen trên các nhiễm sắc thể khác nhau. Nó cho thấy rằng, sự chia tách khai thác cách tổ chức phù hợp của các nhiễm sắc thể và quan trọng là chú ý vào cách mà nhiễm sắc thể được tổ chức theo một cách thích hợp. Toán tử dịch chuyển được sử dụng cho mục đích này. Toán tử dịch chuyển có thể được xem như một toán tử lai ghép liên nhiễm sắc thể. Toán tử này được thực thi bằng cách nối các alen với tên các gen của chúng, để có thể xác định ý nghĩa của chúng khi chúng được xáo trộn từ nhiễm sắc thể này sang nhiễm sắc thể khác bởi toán tử dịch chuyển.

3.3 Nhân bản và xóa:

Có một cặp toán tử mức thấp khác thực hiện việc tìm kiếm theo thuật giải di truyền. Sự sao chép trong nội bộ nhiễm sắc thể thực hiện bằng cách nhân bản một gen nào đó và đặt nó cùng với tổ tiên của nó lên nhiễm sắc thể. Việc xóa bằng cách loại bỏ một gen trùng khỏi nhiễm sắc thể. Tỷ lệ đột biến có thể được điều khiển một cách hiệu quả bởi các toán tử này. Khi tỷ lệ đột biến không đổi và nhân bản trong nhiễm sắc thể tạo ra k bản sao của một gen nào đó thì xác suất đột biến hiệu quả cho gen này được nhân với k. Mặt khác, khi việc xóa xảy ra, tỷ lệ đột biến hiệu quả cũng giảm.

3.4 Xác định giới tính (Sexual Determination):

genotype). Xác định giới tính được xử lý khác nhau trong các loài khác nhau. Tuy nhiên, chỉ cần xét ví dụ trên con người là đủ để hiểu về sự xác định giới tính. Giới tính được xác định trong một người bởi một trong 23 cặp nhiễm sắc thể của người. Nữ có hai nhiễm sắc thể đều là X và nam có hai nhiễm sắc thể khác nhau là X và Y. Trong quá trình hình thành giao tử (gametogenesis process), nam giới hình thành tinh trùng (mang nhiễm sắc thể X hoặc Y) và nữ giới sở hữu trứng (mang nhiễm sắc thể X).

Lúc thụ tinh, nhiễm sắc thể X sinh bởi người nữ được kết hợp với nhiễm sắc thể X hoặc Y sinh ra bởi người nam. Vì thế, phương pháp xác định giới tính trên người rất đơn giản. Chiến lược tương tự cũng được áp dụng để xác định giới tính trong tìm kiếm theo thuật giải di truyền. Sự thiết lập giới tính khác nhau chia một loài thành 2 hay nhiều nhóm một cách có hiệu quả. Điều này cho phép chuyên biệt hóa nam và nữ, do đó, kèm theo một loạt các hành vi cần thiết cho sự sống một cách rộng rãi hơn với một quần thể cạnh tranh duy nhất. Các nghiên cứu theo sự xác định giới tính và sự khác nhau về tìm kiếm thuật giải di truyền nhân tạo vẫn còn đang tiếp diễn.

Khi tổ hợp các toán tử lai và toán tử đảo, ta thiết lập được một số phép lai có thể tái thiết lập trật tự các gen. Ba phép lai theo dạng này được sử dụng nhiều trong các bài toán thực tế là: lai so khớp từng phần (PMX), lai thứ tự (OX) và lai chu trình (CX).

3.5 Phép lai so khớp từng phần (Partially Matched Crossover – PMX):

Trong lai so khớp từng phần, hai chuỗi được sắp hàng, và hai điểm lai được chọn ngẫu nhiên giống nhau dọc theo chiều dài của chuỗi. Hai điểm lai cho một chọn lọc khớp được dùng để tác động thông qua toán tử trao đổi vị trí – vị trí.

Xét 2 nhiễm sắc thể:

Hai điểm lai được chọn ngẫu nhiên, quá trình lai PMX thực hiện thay đổi vị trí. Giữa các điểm lai, các gen được hoán đổi, nghĩa là gen 3 và 2, gen 6 và 7, gen 5 và 9 thay đổi vị trí. Đây là ánh xạ từ mẹ B qua bố A. Bây giờ ánh xạ từ bố A qua mẹ B, gen 7 và 6, gen 9 và 5, gen 2 và 3 thay đổi vị trí cho nhau. Do đó sau khi thực hiện PMX, con cháu sinh ra là:

Mỗi con cháu chứa thông tin có thứ tự một cách từng phần được quyết định bởi cha mẹ của chúng. PMX có thể được áp dụng cho các bài toán biểu diễn hoán vị.

3.6 Lai ghép thứ tự (Ordered crossover – OX):

Lai OX bắt đầu theo cách tương tự như PMX. Nhưng thay vì sử dụng trao đổi điểm – điểm như PMX, lai OX áp dụng chuyển động trượt để lấp đầy các vị trí trống bên trái bằng cách chuyển các vị trí ánh xạ.

Xét cặp nhiễm sắc thể cha mẹ sau:

Khi ánh xạ từ mẹ B sang bố A, vị trí 3,6, và 5 trống

Những lỗ trống này bây giờ được lấp bằng một chuyển động trượt bắt đầu với điểm lai thứ hai

Những lỗ trống này sau đó được lấp bằng phiên so khớp lấy từ bố A. Do đó, qua việc thực hiện hành động này, con cháu được sinh ra bằng lai OX như sau:

Từ ví dụ trên, chúng ta có thể thấy rằng PMX hướng tới khía cạnh vị trí tuyệt đối trong khi OX hướng tới khía cạnh vị trí tương đối.

3.7 Lai chu trình (Cycle crossover - CX):

Xét cặp nhiễm sắc thể bố mẹ sau:

Parent A: 1 2 3 4 5 6 7 8 9

Parent B: 4 1 2 8 7 6 9 3 5

Ta sẽ tạo ra nhiễm sắc thể con A bằng cách lấy phần tử đầu tiên trong Parent A. Child A: 1 - - - -

Tiếp tục xác định giá trị các gen tiếp theo cho Child A bằng cách so khớp với giá trị gen tại Parent B. Chẳng hạn, gen thứ nhất của Parent B có giá trị là 4, giá trị này nằm tại vị trí 4 trong Parent A nên Child A sẽ là:

Child A: 1 - - 4 - - - - -

Tương tự, gen tại vị trí thứ 4 của Parent B có giá là 8, giá trị này nằm tại vị trí 8 trong Parent A nên Child A sẽ là:

Child A: 1 - - 4 - - - 8 -

Tiếp tục thực hiện theo cách này, cho đến khi hoàn thành 1 chu trình, tức là quay trở lại một gen đã chọn.

Child A: 1 - 3 4 - - - 8 -

Child A: 1 2 3 4 - - - 8 -

Sau đó, các giá trị còn lại được lấy từ Parent B, ta được Child A như sau Child A: 1 2 3 4 7 6 9 8 5

Thực hiện tương tự các bước trên để tạo con B, ta được: Child B: 4 1 2 8 5 6 7 3 9

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 phần của tài liệu Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Tìm hiểu mạng neural nhân tạo và giải thuật di truyền (Trang 31)

Tải bản đầy đủ (PDF)

(60 trang)