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

Phân tích ảnh hưởng của các kỹ thuật mã hóa cây đối với giải thuật di truyền giải bài toán cây khung với chi phí lộ trình nhỏ nhất

86 28 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 86
Dung lượng 0,92 MB

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 phương pháp giải gần đúng thường dùng là : các thuật toán xấp xỉ approximation schemes, tìm kiếm cục bộ local search, các phương pháp xác suất probabilistic methods, tính toán tiến h

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

- Nguyễn Thị Thúy Quỳnh

PHÂN TÍCH ẢNH HƯỞNG CỦA CÁC KỸ THUẬT MÃ HÓA CÂY ĐỐI VỚI GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN CÂY KHUNG VỚI CHI

Trang 2

2

LỜI CẢM ƠN

Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc và em xin gửi lời cảm ơn tới

thầy giáo PGS.TS.Nguyễn Đức Nghĩa người đã hướng dẫn em tận tình trong suốt

quá trình làm luận văn

Em xin bày tỏ lòng biết ơn tới các Thầy giáo, Cô giáo trong Viện Công Nghệ Thông Tin – Truyền Thông, trường Đại học Bách Khoa Hà Nội Các thầy cô đã chỉ dẫn và luôn tạo điều kiện tốt nhất cho em trong suốt thời gian học tập và nghiên cứu tại trường

Em xin chân thành cảm ơn các bạn đồng nghiệp, các bạn cùng lớp cao học

2009 đã cho những ý kiến đóng góp giá trị cho khóa luận này

Hà Nội, ngày 10 tháng 09 năm 2011

Nguyễn Thị Thúy Quỳnh

Trang 5

5

Danh mục các chữ viết tắt, các thuật ngữ tiếng Anh

2 Hybrid Genetic algorithm HGA Thuật toán di truyền lai

3 Polynomial time approximation

Trang 6

Bảng 4.3: Kích thước đồ thị và kích thước quần thể trong các đồ thị không đồng

nhất có các cạnh được phân bố đềuU 73

3

Bảng 4.4: Kích thước đồ thị và kích thước quần thể trong các đồ thị bất đối xứngU 75

3

Bảng 4.5: Kết quả sử dụng giải thuật HGA chạy các bộ test với đồ thị tổng quát so

s ánh với thuật toán xấp xỉ của Wong và giải thuật bầy kiến sử dụng thuật toán MMASU 76

3

Bảng 4.6: Kết quả sử dụng giải thuật HGA chạy các bộ test với đồ thị đồng nhất và

gần đồng nhất so sánh với thuật toán xấp xỉ của Wong và giải thuật bầy kiến sử dụng thuật toán MMASU 77

3

Bảng 4.7: Kết quả sử dụng giải thuật HGA chạy các bộ test với đồ thị có các cạnh

phân bố đều so sánh với thuật toán xấp xỉ của Wong và giải thuật bầy kiến

sử dụng thuật toán MMASU 78

3

Bảng 4.8: Kết quả sử dụng giải thuật HGA chạy các bộ test với đồ thị bất đối xứng

so s ánh với thuật toán xấp xỉ của Wong và giải thuật bầy kiến sử dụng thuật toán MMASU 79

Trang 9

9

L ỜI MỞ ĐẦU

Việc phát triển các thuật toán hiệu quả để giải các bài toán NP – khó (NP–hard) luôn là một vấn đề được quan tâm của nhiều nhà khoa học nghiên cứu về máy tính Bởi vì các bài toán thuộc lớp NP – khó thường có rất nhiều ứng dụng trong thực tiễn Đối với các bài toán này thì việc phát triển một thuật toán giải chính xác thường không hiệu quả do độ phức tăng rất nhanh khi kích thước bài toán tăng Do

đó hiện nay người ta thường sử dụng cách tiếp cận giải gần đúng Các phương pháp giải gần đúng thường dùng là : các thuật toán xấp xỉ (approximation schemes), tìm kiếm cục bộ (local search), các phương pháp xác suất (probabilistic methods), tính toán tiến hóa (evolutionary computation), thuật toán di truyền (genetic algorithm),…

Nội dung của luận văn này tập trung vào phân tích ảnh hưởng của các kỹ thuật

mã hóa đối với giải thuật di truyền và xây dựng thuật toán di truyền lai để giải bài toán cây khung truyền thông với chi phí lộ trình nhỏ nhất (Minimum Routing Cost Spanning Trees-MRCT), một trong những bài toán trên đồ thị thuộc lớp NP-khó có nhiều ứng dụng trong thực tế như xây dựng các hệ thống mạng nhằm tối ưu chi phí đường đi trung bình giữa các nút mạng, đặc biệt là ở các mạng ngang hàng khi các nút có xác suất truyền tin, độ ưu tiên là như nhau

Thuật toán đề xuất đã được chạy thử nghiệm trên các bộ dữ liệu ngẫu nhiên của các đồ thị đặc trưng để đánh giá các thuật toán giải bài toán MRCT Kết quả thực nghiệm cho thấy các kỹ thuật mã hóa có ảnh hưởng lớn đến kết quả của thuật toán khi so sánh với một số thuật toán đã có

Nội dung của luận văn được bố cục như sau :

Chương 1 trình bày tổng quan về bài toán cây khung với chi phí lộ trình nhỏ

nhất và các hướng tiếp cận đã được đề xuất để giải quyết bài toán

Chương 2 trình bày tổng quan về giải thuật di truyền

Chương 3 trình bày các kỹ thuật mã hóa cây và giải thuật di truyền lai đề xuất

dựa trên giải thuật di truyền chuẩn kết hợp với giải thuật tối ưu hóa bày đàn nhằm mục đích giải bài toán cây khung với chi phí lộ trình nhỏ nhất

Trang 10

10

Chương 4 trình bày kết quả thực nghiệm thu được khi sử dụng các kỹ thuật

mã hóa đối với giải thuật di truyền lai đề xuất để giải bài toán cây khung với chi phí

lộ trình nhỏ nhất và phân tích ảnh hưởng của các kỹ thuật mã hóa Giải thuật được thực hiện trên năm loại mã hóa cây khung và ba loại đồ thị đặc trưng cơ bản nhằm

so sánh hiệu quả với các giải thuật đã được đề xuất

Kết luận và hướng phát triển

Phần kết luận chung đánh giá tổng quan lại những kết quả đã thực hiện được trong luận văn, những hạn chế của luận văn và một số vấn đề mở cần tiếp tục giải quyết sau này

Trang 11

11

CHƯƠNG 1 BÀI TOÁN CÂY KHUNG VỚI CHI PHÍ LỘ TRÌNH NHỎ NHẤT

1.1 Giới thiệu bài toán cây khung với chi phí lộ trình nhỏ nhất

Bài toán cây khung với chi phí lộ trình nhỏ nhất (Minimum Routing Cost Spanning Tree - MRCT) còn có tên khác là Shortest Total Path Length Spanning Tree thuộc lớp NP-khó Đối với bài toán MRCT, số lượng và vị trí các nút mạng

