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 uất probabilistic methods, tính stoán tiến h
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 (MRCT) hay còn gọi là cây khung có tổng độ dài đường đi ngắn nhất, thuộc lớp NP-khó Trong MRCT, số lượng và vị trí các nút mạng được xác định theo thứ tự ưu tiên, trong khi 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ác yêu cầu truyền thông giữa tất cả các cặp nút kết nối trực tiếp hoặc gián tiếp qua liên kết đó Mục tiêu là tìm cây khung của đồ thị sao cho tổng độ dài đường đi giữa mọi cặp đỉnh là tối thiểu, với độ dài đường đi được tính dựa trên tổng trọng số của các cạnh nối hai đỉnh Việc xây dựng cây khung chi phí lộ trình nhỏ nhất tương đương với việc tối ưu hóa độ dài trung bình giữa mọi cặp đỉnh trong cây khung.
Bài toán được phát biểu như sau:
Cho G là một đồ thị vô hướng liên thông có trọng số với độ trễ không âm Mục tiêu của bài toán là tìm cây khung của G sao cho độ trễ trung bình của tất cả các mối liên lạc giữa các cặp đỉnh trên cây là nhỏ nhất Ma trận khoảng cách d R uv R 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à d R T R (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 hai đỉnh 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 đã nêu.
C T =∑ d u v (1) trong đó d R T R ( ) 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:
• 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 để ải MRCT trong trườ gi ng hợp đồ th tị ổng quát với độ phức tạp thời gian tính cỡ ( )
• Cây khung k-star là cây khung mà có tối đa k nút trong Cây khung định tuy n -ế kstar nhỏ nhất (minimum routing cost k-star) là một lời giải xấp xỉ
• Với giá trị kcho 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
Hình 1.1: Một cây khung 3-star trong đó B,C,E là các nút trong và A,D,E,F,G,H là các nút lá
Hình 1.2: Cây khung 1-star với B là nút trong và các nút còn lại là nút lá
Ví dụ 1:Cho cây khung T như hình vẽ sau:
Theo công thức (1), ta có : d R T R (v R 1 R ,v R 2 R ) + d R T R (v R 1 R ,v R 3 R ) + d R T R (v R 1 R ,v R 4 R ) + d R T R (v R 1 R ,v R 5 R ) + d R T R (v R 2 R ,v R 3 R ) + d R T R (v R 2 R ,v R 4 R ) + d R T R (v R 2 R ,v R 5 R ) + d R T R (v R 3 R ,v R 4 R ) + d R T R (v R 3 R ,v R 5 R ) + d R T R (v R 4 R ,v R 5 R ) = 98.
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, số lượng cây khung của đồ thị với n nút được tính bằng n P n-2 P, trong đó có n cây hình sao Khoảng cách giữa hai cây T R i R và T R j R được xác định bởi d P h PR ij R = {0,1, ,n-2} và được định nghĩa thông qua công thức d P h PR ij R = ∑ ∑∑ −.
, | | n | | u u v uv j uv i V v u uv j uv i l l l l l P i PR uv R =1 nếu có liên kết từ uđến v trong T R i R lvà i P PR uv R =0 nếu ngược lại.
Vậy số cỏc liờn kết giống nhau của cõy T R i R và T R j R được tớnh bằng: n-1-ẵd P h PR ij
Bài toán MRCT (Minimum Redundant Communication Tree) thuộc loại NP khó, cụ thể là MAX SNP khó, điều này có nghĩa là nó không thể được giải quyết trong thời gian xấp xỉ hàm mũ trừ khi P=NP Để có cơ sở tính toán cho bài toán này, cần thiết phải đưa ra định nghĩa cụ thể.
Cho T là một cây khungcủa G, ký hiệu E T( ) là tập các cạnh của cây T u,v, ( ) ∈
E T( ) Khi loại cạnh (u,v) khỏi cây T thì cây T được tách thành hai đồ thị con là X và
Ycó số đỉnh lần lượt là |V X V Y( )|, | ( )| Khi đó routing load (tải năng) của cạnh (u,v) được định nghĩa theo công thức sau: l(T,(u,v)) = 2 V X ( )V Y( )
Đường đi ngắn nhất giữa hai đỉnh u và v trên đồ thị G được gọi là SP R G R (u,v) Khi G là một cây, SP R G R (u,v) là đường đi đơn nhất giữa hai đỉnh này Dựa trên khái niệm routing load, chúng ta có thể tính toán chi phí định tuyến theo công thức (1).
Ta sẽ tính routing cost cho cây T ở ví dụ 1 trên theo công thức (2) như sau: l T( , (v1, v2)) = 2 × 1 ×4 = 8, l(T, (v2, v3)) = 12 , l T( , (v3, v4)) = 8 , l T( , (v3, v5)) = 8
Ngoài chi phí của các cạnh thì hình dáng của cây khung ảnh hưởng rất nhiều đến chi phí lộ trình của cây khung.
Ví dụ: cho đồ thị với tất cả các cạnh có trọng số là 1 và 2 cây khung G T R 1 R và
T R 2 R của G Ta có C T( R 1 R )6 và C T( R 2 R )4 Khi đó cây T R 1 R là MRCT
Hình 1.4: Đồ thị G và routing cost của hai cây khung T R 1 R và T R 2 R của G
Trọng số của các cạnh là yếu tố quan trọng nhất trong việc tính toán chi phí định tuyến, theo công thức (1) Bên cạnh đó, hình dạng của cây (topology) cũng ảnh hưởng đáng kể đến việc xây dựng cây khung nhỏ nhất, như thể hiện trong công thức (2) Chẳng hạn, cây T R 1 R có một nút với mỗi cạnh trọng số 5, trong khi cây T R 2 R là một đường thẳng với mỗi cạnh trọng số 1 Giả sử cả hai cây đều là cây khung của một đồ thị có n đỉnh, tổng trọng số các cạnh của cây T R 2 R thấp hơn, cho thấy rằng nó là lựa chọn tốt hơn so với cây T R 1 R.
T R 1 R Mặt khác, nếu xét về routing cost cây T R 1 R có routing load của mỗi cạnh đều bằng
Mỗi cạnh trong cây đều có một đỉnh lá, do đó số cách chọn cạnh là C T( R 1 R )( -1)n 2 P P Khi xóa cạnh (v R i R , v R i+1 R ), cây T R 2 R sẽ phân thành hai thành phần với i và n-i đỉnh Routing load của các cạnh tương ứng sẽ là: 2( -n1), 2x2x(n-2), , 2xĩ(n-i), , 2( -1) Tổng số cách tính được là (n C T R 2 R ).
Cây T R 1 R sẽ tốt hơn cây T R 2 R nhiều khi nđủ lớn.
Hình 1.5: Hai topology cây ảnh hưởng đến routing cost
Các thuật toán Meta heuristics giải bài toán MRCT -
Các thuật toán Metaheuristics được chia thành hai lớp chính: lớp đầu tiên tập trung vào việc lặp lại quá trình tinh chỉnh một lời giải duy nhất để tìm ra lời giải tốt hơn, trong khi lớp thứ hai lặp lại quá trình tinh chỉnh một quần thể các lời giải nhằm tìm ra tập hợp lời giải tối ưu hơn Khi quá trình kết thúc, lời giải tốt nhất trong quần thể ở thế hệ cuối cùng sẽ được chọn Một số thuật toán tiêu biểu trong lớp đầu tiên bao gồm: Thuật toán tham lam (Greedy), tìm kiếm leo đồi (Hill Climbing Search), tìm kiếm ưu tiên tối ưu (Best First Search - BFS), Thuật toán Tabu Search (TS), tìm kiếm cục bộ (Local Search) và thuật toán tôi luyện thép (Simulated Annealing).
In the realm of optimization algorithms, notable methodologies include the Great Deluge (GD) algorithm, Genetic Algorithms (GA), Memetic Algorithms (MA), Ant Colony Optimization (ACO), and Particle Swarm Optimization (PSO) These algorithms represent advanced techniques used for solving complex problems by mimicking natural processes and behaviors.
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 các thuật toán Metaheuristic, còn có một số thuật toán xấp xỉ được sử dụng để giải quyết bài toán MRCT Gần đây, Grout đã phát triển một thuật toán xấp xỉ dựa trên phương pháp tham lam, gọi là thuật toán Add, cho kết quả tốt trên các đồ thị đồng nhất với độ phức tạp tính toán thấp hơn so với thuật toán của Wong Thuật toán này dựa trên giả định rằng cây khung có chi phí lộ trình thấp hơn nếu có nhiều nút lá Mặc dù không cung cấp đánh giá về cận dưới hay cận trên cho kết quả, thuật toán vẫn cho ra kết quả khả quan khi áp dụng thực tiễn Tuy nhiên, điểm yếu của thuật toán là hiệu suất kém trên các đồ thị không đồng nhất.
Dựa trên thuật toán Add của Grout, Campos và các cộng sự đã phát triển thuật toán Campos, cho kết quả tốt trên cả đồ thị đồng nhất và không đồng nhất Thuật toán này không chỉ dựa vào mô hình thuật toán Add mà còn áp dụng phân tích của Mieghem, cho thấy rằng cây khung tối ưu thường gần với cây khung có trọng số cực tiểu (MST) Đây 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, đảm bảo kết quả tương đương với thuật toán của Wong.
Các thuật toán tìm kiếm tối ưu bằng giải thuật quay lui đã có những tiến bộ đáng kể, bên cạnh các thuật toán xấp xỉ Matteo, Giuseppe và các cộng sự đã phát triển một phương pháp duyệt hiệu quả dựa trên mô hình quy hoạch tuyến tính Họ đã chuyển đổi bài toán MRCT thành các phương trình tuyến tính cần tối ưu và 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.
Ứng dụng của bài toán MRCT
Trong thiết kế mạng
Một ứng dụng quan trọng của MRCT là trong thiết kế mạng truyền thông và mạng giao thông, trong đó chiều dài của các cạnh phản ánh chi phí định tuyến Đồ thị đầu vào bao gồm các cạnh đại diện cho tất cả các liên kết khả thi giữa các nút Mục tiêu của mạng là vận chuyển hàng hóa hoặc thông tin từ nút này đến nút khác Cây là một cấu trúc mạng thiết yếu nhờ vào hai tính chất quan trọng.
1 Cây được kết nối các đồ thị convới trọng số nhỏ nhất củacá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 tối ưu với chi phí thấp nhất khi yêu cầu thông tin liên lạc giữa tất cả các cặp đỉnh là đồng nhất Trong các mô hình ngẫu nhiên, MRCT cũng được xác định là cây khung truyền thông có chi phí tối thiểu nếu xác suất yêu cầu giữa bất kỳ p đỉnh nào là như nhau.
Trong tin sinh học
Ngoài các ứng dụng 32T trong thiết kế mạng, cây khung với chi phí tối ưu cũng được áp dụng để xây dựng trình tự sắp xếp gen hiệu quả nhất.
CHƯƠNG 2 THUẬT TOÁN DI TRUYỀN
Các khái niệm cơ bản
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 bất kì b a) Cây hình sao ) 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à:
2.1.1.1 Cây hình sao (Star tree)
UKhái niệm: U Câ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.
Cây hình sao là một cấu trúc trong đó nút gốc kết nối với tất cả các nút còn lại, tạo thành một mạng lưới liên kết chặt chẽ Nút gốc có bậc là n-1, trong khi các nút còn lại đều 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 thì thu được một đỉnh biệt lập và một cây T hình sao T’ có 1 n- đỉnh.
+ Nếu loại bỏ một lá và cạnh liên thuộc với đỉnh đó khỏi cây thì thu được T 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.
Trong một mạng có n nút, có thể hình thành một cây dạng sao Khi một nút (ngoại trừ nút gốc) hoặc một đường liên kết gặp sự cố, các nút khác sẽ không bị ảnh hưởng Tuy nhiên, nếu nút gốc bị lỗi, toàn bộ mạng sẽ ngừng hoạt động.
2.1.1.2 Cây d ng danh sách (List tree) ạ
UKhái niệm: U Cây dạng danh sách là một cây có đúng hai lá.
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 loại bỏ một trong n-2 đỉnh không phải là lá cùng với hai cạnh liên quan đến đỉnh đó trong cây, ta sẽ nhận được hai cây dạng danh sách hoàn toàn tách biệt, 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.
Cây bất kìlà câykhô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
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 đồ thị vô hướng liên thông G = (V,E) và ma trận trọng số độ dài C = {(c u,v)} Đối với mỗi cây khung T của G, độ dài của cây khung được tính bằng tổng độ dài các cạnh của nó: c T( ) = ∑ c(e) Bài toán đặt ra là tìm cây khung có độ dài nhỏ nhất trong số tất cả các cây khung của G.
Khoảng cách hệ đơn vị met -
Hệ đơn vị đóng vai trò quan trọng trong việc định nghĩa các thao tác như đột biến và lai tạo trong không gian kiểu gen và kiểu hình Thao tác đột biến có thể gây ra những thay đổi nhỏ trong cá thể, dẫn đến việc tạo ra các giao tử với khoảng cách 1 cho kiểu gen và kiểu hình Đồng thời, thao tác kết hợp đảm bảo rằng giao tử sẽ kế thừa các cấu trúc con từ cha mẹ Trong hệ thống met, khoảng cách giữa giao tử và cha mẹ sẽ nhỏ hơn khoảng cách giữa các cha mẹ.
Khoảng cách Hamming giữa kiểu gen nhị phân x P g P ={0,1} l P P và y P g P = 0,1{ } P l P có độ dài l là:
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 d P h P Khoảng cách
Hamming giữa 2 cây được tính bằng số lượng các đường liên kết khác nhau giữa 2 cây
Như vậy, khoảng cách Hamming nhỏ nhất giữa 2 cây là d P h P =2
Hình 2.5: Ví dụ về khoảng cách giữa hai cây
Ví dụ với 2 cây T R i R và T R j R có d P h PR Ti,Tj R =4 và d R Ti,Tj R =2 Để đơn giản, chúng ta định nghĩa khoảng cách d R i,j R ={0,1, n-1} giữa 2 cây G R i R ,
G R j R là một nửa số lượng cỏc đường liờn kết khỏc nhau (d R i,j R =ẵd P h PR i,j R ), tức là: d P p PR Gi,Gj R =ẵd P h PR i,j= R ∑ ∑∑ −
1 n u u v uv j uv i V v u uv j uv i l l l l trong đó :l P j PR ab R =1 nếu đường liên kết từ ađến b có trong G R j R và =0 nếu ngược lại
Số lượng các đường liên kết giống nhau giữa hai cây G R i R và G R j R có thể được tính dễ dàng bằng công thức: n-1-d R i,j R Thao tác đột biến làm thay đổi đường liên kết, với khoảng cách giữa cha mẹ và giao tử là d R parent,child R =1.
Phân tích giản đồ
Bài toán trở nên đơn giản khi tất cả các giản đồ được sắp xếp theo một thứ tự nhất định có độ thích nghi cao hơn đối thủ Ngược lại, bài toán trở nên phức tạp nếu các giản đồ chưa được tối ưu toàn cục lại bị đánh giá thấp hơn một số đối thủ khác.
Để xây dựng công thức cho giản đồ, chúng ta cần gán nhãn cho tất cả các cạnh có thể có trong đồ thị với n đỉnh, cụ thể là các đường liên kết từ {1, 2, , n(n-1)/2}.
Một giản đồ có độ dài l = n(n-1)/2, trong đó vị trí thứ i sẽ xác định sự tồn tại của một đường link Nếu đường liên kết đó tồn tại, giá trị sẽ là 1, còn nếu không tồn tại, giá trị sẽ là 0 Nếu chưa xác định được, giá trị sẽ để trống.
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ần đảm bảo có chính xác n-1 đường liên kết và cây phải liên thông, dẫn đến xâu biểu diễn chỉ có n-1 kí tự mã hóa một cây liên thông Độ thích nghi trung bình của giản đồ chỉ được tính từ cây mà nó biểu diễn, trong khi các ví dụ không phải cây không ảnh hưởng đến độ thích nghi của giản đồ Do đó, mọi giản đồ có hơn n-1 số 1 hoặc hơn (n-1)-(n-1) số 0 đều không tồn tại, vì chúng không mã hóa cây có nghĩa.
Kiểm tra khả năng "leo thang"
Một phương án tối ưu có thể được chọn ngẫu nhiên hoặc bằng tay, với cấu trúc có thể là cây hình sao, cây danh sách hoặc cây với n nút Để tính toán độ thích nghi f R i R của phương án T R i R, khoảng cách d R i,j R giữa hai cây được sử dụng Độ thích nghi f R i R phụ thuộc vào khoảng cách d R i,opt R giữa T R i R và phương án tối ưu T R opt R Có hai loại bài toán chính: cực đại và cực tiểu, trong đó bài toán cực tiểu được định nghĩa với độ thích nghi f R i RP min.
P của cá thể T R i R được xác định bởi khoảng cách d R i,opt R tới phương án tối ưu T R opt R, với f P min PR i R = d R i,opt R và d R i,opt R ={0,1, n-1} Độ thích nghi của một cá thể là n-2 nếu nó chỉ có một đường liên kết giống phương án tốt nhất Nếu hai cá thể không khác nhau (T R i R =T R opt R), thì độ thích nghi f P min PR i R =0 Giả sử phương án sau là tối ưu, cây hình sao sẽ có độ thích nghi là 1 vì chúng chỉ khác nhau một cạnh.
Hình 2.9: Một cây có 5 nút
Khi xác định bài toán cực đại, độ thích nghi của một cá thể được tính dựa trên số lượng cạnh mà nó tương đồng với phương án tối ưu Công thức tính được biểu diễn là f P max PR i R = n - 1 - d R i,opt.
Trong bài toán cực đại với cây tối ưu, cây hình sao đạt độ thích nghi là 3, trong khi khoảng cách giữa hai cây được tính là d R i,opt R = 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)
Giản đồ Độ thích nghi của giản đồ
Cây được biểu diễn bởi giản đồ Độ thích nghi của cây
Các thao tác của giải thuật di truyền trên cây
Giới thiệu chung về giải thuật di truyền 35T
Giải thuật di truyền được phát triển bởi John Holland (1975) Trong cuốn sách
Adaptation occurs in both natural and artificial systems, with genetic algorithms described as a continuous transformation from one population of chromosomes to another Initially, each chromosome in Holland's model is represented as a string of bits consisting of 0s and 1s This process involves the creation of new chromosomes that evolve over generations.
Mỗi vị trí bit trong xâu bit nhiễm sắc thể đại diện cho một gene, và giá trị biểu hiện cụ thể của gene đó trên nhiễm sắc thể được 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ứ (với nhận giá trị từ i i
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,
Allele là các giá trị cụ thể của gene, thường được hiểu là các biến thể khác nhau của cùng một gene Mỗi gene có thể được xem như một chuỗi gồm 2 bit, dẫn đến việc có thể có k allele cho một gene với các giá trị là 00, 01, 10 và 11.
Hình 2.10: Minh họa Allele, Gen và nhiễm sắc thể
Trong quá trình chuyển đổi từ quần thể cũ sang quần thể mới, chúng ta sử dụng một số toán tử di truyền, bao gồm các cơ chế chọn lọc tự nhiên, hiện tượng lai ghép (crossover), đột biến (mutation) và đảo đoạn (inversion) Những toán tử này giúp tối ưu hóa quá trình tiến hóa của quần thể.
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 cá thể trong tự nhiên dựa trên tiêu chí mà tất cả các cá thể đều có cơ hội được chọn, nhưng những cá thể có phẩm chất tốt hơn sẽ có khả năng được lựa chọn cao hơn Điều này dẫn đến việc những cá thể ưu việt sẽ có nhiều con cháu hơn, góp phần vào sự đa dạng và phát triển của quần thể.
Toán tử lai ghép cho phép trao đổi một số đoạn ngẫu nhiên giữa hai nhiễm sắc thể, từ đó tạo ra sự kết hợp tính chất mới giữa chúng.
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í ị ộ ố trên nhiễm sắc thể, dẫn đến sự biến đổi tính chất của nhiễm sắc thể hoặc tạo ra các tính chất mới.
Toán tử đảo đoạn có khả năng đảo ngược một đoạn nào đó trên nhiễm sắc thể, từ đó thay đổi trật tự của các gene Sự thay đổi này cũng ảnh hưởng đến tính chất của nhiễm sắc thể, dẫn đến những biến đổi nhất định trong đặc điểm di truyền.
Việc áp dụng các toán tử di truyền giúp cải thiện chất lượng cá thể trong quần thể theo tiêu chí đã đặt ra, thông qua toán tử chọn lọc Đồng thời, các toán tử đột biến và đảo đoạn khai phá nhiều tính chất mới, tìm kiếm những đặc điểm tốt đẹp chưa có trong quần thể Nhờ đó, quần thể ngày càng thích nghi hơn, với chất lượng cá thể được cải thiện theo thời gian Quá trình chuyển đổi giữa các thế hệ trong giải thuật di truyền có thể được xem như một quá trình tiến hóa thích nghi.
Các giải thuật di truyền hiện nay vẫn dựa trên mô hình ban đầu của Holland, nhưng đã được cải tiến bằng cách tích hợp các kỹ thuật mới nhằm nâng cao hiệu quả của các toán tử di truyền Đồng thời, việc kết hợp giải thuật di truyền với các phương pháp tìm kiếm local search và các kỹ thuật khác trong tính toán tiến hóa đã dẫn đến sự ra đời của các giải thuật di truyền lai (hybrid GA).
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 hình thành nhiễm sắc thể mới diễn ra thông qua việc kết hợp các đoạn gen từ hai nhiễm sắc thể của cha và mẹ, tạo ra nhiễm sắc thể mang đặc tính của cả hai bên Phép lai này cho phép sự kết hợp di truyền đa dạng và phong phú.
- 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
Quá trình tìm điểm lai được thực hiện bằng cách tạo ngẫu nhiên một con số từ 1 đến m-1, qua đó chia hai chuỗi nhiễm sắc thể cha mẹ thành hai nhóm nhiễm sắc thể con là m R 1 R và m R 2 R Điều này dẫn đến việc tạo ra hai chuỗi nhiễm sắc thể con mới là m R 11 R +m R 22 R và m R 21 R +m R 12 R
- Ðư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
Quá trình đột biến (phép đột biến)
Quá trình tiến hóa được gọi là đột biến khi một hoặc nhiều tính trạng của con không được thừa hưởng từ hai chuỗi nhiễm sắc thể của cha mẹ Xác suất xảy ra đột biến thấp hơn nhiều so với xác suất lai Đột biến có thể được mô tả như sau:
- Chọn ngẫu nhiên một số ktừ 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 sao chép các cá thể dựa trên độ thích nghi của chúng, với độ thích nghi được gán giá trị thực cho từng cá thể trong quần thể Quá trình này có thể được mô phỏng để hiểu rõ hơn về sự phát triển và tiến hóa của các loài.
Để tính độ thích nghi của từng cá thể trong quần thể, cần 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ể, từ đó xác định tổng độ thích nghi Giả sử quần thể có n cá thể, độ thích nghi của cá thể thứ i được ký hiệu là F_i, và tổng dồn thứ i là R_t Cuối cùng, tổng độ thích nghi của quần thể được biểu thị là F_m.
- Tạo số ngẫu nhiên Fcó giá trị trong đoạn từ dến 0 F R m R
- Chọn cá thể kđầu tiên thỏa mãn F ≥ F R t R đư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.
Sơ đồ chung của giải thuật di truyền
Trong thuật toán di truyền, mỗi cá thể đại diện cho một lời giải có thể cho bài toán, mặc dù chưa đạt tối ưu Qua các thế hệ lặp đi lặp lại, các cá thể này sẽ trải qua quá trình biến đổi, dẫn đến việc hình thành những lời giải tốt hơn.
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ể
L ai 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
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
Việc chọn lọc cá thể cha mẹ trong quần thể hiện tại là bước quan trọng để thực hiện lai ghép và tạo ra quần thể mới Quá trình này tương tự như tiến hóa tự nhiên, trong đó các cá thể có độ thích nghi cao hơn sẽ có khả năng được lựa chọn nhiều hơn.
Lai ghép là quá trình tạo ra các cá thể con từ hai cá thể cha mẹ đã chọn Có nhiều chiến thuật lai ghép khác nhau như lai ghép đồng bộ, lai ghép theo thứ tự và lai ghép tương hợp bộ phận Việc lựa chọn toán tử lai ghép phù hợp phụ thuộc vào phương pháp mã hóa và từng bài toán cụ thể.
Đột biến là quá trình tạo ra các kiểu gen mới, góp phần tăng cường tính đa dạng của quần thể sinh vật Các phương pháp đột biến phổ biến bao gồm độ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
Hình 2.12: Bài toán tối ưu có thể có rất nhiều cực trị
Tính độ thích nghi các cá thể trong P(0); while not ket_thuc do begin2 t++;
Lai ghép và đột biến P(t) từ P(t-1) ;
Chọn lọc P(t) để duy trì kích thước quần thể; end2; end1;
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 là quá trình chọn lọc các cá thể cây trong quần thể để thực hiện lai tạo hoặc duy trì cho các thế hệ tiếp theo Những cá thể có độ thích nghi cao sẽ được ưu tiên chọn nhiều hơn, nhằm đảm bảo sự phát triển bền vững và nâng cao chất lượng của quần thể.
Quá trình này chọn một vị trí ngẫu nhiên và thực hiện biến đổi chuỗi gen trước và sau vị trí đó giữa hai nhiễm sắc thể, nhằm tạo ra hợp tử Ví dụ, với hai chuỗi gen được đưa ra, sự thay đổi này có thể tạo ra các biến thể di truyền mới.
11111111 giao chéo sau vị trí thứ 3 ta thu được 2 hợp tử là:
• Độ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
Quần thể kh1 ởi tạo
Lựa chọn Giao chéo Đột bi n ế
Trong các bài toán tối ưu phức tạp, hàm mục tiêu có thể chứa nhiều điểm lồi lõm và cực trị khác nhau Thuật toán di truyền thường gặp khó khăn khi dừng lại ở các cực trị địa phương Để đảm bảo thuật toán di truyền hội tụ tới cực trị toàn cục, việc lựa chọn các thông số cho thuật toán là rất quan trọng và cần được thực hiện một cách 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ể trong thuật toán di truyền là yếu tố quan trọng quyết định hiệu quả của quá trình tối ưu hóa Việc lựa chọn phương pháp mã hóa phù hợp không chỉ đảm bảo khả năng diễn đạt không gian lời giải toàn diện mà còn ảnh hưởng đến việc chọn lựa các toán tử di truyền như lai ghép và đột biến Nếu phương pháp biểu diễn được thay đổi, có thể cần thiết phải thiết kế lại các toán tử di truyền tương ứng để phù hợp với cấu trúc mới.
Đánh giá độ thích nghi của các cá thể là một yếu tố quan trọng trong việc nghiên cứu và phát triển giống Việc lựa chọn phương pháp đánh giá thích nghi sẽ ảnh hưởng trực tiếp đến hiệu quả của giải pháp Do đó, cần xác định rõ cách thức đánh giá để đảm bảo tính chính xác và hiệu quả trong quá trình nghiên cứu.
Xác định m t s tham s khác trong gi i thuộ ố ố ả ật như:
Kích thước quần thể ảnh hưởng lớn đến hiệu quả tìm kiếm Nếu quần thể quá nhỏ, khả năng tìm kiếm sẽ bị hạn chế, trong khi nếu quần thể quá lớn, quá trình hội tụ đến lời giải sẽ chậm và thời gian thực hiện cũng tăng lên.
Khi lựa chọn điều kiện dừng cho thuật toán, cần xác định số lượng vòng lặp sinh quần thể một cách hợp lý Nếu số lượng vòng lặp quá ít, vùng tìm kiếm sẽ bị hạn chế, trong khi nếu quá nhiều, thời gian xử lý sẽ tăng lên Ngoài ra, việc không có chiến lược xử lý hợp lý trong quá trình tìm kiếm sẽ khiến việc tăng số vòng lặp không mang lại hiệu quả.
Xác định các giá trị độ tán xạ biến và tỉ lệ lai ghép phù hợp là bước quan trọng trong việc tìm kiếm giải pháp tối ưu Nếu các giá trị này lớn, quần thể mới tạo ra sẽ đa dạng hơn, 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, giúp tăng khả năng tìm thấy giải pháp tốt nhất.
Các công thức của thuật giải di truyền 35T
Tính độ thích nghi eval (v R i R ) của mỗi nhiễm sắc thể v R i R (i=1 kích thước quần thể):
Tính tổng giá tr thích nghi c a qu n th ị ủ ầ ể
Tính xác suất ch n pi cho m i nhi m s c th vọ ỗ ễ ắ ể R i
Tính xác suất tích lũy q R i R cho mỗi nhiễm sắc thểv R i
Tiến trình chọn lọc diễn ra thông qua việc quay bánh xe rulet kích thước quần thể Mỗi lần, một nhiễm sắc thể được chọn từ quần thể hiện hành để đưa vào quần thể mới.
- Phát sinh một số ngẫu nhiên rtrong khoảng [0,1]
- N u ế r