1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG

38 1,7K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 792,67 KB

Nội dung

Những vấn đề trên đều gần giũi với đời sống hàng ngày và được nhiều nhànghiên cứu tìm hiểu, xây dựng nhiều giải pháp giải quyết khác nhau, tuy nhiênvẫn chưa đạt được mong muốn vì còn một

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

THUẬT TOÁN VÀ PHƯƠNG PHÁP

GIẢI QUYẾT VẤN ĐỀ

Đề tài:

GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG

GVHD: PGS TS Đỗ Văn Nhơn HVTH: Nguyễn Hữu Phước MSHV: CH1301107

TP HCM, tháng 10 năm 2014

Trang 2

LỜI NÓI ĐẦU

Ngày nay, cùng với sự phát triển mạnh mẽ của khoa học và công nghệ thìkhối lượng tri thức thu thập được ngày càng khổng lồ và cần phải được xử lý mộtcách chính xác, nhanh và hiệu quả để phục vụ cho các hoạt động của xã hội.Cũng chính từ đó, đòi hỏi phải có nhiều phương pháp (giải pháp) để giải quyếtđược nhiều yêu cầu hay nhiều vấn đề đặt ra trong đời sống hàng ngày như côngtác lập lịch, tìm đường đi ngắn nhất trên bản đồ giao thông, so khớp đồ thị để ứngdụng vào các lĩnh vực như hóa học, sinh học, điện tử, … hay nhiều vấn đề khác

đã và đang hình thành

Những vấn đề trên đều gần giũi với đời sống hàng ngày và được nhiều nhànghiên cứu tìm hiểu, xây dựng nhiều giải pháp giải quyết khác nhau, tuy nhiênvẫn chưa đạt được mong muốn vì còn một số hạn chế nhất định, ví dụ như độphức tạp của thuật toán quá lớn hoặc thời gian, hiệu quả chưa cao, …

Qua môn học, đặc biệt là sau quá tìm hiểu để hoàn thành bài thu hoạch do

thầy PGS TS Đỗ Văn Nhơn hướng dẫn, em nhận thấy môn học này rất bổ ích và

đem lại nhiều kiến thức mới Chúng em xin chân thành cảm ơn thầy!

Trang 3

MỤC LỤC

LỜI NÓI ĐẦU 1

MỤC LỤC 2

CHƯƠNG I: GIẢI THUẬT DI TRUYỀN 4

1 Tổng quan về thuật giải di truyền 4

2 Các thao tác cơ bản 5

2.1 Mã hóa 5

2.2 Phát sinh quần thể ban đầu 6

2.3 Hàm đánh giá và hàm thích nghi 6

2.4 Các toán tử di truyền 7

2.5 Các tham số của thuật giải 9

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

3.1 Thể lưỡng bội (Diploidy), thể trội (Dominicance) và thể khuyết (Abeyance) 10

3.2 Thể đa bội (Multiploid) 12

3.3 Một số toán tử vi mô tái thiết lập thứ tự 13

3.3.1 Toán tử đảo (inversion) 13

3.3.2 Chia tách và dịch chuyển 14

3.3.3 Nhân bản và xóa 14

3.3.4 Xác định giới tính (Sexual Determination) 14

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

3.3.6 Lai ghép thứ tự (Ordered crossover – OX) 16

3.3.7 Lai chu trình (Cycle crossover - CX) 16

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

3.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 18

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

3.5 Tối ưu hóa đa mục tiêu 25

3.6 Tối ưu tổ hợp 26

CHƯƠNG II: ỨNG DỤNG GIẢI THUẬT DI TRUYỀN GIẢI MỘT SỐ BÀI TOÁN 27

A BÀI TOÁN NGƯỜI DU LỊCH 27

1 Giới thiệu bài toán người du lịch(TSP) 27

2 Các bước thực hiện giải thuật 28

2.1 Khởi tạo 28

2.2 Mã hóa 28

2.3 Chọn lọc 29

2.4 Lai ghép 29

Trang 4

2.6 Hàm mục tiêu 29

2.7 Hàm thích nghi: 29

