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 Đề THUẬT GIẢI DI TRUYỀN VÀ ỨNG DỤNG

36 578 0

Đ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 36
Dung lượng 581,41 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các thuật toán như tìm kiếm như vét cạn sử dụng phương pháp đơn giảnnhất và trực quan nhất hoặc các thuật toán tìm kiếm sử dụng heurictics để áp dụngcác tri thức về cấu trúc của không

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

TPHCM, tháng 10 năm 2014

Trang 2

LỜI NÓI ĐẦU

Nội dung bài thu hoạch: “Thuât giải di truyền và Ứng dụng” tập trung nghiên cứu thuật toán giải di truyền và xây dựng chương trình minh họa thuật toán giải di truyền

Bài thu hoạch gồm có 4 chương:

Chương 1: Giới thiệu đề tài

Chương này sẽ nêu lý do chọn đề tài, đối tượng nghiên cứu và giải pháp công nghệ.

Chương 2: Cơ sở lý thuyết về thuật giải di truyền

Chương này trình bày kỹ hơn lý thuyết về thuật giải di truyền và xem xét giải

di truyền trong thực tế.

Chương 3: Chương trình minh họa thuật giải di truyền

Chương này trình bày chương trình minh họa cho thuật giải di truyền

Chương 4: Kết luận

Tài liệu tham khảo

Tác giả kính mong nhận được sự chỉ bảo và góp ý của thầy để bài thu hoạch này hoàn thiện hơn.

Học viên thực hiện

Trần Cảnh Khánh

Trang 3

MỤC LỤC

LỜI NÓI ĐẦU 2

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 5

1.1 Lý do chọn đề tài 5

1.2 Đối tượng nghiên cứu 5

1.3 Giải pháp công nghệ 5

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ THUẬT GIẢI DI TRUYỀN (GA) 6

2.1 Biểu diễn trong thuật giải di truyền 6

2.1.1 Biểu diễn nhị phân 6

2.1.2 Biểu diễn dấu phẩy động 6

2.2 Nội dung của GA 6

2.2.1 Khởi tạo quần thể ban đầu (Initial population) 6

2.1.1.1 Kích thước quần thể 7

2.1.1.2 Phương pháp khởi tạo 7

2.2.2 Điều kiện dừng 7

2.2.3 Điều kiện lai tạo 7

2.2.3.1 Chọn lọc 8

2.2.3.1.1 Dựa trên tỷ lệ (Proportionate-based selection ) 8

a Roulette wheel 9

b Stochastic Universal Sampling (SUS) 9

2.2.3.1.2 Dựa trên thứ tự (Ordinal-based selection) 10

a Chọn lọc Ranking 10

b Chọn lọc cạnh tranh (Tournament Selection) 11

c Chọn lọc cắt tỉa (Truncation selection) 11

2.2.4 Phép lai 11

2.2.4.1 Định nghĩa phép lai 11

2.2.4.2 Các phương pháp lai 12

2.2.4.2.1 Phép lai tuyến tính 12

a Phép lai một điểm 12

b Phép lai nhiều điểm 12

2.2.4.2.2 Phép lai đồng nhất 12

a Phép lai phi tuyến tính 13

Trang 4

b Phép lai đối sánh một phần 13

c Phép lai phi tuyến tính sử dụng mặt nạ 14

2.2.4.2.3 Phép lai tổng quát nhiều điểm 14

2.2.5 Đột biến 16

2.2.5.1 Định nghĩa đột biến 16

2.2.5.2 Một số phương pháp đột biến 16

2.2.5.2.1 Đảo bít 16

2.2.5.2.2 Thay đổi trật tự 16

2.2.5.2.3 Đột biến đảo ngược 16

2.2.5.2.4 Đột biến thay thế 16

2.2.6 Tạo quần thể mới 17

2.3 Xem xét GA trong thực tế 18

2.3.1 Tầm quan trọng của ngẫu nhiên 18

2.3.2 Tối ưu hoá ràng buộc 18

2.3.4 Hàm phạt 19

2.3.4.1 Các phương pháp thưởng phạt: 20

2.3.4.1.1 Phương pháp phạt tĩnh: 20

2.3.4.1.2 Phương pháp phạt động: 21

2.3.4.1.3 Phương pháp phạt tôi luyện: 21

2.3.4.1.4 Phương pháp phạt thích nghi: 22

2.3.4.1.5 Phương pháp phạt chết 23

2.3.5 Khắc phục 23

2.3.6 Đa mục tiêu 24

