Tải bản đầy đủ (.pdf) (86 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (951.78 KB, 86 trang )

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 TỐN CÂY KHUNG VỚI CHI
PHÍ LỘ TRÌNH NHỎ NHẤT

Chuyên ngành : Công Nghệ Thông Tin

LUẬN VĂN THẠC SĨ KHOA HỌC
CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS Nguyễn Đức Nghĩa

Hà Nội – Năm 2011


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



2


MỤC LỤC

Trang
LỜI CẢM ƠN ................................................................................................. 2
T
5
3

35T

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

T
5
3

Danh mục các bảng ......................................................................................... 6
T
5
3

35T


Danh mục các hình vẽ ..................................................................................... 7
T
5
3

35T

LỜI MỞ ĐẦU................................................................................................. 9
T
5
3

35T

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

NHẤT ...................................................................................... 11
35T

1.1 Giới thiệu bài tốn cây khung với chi phí lộ trình nhỏ nhất. ................ 11
35T

T
5
3

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

35T

T
5
3

1.3 Ứng dụng của bài toán MRCT. ........................................................... 17
35T

T
5
3

1.3.1 Trong thiết kế mạng. .................................................................... 17
35T

T
5
3

1.3.2 Trong tin sinh học ........................................................................ 17
35T

T
5
3

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

3

35T

2.1 Các khái niệm cơ bản. ......................................................................... 18
35T

T
5
3

2.1.1 Cấu trúc cây- kiểu hình. ............................................................... 18
35T

T
5
3

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

2.1.2
35T

35T

35T

Phân tích giản đồ. ..................................................................... 22

2.1.3

35T

35T

35T

T
5
3

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

2.1.4
35T

T
5
3

35T

35T

T
5
3

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


T
5
3

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

2.3.1
35T

35T

35T

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

2.3.2
35T

35T

35T

35T

35T

T
5
3


Các công thức của thuật giải di truyền. ..................................... 44

2.3.4
35T

T
5
3

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

2.3.3
35T

T
5
3

35T

35T

T
5
3

2.3 Giải thuật di truyền giải bài toán MRCT. ........................................... 45
35T

T

5
3

Tạo quần thể cây khung ban đầu (Individual) ........................... 45

2.3.1
35T

35T

35T

T
5
3

2.3.2. Phép lai (crossover) .................................................................. 45
35T

35T

2.3.3
35T

35T

35T

T
5

3

Phép đột biến (Mutation) .......................................................... 46
35T

T
5
3

3


CHƯƠNG 3 CÁC PHƯƠNG PHÁP BIỂU DIỄN CÂY .............................. 47
T
5
3

35T

3.1 Phương pháp biểu diễn số Prufer. ........................................................ 47
35T

T
5
3

Xây dựng số Prufer từ cây. ....................................................... 47

3.1.1
35T


35T

35T

Xây dựng cây từ số Prufer. ....................................................... 48

3.1.2
35T

35T

35T

35T

35T

T
5
3

Hiệu quả của Gas trên cách mã hóa theo số Prufer. .................. 51

3.1.4
35T

T
5
3


Các thao tác di truyền trong mã hóa số Prufer. ......................... 50

3.1.3
35T

T
5
3

35T

35T

T
5
3

3.2 Mã hóa theo vectơ kí tự (Characteristic Vector Encoding -CV) ........... 52
35T

35T

35T

T
5
3

Cách mã hóa theo vectơ kí tự. .................................................. 52


3.2.1
35T

35T

35T

Các thao tác di truyền. .............................................................. 54

3.2.2
35T

35T

35T

T
5
3

Cách sửa chữa các phương án không thực sự hợp lệ. ................ 56

3.2.3
35T

T
5
3


35T

35T

T
5
3

3.3 Phương pháp mã hóa thiên kiến đỉnh và cạnh ...................................... 57
35T

35T

35T

T
5
3

Mã hóa thiên kiến đỉnh (Node Biased Encoding –NB). ............ 57

3.3.1
35T

35T

35T

3.3.2
35T


Mã hóa thiên kiến cạnh (Link Biased Encoding-LB) ................ 59

35T

35T

T
5
3

Mã hóa thiên kiến đỉnh và cạnh (Link and Node Biased

3.3.3
35T

T
5
3

35T

35T

Encoding-LNB) ....................................................................... 59
T
5
3

Mã hóa thiên kiến đỉnh và cạnh là mã hóa có dơi đồng nghĩa. .. 61


3.3.4
35T

35T

35T

T
5
3

3.4 Mã hóa Network Random Keys Encoding (NetKeys) ......................... 61
35T

35T

35T

T
5
3

3.5 Mã hóa Cycle Breaking Tree Construction Routing (CB-TCR) ........... 63
35T

35T

35T


T
5
3

3.6 Giải thuật di truyền lai đề xuất giải bài toán MRCT. ........................... 66
35T

T
5
3

CHƯƠNG 4 CÀI ĐẶT THỬ NGHIỆM ...................................................... 70
T
5
3

35T

4.1 Mô tả cài đặt. ...................................................................................... 70
35T

35T

35T

35T

4.2 Các bộ dữ liệu thực nghiệm................................................................. 70
35T


35T

35T

T
5
3

Xây dựng bộ dữ liệu cho đồ thị tổng quát. ................................ 71

4.2.1
35T

35T

35T

Xây dựng bộ dữ liệu cho đồ thị đồng nhất. ............................... 72

4.2.2
35T

35T

35T

T
5
3


Xây dựng bộ dữ liệu cho đồ thị không đồng nhất...................... 73

4.2.3
35T

T
5
3

35T

35T

T
5
3

4.3 Kết quả thực nghiệm. .......................................................................... 75
35T

35T

35T

T
5
3

KẾT LUẬN ................................................................................................ 82
T

5
3

35T

TÀI LIỆU THAM KHẢO ............................................................................. 84
T
5
3

T
5
3

4


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

STT
1

Genetic algorithm

2

Hybrid Genetic algorithm

3


Polynomial time approximation
schemes

Viết tắt
GA
HGA
PTAS

Dịch tiếng Việt
Thuật toán di truyền
Thuật toán di truyền lai
Sơ đồ xấp xỉ trong thời gian
đa thức

4

Population

Quần thể

5

Chromosomes

Nhiễm sắc thể

6

Individual


Cá thể

7

Genetic-inspired operators

Toán tử di truyền

8

Selection

Chọn lọc tự nhiên

9

Crossover, Recombination

Lai ghép

10

Mutation

Hiện tượng đột biến

11

Inversion


Đảo đoạn

12

Fitness

Độ thích nghi

13

Evaluation function

Hàm mục tiêu

Object function

14

Generation

15

Roulette wheel selection

16

Max–Min Ant System

Thế hệ

Cơ chế lựa chọn theo bánh xe
Roulette

MMAS Thuật toán Max-Min

5


Danh mục các bảng
Bảng 3.1: Chuỗi NetKeys cùng nhãn của các cạnh trong đồ thị............................. 62
U
T
5
3

T
5
3
U

Bảng 4.1: Kích thước đồ thị và kích thước quần thể trong các bộ dữ liệu .............. 71
U
T
5
3

T
5
3
U


Bảng 4.2: Kích thước đồ thị và kích thước quần thể trong các đồ thị đồng nhất và
U
T
5
3

gần đồng nhất ........................................................................................... 72
35T
U

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

nhất có các cạnh được phân bố đều .......................................................... 73
T
5
3
U

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ứng 75
U
T
5
3

T

5
3
U

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
U
T
5
3

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 MMAS ............................................................................................... 76
35T
U

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à
U
T
5
3

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 MMAS ................................................................. 77
T
5
3
U

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
U

T
5
3

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 MMAS......................................................................... 78
T
5
3
U

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
U
T
5
3

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 MMAS ............................................................................................... 79
35T
U

6


Danh mục các hình vẽ
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à
U
T
5

3

các nút lá ...................................................................................................... 12
35T
U

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á............. 12
U
T
5
3

T
5
3
U

Hình 1.3: Cây khung 2-star ................................................................................... 13
U
T
5
3

35T
U

Hình 1.4: Đồ thị G và routing cost của hai cây khung T 1 và T 2 của G ................... 14
U
T
5

3

R
U

RU

R
U

RU

T
5
3
U

Hình 1.5: Hai topology cây ảnh hưởng đến routing cost........................................ 15
U
T
5
3

T
5
3
U

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

T
5
3

T
5
3
U

Hình 2.2: Cây hình sao.......................................................................................... 19
U
T
5
3

35T
U

Hình 2.3: Cây dạng danh sách .............................................................................. 20
U
T
5
3

T
5
3
U

Hình 2.4: Cây bất kỳ.............................................................................................. 20

U
T
5
3

35T
U

Hình 2.5: Khái niệm cây khung của đồ thị. ............................................................ 20
U
T
5
3

T
5
3
U

Hình 2.6: Cây khung của đồ thị ............................................................................. 21
U
T
5
3

T
5
3
U


Hình 2.7: Ví dụ về khoảng cách giữa hai cây......................................................... 22
U
T
5
3

T
5
3
U

Hình 2.8: Một số dạng giản đồ cho đồ thị trên ...................................................... 23
U
T
5
3

T
5
3
U

Hình 2.9: Một cây có 5 nút .................................................................................... 24
U
T
5
3

35T
U


Hình 2.10: Minh họa Allele, Gen và nhiễm sắc thể ................................................ 26
U
T
5
3

T
5
3
U

Hình 2.11: Sơ đồ chung của thuật tốn di truyền ................................................... 29
U
T
5
3

T
5
3
U

Hình 2.12: Bài tốn tối ưu có thể có rất nhiều cực trị ............................................ 31
U
T
5
3

T

5
3
U

Hình 2.13: Ba thao tác chính của giải thuật di truyền............................................ 32
U
T
5
3

T
5
3
U

Hình 2.14: Mã hóa theo giá trị trong bài tốn cái túi ............................................ 35
U
T
5
3

T
5
3
U

Hình 2.15: Mã hóa hốn vị trong bài tốn người du lịch ....................................... 36
U
T
5

3

T
5
3
U

Hình 2.16: Mã hóa cấu trúc cây cho f(x) = x2 + x/3 .............................................. 36
U
T
5
3

P
U

U
P

T
5
3
U

Hình 3.1: Cây khung được mã hóa bởi chuỗi Prufer 2565 ..................................... 48
U
T
5
3


T
5
3
U

Hình 3.2: Cây khung sinh ra từ chuỗi Prufer 2565 ................................................ 49
U
T
5
3

T
5
3
U

Hình 3.3: Tính cục bộ thấp của phương pháp biểu diễn sử dụng số Prufer ............ 50
U
T
5
3

T
5
3
U

Hình 3.4: Lai ghép trong phương pháp biểu diễn sử dụng số Prufer ..................... 51
U
T

5
3

T
5
3
U

Hình 3.5: Đột biến trong phương pháp biểu diễn sử dụng số Prufer ...................... 51
U
T
5
3

T
5
3
U

Hình 3.6: Phương pháp biểu diễn sử dụng CV....................................................... 53
U
T
5
3

T
5
3
U


Hình 3.7: Lai ghép trong phương pháp biểu diễn vector đặc tính .......................... 55
U
T
5
3

T
5
3
U

7


Hình 3.8: Đột biến trong phương pháp biểu diễn vector đặc tính .......................... 56
U
T
5
3

T
5
3
U

Hình 3.9: Cây khung thu được từ mã hóa LNB ...................................................... 61
U
T
5
3


T
5
3
U

Hình 3.10: Cây thu được theo mã hóa NetKeys ..................................................... 62
U
T
5
3

T
5
3
U

Hình 3.11: Đồ thị minh họa cho mã hóa CB-TCR.................................................. 65
U
T
5
3

T
5
3
U

Hình 3.12: Cây khung sinh ra từ chuỗi CB-TCR (1,5,2,1,4,3,2,5) .......................... 66
U

T
5
3

T
5
3
U

Hình 4.1: Ví dụ cây khung hình sao ....................................................................... 74
U
T
5
3

T
5
3
U

8


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 tốn NP – khó (NP–
hard) ln 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 tố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 tố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 tố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 tố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
tố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
tố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 tố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 tố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 tố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 tốn cây khung với chi phí lộ trình nhỏ nhất.

9


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.

10


CHƯƠNG 1
BÀI TỐ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 tố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 tố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 tố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 tố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 d uv xác định trọng số khoảng cách giữa các cặp
R


R

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

R

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:

C (T ) = ∑ u ,v dT (u , v)

(1)

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

R

lộ trình nhỏ nhất nếu c(T) ≤ c(T') với T' là cây khung bất kì.
Bài tốn MRCT là bài tốn thuộc lớp NP-Khó. Một số nhận xét về bài tốn
MRCT như sau:

11


• Bài toán MRCT trên đồ thị tổng quát là tương đương với bài tốn MRCT
trên đồ thị trong khơng gian metric.
• Tồn tại thuật tố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 tố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
F

E
E

B

G
D
C

A
H

I

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á


F

G

E
E

B
D
C

A
H

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á

12


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ó :
d T (v 1 ,v 2 ) + d T (v 1 ,v 3 ) + d T (v 1 ,v 4 ) + d T (v 1 ,v 5 ) + d T (v 2 ,v 3 ) + d T (v 2 ,v 4 ) +
R

R

R


R

R

R

R

R

R

R

R

R

R

R

R

R

R

R


R

R

R

R

R

R

R

R

R

R

R

R

R

R

R


R

R

R

d T (v 2 ,v 5 ) + d T (v 3 ,v 4 ) + d T (v 3 ,v 5 ) + d T (v 4 ,v 5 ) = 98.
R

R

R

R

R

R

R

R

R

R

R


R

R

R

R

R

R

R

R

R

R

R

R

R

Do d T (v i ,v j ) = d T (v j ,v i ), nên C(T) = 98 x 2 = 196
R

R


R

R

R

R

R

R

R

R

R

R

Bài tố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à nn-2 và có n
P

P

cây hình sao trong số đó. Khoảng cách giữa 2 cây T i và T j là dhij ={0,1,...,n-2} được
R


R

R

R

P

R
P

R

định nghĩa như sau:
dh ij =
P

R
P

R

∑| l

u ,v∈V

n −1 u −1

i

uv

− luvj | = ∑∑ | luvi − luvj |
u =1 v = 0

li uv =1 nếu có liên kết từ u đến v trong T i và li uv =0 nếu ngược lại.
P

R
P

R

R

R

P

R
P

R

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

R

R


R

P

R
P

Cũng giống như các bài tốn cây khung có ràng buộc khác thì bài tố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 tốn cho bài tốn MRCT, ta có định nghĩa sau:
Routing load:
Cho T là một cây khung củ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à
Y có 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).

13


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

R

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

R


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

C (T ) =

∑ l (T , (u, v)).d

( u ,v )∈E (T )

T

(u , v)

(2)

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.
Vậy C(T) = 8 × 3 + 12 × 5 + 8 × 4 + 8 × 10 = 196.
Ngồ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ị G với tất cả các cạnh có trọng số là 1 và 2 cây khung T 1 và
R

R

T 2 của G. Ta có C(T 1 )=116 và C(T 2 )=124. Khi đó cây T 1 là MRCT

R

R

R

R

R

R

R

R

Hình 1.4: Đồ thị G và routing cost của hai cây khung T 1 và T 2 của G
R

R

R

R

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 T 1 là
R


R

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à T 2 là đường
R

R

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 T 2 tốt hơn cây
R

R

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

R

R

R

14


2(n-1) vì mỗi cạnh đều có một đỉnh lá do đó C(T 1 )=10(n-1)2 trong khi cây T 2 =(v 1 ,
R

R


P

P

R

R

R

R

v 2 , ..., v n ), xóa cạnh (v i , v i+1 ) sẽ cho hai thành phần gồm i và n-i đỉnh, nên routing
R

R

R

R

R

R

R

R

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(T 2 )

R

R

tính như sau:
C(T 2 )=
R

R

∑ 2i(n − i) = n

(n − 1) −

2

1≤ i ≤ n −1

n(n − 1)(2n − 1) n(n − 1)(n + 1)
=
3
3

Cây T 1 sẽ tốt hơn cây T 2 nhiều khi n đủ lớn.
R

R

R


R

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 tố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 tốn điển hình như: Thuật tốn tham lam (Greedy),
thuật tốn tìm kiếm leo đồi (Hill Climbing Search), thuật tố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 tốn
tìm kiếm cục bộ (Local Search), thuật tố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 tố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 OptimizationvACO), thuật toán tối ưu bầy đàn (Particle Swarm Optimization - PSO), thuật toán