B BÀI TOÁN GOM CỤM CỘNG ĐỒNG TRÊN ĐỒ THỊ 31

1 Giới thiệu bài toán gom cụm cộng đồng trên đồ thị 31

2 Định nghĩa về cụm cộng đồng (community) 31

3 Xây dựng ý tưởng và thiết kế 33

TÀI LIỆU THAM KHẢO 36

Trang 5

CHƯƠNG I: GIẢI THUẬT DI TRUYỀN

1 Tổng quan về thuật giải di truyền

Thuật giải di truyền là một kỹ thuật của khoa học máy tính được dùng để tìmkiếm lời giải cho các bài toán tối ưu tổ hợp hay các bài toán chưa có thuật toán

để tìm chính xác lời giải Thuật giải di truyền sử dụng ngôn ngữ máy tính để môphỏng lại quá trình tiến hóa tự nhiên của một tập các đối tượng trừu tượng (gọi là

quần thể) Mỗi đối tượng trừu tượng (gọi là các nhiễm sắc thể) đại diện cho một

giải pháp khả dĩ (gọi là cá thể) của bài toán tối ưu hóa Ngoài ra, mỗi giải pháp thường liên quan đến nhiều yếu tố, gọi là các biến Vì thế, các nhiễm sắc thể tương ứng cũng gồm nhiều phần tử, mỗi phần tử được gọi là một gen.

Tập các giải pháp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốthơn Việc xác định giải pháp nào tốt hơn được thực hiện bởi một hàm gọi là hàmmục tiêu hoặc hàm thích nghi Các giải pháp tốt được kết hợp với nhau với hivọng sẽ tạo ra các giải pháp tốt hơn

Quá trình tiến hóa bắt đầu từ một tập các cá thể ngẫu nhiên, và do đó, hầu hếtchúng không phải là các lời giải tốt Qua từng thế hệ, độ thích nghi của từng cáthể được xác định Các cá thể được chọn lọc theo cách có định hướng (chọn cáthể tốt theo độ thích nghi) từ tập hiện thời Sau đó, các cá thể này được biến đổibằng cách lai ghép hay đột biến để tạo ra các cá thể mới Việc này được thực hiệnlặp đi lặp lại qua các thế hệ tiếp theo và cuối cùng, giải thuật cho ra lời giải tối ưuhoặc gần tối ưu

Một thuật giải di truyền có thể chia ra làm 5 bước, được mô tả qua thủ tục sau:

procedure GeneticAlgorithms

begin

T = 0; // Thế hệ thứ T

Khởi tạo quần thể P(T);

Đánh giá độ thích nghi cho các cá thể trong P(T);

while (not Điều_Kiện_Kết_Thúc) do

Trang 6

T = T + 1;

Chọn lọc P(T) từ P(T-1);

Kết hợp các cá thể (bằng lai ghép & đột biến) trong P(T);

Đánh giá độ thích nghi cho các cá thể trong P(T);

endend

Các toán tử và kỹ thuật được áp dụng trong thủ tục trên sẽ được mô tả chi tiếthơn trong các phần tiếp theo

2 Các thao tác cơ bản

Để giải một bài toán tối ưu bằng cách áp dụng thuật giải di truyền, ta thườngphải giải quyết 5 vấn đề:

 Biểu diễn di truyền hay chọn cách mã hóa các lời giải của bài toán

 Phát sinh quần thể ban đầu P(0)

 Chọn hàm đánh giá để xác định mức độ thích nghi của lời giải

 Áp dụng các toán tử di truyền (lai ghép, đột biến) để tạo ra các cá thể mới

 Xác định các tham số đầu vào của thuật giải Chẳng hạn như kích thướcquần thể, xác suất lai ghép, xác suất đột biến,…

2.1 Mã hóa

Mã hóa là việc xác định cách thức biểu diễn di truyền đối với lời giải của bàitoán Việc mã hóa phụ thuộc nhiều vào từng bài toán cụ thể Một số cách biểudiễn thông dụng:

 Biểu diễn nhị phân: mỗi nhiễm sắc thể là một dãy số nhị phân Mỗi gen cóthể được mã hóa nhờ một số lượng bit nào đó

 Biểu diễn theo số tự nhiên: mỗi nhiễm sắc thể là một dãy các số tự nhiên.Phương pháp này được dùng nhiều trong các bài toán tối ưu tổ hợp hayhoán vị