được đưa ra theo thứ tự ưu tiên và giá của cây được xác định bởi giá của các liên kết Lưu lượng của một liên kết là tổng của tất cả các yêu cầu truyền thông giữa tất cả các cặp nút truyền trực tiếp hay gián tiếp qua liên kết đó Mục đích của chúng ta là tìm ra cây khung của đồ thị với tổng độ dài đường đi giữa mọi cặp đỉnh trên cây khung là cực tiểu Độ dài đường đi giữa 2 đỉnh được tính bằng tổng trọng số của các cạnh trên đường đi nối giữa 2 đỉnh này với nhau Xây dựng cây khung chi phí lộ trình nhỏ nhất cũng tương đương với việc xây dựng cây khung sao cho độ dài trung bình giữa mọi cặp đỉnh là nhỏ nhất

Bài toán được phát biểu như sau:

Cho G là một đơn đồ thị vô hướng liên thông có trọng số là độ trễ (chí phí)

không âm Mục tiêu của bài toán là tìm cây khung T là một cây khung nào đó của G

sao cho độ trễ trung bình của tất cả các mối liên lạc giữa tất cả các cặp đỉnh trên cây

là nhỏ nhất Ma trận khoảng cách dRuvR xác định trọng số khoảng cách giữa các cặp

đỉnh, trong đó chi phí lộ trình của một cặp đỉnh (u,v) ký hiệu là dRTR(u,v) là tổng trọng

số trên tất cả các cạnh của đường đi trên cây T nối đỉnh u với đỉnh v Ta gọi chi phí

lộ trình (Routing cost) của cây khung T ký hiệu là C(T) là tổng các chi phí lộ trình

giữa mọi cặp đỉnh thuộc cây T được tính theo công thức sau:

,( ) u v T( , )

trong đó dRTR(u,v) được tính toán theo cấu trúc cây T T là cây khung với chi phí

lộ trình nhỏ nhất nếu c(T) c(T' ) với T' là cây khung bất kì

Bài toán MRCT là bài toán thuộc lớp NP-Khó Một số nhận xét về bài toán MRCT như sau:

Trang 12

12

• Bài toán MRCT trên đồ thị tổng quát là tương đương với bài toán MRCT trên đồ thị trong không gian metric

• Tồn tại thuật toán xấp xỉ với tỉ lệ 1.577 để giải MRCT trong trường hợp đồ

thị tổng quát với độ phức tạp thời gian tính cỡ 𝑂𝑂(𝑛𝑛4)

• Cây khung k-star là cây khung mà có tối đa k nút trong Cây khung định

tuyến k-star nhỏ nhất (minimum routing cost k-star) là một lời giải xấp xỉ

𝑘𝑘+3

𝑘𝑘+1 cho bài toán MRCT

• Với giá trị k cho trước cây khung định tuyến k-star nhỏ nhất trên không gian metric có thể tìm được trong thời gian đa thức

A

B

C

D E

I

G E

Trang 13

13

Ví dụ 1: Cho cây khung T như hình vẽ sau:

Hình 1.3: Cây khung 2-star

Theo công thức (1), ta có :

dRTR(vR1R,vR2R) + dRTR(vR1R,vR3R) + dRTR(vR1R,vR4R) + dRTR(vR1R,vR5R) + dRTR(vR2R,vR3R) + dRTR(vR2R,vR4R) +

dRTR(vR2R,vR5R) + dRTR(vR3R,vR4R) + dRTR(vR3R,vR5R) + dRTR(vR4R,vR5R) = 98

Do dRTR(vRiR,vRjR) = dRTR(vRjR,vRiR), nên C(T) = 98 x 2 = 196

Bài toán MRCT đặt ra là tìm một cây khung có chi phí lộ trình nhỏ nhất trong

tất cả các cây khung có thể có của G

Theo công thức của Cayley thì số cây khung của đồ thị n nút là nP

n-2

P

và có n cây hình sao trong số đó Khoảng cách giữa 2 cây TRiR và TRjR là dP

h

PijR ={0,1, ,n-2} được định nghĩa như sau:

0 ,

v

j uv i uv V

v

j uv i

PuvR=0 nếu ngược lại

Vậy số các liên kết giống nhau của cây TRiR và TRjR được tính bằng: n-1-½dP

h

Cũng giống như các bài toán cây khung có ràng buộc khác thì bài toán MRCT thuộc dạng NP-khó, chính xác là thuộc MAX SNP-khó có nghĩa là nó không thể được giải được trong thời gian xấp xỉ hàm mũ trừ khi P=NP

Để làm cơ sở tính toán cho bài toán MRCT, ta có định nghĩa sau:

Trang 14

14

Gọi SPR G R(u,v ) là đường đi ngắn nhất giữa hai đỉnh u và v trên đồ thị G Khi G

là một cây thì SPR G R(u,v ) là đường đi đơn duy nhất giữa hai đỉnh u và v Từ khái niệm

routing load ta có công thức tính Routing cost theo công thức (1) có thể viết như sau:

=

) ( ) , (

) , ( )).