15


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), …
Ngồi họ các thuật tố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
tố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 tố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 tố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 tốn này bên cạnh mơ hình thuật tố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 tố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 tố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 tố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.

16


1.3 Ứng dụng của bài toán MRCT.
1.3.1 Trong thiết kế mạng.
Một ứng dụng rõ ràng của một MRCT là trong thiết kế mạng truyền thông,
mạng giao thông. Chiều dài của một cạnh phản ánh chi phí của định tuyến dọc theo
cạnh. Đồ thị đầu vào là đồ thị trong đó các cạnh đại diện cho tất cả các liên kết có
thể có giữa các nút. Mục đích của mạng là để vận chuyển các đối tượng, như là
hàng hoá hay thông tin, từ nút này đến nút khác trong mạng. Cây là một cấu trúc
mạng quan trọng vì hai tính chất sau đây:
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 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ụng để thiết kế mạng, cây khung với chi phí nhỏ nhất
T
2
3

T
2
3

T
2
3

T
2
3

cũng được áp dụng trong việc xây dựng một trình tự sắp xếp gen tốt nhất.
32T

32T

32T

17



CHƯƠNG 2
THUẬT TOÁN DI TRUYỀN
Các khái niệm cơ bản.

2.1

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à:
n

∑ deg( i ) = 2( n − 1 )
i =1