Trang 7

 Biểu diễn số dấu chấm động: Mỗi gen trong nhiễm sắc thể được mã hóabởi một số ở dạng dấu chấm động Cách biểu diễn này giải quyết đượcmột số nhược điểm của biểu diễn nhị phân và biểu diễn được miền giá trịlớn.

 Một số cách khác: Biểu diễn số ở hệ Octal (hay Hexa), biểu diễn bởi chuỗi

123459876679218345

5.5 2.3 7.14.0

3.1 1.9 2.55.6

2314506 (Octal)ABCDE (Hexa /chuỗi)

Hình 1 Một số cách biểu diễn nhiễm sắc thể

2.2 Phát sinh quần thể ban đầu

Thông thường, việc khởi tạo các cá thể trong quần thể ở thế hệ đầu tiên làphát sinh ngẫu nhiên và/hoặc có thêm một số ràng buộc (chẳng hạn sinh ra mộthoán vị) Do đó, hầu hết chúng có độ thích nghi thấp hay không phải là lời giảitối ưu Trong một số trường hợp, việc phát sinh ngẫu nhiên có thể làm quá trìnhtiến hóa chậm (chẳng hạn như với bài toán người du lịch)

Một cách khởi tạo khác cũng hay được áp dụng, đó là sử dụng phương pháptham lam (greedy) Tùy vào đặc trưng của từng bài toán cụ thể, ta có thể phátsinh ra các cá thể sao cho có khả năng gần với lời giải nhất có thể Ví dụ, với bàitoán người du lịch, tại gen thứ k, ta chọn đỉnh gần nhất với đỉnh trong gen thứ k-

1 và chưa được chọn

2.3 Hàm đánh giá và hàm thích nghi

Trong hầu hết các bài toán áp dụng thuật giải di truyền, ta quy về việc tối ưu

cực đại (hoặc cực tiểu) một hàm một hoặc nhiều biến Khi đó, độ tốt của cá thể là

giá trị hàm tương ứng của cá thể đó Như vậy, nếu chọn một cá thể là nghiệm củabài toán thì cá thể càng tốt khi giá trị hàm càng gần với giá trị tối ưu (cực đại

hoặc cực tiểu) càng tốt Hàm để đánh giá độ tốt của cá thể hay lời giải gọi là hàm

mục tiêu.

Trang 8

Tuy nhiên, để chọn lọc các cá thể di truyền cho thế hệ tiếp theo, ta cần phải

biến đổi hàm mục tiêu sang hàm thích nghi Điều này cũng tương tự như trong tự

nhiên, các cá thể thích nghi tốt với môi trường sống sẽ được bảo tồn cho thế hệ

kế tiếp

Độ thích nghi của cá thể được định nghĩa là khả năng cá thể đó được chọn lọc

vào thế hệ sau hoặc được chọn cho việc lai ghép, tạo ra cá thể mới

Hàm mục tiêu là cơ sở để đánh giá độ thích nghi của các cá thể Việc ánh xạ

từ hàm mục tiêu sang hàm thích nghi tùy thuộc vào mục đích của bài toán thựctế

2.4 Các toán tử di truyền

Chọn lọc là quá trình chọn một cách ngẫu nhiên các cặp cá thể trong quần thể

để thực hiện việc lai tạo ra cá thể con cho thế hệ sau Mục đích của chọn lọc làchú trọng vào các cá thể có độ thích nghi cao với hi vọng rằng, các con củachúng sẽ có độ thích nghi cao hơn nữa Một số cơ chế chọn lọc thường được ápdụng:

 Chọn lọc theo vòng Roulette (Roulette wheel selection)

 Chọn lọc cạnh tranh (Tournament selection)

 Chọn lọc thứ tự (Rank selection)

 Elitism selection

Lai ghép là quá trình lấy hai giải pháp bố - mẹ và sinh ra con của chúng Sau