2.3.7 Thay đổi toán tử di truyền 24

2.3.8 Phát biểu bài toán theo cách khác 24

2.3.9 Kết hợp GA với các heuristic (Hybridization) 26

CHƯƠNG 3: CHƯƠNG TRÌNH MINH HỌA THUẬT TOÁN DI TRUYỀN 27

3.1 Giao diện chương trình 27

3.2 Hướng dẫn tóm tắt 27

3.3 Nội dung thuật giải di chuyền sử dụng trong chương trình 28

3.4 Nội dung chương trình demo 29

Trang 6

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1 Lý do chọn đề tài

Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho các bài toán là vấn

đề được các nhà khoa học máy tính đặc biệt rất quan tâm Mục đích chính của cácthuật toán tìm kiếm lời giải là tìm ra lời giải tối ưu nhất cho bài toán trong thời giannhỏ nhất Các thuật toán như tìm kiếm như vét cạn sử dụng phương pháp đơn giảnnhất và trực quan nhất hoặc các thuật toán tìm kiếm sử dụng heurictics để áp dụngcác tri thức về cấu trúc của không gian tìm kiếm nhằm giảm thời gian cần thiết choviệc tìm kiếm được sử dụng nhiều nhưng chỉ với không gian tìm kiếm nhỏ và khônghiệu quả khi tìm kiếm trong không gian tìm kiếm lớn

Trong thực tiễn có rất nhiều bài toán tối ưu với không gian tìm kiếm rất lớn cầnphải giải quyết Vì vậy, đòi hỏi thuật giải chất lượng cao và sử dụng kỹ thuật trí tuệnhân tạo đặc biệt rất cần thiết khi giải quyết các bài toán có không gian tìm kiếmlớn Thuật giải di truyền (genetic algorithm) là một trong những kỹ thuật tìm kiếmlời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng

Ngày nay, GA được ứng dụng khá nhiều trong các lĩnh vực như khoa học, kinhdoanh và giải trí Đầu tiên phải kể đến là các bài toán tối ưu bao gồm tối ưu số vàtối ưu tổ hợp như bài toán người du lịch Tiếp theo là thiết kế và điều kiển robot,nhằm giúp con người tiết kiệm sức lao động và giải phóng con người thoát khỏi cáccông việc nguy hiểm Ngoài phần cơ, để robot có thể tiến hành các hoạt động đơngiản nhất như đi, đứng… thì cần phải trang bị chương trình được lập trình dựa trêncác thuật toán và ngôn ngữ thích hợp Nhờ vào lịch trình được cài đặt cùng với mộttrí tuệ nhân tạo…, robot có thể định hướng thực hiện các hoạt động như con người.Tuy nhiên, việc tìm kiếm lời giải tốt nhất cho các hành động của robot không phải

là đơn giản Theo các nhà khoa học máy tính, thuật giải di truyền là một trongnhững thuật toán tối ưu giúp robo vạch lộ trình khi di chuyển Với những lý do trên,tác giả chọn đề tài: “Thuật giải di truyền và Ứng dụng”

1.2 Đối tượng nghiên cứu

Trang 7

1.3 Giải pháp công nghệ

Ngôn ngữ HTML5+JavaScript

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ THUẬT GIẢI DI TRUYỀN (GA)

2.1 Biểu diễn trong thuật giải di truyền

Có hai phương pháp biểu diễn cơ bản: biểu diễn nhị phân và biểu diễn dấu phẩy động

2.1.1 Biểu diễn nhị phân

Mỗi lời giải được hiểu là một véc tơ nhiễm sắc thể, mỗi phần tử (mỗi biến) củavectơ nhiễm sắc thể ñược mã hoá nhờ một số lượng bit nào đó (0,1)

- Độ chính xác của phương pháp này tùy thuộc vào số lượng bit thực sự dùng và bằng (UB-LB)/(2n - 1), UB, LB là cận trên và cận dưới của miền giá trị và n là số lượng bit một phần tử của nhiễm sắc thể

- Cách biểu diễn này có nhược điểm là:

+ Độ chính xác không cao (các phần tử được truy nhập là những số nguyên) + Muốn tăng độ chính xác phải tăng số lượng bit biểu diễn nhưng điều này sẽlàm chậm thuật toán

+ Biểu diễn nhị phân mất tính chính xác khi tăng kích cỡ miền, vì chiều dàinhị phân cho trước là cố định

Để khắc phục những nhược điểm này, người ta đưa ra các biểu diễn mới gọi làbiểu diễn dấu phẩy động

