Toán tử đột biến

Một phần của tài liệu Thuật toán di truyền giải bài toán cây khung truyền thông tối ưu (Trang 89)

- LNB )

3.2.3Toán tử đột biến

Chọn ngẫu nhiên một cá thể trong quần thể, chọn ngẫu nhiên một vị trí gen tương ứng. Sau khi gây đột biến cho gen đó, trả lại cá thể đó vào quần thể.

3.2.4 Mô tả giải thuật di truyền theo phƣơng pháp mã hóa số Prufer

Sử dụng giá trị thích nghi của cá thể chính là giá cây khung; phương pháp chọn lọc cá thể theo trận đấu (k = 2) và các tham số xác suất pc, pm, giải thuật di truyền theo phương pháp mã hóa số Prufer có thể được mô tả như sau:

Bƣớc 1: Khởi tạo quần thể gồm N cá thể mã hóa theo số Prufer ngẫu nhiên

Bƣớc 2: Tính độ thích nghi cho mỗi cá thể trong quần thể.

Bƣớc 3: Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành.

 Chọn lọn 02 cá thể theo lựa chọn vòng đấu (k = 2).

 Áp dụng thao tác lai ghép một điểm cắt với xác suất pc

 Áp dụng toán tử đột biến theo mục 3.2.3 với xác suất pm

 Đưa cá thể mới vào quần thể mới.

Bƣớc 4: Kiểm tra điều kiện dừng. Nếu điều kiện dừng thỏa mãn thì thuật toán kết thúc và trả về lời giải tốt nhất trong quần thể hiện tại; nếu không thực hiện bước tiếp theo.

Bƣớc 5: Quay lại bước 2 với quần thể hiện tại chính là quần thể mới sinh ra trong bước 3.

Cha Mẹ Con

81

3.3 Giải thuật di truyền sử dụng mã hóa vectơ đặc trƣng 3.3.1 Khởi tạo quần thể

Giả sử kích thước cố định của quần thể là N. Số nút của đồ thị Gn.Do đó, đồ thị có thể có tối đa n(n-1)/2. Mỗi cá thể mã hóa vectơ đặc trưng có độ dài l =

n(n-1)/2. Mỗi thành phần trong cá thể ứng với một cạnh trong cây khung. Mỗi thành phần trong cá thể có thể mang giá trị 0 hoặc 1 thể hiện cạnh tương ứng có thuộc cây khung hay không. Điều này có nghĩa, mỗi cá thể phải luôn có chính xác (n-1) giá trị 1.

3.3.2 Lai ghép cá thể

Giải thuật di truyền sử dụng mã hóa vectơ đặc trưng áp dụng phương pháp lai ghép một điểm cắt được trình bày tại mục 2.5.1 của chương 2 – Giải thuật di truyền. Tuy nhiên, khi thực hiện lai ghép một điểm cắt đối với cá thể cha, mẹ được mã hóa vectơ đặc trưng thì cá thể con sinh ra có thể không hợp lệ. Vì thế, cá thể con phải được “sửa chữa” trở thành cá thể con mã hóa cây khung hợp lệ.

Cách thức “sửa chữa” cá thể được tiến hành như sau:

Bƣớc 1: Xoá những cạnh tạo thành chu trình trong cây.

Bƣớc 2: Thêm vào các cạnh để kết nối nếu như chưa liên thông.

3.3.3 Toán tử đột biến

Cá thể được đột biến theo phương pháp đột biến mã hóa nhị phân được trình bày trong mục 2.6.1 chương 2 – Giải thuật di truyền. Chọn ngẫu nhiên một vị trí trong cá thể và thực hiện đảo giá trị từ 0 thành 1 và ngược lại.

Nếu sau khi đột biến, cá thể không hợp lệ thì sẽ được “sửa chữa” để trở thành cá thể mã hóa vectơ đặc trưng hợp lệ.

82

3.3.4 Mô tả giải thuật di truyền theo phƣơng pháp mã hóa vectơ đặc trƣng

Sử dụng giá trị thích nghi của cá thể chính là giá cây khung; phương pháp chọn lọc cá thể theo trận đấu (k = 2) và các tham số xác suất pc, pm, giải thuật di truyền theo phương pháp mã hóa số vectơ đặc trưng có thể được mô tả như sau:

Bƣớc 1: Khởi tạo quần thể gồm N cá thể hợp lệ mã hóa vectơ đặc trưng

Bƣớc 2: Tính độ thích nghi cho mỗi cá thể trong quần thể.