quá trình chọn lọc (sinh sản), quần thể được làm giàu bởi các cá thể tốt hơn Laighép tạo ra bản sao của các cá thể tốt chứ không tạo ra các cá thể mới vì lai ghép

chỉ sao chép giá trị gen giữa cặp cá thể bố - mẹ để tạo ra cá thể con Toán tử lai

ghép được áp dụng vào tổ hợp sinh sản với hi vọng tạo ra được thế hệ con tốt

hơn

Trang 9

a Lai ghép đa điểm b Lai ghép đồng nhất c Lai ghép thứ tự

Hình 2 Một số kiểu lai ghépCác kỹ thuật lai ghép thường được áp dụng:

 Lai ghép một điểm (Single-point Crossover)

 Lai ghép đa điểm (Multi-point Crossover)

 Lai ghép đồng nhất (Uniform Crossover)

 Lai ghép chu trình (CX – Cycle Crossover)

 Lai ghép thứ tự (OX – Ordered Crossover)

 Lai ghép so khớp từng phần (PMX – Partially Matched Crossover)

Đột biến là thay đổi một cách ngẫu nhiên giá trị của một hoặc vài gen trong

nhiễm sắc thể Nếu lai ghép được xem là khám phá các giải pháp hiện thời để tìm

ra các giải pháp tốt hơn thì đột biến được cho là để giúp thăm dò toàn bộ không gian tìm kiếm Đột biến được xem như một toán tử nền tảng để duy trì tính đa dạng di truyền trong quần thể Đột biến giúp thoát khỏi cái bẫy của cực tiểu cục

bộ và duy trì tính đa dạng trong quần thể

Có nhiều dạng đột biến khác nhau tùy thuộc vào cách mã hóa hay biểu diễncủa nhiễm sắc thể Sau đây là một số kỹ thuật đột biến thường dùng:

 Đột biến đảo bit (Flipping): Thay thế giá trị của gen bằng một giá trị khác

 Đột biến đổi chổ (Interchanging): Hoán vị giá trị của hai gen

 Đột biến đảo ngược (Reversing): Đảo ngược một đoạn gen trong nhiễmsắc thể

Flipping Interchanging ReversingParent 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0

Child 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0

Hình 3 Một số dạng đột biến

Trang 10

2.5 Các tham số của thuật giải

Kích thước quần thể (PopSize) là số lượng cá thể trong mỗi thế hệ tiến hóa.

Giá trị của nó phụ thuộc vào sự phức tạp của từng bài toán cụ thể Kích thướcquần thể lớn có thể giúp khám phá nhanh toàn bộ không gian tìm kiếm Tuynhiên, nó yêu cầu chi phí cho việc tính toán, bộ nhớ và cả thời gian thực thi.Trong thực tế, giá trị này thường được chọn là 100

Xác suất lai ghép (pc) là tham số mô tả mức độ thường xuyên mà phép laighép được thực hiện Nếu pc = 100% thì mọi cá thể con đều được tạo ra từ việclai ghép Điều này đôi khi là không tốt vì chúng ta muốn lưu giữ một phần củaquần thể trước nhằm duy trì tính đa dạng của quần thể Nếu pc = 0% thì thế hệsau chỉ là bản sao y nguyên của thế hệ trước, có nghĩa là không có sự tiến hóa Sốlượng cá thể tham gia vào quá trình lai ghép là: pc * PopSize

Xác suất đột biến (pm) là tham số quyết định mức độ thường xuyên mà cácphần tử của nhiễm sắc thể bị đột biến Đột biến ngăn thuật giải di truyền rơi vàocực trị cục bộ Giá trị này càng lớn thì càng nhiều cá thể bị biến đổi làm mất tính

ổn định của quần thể Số lượng gen bị đột biến trong toàn bộ quần thể sẽ là: pm *PopSize * kích thước nhiễm sắc thể

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

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 ditruyề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àitoá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 tacầ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ểuhì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

Trang 11