, ( , ( )

(

T E v u

T u v d v u T l T

Ví dụ: cho đồ thị G với tất cả các cạnh có trọng số là 1 và 2 cây khung TR1R và

TR2Rcủa G Ta có C(TR1R)=116 và C(TR2R)=124 Khi đó cây TR1R là MRCT

Hình 1.4: Đồ thị G và routing cost của hai cây khung TR1R và TR2Rcủa G

Dựa vào công thức (1) trọng số của các cạnh là yếu tố quan trọng nhất để tính routing cost Mặt khác dựa vào công thức (2) ta thấy hình dạng (topology) của cây

cũng là yếu tố quyết định cho việc xây dựng cây khung nhỏ nhất Ví dụ cho TR1R là

cây chỉ có một nút trong (hình sao) với mỗi cạnh có trọng số là 5 và TR2R là đường thẳng với mỗi cạnh có trọng số là 1, giả sử cả hai cây là cây khung của một đồ thị

có n đỉnh Nếu xét tổng trọng số các cạnh (cây khung nhỏ nhất) cây TR2R tốt hơn cây

TR1R Mặt khác, nếu xét về routing cost cây TR1Rcó routing load của mỗi cạnh đều bằng

Trang 15

15

2(n-1 ) vì mỗi cạnh đều có một đỉnh lá do đó C(TR1R)=10(n-1)P

2

P

trong khi cây TR2R =(vR1R,

vR2R, , vRnR), xóa cạnh (vRiR, vRi+1R) sẽ cho hai thành phần gồm i và n-i đỉnh, nên routing load của các cạnh lần lượt là: 2(n-1), 2x2x(n-2), , 2xĩ(n-i), , 2(n-1) và C(TR2R) tính như sau:

C(TR2R)=

3

)1)(

1(3

)12)(

1()1()(

1 1

n n n

n i n i

n i

Cây TR1Rsẽ tốt hơn cây TR2Rnhiều khi n đủ lớn

Hình 1.5: Hai topology cây ảnh hưởng đến routing cost

1.2 Các thuật toán Meta-heuristics giải bài toán MRCT

Các thuật toán Metaheuristics có thể phân làm hai lớp: lớp thứ nhất bao gồm các thuật toán lặp lại quá trình tinh chỉnh một lời giải để tìm lời giải tốt hơn và lớp thứ hai bao gồm các thuật toán lặp lại quá trình tinh chỉnh một tập nhiều lời giải (một quần thể các lời giải) để tìm tập lời giải tốt hơn và khi quá trình kết thúc thì lời giải tốt nhất của quần thể ở thế hệ cuối cùng sẽ là lời giải cần tìm

Ở lớp thứ nhất có các thuật toán điển hình như: Thuật toán tham lam (Greedy), thuật toán tìm kiếm leo đồi (Hill Climbing Search), thuật toán tìm kiếm ưu tiên tối

ưu (Best First Search-BFS), thuật toán Tabu Search (Tabu Search - TS), thuật toán tìm kiếm cục bộ (Local Search), thuật toán tôi luyện thép (Simulated Annealing -

SA), thuật toán Đại hồng thủy(Great Deluge-GD),… Ở lớp thứ hai có các thuật toán điển hình như: Thuật toán di truyền (Genetic Algorithm - GA) , thuật toán Memetic (Memetic Algorithms - MA), thuật toán đàn kiến (Ant Colony Optimizationv- ACO), thuật toán tối ưu bầy đàn (Particle Swarm Optimization - PSO), thuật toán

Trang 16

16

tìm kiếm sự hòa hợp (Harmony Search – HS), thuật toán bầy Ong (Bees Algorithm

- BA), thuật toán Firefly Algorithm (FA), …

Ngoài họ các thuật toán Metaheuristic trên còn một số thuật toán xấp xỉ (Approximation Algorithms) được sử dụng trong việc giải quyết bài toán MRCT Gần đây Grout [8] đã xây dựng một thuật toán xấp xỉ dựa trên phương pháp

tham lam để giải bài toán MRCT gọi là thuật toán Add cho ra kết quả rất tốt trên các

đồ thị đồng nhất (tức là trọng số của các cạnh là như nhau) và có độ phức tạp tính toán thấp hơn so với thuật toán của Wong Tư tưởng chủ đạo của thuật toán này là dựa trên giả định rằng một cây khung sẽ có chi phí lộ trình thấp nếu nó có càng nhiều nút lá càng tốt Vì vậy thuật toán chủ yếu xoay quanh việc xây dựng cây khung với nhiều nút lá nhất có thể Mặc dù thuật toán không đưa ra được một đánh giá nào về cận dưới hay cận trên cho kết quả thu được nhưng khi áp dụng trong thực tiễn thì thuật toán cho ra kết quả khá tốt Khiếm khuyết của thuật toán này là đối với các đồ thị không đồng nhất, kết quả cho ra khá tồi

Dựa trên thuật toán Add của Grout, Campos và các cộng sự [9] gần đây đã phát triển thuật toán Campos cho ra kết quả tương đối tốt trên cả đồ thị đồng nhất

lẫn không đồng nhất Thuật toán này bên cạnh mô hình thuật toán Add còn áp dụng phân tích của Mieghem [10] rằng cây khung tối ưu thu được trong nhiều trường hợp

gần với cây khung có trọng số cực tiểu (Minimum Spanning Tree – MST) Đây cũng

là một trong những thuật toán xấp xỉ có độ phức tạp đa thức tốt nhất hiện nay và đảm bảo kết quả thu được có độ tốt tương đương với thuật toán của Wong

Bên cạnh các thuật toán xấp xỉ thì các thuật toán tìm kiếm tối ưu bằng giải thuật quay lui cũng đạt được những bước tiến đáng kể Matteo, Giuseppe và các cộng sự [11] đã đề ra phương pháp duyệt khá hiệu quả dựa trên mô hình quy hoạch

tuyến tính (linear programming) Họ đưa bài toán MRCT về dạng các phương trình tuyến tính cần tối ưu rồi thiết lập các hàm nhánh cận (LP shortcut) giúp giảm đáng

kể không gian tìm kiếm xuống

Trang 17

1 Cây được kết nối các đồ thị con với trọng số nhỏ nhất của các cạnh

2 Các thuật toán định tuyến trên một cây là rất đơn giản

MRCT là một cây khung truyền thông với chi phí nhỏ nhất khi các yêu cầu thông tin liên lạc cho tất cả các cặp đỉnh là bằng nhau Hoặc trong các mô hình ngẫu nhiên, một MRCT là một cây khung truyền thông với chi phí nhỏ nhất nếu yêu cầu giữa giữa bất kỳ cặp đỉnh nào cũng có xác suất bằng nhau

1.3.2 Trong tin sinh học

Bên cạnh những ứng dụng3để3 3thiết kế mạng3, cây khung với chi phí nhỏ nhất cũng được á3p dụng trong3 3việc xây dựng một trình tự sắp xếp gen tốt nhất

Trang 18

18

CHƯƠNG 2 THUẬT TOÁN DI TRUYỀN

2.1 Các khái niệm cơ bản

2.1.1 Cấu trúc cây- kiểu hình

Các cấu trúc cây mà ta cần lưu ý là:

- Cây dạng sao

- Cây dạng danh sách

- Cây bất kì

a) Cây hình sao b ) Cây dạng danh sách c) Cây bất kì

Hình 2.1: Các dạng cấu trúc của cây