Bƣớc 3: Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành: (adsbygoogle = window.adsbygoogle || []).push({});

 Chọn lọn 02 cá thể theo lựa chọn vòng đấu (k = 2).

 Áp dụng thao tác lai ghép một điểm cắt với xác suất pc

 Thực hiện “sửa chữa” nếu cá thể con không hợp lệ.  Áp dụng toán tử đột biến theo mục 3.3.3 với xác suất pm

 Thực hiện “sửa chữa” nếu cá thể sau đột biến không hợp lệ.  Đưa cá thể mới vào quần thể mới.

Bƣớc 4: Kiểm tra điều kiện dừng. Nếu điều kiện dừng thỏa mãn thì thuật toán kết thúc và trả về lời giải tốt nhất trong quần thể hiện tại; nếu không thực hiện bước tiếp theo.

Bƣớc 5: Quay lại bước 2 với quần thể hiện tại chính là quần thể mới sinh ra trong bước 3.

3.4 Giải thuật di truyền sử dụng mã hóa thiên kiến cạnh và nút 3.4.1 Khởi tạo quần thể 3.4.1 Khởi tạo quần thể

Giả sử kích thước cố định của quần thể là N. Số nút của đồ thị Gn. Vì mỗi cá thể sẽ mã hóa trọng số của các nút và tất cả các cạnh nên độ dài của mỗi cá thể sẽ là nn(n1)/2n(n1)/2. Trong đó giá trị biểu diễn trọng số nút và trọng số cạnh được chọn ngẫu nhiên trong [0,1].

83

3.4.2 Lai ghép cá thể

Giải thuật di truyền sử dụng mã hóa thiên kiến cạnh và nút áp dụng phương pháp lai ghép một điểm cắt được trình bày tại mục 2.5.1 của chương 2 – Giải thuật di truyền. Vì từ một cá thể mã hóa thiên kiến cạnh và nút chỉ tạo được một cây khung hợp lệ nên không cần áp dụng phương pháp kiểm tra, chỉnh sửa cá thể con sau khi lai ghép.

3.4.3 Đột biến cá thể

Khi thực hiện đột biến, một vị trí ngẫu nhiên trong cá thể được lựa chọn. Giá trị của vị trí này sẽ được thay thế bằng một giá trị ngẫu nhiên khác trong [0,1]. Sau khi đột biến cá thể mới sẽ được đưa vào quần thể để tiếp tục quá trình di truyền.

3.4.4 Mô tả giải thuật di truyền theo mã hóa thiên kiến cạnh và nút

Sử dụng giá trị thích nghi của cá thể chính là giá cây khung; phương pháp chọn lọc cá thể theo trận đấu (k = 2) và các tham số xác suất pc, pm, giải thuật di truyền theo phương pháp mã hóa thiên kiến cạnh và nút có thể được mô tả như sau:

Bƣớc 1: Khởi tạo quần thể gồm N cá thể hợp lệ theo mã hóa thiên kiến cạnh và nút

Bƣớc 2: Tính độ thích nghi cho mỗi cá thể trong quần thể.

Bƣớc 3: Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành

 Chọn lọn 02 cá thể theo lựa chọn vòng đấu (k = 2).

 Áp dụng thao tác lai ghép một điểm cắt với xác suất pc

 Áp dụng toán tử đột biến theo mục 3.4.3 với xác suất pm

 Đưa cá thể mới vào quần thể mới.

Bƣớc 4: Kiểm tra điều kiện dừng. Nếu điều kiện dừng thỏa mãn thì thuật toán kết thúc và trả về lời giải tốt nhất trong quần thể hiện tại; nếu không thực hiện bước tiếp theo.

84

Bƣớc 5: Quay lại bước 2 với quần thể hiện tại chính là quần thể mới sinh ra trong bước 3.

3.5 Giải thuật di truyền sử dụng mã hóa NetKey 3.5.1 Khởi tạo quần thể 3.5.1 Khởi tạo quần thể

Giả sử kích thước quần thể cố định là N. Số nút của đồ thị Gn. Mã hóa

NetKey thay thể giá trị 0 và 1 trong mã hóa vectơ đặc trưng bằng giá trị thực để biểu diễn sự quan trọng của liên kết. Do đó, mỗi cá thể mã hóa NetKey có độ dài n(n-1)/2

và mỗi thành phần của cá thể có giá trị ngẫu nhiên thuộc [0,1]. Như vậy quần thể ban đầu gồm N cá thể mã hóa NetKey.

3.5.2 Lai ghép cá thể (adsbygoogle = window.adsbygoogle || []).push({});

Tương tự toán tử lai ghép của giải thuật di truyền sử dụng mã hóa thiên kiến cạnh và nút, giải thuật di truyền sử dụng mã hóa NetKet sử dụng phương pháp lai ghép một điểm cắt được trình bày tại mục 2.5.1 của chương 2 – Giải thuật di truyền.

3.5.3 Đột biến cá thể