2.1.1.1 Cây hình sao (Star tree)
Khái niệm: Cây hình sao là một cây có một đỉnh là trung tâm và các đỉnh còn
U


U

lại được nối với đỉnh này.

18


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ì tồn bộ mạng sẽ khơng hoạt động được.
2.1.1.2 Cây dạng danh sách (List tree)
Khái niệm: Cây dạng danh sách là một cây có đúng hai lá.
U

U


19


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:
+ Ngồ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.

20


Hình 2.4: Cây khung của đồ thị
2.1.1.5 Bài tố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 tố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.
Khoảng cách - hệ đơn vị met.

2.1.2

Hệ đơn vị là rất quan trọng cho khơng gian kiểu gen và kiểu hình Φ g và Φ p để
R

R

R

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 xg={0,1}l và yg={0,1}l có độ
P

P

P

P


P

P

P

P

dài l là:
l −1

d x g ,y g = ∑| xig − yig |
i =0

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 dh. Khoảng cách
P

21

P


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à dh =2
P

P


Hình 2.5: Ví dụ về khoảng cách giữa hai cây
Ví dụ với 2 cây T i và T j có dh Ti,Tj =4 và d Ti,Tj =2
R

R

R

R

P

R
P

R

R

R

Để đơn giản, chúng ta định nghĩa khoảng cách d i,j ={0,1,...n-1} giữa 2 cây G i ,
R