Trong cả 3 trường hợp thì tổng bậc của tất cả các nút trong mạng là:

) 1 n ( 2 ) i deg(

2.1.1.1 Cây hình sao (Star tree)

U

Khái niệm:UCây hình sao là một cây có một đỉnh là trung tâm và các đỉnh còn lại được nối với đỉnh này

Trang 19

19

Hình 2.2: Cây hình sao

Ở cây dạng sao, 1 nút sẽ có đường liên kết với tất cả các nút còn lại Nút đó

được gọi là nút gốc và có bậc là n-1, các nút còn lại có bậc là 1

Cây hình sao T có n đỉnh có các tính chất sau:

+ Đỉnh trung tâm có bậc bằng n-1, các đỉnh còn lại là các lá

+ Từ n điểm cho trước có thể xây dựng được đúng n cây hình sao khác nhau Trong n cây hình sao này, lần lượt các đỉnh là đỉnh trung tâm

+ Nếu loại bỏ một cạnh khỏi cây T thì thu được một đỉnh biệt lập và một cây hình sao T’ có n-1 đỉnh

+ Nếu loại bỏ một lá và cạnh liên thuộc với đỉnh đó khỏi cây T thì thu được một cây hình sao T’ có n-1 đỉnh

+ Nếu loại bỏ đỉnh trung tâm và n-1 cạnh liên thuộc với nó khỏi cây T thì thu được n-1 đỉnh đôi một biệt lập

Như vậy, với mạng có n nút sẽ có n cây dạng sao có thể Khi 1 nút (ngoại trừ

nút gốc) hay 1 đường liên kết bị lỗi thì sẽ ko bị ảnh hưởng đến các nút khác Tuy nhiên nếu nút gốc bị lỗi thì toàn bộ mạng sẽ không hoạt động được

2.1.1.2 Cây d ạng danh sách (List tree)

U

Khái niệm:UCây dạng danh sách là một cây có đúng hai lá

Trang 20

20

Hình 2.3: Cây dạng danh sách

Ở cây dạng danh sách, 2 nút có bậc 1(nút lá) và tất cả các nút còn lại có bậc

là 2

Cây dạng danh sách T có n đỉnh có các tính chất sau:

+ Ngoài hai đỉnh lá, n-2 đỉnh còn lại đều có bậc bằng hai

+ Từ n điểm cho trước có thể xây dựng được đúng (n!)/2 cây dạng danh sách

khác nhau

+ Nếu một trong hai đỉnh lá và cạnh liên thuộc với đỉnh đó bị loại bỏ khỏi cây

thì thu được một cây dạng danh sách T’ có n-1 đỉnh

+ Nếu một trong n-2 đỉnh không phải là lá cùng hai cạnh liên thuộc với đỉnh

đó bị loại bỏ khỏi cây thì thu được hai cây dạng danh sách không có đỉnh chung

Như vậy, với mạng có n nút số lượng cây danh sách có thể xây dựng được là

(n!)/2 Nếu 1 nút bị lỗi thì nó sẽ phân chia thành 2 cây danh sách con

2.1.1.3 Cây bất kỳ

Cây bất kì là cây không có điều gì đặc biệt ngoại trừ nó là 1 cây Bậc của các

nút trong cây có thể là 1 đến n-1

2.1.1.4 Khái niệm cây khung của đồ thị

Cho đơn đồ thị vô hướng liên thông G = (V,E) Cây T = (V,F) với F ⊆ E được gọi là cây khung của đồ thị G

Trang 21

21

Hình 2.4: Cây khung của đồ thị

2.1.1.5 Bài toán cây khung nhỏ nhất

Cho đơn đồ thị vô hướng liên thông G = (V,E) và ma trận trọng số độ dài C = {c(u,v )} Với mỗi cây khung T của G, độ dài của cây khung T là tổng độ dài các cạnh của nó: c(T) = ∑ c(e) Bài toán đặt ra là trong số tất cả các cây khung của G

hãy tìm cây khung có độ dài nhỏ nhất

2.1.2 Kho ảng cách - hệ đơn vị met

Hệ đơn vị là rất quan trọng cho không gian kiểu gen và kiểu hình ΦRgR và ΦRp Rđể định nghĩa các thao tác như đột biến và lai tạo Ứng dụng của thao tác đột biến đối với kiểu gen có thể gây ra những thay đổi với khả năng nhỏ trong cá thể, và có thể tạo ra những giao tử có khoảng cách 1 cho kiểu gen và kiểu hình Thao tác kết hợp

để đảm bảo rằng giao tử kế thừa những cấu trúc con từ cha mẹ Trong thuật ngữ hệ met, khoảng cách giữa giao tử với cha mẹ chúng có sẽ nhỏ hơn khoảng cách giữa cha mẹ chúng

Khoảng cách Hamming giữa kiểu gen nhị phân xP

g i

g i y

,

x | x y |

d g g

Khoảng cách d đo số gen tương ứng khác nhau ở các cá thể Tương tự,

khoảng cách giữa 2 kiểu hình (các cây) được đo bằng khoảng cách dP

h

P

Khoảng cách

Trang 22

Để đơn giản, chúng ta định nghĩa khoảng cách dRi,jR ={0,1, n-1 } giữa 2 cây GRiR,

GRjRlà một nửa số lượng các đường liên kết khác nhau (dRi,jR=½dP

0 ,

|

| 2

1

|

| 2

u u

v

j uv i uv V

v

j uv i

Do đó, số lượng các đường liên kết giống nhau của 2 cây GRiR và GRjR có thể dễ

dàng tính theo công thức: n-1-dRi,jR Thao tác đột biến gây ra thay đổi 1 đường liên

kết, khoảng cách giữa cha mẹ và giao tử là dRparent,child R=1

2.1.3 Phân tích giản đồ

Bài toán là hoàn toàn dễ dàng nếu tất cả các giản đồ theo một thứ tự nào đó chứa cực tiểu có độ thích nghi cao hơn so với các đối thủ Bài toán sẽ là khó khăn nếu các giản đồ có chưa tối ưu toàn cục bị đánh giá thấp hơn so với một số đối thủ

Trang 23

Để có thể hình thành công thức cho giản đồ, ta sẽ gán nhãn cho tất cả các

đường liên kết có thể trong đồ thị {1,2, n(n-1)/2}

Do đó, một giản đồ sẽ là một chuỗi có độ dài l=n(n-1)/2 và vị trí thứ i sẽ xác

định ở đó có tồn tại một đường link hay không? 1 nếu đường liên kết đó tồn tại và 0 nếu ngược lại, * nếu chưa xác định được

Ví dụ:

Hình 2.8: Một số dạng giản đồ cho đồ thị trên Khi sử dụng giản đồ cho cây, có thêm ràng buộc là có chính xác n-1 đường liên kết và cây phải liên thông Do đó, xâu biểu biễn sẽ chỉ có n-1 kí tự và xâu đó

phải mã hoá 1 cây liên thông Điều này có nghĩa độ thích nghi trung bình của một giản đồ sẽ chỉ được tính ra từ cây mà nó biểu diễn Các ví dụ không phải là cây khác được biểu diễn bởi giản đồ sẽ không ảnh hưởng đến độ thích nghi giản đồ đó Như

vậy, mọi giản đồ có hơn n-1 số 1 hay hơn ½n(n-1)-(n-1) số 0 đều ko tồn tại bởi vì

nó mã hoá cây ko có nghĩa

Bằng cách phân tích giản đồ, độ phức tạp của một bài toán về mạng có thể dễ

dàng tính tóan nhờ vào thứ tự cao nhất của cách xây dựng khối k

Trang 24

24

2.1.4 Ki ểm tra khả năng "leo thang"

Một phương án tối ưu đựơc chọn ngẫu nhiên hoặc bằng tay Cấu trúc của

phương án tối ưu này có thể được xác định: nó có thể là một cây hình sao, cây danh

sách hay một cây với n nút

Để tính toán độ thích nghi fRiR của phương án TRiR, khoảng cách dRi,jR giữa 2 cây

được sử dụng Sử dụng hệ metric, độ thích nghi fRiR của phương án TRiR phụ thuộc vào

khoảng cách dRi,optRgiữa TRiR và phương án tối ưu TRoptR Chúng ta có thể phân biệt 2 loại

bai toán: cực đại và cực tiểu Khi định nghĩa bài toán cực tiểu, độ thích nghi fRiRP

iR= dRi,opt R trong đó dRi,optR ={0,1, n-1 } Một cá thể có độ thích nghi là n-2 nếu nó

chỉ có duy nhất 1 đường liên kết giống với phương án tốt nhất Nếu 2 cá thể ko khác

nhau (TRiR=TRoptR) thì độ thích nghi fP

min

PiR=0 Giả sử phương án ssau là phương án tối ưu, khi đó cây hình sao sẽ có độ thích nghi là 1 bởi vì chúng chỉ khác nhau 1 cạnh

Hình 2.9: Một cây có 5 nút

Khi định nghĩa bài toán cực đại thì độ thích nghi của một cá thể được tính

bằng số cạnh mà nó giống so với phương án tối ưu Tức fP

max

P

iR=n-1-dRi,opt

Với cùng cây tối ưu trên thì với bài toán cực đại, thì cây hình sao sẽ có độ

thích nghi là 3 trong khi khoảng cách giữa 2 cây là dRi,optR=1

Mối liên hệ độ thích nghi của giản đồ với độ thích nghi của cây và so sánh với phương án tối ưu như hình vẽ (111000)

Trang 25

2.2 Các thao tác của giải thuật di truyền trên cây

2.3.1 Giới thiệu chung về giải thuật di truyền

Giải thuật di truyền được phát triển bởi John Holland (1975) Trong cuốn sách

Adaptation in natural and artificial systems, ông đã mô tả giải thuật di truyền như là một quá trình chuyển đổi liên tiếp từ một quần thể (population - một tập hợp) các nhiễm sắc thể (chromosomes) này sang thành một quần thể mới khác Ban đầu mỗi nhiễm sắc thể của Holland là một xâu các bit 0 và bit 1 Một nhiễm sắc thể được tạo

Trang 26

26

thành từ các gene, cụ thể ở đây mỗi vị trí bit thành phần của xâu bit nhiễm sắc thể là một gene, và giá trị biểu hiện cụ thể của gene đó trên nhiễm sắc thể thì gọi là allele

Ví dụ nếu nhiễm sắc thể là một xâu gồm 10 bit thì mỗi bit thứ i (với i nhận giá trị từ

1 đến 10) đều có thể coi là một gene Mỗi gene có thể nhận giá trị là 0 hoặc 1, và 0,

1 được gọi là các allele, tức là giá trị cụ thể của gene Tất nhiên ta hoàn toàn có thể

quan niệm một gene gồm 2 (hoặc một số k nào đó) bit liên tiếp nhau, và như thế các

allele cho một gene (gồm 2 bit) có thể là 00, 01, 10 và 11

1 0 1 0 0 1 1 0 0 1

Gen

Hình 2.10: Minh họa Allele, Gen và nhiễm sắc thể

Trong quá trình chuyển từ quần thể cũ sang quần thể mới, ta áp dụng một số toán tử di truyền (genetic-inspired operators – các toán tử mô phỏng từ quá trình di truyền), đó là các toán tử mô phỏng cơ chế chọn lọc tự nhiên (selection), các hiện tượng lai ghép – hay còn gọi là ghép chéo (crossover, recombination), hiện tượng đột biến (mutation), đảo đoạn (inversion)

 Toán tử chọn lọc có nhiệm vụ lựa chọn lấy một số nhiễm sắc thể để đem đi lai ghép, phục vụ cho việc sinh cá thể mới trong thế hệ con cháu (quần thể mới)

Việc lựa chọn là theo tiêu chí các cá thể đều có cơ hội được lựa chọn nhưng

những cá thể có phẩm chất tốt hơn (đánh giá theo một tiêu chí nào đó được đặt

ra ban đầu) sẽ có cơ hội được lựa chọn cao hơn, khiến cho quần thể mới sẽ có nhiều con cháu của cá thể đó hơn

 Toán tử lai ghép sẽ trao đổi một vài đoạn được chọn ngẫu nhiên giữa 2 nhiễm

sắc thể tham gia lai ghép, qua đó trao đổi tính chất giữa 2 nhiễm sắc thể

 Toán tử đột biến sẽ ngẫu nhiên thay đổi giá trị một số allele ở một vài vị trí

ngẫu nhiên trên nhiễm sắc thể khiến tính chất của nhiễm sắc thể thay đổi hoặc

tạo ra tính chất mới

 Toán tử đảo đoạn sẽ đảo ngược một đoạn nào đó trên nhiễm sắc thể, qua đó thay đổi trật tự của các gene, và cũng làm tính chất của nhiễm sắc thể thay đổi

Trang 27

27

Việc áp dụng các toán tử di truyền giúp cho các cá thể trong quần thể có xu hướng ngày càng có chất lượng tốt hơn theo một tiêu chí nào đó được đặt ra ban đầu (nhờ toán tử chọn lọc), đồng thời nhiều tính chất mới được khai phá (nhờ toán tử đột biến, đảo đoạn) nhằm tìm kiếm những tính chất tốt đẹp chưa có trong quần thể Với xu thế đó, quần thể sẽ ngày càng thích nghi hơn theo nghĩa chất lượng của các

cá thể (đánh giá theo một tiêu chí nào đó) ngày càng được cải thiện Vì vậy ta có thể gọi quá trình chuyển đổi từ quần thể (thế hệ) này sang quần thể khác trong quá trình hoạt động của giải thuật di truyền là một quá trình tiến hóa thích nghi

Mô hình của các giải thuật di truyền sau này vẫn tuân theo mô hình của giải thuật di truyền ban đầu mà Holland đã đề xuất, tuy nhiên có đưa thêm vào các kỹ thuật mới để cải tiến hiệu quả của các toán tử di truyền Và hướng kết hợp giải thuật

di truyền với các kỹ thuật tìm kiếm localsearch và các kỹ thuật khác trong tính toán tiến hóa để tạo ra các giải thuật di truyền lai (hybrid GA)

2.3.2 Các thao tác của giải thuật di truyền

Thuật toán di truyền gồm có bốn quy luật cơ bản là lai ghép, đột biến, sinh sản

và chọn lọc tự nhiên như sau:

Quá trình lai ghép (phép lai)

Quá trình này diễn ra bằng cách ghép một hay nhiều đoạn gen từ hai nhiễm sắc thể

cha-mẹ để hình thành nhiễm sắc thể mới mang đặc tính của cả cha lẫn mẹ Phép lai này có thể mô tả như sau:

- Chọn ngẫu nhiên hai hay nhiều cá thể trong quần thể Giả sử chuỗi nhiễm sắc thể của cha và mẹ đều có chiều dài là m

- Tìm diểm lai bằng cách tạo ngẫu nhiên một con số từ 1 dến m-1 Như vậy, điểm lai này sẽ chia hai chuỗi nhiễm sắc thể cha-mẹ thành hai nhóm nhiễm

sắc thể con là mR1 Rvà mR2R Hai chuỗi nhiễm sắc thể con lúc này sẽ là mR11R+mR22R

và mR21R+mR12R

- Ðưa hai chuỗi nhiễm sắc thể con vào quần thể để tiếp tục tham gia quá trình tiến hóa

Trang 28

28

Quá trình đột biến (phép đột biến)

Quá trình tiến hóa đuợc gọi là quá trình đột biến khi một hoặc một số tính trạng của con không được thừa hưởng từ hai chuỗi nhiễm sắc thể cha-mẹ Phép đột biến xảy ra với xác suất thấp hơn rất nhiều lần so với xác suất xảy ra phép lai Phép đột biến có thể mô tả như sau:

- Chọn ngẫu nhiên một số k từ khoảng 1 ≤ k ≤ m

- Thay đổi giá trị của gen thứ k

- Ðưa nhiễm sắc thể con vào quần thể để tham gia quá trình tiến hóa tiếp theo

Quá trình sinh sản và chọn lọc (phép tái sinh và phép chọn)

Phép tái sinh: là quá trình các cá thể được sao chép dựa trên độ thích nghi của

nó Ðộ thích nghi là một hàm được gán các giá trị thực cho các cá thể trong quần thể của nó Phép tái sinh có thể mô phỏng như sau:

- Tính độ thích nghi của từng cá thể trong quần thể, lập bảng cộng dồn các giá trị thích nghi đó (theo thứ tự gán cho từng cá thể) ta được tổng độ thích nghi

Giả sử quần thể có n cá thể Gọi độ thích nghi của cá thể thứ i là FRiR, tổng dồn

thứ i là FRtR.Tổng độ thích nghi là FRmR

- Tạo số ngẫu nhiên F có giá trị trong đoạn từ 0 dến FRmR

- Chọn cá thể k đầu tiên thỏa mãn F ≥ FRtRđưa vào quần thể của thế hệ mới

Phép chọn: là quá trình loại bỏ các cá thể xấu và để lại những cá thể tốt Phép

chọn

được mô tả như sau:

- Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần

- Loại bỏ các cá thể cuối dãy, chỉ dể lại n cá thể tốt nhất

2.3.3 Sơ đồ chung của giải thuật di truyền

Trong thuật toán di truyền thì mỗi cá thể có thể là một lời giải hoàn chỉnh của bài toán, tuy nhiên vẫn chưa tối ưu, hoặc cũng có thể chỉ là một bộ phận của lời giải hoàn chỉnh Thông qua quá trình lặp (mỗi lần lặp của quần thể được coi như là 1 thế hệ) các cá thể này sẽ biến đổi dần dần để tạo ra các lời giải tốt hơn

Trang 29

29

Hình 2.11: S ơ đồ chung của thuật toán di truyền

Trong đó các bước cụ thể là:

1 Khởi tạo quần thể Các cá thể (lời giải của bài toán) trong quần thể ban đầu

có thể được sinh ra theo nhiều cách, cách đơn giản nhất là sinh ngẫu nhiên Việc sinh ngẫu nhiên làm cho quần thể ban đầu rất đa dạng (sự sai khác của các thể là rất lớn), điều nầy rất tốt cho thuật toán vì ta có thể bao quát không gian tìm kiếm rất rộng Tuy nhiên nhược điểm là số lần lặp (số thế hệ) phải thực hiện trước khi dừng là lớn Hơn nữa trong một số bài toán có thể lời giải tối ưu chỉ tập trung vào một vùng nào đó Vì thế người ta có thể chọn cách khởi tạo thứ 2 là kết hợp với các kỹ thuật heuristic (thường là dùng các thuật toán tìm lời giải gần đúng đã có) để sinh các cá thể ban đầu Khi áp dụng theo cách này ta vẫn cần đảm bảo được mức độ đa dạng cho quần thể ban đầu, nếu không thì hiệu quả của thuật toán sẽ là rất tồi

Bắt đầu Khởi tạo quần thể

Chọn lọc Lai ghép Đột biến Đánh giá độ thích nghi

Đưa ra lời giải tốt nhất

Thỏa mãn điều kiện dừng

Kết thúc

Trang 30

30

2 Đánh giá độ thích nghi Áp dụng hàm đánh giá với đối số là kiểu gene của

các cá thể đã được xây dựng từ trước để đánh giá độ thích nghi của từng cá thể trong quần thể

3 Tạo quần quần thể mới

Chọn lọc Thực hiện việc lựa chọn các cá thể cha mẹ trong quần thể hiện tại

để phục vụ cho việc lai ghép, đột biến, và lựa chọn các cá thể để tạo ra quần thể mới Giống như quá trình tiến hóa trong tự nhiên, việc lựa chọn phải đảm bảo được cá thể có độ thích nghi cao hơn sẽ có khả năng được lựa chọn lớn hơn

 Lai ghép Sau khi chọn được 2 cá thể cha mẹ, ta tiến hành lai ghép để tạo ra

các cá thể con Có rất nhiều chiến thuật khác nhau để thực hiện việc lai ghép,

như lai ghép đồng bộ - uniform crossover, lai ghép theo thứ tự - order-based crossover , lai ghép tương hợp bộ phận - Partially Matched Crossover,… Tùy

vào từng phương pháp mã hóa và từng bài toán mà các toán tử lai ghép thích hợp được lựa chọn

Đột biến Mục đích của đột biến là nhằm tạo ra những kiểu gen mới không

có trong quần thể hiện tại, hay nói cách khác là làm tăng tính đa dạng của quần thể Các toán tử đột biến hay dùng là đột biến đảo bit, đảo giá trị và đột biến đảo đoạn

4 Điều kiện dừng Điều kiện dừng của thuật toán di truyền cũng rất đa dạng, có

thể là sau một thời gian mà không tìm được lời giải tốt hơn, hoặc có thể là sau một số thế hệ cho trước Trong đó lời giải chính là cá thể tốt nhất trong quần thể hiện tại

Trang 31

31

U

Mô tả giải thuật:

Hình 2.12: Bài toán tối ưu có thể có rất nhiều cực trị

Trang 32

32

Ví dụ: xét 3 thao tác chính của giải thuật di truyền là: lựa chọn, giao chéo và

đột biến

• Lựa chọn: Thao tác này lựa chọn những cá thể (cây) trong quần thể

để lai tạo hoặc duy trì cho thế hệ sau Những cá thể nào có độ thích nghi càng cao thì số lần nó được chọn càng nhiều

• Thao tác này lựa chọn 1 vị trí ngẫu nhiên và biến đổi chuỗi trước và

sau vị trí đó giữa hai NST để tạo ra hợp tử Ví dụ: Có 2 chuỗi gen là:

10000100

11111111 giao chéo sau vị trí thứ 3 ta thu được 2 hợp tử là:

10011111

11100100

• Đột biến: Thao tác này đảo ngược một số bit trong NST Ví dụ:

00000100 có thể đột biến ở vị trí thứ 2 tạo thành 01000100 Đột biến có thể xảy ra tại mọi vị trí trong NST nhưng thường với xác suất rất nhỏ

Minh hoạ cho các thao tác trên

Hình 2.13: Ba thao tác chính của giải thuật di truyền

5 2

2 4

3 2

Trang 33

33

Trong các bài toán tối ưu phức tạp thì dạng hàm của nó có thể có rất nhiều điểm lồi lõm (nhiều cực trị) khác nhau Thường thì thuật toán di truyền sẽ bị dừng ở một điểm cực trị địa phương nào đó của bài toán Nhằm có thể đưa thuật toán di truyền hội tụ tới cực trị toàn cục thì chúng ta sẽ phải lựa chọn các thông số cho thuật toán di truyền của chúng ta hết sức cẩn thận

Thông thường khi bắt tay vào thiết kế một thuật toán di truyền để giải bài toán thì chúng ta phải lựa chọn:

 Cách biểu diễn cá thể phù hợp: Tức là chọn cách mã hóa lời giải thích hợp Trong cách mã háo này phải đảm bảo là có thể biểu diễn được không gian lời

giải của cả bài toán hoặc ít nhất là không gian cá lời giải tiềm năng (nếu không gian lời giải là vô hạn) Ngoài ra, việc chọn cách biểu diễn sẽ ảnh hưởng đến

việc lựa chọn các toán tử di truyền (lai ghép, đột biến…) Nếu mà chọn cách

biểu diễn mới có teher chúng ta sẽ phải tự đi thiết kế các toán tử di truyền riêng

 Cách đánh giá độ thích nghi của các cá thể Bởi vì với mỗi cá thể trong mỗi thế

hệ chúng ta đều phải tính độ thích nghi nên việc lựa chọn cách đánh giá độ thích nghi sẽ ảnh hưởng lớn đến hiệu quả của giải thuật

 Xác định một số tham số khác trong giải thuật như:

- Kích thước quần thể Kích thước quần thể nhỏ quá thì hiệu quả tìm kiếm

sẽ thấp, ngược lại kích thước lớn quá thì quá trình hội tụ đến lời giải cũng

chậm và thời gian thực hiện của giải thuật cũng tăng lên

- Lựa chọn điều kiện dừng Thông thường điều kiện dừng là giải thuật đã

thực hiện đủ một số lượng xác định các bước lặp sinh quần thể Nhưng ta cũng cần chọn số lượng bước lặp này cho phù hợp Nếu ít quá thì vùng tìm kiếm sẽ bị hạn chế, còn nếu nhiều quá thì thời gian sẽ tăng Bên cạnh

đó nếu không có chiến lược xử lý hợp lý trong quá trình tìm kiếm thì việc tăng số vòng lặp sinh quần thể cũng không mang lại điều gì thêm

- Xác định các giá trị tỉ lệ đột biến và tỉ lệ lai ghép phù hợp Nếu những giá

trị này lớn thì làm quần thể mới tạo ra sẽ đa dạng, quá trình tìm kiếm sẽ được thực hiện trên một không gian rộng và phân tán, tuy nhiên nó lại

Trang 34

34

làm cho tốc độ hội tụ của thuật toán chậm và ngược lại Thông thường các giá trị này phải được lựa chọn thông qua một loạt các thử nghiệm trên các bộ dữ liệu thực tế của bài toán

Việc lựa chọn được các tham số phù hợp cho một bài toán cụ thể là không

phải dễ dàng, nó phụ thuộc rất nhiều vào kinh nghiệm của người giải quyết bài toán

Từ đó chúng ta thấy các vấn đề cần quan tâm khi xây dựng giải thuật di truyền

và tiến hóa:

- Cách mã hóa các nhiễm sắc thể

- Các thao tác di truyền: lai ghép, đột biến, chọn lọc tự nhiên

- Các tham số trong quá trình tiến hóa: kích thước quần thể, xác suất lai, xác suất đột biến

- Phương pháp khởi tạo quần thể

- Hàm định nghĩa độ thích nghi của các cá thể

- Cơ chế chọn lựa cá thể cha và mẹ trong quần thể để thực hiện lai ghép

- Cơ chế nạp lại quần thể

Mã hóa theo giá trị

Mã hóa theo giá trị sử dụng một mảng các số nguyên hoặc thực để biểu diễn kiểu gen cho một cá thể Cách mã hóa này thường được dùng cho các bài toán tối

ưu mà kiểu hình có thể chia nhỏ ra các thành phần độc lập với nhau và tập xác định của các thành phần này có thể được rời rạc hóa và biểu diễn bởi một số thực hoặc nguyên

Ví dụ, để biểu diễn một màu thuộc hệ màu RGB, chúng ta có thể sử dụng

mảng [vRRR, vRGR, vRBR] với vRRR, vRGR, vRBR lần lượt là các giá trị cường độ màu của màu đỏ,

Trang 35

35

màu xanh lá cây và màu xanh da trời Màu đen được mã hóa [0,0,0], màu trắng

[255,255,255 ], màu đỏ [255,0,0], vv

Một dạng đặc biệt của mã hóa theo giá trị là mã hóa nhị phân: các gen chỉ có

thể nhận một trong hai giá trị 0 hoặc 1 Cách mã hóa này có ứng dụng lớn trong các

bài toán quyết định, ví dụ như bài toán cái túi: đồ vật i được cho vào túi ↔ A[i] = 1,

ngược lại A[i] = 0

Hình 2.14: Mã hóa theo giá trị trong bài toán cái túi

Mã hóa hoán vị

Mã hóa hoán vị sử dụng một hoán vị của một tập các giá trị theo một trình tự

nào đó để biểu diễn kiểu gen cho một cá thể Mã hóa hoán vị có thể được áp dụng

trong lớp các bài toán liên quan đến tìm thứ tự cho một tập hợp các công việc nào

đó: bài toán người du lịch, bài toán lập lịch

Ví dụ, trong bài toán người du lịch, để mã hóa cho một trình tự tham quan qua

n thành phố chúng ta có thể sử dụng một hoán vị của tập (1,2,3, ,n) và trình tự các

số trong hoán vị đó cho biết trình tự tham quan các thành phố của người đó

→ kiểu gen

(x 1 , x 2 , x 3 , x 4 , x 5) = (0, 1, 1, 1, 0)

Trang 36

36

Hình 2.15: Mã hóa hoán vị trong bài toán người du lịch

→ kiểu gen tương ứng: 1-2-5-4-3-6-7

Mã hóa theo cấu trúc cây

Trong dạng mã hóa theo cấu trúc cây, mỗi nhiễm sắc thể sẽ được mã hóa bởi một cây các đối tượng Các đối tượng ở đây có thể là các hằng, các biến, các câu lệnh, vv có quan hệ trực tiếp với nhau trong cấu trúc gen của cá thể Ví dụ, để mã

hóa cho biểu thức f(x) = xP

Trang 37

- Trong tự nhiên thao tác đột biến có thể xảy ra trong quá trình sống của cá thể hoặc trong quá trình sinh sản hữu tính tạo ra cá thể đó, tuy nhiên trong giải thuật di truyền không tồn tại khái niệm “vòng đời của cá thể” dẫn đến cá thể

bị đột biến trong quá trình sinh sản hay trong quá trình sống đều như nhau

Do đó, việc cá thể có bị đột biến hay không sẽ được xem xét đến trong quá trình sinh sản tạo ra cá thể đó, tức là thao tác đột biến sẽ được sử dụng như là một thao tác con của thao tác lai ghép

- Có những chuỗi giá trị là hợp lệ với các luật để được công nhận là một kiểu gen, tuy nhiên nó lại không hợp lệ để xây dựng một kiểu hình tương ứng Do

đó, chúng ta cần để ý đến hai thao tác đặc biệt sau dành cho các chuỗi giá trị như thế: kiểm tra xem chuỗi giá trị đó có thực sự là một kiểu gen hợp lệ không và nếu không, phương thức sửa chữa chúng để trở thành một kiểu gen thực sự hợp lệ

 Thao tác lai ghép

Di truyền là quá trình các cá thể con được thừa hưởng thông tin di truyền từ cha mẹ, hay nói cách khác quá trình di truyền là tập hợp của rất nhiều thao tác sinh sản hữu tính giữa các cá thể trong quần thể Các cá thể con được thừa hưởng một phần thông tin di truyền từ cha và một phần từ mẹ của chúng, và thao tác lai ghép trong các thuật giải di truyền và tiến hóa mô phỏng thao tác sinh sản hữu tính trong

tự nhiên này Phép lai ghép hình thành nhiễm sắc thể mới trên cơ sở các nhiễm sắc thể cha mẹ bằng cách ghép các đoạn con của nhiễm sắc thể cha mẹ vào vị trí tương ứng trên nhiễm sắc thể của con Trong thuật giải tiến hóa, thông thường nhiễm sắc

Trang 38

38

thể cha mẹ được chia làm hai đoạn con và vị trí cắt nhiễm sắc thể được lựa chọn một cách ngẫu nhiên

+ Thao tác lai ghép có thể được mô tả như sau:

- Chọn ngẫu nhiên hai cá thể trong quần thể

- Tạo ngẫu nhiên một điểm lai trên nhiễm sắc thể cha và mẹ: F = FR1R + FR2R

M = MR1R + MR2R Chú ý rằng cần có sự đồng bộ về điểm lai trên nhiễm sắc thể cha và mẹ, vì hai cá thể con cũng có kiểu gen có độ dài giống như hai cá thể cha mẹ

- Từ bốn đoạn con có được khi cắt hai nhiễm sắc thể của cha và mẹ, chúng ta

ghép chéo với nhau để tạo ra hai chuỗi giá trị mới: O1 = FR1R + MR2R và O2 =

MR1R + FR2R

- Sử dụng thao tác kiểm tra tính thực sự hợp lệ của hai chuỗi giá trị mới và sửa chữa chúng nếu cần Khi đó chúng ta đã có hai cá thể con với hai nhiễm sắc thể mới

- Dựa vào tỉ lệ đột biến để quyết định xem các cá thể con có bị đột biến hay không

- Đưa 2 cá thể con vào quần thể để thực hiện các quá trình tiếp theo

Thao tác đột biến

Đột biến là hiện tượng nhiễm sắc thể của cá thể con khi sinh ra mang một hoặc nhiều đoạn gen không có trong thông tin di truyền được thừa hưởng từ cha mẹ Tuy nhiên, trong các giải thuật di truyền, thông thường chúng ta sẽ chọn một đoạn ngẫu nhiên trong nhiễm sắc thể của cá thể và tiến hành đột biến bằng cách thay đổi các giá trị của đoạn đó một cách ngẫu nhiên trong phạm vi cho phép Thông thường, chúng ta sẽ đột biến để tạo ra nhiễm sắc thể cho một cá thể mới và sau đó kiểm tra tính thực sự hợp lệ của nó đồng thời sửa chữa nhiễm sắc thể đó để nó trở nên thực

sự hợp lệ, nếu cần Trong quá trình đột biến, có thể sử dụng một số heuristic để tập trung đột biến vào một số gen đặc biệt, nhằm nâng cao hiệu quả của giải thuật di truyền và tiến hóa

+ Thao tác đột biến có thể được mô tả như sau:

Trang 39

39

- Đối với một cá thể con mới sinh ra, chọn một vị trí ngẫu nhiên trên nhiễm sắc thể của cá thể đó

- Thay đổi giá trị tại điểm vừa chọn, được một chuỗi giá trị mới

- Sử dụng thao tác kiểm tra tính thực sự hợp lệ của chuỗi giá trị mới và sửa chữa chúng nếu cần

- Trả cá thể này về quần thể để thực hiện các quá trình tiếp theo

Thao tác chọn lọc tự nhiên

Chọn lọc tự nhiên là quá trình loại bỏ dần các cá thể xấu – các cá thể có độ thích nghi thấp và giữ lại các cá thể tốt, nhằm duy trì nguồn gen tốt để phân bổ trong quần thể Chúng ta cần quan tâm đến cách lựa chọn các cá thể mới cho quần thể vì một số cá thể tuy có độ thích nghi thấp nhưng lại có một đoạn gen tốt, nếu không quan tâm đến yếu tố này thì giải thuật sẽ trở nên tham lam

+ Thao tác chọn lọc tự nhiên có thể được mô tả như sau:

- Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần

- Lựa chọn một số cá thể để cho vào quần thể mới, loại bỏ các cá thể còn lại

c Các tham số của giải thuật di truyền và tiến hóa

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

Kích thước quần thể cho biết số lượng cả thể trong quần thể ở một thế hệ Qua các nghiên cứu và các thử nghiệm đã cho thấy kích thước quần thể không nên quá lớn và cũng không nên quá bé Nếu số lượng cá thể trong quần thể quá ít thì số lượng kiểu hình và kiểu gen ít dẫn đến không gian tìm kiếm của bài toán nhỏ, dễ bỏ qua các lời giải tốt Nhưng nếu quá nhiều cá thể trong quần thể sẽ dẫn đến thời gian chạy của một bước tiến hóa lớn, ảnh hưởng đến hiệu quả của giải thuật; hơn nữa tài nguyên dành cho chương trình cũng là có giới hạn

Xác suất lai ghép

Xác suất lai ghép cho biết việc lai ghép tạo ra thế hệ mới được thực hiện thường xuyên như thế nào Nếu được lai ghép, hai con sẽ mang một phần kiểu gen của bố và một phần kiểu gen của mẹ Còn nếu không được lai ghép, con cái sẽ giống hệt cha mẹ

Trang 40

40

Xác suất đột biến

Xác suất đột biến cho biết khả năng một gen của một cá thể bị thay đổi là

bao nhiêu % Nếu xác suất đó là pRmR, xác suất để một cá thể bị đột biến sẽ là 1- (1 –

pRmR)P

n

P

, với n là số lượng gen trong nhiễm sắc thể của cá thể đó Thao tác đột biến sẽ

tạo ra những kiểu gen mới, mang những đặc điểm mới của các tính trạng để phân bố trong quần thể, có tác dụng ngăn ngừa tình trạng cực trị địa phương Tuy nhiên nếu xác suất đột biến là quá lớn, giải thuật di truyền sẽ trở thành giải thuật tìm kiếm ngẫu nhiên

d Khởi tạo quần thể

Khởi tạo quần thể ban đầu là bước đầu tiên trong quá trình thực thi của chương trình sử dụng giải thuật di truyền và tiến hóa Thông thường để khởi tạo quần thể trong bài toán tối ưu, chúng ta khởi tạo ngẫu nhiên một số các lời giải hợp

lệ cho bài toán Chúng ta cần quan tâm đến hai vấn đề:

- Quá trình khởi tạo quần thể có thể là trực tiếp hoặc gián tiếp Ví vụ với bài toán cây khung MRCT, khởi tạo trực tiếp cá thể là khởi tạo một cây khung cho đồ thị đã cho và mã hóa nó thành nhiễm sắc thể để đưa vào quần thể Khởi tạo gián tiếp sẽ là khởi tạo ngẫu nhiên một bộ giá trị hợp lệ với các luật của một nhiễm sắc thể, sau đó kiểm tra xem bộ giá trị đó có thực sự hợp lệ để

là một nhiễm sắc thể hay không bằng cách sử dụng thuật toán giải mã để xây dựng kiểu hình tương ứng và kiểm tra tính hợp lệ của kiểu hình đó Đối với

cá thể sai, chúng ta có hai phương án xử lí: không sử dụng cá thể đó mà khởi tạo cá thể khác hoặc sửa chữa cá thể đó để tạo ra một cá thể hợp lệ và xây dựng nhiễm sắc thể cho cá thể sau sửa chữa này để sử dụng trong quần thể khởi tạo

- Chất lượng ban đầu của quần thể càng tốt thì hiệu năng của giải thuật di truyền và tiến hóa càng tốt Điều này dẫn đến việc sử dụng một số giải thuật xấp xỉ hoặc một số heuristic đã được tìm ra để xây dựng quần thể ban đầu cho bài toán

Ngày đăng: 27/02/2021, 12:40

TỪ KHÓA LIÊN QUAN

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