Mã hóa NetKeys (Network Random Keys Encoding) 59

Một phần của tài liệu Đánh giá hiệu quả của giải thuật di truyền giải bài toán cây khung truyền thông tối ưu với các kỹ thuật mã hóa cây (Trang 60 - 62)

M ục đích nghiên cứu, đố it ượ ng, phạm vi nghiên cứ u 12 

3.2.2.Mã hóa NetKeys (Network Random Keys Encoding) 59

Mã hóa NetKeys được lần đầu tiên được Bean(1992) [25] giới thiệu, và được Rothlauf [19] lần đầu sử dụng cho bài toán OCST.

Để mô tả chức năng của mã hóa NetKey, chúng ta có thể tách ra cách trình bày gồm hai phần. Đầu tiên kiểu gen là một chuỗi số ngẫu nhiên, nó lưu trữ sự quan trọng của những liên kết có chiều dài l=n(n-1)/2 (n sốđỉnh của đồ thị). Thứ hai là xây dựng một thuật toán ánh xạ kiểu gen sang kiểu hình có nghĩa là xây dựng một cây (kiểu hình-phenotype) từ một chuỗi số ngẫu nhiên (kiểu gen – genotype) trong phạm vi [0,1].

+ Thuật toán tạo ra cây khung từ một chuỗi NetKeysđược mô tả như sau:

Bước 1: Mỗi số trong chuỗi NetKeys sẽđược gán nhãn chính bằng số thứ tự của nó trong chuỗi. Các nhãn này cũng chính là nhãn của mỗi cạnh trong đồ thị.

60

Bước 2: Sắp xếp lại chuỗi theo thứ tự giảm dần của các số trong chuỗi, ta thu

được một chuỗi số mới là s theo thứ tự giảm dần của các giá trị số trong chuỗi. Bước 3: Cho i=1, T là một cây rỗng.

Bước 4: Lấy j là cạnh tại vị trí i.

Bước 5: Nếu việc thêm cạnh j vào cây T mà không tạo ra chu trình thì ta thêm cạnh đó vào cây.

Bước 6 : Tăng i lên 1 và lặp lại bước 3 cho tới khi cây có cạnh. Ví dụ:

Vị trí 1 2 3 4 5 6 7 8 9 10

Chuỗi 0.55 0.73 0.09 0.23 0.40 0.82 0.65 0.85 0.75 0.90

Cạnh A-B A-C A-D A-E B-C B-D B-E C-D C-E D-E

Bảng 3.1 - Chuỗi NetKeys cùng nhãn của các cạnh trong đồ thị ban đầu

Sắp xếp lại Chuỗi NetKeys theo thự tự giảm của giá trị ta có:

Chuỗi 0.90 0.85 0.82 0.75 0.73 0.65 0.55 0.40 0.23 0.09

Cạnh D-E C-D B-D C-E A-C B-E A-B B-C A-E A-D

Nhãn 10 8 6 9 2 7 1 5 4 3

Bảng 3.2 - Chuỗi NetKeys sau khi được sắp xếp

Các bước lặp ban đầu của thuật toán, cạnh 10, 8, 6 sẽ được đưa vào cây. Tiếp

đến cạnh 9 sẽ tạo ra chu trình do đó không đưa cạnh này vào cây và tiếp tục như vậy cho tới khi tạo được cây khung hoàn chỉnh gồm 4 cạnh như sau:

61

A B

C D E

Hình 3.4 - Cây thu được theo mã hóa NetKeys

Một trong những nhược điểm của mã hóa NetKeys là đòi hỏi thời gian tính toán lớn. Điều này một phần do yêu cầu của việc tìm chu trình của cây trong mỗi bước lặp tính toán. Ngoài ra tính chất mã hóa của chuỗi NetKeys không thể hiện tính duy nhất khi mã hóa một cây khung. Cho nên với một cây khung ta không thể sinh ra được một chuỗi mã hóa duy nhất.

Một phần của tài liệu Đánh giá hiệu quả của giải thuật di truyền giải bài toán cây khung truyền thông tối ưu với các kỹ thuật mã hóa cây (Trang 60 - 62)