2.1.2 Biểu diễn dấu phẩy động

Mỗi vectơ nhiễm sắc thể được mã hoá là một vector số dấu phẩy động với cùngchiều dài của véctơ lời giải Mỗi phần tử thuộc một miền xác định và các toán tửđược thiết kế để bảo đảm yêu cầu này

Độ chính xác của phương pháp tuỳ thuộc vào khả năng của máy (số chữ sốthập phân sau dấu phẩy) do vậy tốt hơn so với biểu diễn nhị phân

Biểu diễn dấu phẩy động (Floating point representation, FP) có khả năng biểudiễn được các miền rộng lớn Hơn nữa, với biểu diễn FP, có thể dễ dàng thiết kế cáccông cụ đặc biệt để biểu thị những ràng buộc không tầm thường

Trang 8

2.2 Nội dung của GA

2.2.1 Khởi tạo quần thể ban đầu (Initial population)

Hai vấn đề quan trọng trong khởi tạo quần thể ban đầu là: kích thước quần thể và phương pháp khởi tạo

2.1.1.1 Kích thước quần thể

- Kích thước quần thể là 1 tham số quan trọng và ảnh hưởng đến hiệu năng củathuật toán Nó phụ thuộc vào sự phức tạp của bài toán và chiều dài nhiễm sắc thể

- Kích thước quần thể lớn thì rất tốt nhưng cần nhiều chi phí tính toán và bộ nhớ

- Trong thực tế, chúng ta cần phải cân bằng giữa chi phí tính toán và độ tối ưu của lời giải

- Theo nhiều kết quả nghiên cứu, thông thường kích thước quần thể nằm trong khoảng 25 – 100 Tuy nhiên đối với một số bài toán kích thước quần thể có thể lên tới hơn 1.000

2.1.1.2 Phương pháp khởi tạo

- Quần thể ban đầu phải có nguồn gen (gene pool) đủ lớn để có thể khám phátoàn bộ không gian lời giải Và quần thể ban đầu cũng cần phải có tính đa dạng (đadạng tức là nhiễm sắc thể các cá thể trong quẩn thể khác biệt nhau càng nhiều càngtốt) Vì nếu quần thể không đủ đa dạng thì GAs chỉ khám phá được 1 phần khônggian lời giải và có thể không tìm thấy được lời giải tối ưu toàn cục

- Để đạt được điều này thì phương pháp khởi tạo thường sử dụng là khởi tạongẫu nhiên Tuy vậy, chúng ta có thể sử dụng heuristic nhằm tăng độ thích nghitrung bình của quần thể để tìm ra lời giải tốt nhanh hơn

2.2.2 Điều kiện dừng

Các thuật toán tìm kiếm lân cận sẽ dừng khi tìm thấy kết quả tối ưu cục bộ Khácvới tìm kiếm lân cận, GAs là phương pháp tìm kiếm ngẫu nhiên mà trên nguyên tắcthì sẽ chạy mãi không dừng Vì vậy, ta phải đưa ra điều kiện dừng cho thuật toán.Điều kiện dừng rất đa dạng:

Trang 9

+ Độ thích nghi của quần thể

+ Hoặc kết hợp nhiều điền kiện với nhau

2.2.3 Điều kiện lai tạo

- Holland cho rằng việc lai ghép nên luôn luôn được sử dụng nhưng thực tế thìkhông có lý do nào cho rằng điều đó là bắt buộc Chúng ta có thể thực hiện lai ghép rồi đột biến hoặc chỉ cần một trong hai, hoặc không có cái nào được áp dụng hết

- Vì thế, chúng ta sẽ sử dụng xác suất lai và xác suất đột biến để việc lai ghép vàđột biến xảy ra 1 cách ngẫu nhiên

- Xác suất lai là xác suất mà lai ghép sẽ xảy ra Lai ghép sẽ tạo ra cá thể mớibằng cách kết hợp 2 cá thể cha mẹ Xác suất lai thường là cao và độc lập với ứngdụng Nhiều nghiên cứu cho rằng xác suất lai khoảng 0.6 – 0.95

- Xác suất đột biến là xác suất mà đột biến sẽ xảy ra Đột biến nhằm tạo thông tinmới cho cá thể, ngăn quần thể có độ thích nghi gần bằng nhau Đột biến cao sẽ tăngtính đa dạng của quần thể Xác suất đột biến cũng độc lập với ứng dụng Đối vớihầu hết các ứng dụng, xác suất đột biến khoảng 0,001 – 0,1