3.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ội chỉ 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ội hoặ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ứcnă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 chocá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ự đạidiện cho một alen Các kí tự viết hoa và viết thường được đưa ra ở trên đại diệncho 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 trongcá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à:

Trang 12

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 tGen 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ớicù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ườngthay đổi qua một khoảng thời gian Việc có 2 gene cho phép hai giải pháp khácnhau đượ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 genkhá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 đổi gen Cơ chế này là lý tưởng nếu môi trường chuyểngiữa hai trạng thái (chẳng hạn kỷ băng hà và không phải kỷ băng hà) Thuận lợichí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 đượcgiữ 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ácalen 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ựctuyến, các hệ thống có thể chuyển giữa các trạng thái khác nhau Lưỡng bộichiếm một vị trí quan trọng trong thuật giải di truyền Ngoài việc mang hai lầnthông tin di truyền, nhiễm sắc thể phải mang thông tin trội

3.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

Trang 13

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ợpnày chứa nhiều bộ nhiễm sắc thể với một số cơ chế để xác định gen nào đượcbiể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 caotí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 khichú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 4.a, một nhiễm sắc thể có p=3 thànhphầ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ắcthể Thông tin này được giải mã thành kiểu hình như sau:

Hình 4.a Đa bội loại 1 (multiploid type 1)

Hình 4.b Đ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ànhphầ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ể, như hình 4.b

Trong hình 4.b, 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êntục thứ i trong thành phần thứ a của nhiễm sắc thể là trội

Trang 14

3.3 Một số toán tử vi mô tái thiết lập thứ tự

3.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ắpxế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 đượcchọ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:

3.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

Trang 15

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ự chiatá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ắcthể và quan trọng là chú ý vào cách mà nhiễm sắc thể được tổ chức theo một cáchthích hợp Toán tử dịch chuyển được sử dụng cho mục đích này Toán tử dịchchuyể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 sangnhiễm sắc thể khác bởi toán tử dịch chuyển

3.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 ditruyề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ảnmộ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óabằ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 độtbiế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.3.4 Xác định giới tính (Sexual Determination)

Ban đầu, trong sơ đồ kết cặp, ta được phép kết cặp bất kỳ hai cá thể nào vàkết quả di truyền tạo ra được chia sao cho chúng bảo đảm một kiểu gen có khảnăng sống được (viable genotype) Xác định giới tính được xử lý khác nhau trongcá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 23cặp nhiễm sắc thể của người Nữ có hai nhiễm sắc thể đều là X và nam có hainhiễ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ể Xhoặ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ắcthể 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

Trang 16

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ínhtrong 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ộtloà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ênbiệ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ốngmộ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ứutheo 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ântạ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ềutrong các bài toán thực tế là: lai so khớp từng phần (PMX), lai thứ tự (OX) và laichu trình (CX)

3.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 đượcchọ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ộtchọ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ố Aqua mẹ B, gen 7 và 6, gen 9 và 5, gen 2 và 3 thay đổi vị trí cho nhau Do đó saukhi 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 địnhbở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ánvị

Trang 17

3.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:

3.3.7 Lai chu trình (Cycle crossover - CX)

Lai CX thực hiện tổ hợp lại dưới các ràng buộc mà mỗi gen xuất phát từ chahoặc mẹ Mỗi cá thể con được tạo dựa trên vị trí, giá trị của cha mẹ thứ nhất vàcha mẹ thứ hai

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

Trang 18

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à:

-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

3.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ểugen 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ệtnhau hoặc rất giống nhau Hậu quả là quần thể sẽ không đủ đa dạng cho sự tiếnhó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

Trang 19

Những toán tử di truyền gây ra hội tụ - như phép lai hay sinh sản - phải đượcthay đổ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àoviệ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ácnhư 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ậtgiả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ôngtì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íchnghi 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

3.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

Hình 5 Đồ thị của một hàm đa phương thứcTuy nhiên, người ta thường muốn xác định sự hội tụ các đỉnh cùng lúc Mộtvù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ậpcác cá thể tương đồng hội tụ cùng nhau tại đỉnh đó Khi đó, chúng ta muốn thuật

Ngày đăng: 23/05/2015, 21:04

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w