R

R

R


G j là một nửa số lượng các đường liên kết khác nhau (d i,j =½dh i,j ), tức là:
R

R

R

dp Gi,Gj =½dh i,j=
P

R
P

R

P

R
P

R

R

P

R
P

R


1
1 n −1 u −1
| luvi − luvj | = ∑∑ | luvi − luvj |

2 u ,v∈V
2 u =1 v =0

trong đó :lj ab =1 nếu đường liên kết từ a đến b có trong G j và =0 nếu ngược
P

R
P

R

R

R

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

R

R

R


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

R

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

R

2.1.3. Phân tích giản đồ.
Bài tố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 tố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ủ.

22


Gán nhãn cho tất cả các cạnh có thể có của đồ thị gồm 4 đỉnh
Để 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ã hố 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ã hố 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 tố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.

23


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 tốn độ thích nghi f i của phương án T i , khoảng cách d i,j giữa 2 cây
R

R

R

R

R

R

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


R

R

R

khoảng cách d i,opt giữa T i và phương án tối ưu T opt . Chúng ta có thể phân biệt 2 loại
R

R

R

R

R

R

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

RP

P

của cá thể T i được định nghĩa là khoảng cách d i,opt tới phương án tối ưu T opt . Do đó
R

R


R

R

R

R

fmin i = d i,opt trong đó d i,opt ={0,1,...n-1}. Một cá thể có độ thích nghi là n-2 nếu nó
P

R
P

R

R

R

R

R

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 (T i =T opt ) thì độ thích nghi fmin i =0. Giả sử phương án ssau là phương án tối ưu,
R

R


R

R

P

R
P

R

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 tố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 fmax i =n-1-d i,opt
P

R
P

R

R

Với cùng cây tối ưu trên thì với bài tố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à d i,opt =1.
R


R

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)

24


Giản đồ
11**0*

Cây được biểu diễn

Độ thích nghi của

của giản đồ

bởi giản đồ

cây

2.33

110100

3

111000

2


110001...

2

11**1*

2

110010

2

01**0*

1.67

011100

2

011001

2

010101

1

101100


2

101001

2

100101

1

011010

2

101001

1

100011

1

101010

2

100110

1


100011

1

10**0*

01**1*

10**1*

2.2

Độ thích nghi

1.67

1.33

1.33

00**0*

1

001101

1

00**1*


0.67

001110

1

001011

1

000111

0

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

25


×