- Theo Davis, tỷ lệ lai ghép và đột biến tại mỗi thời điểm thì khác nhau, nó tuỳthuộc vào quá trình phát triển của quần thể Ông ấy cho rằng tỷ lệ lai ghép cao lúcban đầu, tỷ lệ đột biến cao khi quần thể hội tụ

2.2.3.1 Chọn lọc

Chọn lọc là quá trình loại bỏ các cá thể xấu, chỉ giữ lại những cá thể tốt, có độ thích nghi cao.Chọn lọc có 2 hướng tiếp cận:

2.2.3.1.1 Dựa trên tỷ lệ (Proportionate-based selection)

- Chọn lọc dựa trên tỷ lệ là chọn ra các cá thể dựa trên giá trị thích nghi củachúng so với các cá thể khác trong quần thể

- Cá thể tốt hơn sẽ có cơ hội được chọn cao hơn

- Xác suất 1 cá thể được chọn là: 1

i N j j

F F

Trang 10

Trong đó: 𝐹I là giá trị thích nghi của cá thể thứ i 1

N j j

- Hai vấn đề đối với chọn lọc dựa trên tỷ lệ:

+ Hội tụ sớm: Một cá thể có giá trị thích nghi rất cao trong khi các cá thể còn lại có giá trị thích nghi rất thấp -> quần thể sẽ hội tụ sớm tới cực trị địa phương.+ Nếu giá trị thích nghi của các cá thể trong quần thể là gần nhau thì việc chọnlọc sẽ không có ý nghĩa Ví dụ: Giá trị thích nghi của quần thể trong khoảng

[990, 1.000] thì xác suất chọn cá thể tốt hoặc xấu cũng gần bằng nhau

- Hai phương pháp thường dùng:

a Roulette wheel

- Chọn lọc Roulette là 1 kỹ thuật thường dùng trong quá trình chọn lọc Mỗi cáthể được gán vào 1 phần của vòng xoay Roulette Mỗi lần quay chọn được 1 cá thể

- Thuật giải chọn lọc roulette như sau:

+ Tính tổng giá trị thích nghi của tất cả thành viên trong quần thể và gọi nó làtổng độ thích nghi (total fitness)

+ Phát sinh một số n là số ngẫu nhiên trong khoảng từ 0 đến tổng thích nghi.+ Trả lại thành viên quần thể đầu tiên mà độ thích nghi của nó cộng với độthích nghi của các thành viên tập hợp trước đó lớn hơn hay bằng n

Ví dụ: Ta có các cá thể (NST: nhiễm sắc thể) sau:

Trang 11

b Stochastic Universal Sampling (SUS)

- Khác với chọn lọc Roulette wheel, mỗi lần chọn lọc SUS sẽ chọn m cá thể nên chi phí sẽ thấp hơn so với Roulette wheel

- Thuật giải: chia vòng tròn thành m phần bằng nhau và đánh dấu m điểm trên vòng

tròn Chọn 1 số ngẫu nhiên r từ [0, 1/m] Xoay m điểm 1 đoạn r, m điểm đó đánh dấu vào cá thể nào thì cá thể đó được chọn

Ví dụ: m = 4, chọn số ngẫu nhiên r trong khoảng [0, 0.25] r = 0.2 (20%)

Các cá thể được chọn là: 1, 2 , 3 và 6

Cách biểu diễn khác trên đoạn thẳng: m=5, r = 0.15, sau khi đánh dấu 5 điểm trên đoạn thẳng (5 mũi tên), ta sẽ tịnh tiến 5 điểm này 1 đoạn r=0.15

Trang 12

- Phương pháp này sẽ duy trì tính đa dạng của quần thể và kết quả sẽ hội tụchậm.

b Chọn lọc cạnh tranh (Tournament Selection)

- Chọn lọc cạnh tranh là 1 trong những phương pháp chọn lọc phổ biến trongthuật giải di truyền

- Phương pháp này sẽ chọn ngẫu nhiên 1 nhóm con gồm k cá thể từ quẩn thể vàcác thành viên trong nhóm này sẽ cạnh tranh với nhau Cá thể được chọn là cá thể

Trang 13

c Chọn lọc cắt tỉa (Truncation selection)

- Đầu vào là tham số t 𝜖 [0, 1] là tỷ lệ các cá thể tốt nhất trong quần thể sẽ đượcdùng chọn lọc và phần còn lại sẽ bị loại bỏ Ví dụ: t=0.25 nghĩa là 25% cá thể tốtnhất trong quần thể sẽ được chọn lọc