Tương tự toán tử đột biến của giải thuật di truyền sử dụng mã hóa thiên kiến cạnh và nút, ban đầu một vị trí trong cá thể được đột biến được chọn ngẫu nhiên. Giá trị của vị trí này sẽ được thay thế bằng một giá trị ngẫu nhiên khác trong [0,1]. Sau khi đột biến cá thể mới sẽ được đưa vào quần thể để tiếp tục quá trình di truyền.

3.5.4 Mô tả giải thuật di truyền theo mã hóa NetKey

Sử dụng giá trị thích nghi của cá thể chính là giá cây khung; phương pháp chọn lọc cá thể theo trận đấu (k = 2) và các tham số xác suất pc, pm, giải thuật di truyền theo phương pháp mã hóa NetKey có thể được mô tả như sau:

Bƣớc 1: Khởi tạo quần thể gồm N cá thể hợp lệ theo mã hóa NetKey.

85

Bƣớc 3: Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành:

 Chọn lọn 02 cá thể theo lựa chọn vòng đấu (k = 2).

 Áp dụng thao tác lai ghép một điểm cắt với xác suất pc

 Áp dụng toán tử đột biến theo mục 3.5.3 với xác suất pm

 Đưa cá thể mới vào quần thể mới.

Bƣớc 4: Kiểm tra điều kiện dừng. Nếu điều kiện dừng thỏa mãn thì thuật toán kết thúc và trả về lời giải tốt nhất trong quần thể hiện tại; nếu không thực hiện bước tiếp theo.

Bƣớc 5: Quay lại bước 2 với quần thể hiện tại chính là quần thể mới sinh ra trong bước 3.

3.6 Giải thuật di truyền sử dụng mã hóa tập cạnh 3.6.1 Khởi tạo quần thể 3.6.1 Khởi tạo quần thể

Giả sử kích thước quần thể cố định là N. Số nút của đồ thị Gn. Áp dụng phương pháp khởi tạo cá thể mã hóa tập cạnh sử dụng heuristic để tạo ra quần thể ban đầu gồm N cá thể. Mỗi cá thể chính là tập cạnh của cây khung nó biểu diễn và độ dài cá thể là n-1.

3.6.2 Lai ghép cá thể

Áp dụng phương pháp lai ghép sử dụng heuristic của mục 3.1.5.2 để tạo ra cá thể con từ tập cạnh chung của cá thể cha mẹ và tập cạnh riêng của cá thể cha, cá thể mẹ.

3.6.3 Đột biến cá thể

Áp dụng toán tử đột biến sử dụng heuristic của mục 3.1.5.2 để đột biến tạo ra cá thể con hợp lệ. Sau đó đưa cá thể mới vào quần thể mới để tiếp tục quá trình di truyền.

86

3.6.4 Mô tả giải thuật di truyền theo mã hóa tập cạnh

Sử dụng giá trị thích nghi của cá thể chính là giá cây khung; phương pháp chọn lọc cá thể theo trận đấu (k = 2) và các tham số xác suất pc, pm, giải thuật di truyền theo phương pháp mã hóa mã hóa tập cạnh có thể được mô tả như sau:

Bƣớc 1: Khởi tạo quần thể gồm N cá thể hợp lệ theo mã hóa tập cạnh.

Bƣớc 2: Tính độ thích nghi cho mỗi cá thể trong quần thể.

Bƣớc 3: Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành:

 Chọn lọn 02 cá thể theo lựa chọn vòng đấu (k = 2).

 Áp dụng toán tử lai ghép theo mục 3.6.2 với xác suất pc

 Áp dụng toán tử đột biến theo mục 3.6.3 với xác suất pm

 Đưa cá thể mới vào quần thể mới. (adsbygoogle = window.adsbygoogle || []).push({});

Bƣớc 4: Kiểm tra điều kiện dừng. Nếu điều kiện dừng thỏa mãn thì thuật toán kết thúc và trả về lời giải tốt nhất trong quần thể hiện tại; nếu không thực hiện bước tiếp theo.

Bƣớc 5: Quay lại bước 2 với quần thể hiện tại chính là quần thể mới sinh ra trong bước 3.

3.7 So sánh các phƣơng pháp mã hóa cá thể

Một trong những yếu tố cơ bản ảnh hưởng đến hiệu quả của GA trên các cách mã hoá: tính cục bộ và tính dư thừa.

Tính dƣ thừa và thiên kiến

Một trong đặc điểm của phương pháp mã hóa ảnh hưởng đến hiệu quả của giải thuật di truyền đó chính là tính dư thừa. Tính dư thừa được đo bằng độ lệch của kích thước không gian kiểu gen và kiểu hình. Nếu kích thước không gian kiểu gen lớn hơn kích thước không gian kiểu hình thì cách mã hoá đó sẽ gây ra sự dư thừa, tức là một kiểu hình có thể được biểu diễn bởi một số kiểu gen. Nếu các kiểu gen