- Sau khi đã giữ lại các cá thể tốt nhất, ta thực hiện việc chọn lọc Có thể chọnngẫu nhiên (random N lần) hoặc nhân bản toàn bộ số cá thể tốt nhất lên (ví dụ:t=0.25, x4 lần cá thể tốt nhất) cho đủ kích thước quần thể

b Phép lai nhiều điểm

Nghiên cứu đầu tiên và toàn diện về lai nhiều điểm được thực hiện bởi Eshelman

Trang 14

qua việc kiểm tra xu hướng ảnh hưởng của lai một điểm truyền thống và xem xétphạm vi của các lựa chọn thay thế Luận cứ trung tâm là nguồn gốc của hai xuhướng về sự tồn tại được khai thác trong giải thuật di truyền Đó là xu hướng về

vị trí và xu hướng về phân bố Phép lai đơn giản (1X) có xu hướng đáng kể về vịtrí khi nó thiên vị cho chuỗi con các bit kề nhau nhưng chúng ta không thể chắcchắn xu hướng này thiên về các giải pháp tốt

Mặt khác, phép lai đơn giản lại không có xu hướng về phân bố khi điểm lai đượclựa chọn ngẫu nhiên bằng cách sử dụng phân bố đồng đều Điều này đã giới hạn sựtrao đổi thông tin giữa các cha mẹ Để thay đổi những xu hướng này, phương pháplai nhiều điểm đã được nghiên cứu và thực nghiệm cho thấy lai một điểm khôngphải là lựa chọn tốt nhất Mặc dù không thực sự rõ ràng nhưng toán tử lai 8 điểmđược xem là tốt nhất về mặt số lượng các hàm đánh giá cần thiết để đạt được tối ưutoàn cục

là phép nhân và phép cộng các thành phần thứ tự

Ví dụ: Cho 2 cá thể cha mẹ là: a = (a1, a2, a3, a4, a5, a6) và b = (b1, b2, b3, b4, b5, b6).Với mặt nạ m = 1 1 1 0 0 1

m  a = {a1, a2, a3, 0, 0, a6}; m b = {0, 0, 0, b4, b5, 0}

Cá thể con của a và b là: O = m  a  m b = (a1, a2, a3, b4, b5, a6)

Trang 15

a Phép lai phi tuyến tính

Khi xử lý với các chuỗi nhị phân, ta xem phép lai như một toán tử tuyến tính.Tuy nhiên, khi biểu diễn là không tuyến tính thì phép lai phải được giải thích lại.Một trong những vấn đề thường xuyên xảy ra nhất là khi mà không gian giải pháp làkhông gian của các hoán vị πl, ví dụ về vấn đề này bao gồm nhiều bài toán lập kếhoạch, và bài toán người du lịch (TSP) là một trong số đó

Ví dụ: ứng dụng phép lai đơn giản 1X trong trường hợp sau đây sinh ra một giảipháp không khả thi:

Nếu giải pháp này đại diện cho một TSP thì con đầu tiên của phép lai sẽ đếnthăm thành phố 1 và 6 hai lần mà không bao giờ đến thành phố 3 và 4, còn con thứhai sẽ đến thăm thành phố 3 và 4 hai lần mà không bao giờ đến thành phố 1 và 6.Chúng ta có thể dễ dàng nhận thấy kiểu hành vi này là theo nguyên tắc chứ khôngphải là một ngoại lệ Do đó, chúng ta cần một giải pháp thông minh hơn để giảiquyết các vấn đề như vậy

b Phép lai đối sánh một phần

Một trong những ý tưởng đầu tiên cho các vấn đề vừa nêu ở trên là toán tử PMX(partially matched crossover - phép lai đối sánh một phần) Với l là chiều dài củachuỗi nhiếm sắc thể, hai điểm lai được chọn một cách ngẫu nhiên giữa 1 và l − 1.Phần giữa các điểm này định nghĩa một ánh xạ trao đổi

Ví dụ:

+ 2 nhiễm sắc thể cha mẹ ban đầu: P1: 1 6 3 4 7 5 2 và P2: 4 3 1 2 6 5 7

+ Chọn 2 điểm ngẫu nhiên từ 1->7: 2, 5

T1: 1 6 1 2 6 5 2

T2: 4 3 3 4 7 5 7

+ Định nghĩa một ánh xạ trao đổi 3 1; 6  7; 2  4

+ Hai nhiễm sắc thể con: O1: 3 7 1 4 6 5 2 và O2: 2 1 3 4 7 5 6

c Phép lai phi tuyến tính sử dụng mặt nạ

Ví dụ:

Trang 16

+ 2 nhiễm sắc thể cha mẹ ban đầu: P1: 1 6 3 4 7 5 2 và P2: 4 3 1 2 6 5 7

+ Chọn một mặt nạ: 1 0 1 0 0 1 0

+ Nhiễm sắc thể con: O1: 1 4 3 2 6 5 7 và O2: 4 6 1 3 7 5 2

2.2.4.2.3 Phép lai tổng quát nhiều điểm

Trong thực tế, TSP chỉ là một trong lớp các vấn đề lớn mà việc lựa chọn tập con

là chìa khóa chứ không phải là sự kết hợp tuyến tính của các chuỗi Radcliffe đãphân tích vấn đề này rất kỹ lưỡng trong một loạt các bài báo Cuốn sách củaFalkenauer cũng bao gồm một số ví dụ về điều này

Vấn đề cần các hình thức khác nhau của phép lai cho những biểu diễn khácnhau đã dẫn dắt Radcliffe và Surry đến việc đề xuất ra một hình thức tổng quát củaphép lai (GNX) phù hợp với bất kỳ biểu diễn nào Nó được mô tả bằng đoạn mãgiải sau:

Chọn số ngẫu nhiên n  [1, l-1]

Chọn 𝒏 điểm lai

Tạo thứ tự đoạn lai ngẫu nhiên 

Gọi 1 cá thể cha mẹ để copy

+ Chọn 2 vị trí lai ngẫu nhiên là 2 và 5

+ Thứ tự đoạn lai ngẫu nhiên 𝛔 = (1,3,2)

Trang 17

+ Thay đổi cá thể cha mẹ P2 bằng P1 để copy:

+ Cuối cùng, alen 2 là sự phân công hợp lệ duy nhất có thể, vì vậy con của phép lai sẽ là:

- Định nghĩa của alen "tương thích" hay "hợp lệ" có thể vẫn là một vấn đề đặctrưng, vì vậy điều này có thể là quá phức tạp và không cần thiết, tất nhiên, các phiênbản chuẩn của phép lai được đưa ra như là các trường hợp đặc biệt Tuy nhiên, điềuthuận lợi của phép lai này là cùng một khung chương trình được áp dụng nên cácalen có thể là cạnh thay vì là các thành phố Sử dụng biểu diễn tập cạnh này cónghĩa là chúng ta chỉ có hai tập các cạnh, mà có thể được đặt theo bất kỳ thứ tự nào.Tuy nhiên, để có thể so sánh một cách rõ ràng, chúng ta sẽ duy trì thứ tự được sửdụng ở trên cho biểu diễn ‘alen = thành phố'

Sử dụng GNX với các thông số tương tự, hai bước con đầu tiên là như sau:

Tại bước thứ ba, chỉ có cạnh 3-4 trong P1 là hợp lệ, rõ ràng các cạnh 4-7 và 7-5 không thể được sử dụng lại một lần nữa vì chúng sẽ tạo ra vòng lặp Trong thực tế, chỉ có các alen hợp lệ còn lại trong cả hai cha mẹ là 5-2 và 2-1, vì vậy các bước cuối cùng sẽ sinh ra

Trang 18

Điều này có thể dễ dàng được biểu diễn như là một chuỗi bit, vì vậy chúng ta tạo ramột mặt nạ như sau: 0 1 0 0 0 1 0

- Bằng cách sử dụng một phân phối Bernoulli, tức là, ở mỗi vị trí có một xác xuấtnhỏ μ của việc đột biến xảy ra (được chỉ định trong mặt nạ bởi số 1) Ví dụ trên do

đó sẽ hàm ý rằng các gen thứ 2 và thứ 6 sẽ được gán giá trị alen mới

2.2.5.2.3 Đột biến đảo ngược

- Chọn 2 vị trí ngẫu nhiên và nghịch đảo chuỗi nằm giữa hai vị trí đó

- Ví dụ:

+ Cá thể ban đầu: p = 1 0 1 0 1 1 1

+ Vị trí chọn là 2, 5

+ Cá thể sau đột biến: O = 1 1 0 1 0 1 1

2.2.5.2.4 Đột biến thay thế

- Chọn ngẫu nhiên một chuỗi con và chèn nó vào một vị trí ngẫu nhiên

- Ví dụ:

Ngày đăng: 24/05/2015, 09:21

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

🧩 Sản phẩm bạn có thể quan tâm

w