87

cùng biểu diễn một kiểu hình tương tự nhau thì đó chính là dư thừa đồng nhất; ngược lại chính là dư thừa không đồng nhất.

Cách mã

hoá Biểu diễn Số lƣợng kiểu gen Độ lệch (=SL kiểu hình/SL kiểu gen) Tính chất mã hóa Mã hoá Prufer

Mỗi cây được biểu diễn bởi một chuỗi chiều dài n- 2, mỗi vị trí là một nhãn đỉnh. nn-2 2 1 2    nn n n Không dư thừa, không thiên kiến và tính cục bộ thấp. Mã hoá CV

Mỗi cây được biểu diễn bởi một chuỗi bit có chiều dài n(n-1)/2. 2n(n-1)/2 n n n n n n n n n / ) ln( 3 ) ( log ) ln( 2 2 2 2 / ) 1 ( 2      Dư thừa không đồng nhất, thiên kiến Mã hóa NB

Mỗi cây được biểu diễn bằng một chuỗi thực chiều dài n.  KXĐ Dư thừa đồng nhất, thiên kiến. Mã hóa LB

Mỗi cây được biểu diễn bằng một chuỗi thực chiều dài n(n-1).  KXĐ Tính dư thừa phụ thuộc vào tham số 1 P, thiên kiến. 1 P=0: Dư thừa đồng nhất, không thiên kiến. 1 P  : Dư thừa đồng nhất, thiên kiến Mã hoá LNB

Mỗi cây được

biểu diễn bằng  KXĐ Dư thừa

88 một chuỗi thực chiều dài n(n+1)/2. không thiên kiến nếu P1, P2 chọn hợp lí. P1=1 => cây MST. P2=1 => cây hình sao. Mã hoá NetKey

Mỗi cây được biểu diễn bởi một chuỗi thực có chiều dài n(n- 1)/2.  KXĐ Dư thừa đổng nhất, không thiên kiến Mã hoá EdgeSet

Cây được biểu diễn trực tiếp bằng tập cạnh. 2  n n 1 Không dư thừa, không thiên kiến

Bảng 3.1. Bảng đánh giá về tính dư thừa trong các cách mã hoá

Dựa vào bảng đáng giá tính dư thừa trong từng cách mã hóa thì:

Mã hóa CV có tính dư thừa không đồng nhất, thiên kiến nên GA sử dụng mã hóa CV chỉ có thể đạt được kết quả tốt đối với các bộ dữ liệu nhỏ; không thể đạt được kết quả tốt đối với các bộ dữ liệu lớn. Tuy nhiên, ngay cả đối với các bộ dữ liệu nhỏ thì số thệ hệ để đạt được kết quả tốt nhất là khá lớn.

Mã hóa LB là mã hóa dư thừa đồng nhất và thiên kiến (P1 1). Các cá thể trong GA sử dụng mã hóa LB thiên kiến trở thành MST. Tuy nhiên nếu giá trị khoảng cách đều bằng nhau thì cá thể trong GA sử dụng mã hóa LB thiên kiến trở thành cây hình sao. Điều này đã được chứng minh thông qua bộ dữ liệu Berry35u, mã hóa LB cho kết quả tốt hơn hẳn so với các phương pháp mã hóa khác.

Mã hóa NB là mã hóa dư thừa đồng nhất và thiên kiến. Do đó GA sử dụng mã hóa NB phụ thuộc vào cấu trúc của cây khung tối ưu. Mặt khác Palmer (1994) chỉ ra rằng mã hóa NB không thể biểu diễn tất cả các cây khung mà chỉ biểu diễn một phần nhỏ của không gian lời giải và có thiên kiến trở thành cây hình sao hoặc

89

MST. Điều này được chính minh qua bộ dữ liệu Palmer24. Bộ dữ liệu Palmer có giá trị khoảng cách giữa giá trị tối ưu và cây khung MST, cây hình sao: dm t opts , 12 và

,

min(dstar opt) 17 khá lớn nên kết quả của mã hóa NB không tốt bằng các phương pháp mã hóa còn lại.

Mã hóa LNB là mã hóa dư thừa đồng nhất, không thiên kiến nếu các giá trị P1, P2 chọn hợp lí. Tuy nhiên với P1 1 và P2 1, thì các cá thể trong GA sử dụng mã hóa LNB thiên kiến thành cây khung hình sao. Bình thường, giá trị tốt nhất của

GA sử dụng mã hóa LNB sẽ thuộc khoảng của giá trị tốt nhất của GA sử dụng mã (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Thuật toán di truyền giải bài toán cây khung truyền thông tối ưu (Trang 89)