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

Thuật toán và phần mềm mô phỏng cho định tuyến không dây trong địa hình phức tạp

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 (3.44 MB, 137 trang )

Thuật toán và phần mềm mô phỏng cho
định tuyến không dây trong địa hình
phức tạp

Nguyễn Phi Lê
Viện công nghệ thông tin và truyền thông
Trường đại học Bách Khoa Hà Nội

Luận văn bảo vệ
Tiến sỹ kỹ thuật phần mềm
Tháng 10/2014


Mục lục
1

2

Giới thiệu
1.1 Mạng cảm biến không dây . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Định tuyến trong mạng cảm biến không dây . . . . . . . . . . . . . . . . .
1.3 Mạng cảm biến không dây trong địa hình phức tạp và vấn đề hố mạng . . .

1
1
2
3

1.4
1.5
1.6



Phát biểu vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mục tiêu của luận án . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Đóng góp của luận án . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4
5
6

1.7

Cấu trúc luận án . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Các thuật toán xấp xỉ biên hố
2.1
2.2

Giới thiệu . . . . . . . . . . . . . .
Xấp xỉ hố dựa trên lưới ô vuông . .
2.2.1 Giới thiệu . . . . . . . . .
2.2.2 Các khái niệm và định nghĩa
2.2.3

2.2.4

2.2.5

2.3


10
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.

.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.

.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.

.

.
.
.
.

.
.
.
.

.
.
.
.

10
14
14
14

Xấp xỉ hố dựa trên lưới ô vuông theo phương thức online . . . . . . 16
2.2.3.1 Mô tả chung . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3.2 Xấp xỉ các cạnh của biên hố . . . . . . . . . . . . . . . . 17
2.2.3.3 Rút gọn biên hố xấp xỉ . . . . . . . . . . . . . .
Xấp xỉ hố dựa trên lưới ô vuông theo phương thức offline
2.2.4.1 Pha thu thập thông tin . . . . . . . . . . . . . .
2.2.4.2 Pha xấp xỉ và rút gọn . . . . . . . . . . . . . .


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

19
21
22
23


Đánh giá hiệu năng . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.5.1 Các tiêu chí đánh giá . . . . . . . . . . . . . . . . . . . 27
2.2.5.2 Phân tích lý thuyết . . . . . . . . . . . . . . . . . . . . . 29

2.2.5.3 Đánh giá hiệu năng thông qua mô phỏng
Thuật toán xấp xỉ hố bằng đa giác lồi động . . . . . . . .
2.3.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Mô hình lý thuyết và lược đồ cơ bản . . . . . . . .
i

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

34
40
40
41



2.3.3
2.3.4

2.3.5

2.4

2.5

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

48
49
49
51

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


51
53
55
55

2.4.2 Cơ sở lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.4.3 Mô tả thuật toán . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Các nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

2.5.2
2.5.3

3

Thuật toán cụ thể . . . . . . . . . . . . . .
2.3.4.1 Xấp xỉ biên hố . . . . . . . . . .
2.3.4.2 Phát tán thông tin đa giác xấp xỉ
Đánh giá hiệu năng bằng mô phỏng . . . .

2.3.5.1 Kịch bản mô phỏng và đánh giá
2.3.5.2 Kết quả mô phỏng: . . . . . .
Xấp xỉ hố bằng đa giác có các góc bằng nhau . .
2.4.1 Giới thiệu . . . . . . . . . . . . . . . .

2.5.1

2.6

2.3.2.1 Mô hình lý thuyết . . . . . . . . . . . . . . . . . . . . . 41
2.3.2.2 Lược đồ xấp xỉ và phát tán cơ bản . . . . . . . . . . . . . 43

Phân tích lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Các thuật toán định biên . . . . . . . . . . . . . . . . . . . .
2.5.1.1 Quy tắc TENT và thuật toán Boundhole . . . . . .
Các thuật toán xấp xỉ biên hố trong mạng cảm biến không dây
Các thuật toán xấp xỉ trong hình học tính toán . . . . . . . .

Tổng kết chương

.
.
.
.

.
.
.
.

.
.
.
.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Các thuật toán định tuyến vượt hố
3.1
3.2


60
60
61
64

67

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
ELBAR: Giao thức định tuyến đảm bảo cân bằng tải và tiết kiệm năng
lượng dựa trên truyền tin theo xác xuất . . . . . . . . . . . . . . . . . . . 70
3.2.1

3.2.2
3.2.3

Giao thức định tuyến ELBAR . . .
3.2.1.1 Mô tả chung . . . . . . .
3.2.1.2 Xấp xỉ hố . . . . . . . .
3.2.1.3 Phát tán thông tin biên hố

.
.
.
.

.
.
.
.


70
71
72
72

3.2.1.4 Định tuyến vượt hố . . . . . . . . . . . . . . . . . . .
3.2.1.5 Thảo luận về các giá trị giới hạn của góc nhìn đối với hố
Phân tích lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . .
Đánh giá hiệu năng bằng thực nghiệm . . . . . . . . . . . . . . .

.
.
.
.

73
77
78
80

3.2.3.1
3.2.3.2
3.2.3.3

.
.
.
.

.

.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.

.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.

.
.
.

.
.
.
.

Các tiêu chí đánh giá . . . . . . . . . . . . . . . . . . . 81
Thiết lập mô phỏng . . . . . . . . . . . . . . . . . . . . 82
Kết quả mô phỏng . . . . . . . . . . . . . . . . . . . . . 83

ii


3.3

COLBAR: Giao thức định tuyến đảm bảo cân bằng tải và hệ số đường đi
hằng số sử dụng hình xấp xỉ động . . . . . . . . . . . . . . . . . . . . . . 87
3.3.1 Giao thức định tuyến COLBAR . . . . . . . . . . . . . . . . . . . 88
3.3.1.1 Tổng quan . . . . .
3.3.1.2 Pha cài đặt ban đầu
3.3.1.3 Định tuyến tránh hố
Phân tích về hệ số đường đi .

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

89
90
90
92

Đánh giá hiệu năng . . . . . .
3.3.3.1 Kịch bản mô phỏng
3.3.3.2 Kết quả mô phỏng .
Các nghiên cứu liên quan . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

98
98
99
101


3.3.2
3.3.3

3.4

3.4.1
3.4.2
3.4.3
3.5
4

Tổng kết chương

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Xây dựng bộ công cụ hỗ trợ mô phỏng mạng cảm biến không dây trên nền NS2 108
4.1
4.2

4.3

4.4
5

Định tuyến tham ăn . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Định tuyến vành đai . . . . . . . . . . . . . . . . . . . . . . . . . 102
Định tuyến vượt hố . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Nguyên lý thiết kế . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Tổng quan về NS2 . . . . . . . . . . . . . . . . . . . .
4.2.2 Giao diện đồ họa hỗ trợ quá trình lập kịch bản mô phỏng

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.

.
.
.

108
111
111
113

4.2.3 Giao diện đồ họa hỗ trợ quá trình phân tích kết quả mô phỏng . . . 114
Kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.3.1 Giao diện đồ họa hỗ trợ quá trình lập kịch bản mô phỏng . . . . . . 114
4.3.2 Hỗ trợ giao diện đồ họa trong quá trình phân tích kết quả mô phỏng 117
Tổng kết chương . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Kết luận
122
5.1 Kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.2 Vấn đề tồn đọng và hướng phát triển . . . . . . . . . . . . . . . . . . . . . 123

iii


Danh sách hình vẽ
2.1
2.2

So sánh các đường định tuyến tránh hố . . . . . . . . . . . . . . . . . . . 11
Đa giác xấp xỉ bằng lưới ô vuông . . . . . . . . . . . . . . . . . . . . . . . 15


2.3
2.4
2.5

A-vertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Đường xấp xỉ của cạnh Pi Pi−1 . . . . . . . . . . . . . . . . . . . . . . . . 17
Chứng minh của bổ đề 2.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.6
2.7
2.8
2.9

Rút gọn biên hố xấp xỉ . . . . . . . . . . . . . . . . . . . . . . . .
Đường xấp xỉ cắt nhau . . . . . . . . . . . . . . . . . . . . . . . .
Vị trí tương đối của I-square . . . . . . . . . . . . . . . . . . . . .
Thuật toán xấp xỉ hố dựa trên lưới ô vuông theo phương thức offline

.
.
.
.

.
.
.
.

.
.

.
.

.
.
.
.

20
21
23
25

2.10
2.11
2.12
2.13

Minh họa của sai số xấp xỉ . . . . . . . . . . . . . . . . . . . . .
Minh họa hệ số đường đi . . . . . . . . . . . . . . . . . . . . . .
Minh họa bao lồi , điểm nhìn giới hạn và đường đi Ơclit ngắn nhất
Đường định tuyến tránh hố . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.

.
.

.
.
.
.

.
.
.
.

27
29
29
30

.
.
.
.

2.14 Chứng minh của định lý 2.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.15 Các tôpô mạng mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.16 Thời gian thực hiện thuật toán xấp xỉ . . . . . . . . . . . . . . . . . . . . . 36
2.17
2.18
2.19
2.20


Sai số diện tích . . . . . . . . . . . . . . . . . . . . . . . . .
Hệ số đường đi Ơclit . . . . . . . . . . . . . . . . . . . . . .
Tổng dung lượng của các gói tin sử dụng trong quá trình xấp xỉ
bao phủ-β . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

37
38
39
42

2.21
2.22
2.23
2.24

Thuật toán tinh giản biên hố xấp xỉ
Chứng minh của định lý 2.3.1 . . .
Minh họa của định lý 2.3.3 . . . .
Minh họa của thuật toán chi tiết .

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


44
46
48
50

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

2.25 Sự ảnh hưởng của α lên E-stretch trung bình . . . . . . . . . . . . . . . . . . . 53
2.26 Tổng bộ nhớ tiêu tốn của toàn bộ các nút . . . . . . . . . . . . . . . . . . . . . 54
2.27 Năng lượng tiêu thụ trung bình của một nút . . . . . . . . . . . . . . . . . . . 54
2.28 Minh họa của hệ số đường đi Ơclit (E-stretch) . . . . . . . . . . . . . . . . 56

iv


2.29 Minh họa chứng minh của định lý 2.4.2 . . . . . . . . . . . . . . . . . . . 58

2.30 Đa giác xấp xỉ với n=8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.31 Thuật toán xấp xỉ hố bằng hình tròn (hình trích dẫn từ [59]) . . . . . . . . . 62
2.32 Thuật toán xấp xỉ hố bằng hình tròn (hình trích dẫn từ [59]) . . . . . . . . . 63
2.33 Thuật toán xấp xỉ hố bằng hình tròn (hình trích dẫn từ [59]) . . . . . . . . . 63
2.34 Thuật toán xấp xỉ hố bằng bao lồi (hình trích dẫn từ [57]) . . . . . . . . . . 64
3.1
3.2
3.3
3.4

Hiện tượng hố mở rộng do các nút trên biên hố chịu tải cao . . . . . . .
Đường định tuyến bị kéo dài khi sử dụng vùng cấm có hình dạng cố định
Sự phân chia các nút sau pha thứ hai . . . . . . . . . . . . . . . . . . .
Góc nhìn đối với hố . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.5
3.6
3.7

Hình bình hành bao hố . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Một ví dụ về quá trình truyền gói tin . . . . . . . . . . . . . . . . . . . . . 77
Góc nhìn đối với hố của các nút mạng . . . . . . . . . . . . . . . . . . . . 78

3.8
3.9
3.10
3.11

Chứng minh định lý 3.2.1 . . . . . . . . . . . . .
Cấu hình mạng mô phỏng . . . . . . . . . . . . .

So sánh năng lượng tiêu thụ trung bình . . . . . .
So sánh về độ dài trung bình của đường đi gói tin

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

80
83

84
85

3.12
3.13
3.14
3.15

So sánh thời gian sống của mạng . . . . . . . . . . . . . . . . . . .
Năng lượng tiêu thụ của từng nút mạng (thí nghiệm (n → 1, 500s)) .
Năng lượng tiêu thụ của từng nút mạng (thí nghiệm (n → n, 500s))
Ví dụ về giao thức định tuyến . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.

.
.

85
87
88
91

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.

.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.

.
.

68
69
73
74

3.16 Minh họa chứng minh của các bổ đề 3.3.1,3.3.2 . . . . . . . . . . . . . . . 93
3.17 Minh họa chứng minh của các bổ đề 3.3.3 . . . . . . . . . . . . . . . . . . 96
3.18 Minh họa cho chứng minh của định lý 3.3.1 . . . . . . . . . . . . . . . . . 98
3.19
3.20
3.21
3.22

So sánh hệ số đường đi hop-count của các thuật toán khác nhau . . . .
Ảnh hưởng của δ lên hệ số đường đi . . . . . . . . . . . . . . . . . .
Năng lượng tiêu thụ trung bình của một nút trong pha cài đặt ban đầu .
Phân bố năng lượng của các nút mạng . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.


.
.
.
.

100
100
100
101

3.23
3.24
3.25
3.26

Định tuyến tham ăn . . . . . . . . . . . . . . . . . . . . . . . .
Nút tắc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Định tuyến với vùng cấm là hình tròn (hình trích dẫn từ [59]) . .
Định tuyến với vùng cấm là hình lục giác (hình trích dẫn từ [25])

.
.
.
.

.
.
.
.


.
.
.
.

102
102
104
105

.
.
.
.

.
.
.
.

.
.
.
.

3.27 Định tuyến với vùng cấm là bao lồi (hình trích dẫn từ [57]) . . . . . . . . . 106
4.1

So sánh hai phương pháp tạo kịch bản . . . . . . . . . . . . . . . . . . . . 110


4.2

So sánh hai phương pháp phân tích kết quả mô phỏng . . . . . . . . . . . . 111
v


4.3
4.4
4.5

Các bước của quá trình thực nghiệm bằng mô phỏng . . . . . . . . . . . . . 112
Hai chế độ tạo kịch bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Tương quan giữa mã nguồn Tcl và các đối tượng thể hiện đồ họa . . . . . . 116

4.6
4.7
4.8
4.9

Sơ đồ đồng bộ hóa giữa mã nguồn và đối tượng đồ họa trực quan
Tái hiện hoạt động của mạng . . . . . . . . . . . . . . . . . . .
Màn hình phân tích hiệu suất truyền tin . . . . . . . . . . . . .
Màn hình phân tích phân bố năng lượng toàn mạng . . . . . . .

vi

.
.
.

.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

117
118
119

120


Chương 1
Giới thiệu
1.1

Mạng cảm biến không dây

Mạng cảm biến không dây [6] là mạng bao gồm nhiều thiết bị cảm biến, giao tiếp, trao đổi
dữ liệu với nhau bằng phương pháp truyền tin không dây. Với sự phát triển của kỹ thuật vi
xử lý, mạng cảm biến không dây ngày càng được sử dụng rộng rãi và có nhiều ứng dụng
quan trọng trong khắp các lĩnh vực. Từ các ứng dụng trong công nghiệp như: các hệ thống
giám sát máy móc, phát hiện lỗi trong các nhà máy [27], đến các ứng dụng trong nông
nghiệp như các mạng theo dõi nhiệt độ, độ ẩm, ánh sáng [10]; từ các ứng dụng trong dân sự
như: theo dõi bệnh nhân, ngôi nhà thông minh [39, 23, 49], đến các ứng dụng trong quân
sự như các hệ thống giám sát chiến địa [48, 58]. Ngoài ra, có một lớp ứng dụng quan trọng
không thể không kể đến của mạng cảm biến không dây chính là theo dõi môi trường, dự
báo thiên tai như các hệ thống dự báo lũ lụt, núi lửa, động đất, cháy rừng [55, 15, 1].
Khác với các loại mạng khác như wifi, wimax, Ethernet, mạng cảm biến không dây có
những đặc trưng riêng biệt như sau: Thứ nhất, các thiết bị mạng cảm biến không dây bị
hạn chế rất nhiều về khả năng tính toán và năng lượng [7]. Hơn thế nữa, các nút mạng cảm
biến không dây hầu hết là không có khả năng tái tạo năng lượng, nghĩa là một khi hết năng
lượng, các nút mạng cảm biến không dây sẽ trở thành các nút mạng chết. Thứ hai, mạng
cảm biến không dây thường có quy mô rất lớn, ví dụ một hệ thống cảnh báo cháy rừng có
thể lên đến hàng nghìn nút mạng.
Trong mạng cảm biến không dây, các nút mạng truyền tin cho nhau bằng phương pháp
truyền tin không dây và vì vậy, một nút mạng chỉ có thể truyền nhận tin trực tiếp từ các nút
mạng nằm trong vùng phủ sóng của nó. Trong trường hợp hai nút mạng nằm ngoài vùng
phủ sóng của nhau mà muốn truyền nhận tin cho nhau thì gói tin sẽ phải được truyền qua

các nút trung gian. Đường truyền của các gói tin được quyết định bởi các thuật toán định
tuyến.

1


1.2

Định tuyến trong mạng cảm biến không dây

Nghiên cứu về các thuật toán định tuyến là một lĩnh vực nghiên cứu cổ điển, thu hút được
sự quan tâm của rất nhiều nhà nghiên cứu [9, 44, 5, 8]. Đối với mạng cảm biến không dây,
nghiên cứu về các thuật toán định tuyến phải đối mặt với nhiều khó khăn bởi các hạn chế
về năng lượng và khả năng tính toán của các nút mạng [9]. Chẳng hạn, đối với mạng máy
tính, các nút mạng có thể phân tích tôpô của toàn mạng để tìm ra đường định tuyến tối ưu,
nhưng đối với mạng cảm biến không dây việc này là không thể làm được. Các thuật toán
định tuyến trong mạng cảm biến không dây, ngoài các yêu cầu thông thường như độ trễ gói
tin thấp, tỉ lệ mất gói tin thấp, . . . còn phải đảm bảo các tiêu chí đặc thù sau:
• Tính toán đơn giản: Vì các nút mạng có khả năng tính toán thấp nên các thuật toán
định tuyến phải tối giản hết mức.
• Tốn ít năng lượng: Vì năng lượng của các nút mạng là rất thấp và không có khả năng
tái tạo nên các thuật toán định tuyến phải tiết kiệm năng lượng tối đa
• Cân bằng tải tốt: Nếu cân bằng tải không tốt sẽ làm cho một số nút mạng chịu tải
nhiều hơn các nút mạng khác dẫn đến tình trạng cạn kiệt năng lượng và nhanh chóng
trở thành nút chết, làm ảnh hưởng đến hoạt động của toàn mạng. Vì vậy cân bằng tải
giữa các nút mạng phải tốt nhất có thể.
Từ những đặc trưng trên đây, một trong những thuật toán định tuyến được sử dụng rộng rãi
nhất trong mạng cảm biến không dây là định tuyến địa lý. Bởi vì thuật toán định tuyến này
rất đơn giản và hiệu quả.
Định tuyến địa lý là thuật toán định tuyến sử dụng thông tin vị trí địa lý của các nút

mạng. Hay nói cách khác, là thuật toán định tuyến mà ở đó, đường đi của các gói tin được
quyết định dựa trên thông tin về vị trí địa lý của các nút mạng. Trong định tuyến địa lý, mỗi
nút mạng không cần biết thông tin của toàn bộ các nút mạng khác mà chỉ cần biết tọa độ
của các nút láng giềng (nút nằm trong vùng phủ sóng) của nó. Khi một gói tin được gửi đến
một nút mạng, nút mạng này sẽ chọn trong số các láng giềng của mình một nút để chuyển
tiếp gói tin, việc lựa chọn này được thực hiện dựa trên thông tin tọa độ của các nút láng
giềng mà nút hiện tại nắm giữ.
Một thuật toán định tuyến cổ điển, đơn giản và được sử dụng phổ biến nhất của định
tuyến địa lý là định tuyến tham ăn [19, 28]. Định tuyến tham ăn là thuật toán định mà, tại
mỗi nút mạng, gói tin sẽ được truyền cho nút gần đích hơn nút hiện tại và gần đích nhất
trong tất cả các nút láng giềng (nút nằm trong bán kính phủ sóng) của nút hiện tại. Định
tuyến tham ăn hoạt động khá hiệu quả đối với các mạng cảm biến có mật độ nút tương đối
2


dày đặc. Với các mạng này, định tuyến tham ăn đạt được đường định tuyến gần như tối ưu.
Tuy nhiên, với các mạng cảm biến được triển khai ở các loại hình địa hình phức tạp, định
tuyến tham ăn gặp phải vấn đề hố mạng.

1.3

Mạng cảm biến không dây trong địa hình phức tạp và
vấn đề hố mạng

Hố mạng là các vùng trống, không chứa nút mạng, hoặc nút mạng ở đó không còn khả năng
hoạt động [4]. Hố mạng có thể được sinh ra do sự xuất hiện của các chướng ngại vật như
sông, núi, ao, hồ; Hoặc do sự xuất hiện của các phá hủy vật lý như núi lửa, động đất; Hoặc
có thể do bản thân các nút mạng cạn kiệt năng lượng và trở thành các nút chết. Chính vì
thế, hố mạng thường hay xuất hiện đối với các mạng cảm biến không dây được triển khai
trong địa hình phức tạp. Sự xuất hiện của hố mạng mang hai ý nghĩa như sau:

• Sự xuất hiện của hố mạng thường là dấu hiệu của sự có mặt của một chướng ngại vật
nào đó hoặc là sự xuất hiện của một sự kiện nào đó. Ví dụ, sự có mặt của một con
sông hay sự xuất hiện của một đám cháy rừng sẽ sinh ra một hố mạng.
• Sự xuất hiện của hố mạng sẽ gây khó khăn cho việc định tuyến bằng định tuyến địa
lý do vùng bên trong hố không có khả năng truyền nhận gói tin.
Đối với mạng có hố mạng, định tuyến tham ăn không còn hoạt động hiệu quả nữa bởi vì khi
gói tin được truyền đến các nút trên biên hố, nó có thể sẽ bị tắc ở đấy do không tìm được
nút láng giềng nào gần đích hơn nó và không truyền tiếp được nữa. Hiện tượng này được
gọi là cực tiểu địa phương [22, 20], nút xảy ra hiện tượng cực tiểu địa phương thường được
gọi là nút tắc.
Một trong những phương pháp truyền thống nhằm giải quyết vấn đề cực tiểu địa phương
là định tuyến vành đai. Tiêu biểu cho nhóm giải pháp này là thuật toán định tuyến GPSR
(Greedy Perimeter Stateless Routing) được đề xuất bởi nhóm tác giả B.Karp năm 2000.
Thuật toán này xây dựng một đồ thị planar cho toàn mạng, trong đó đỉnh của đồ thì là các
nút mạng, cạnh của đồ thì là cạnh nối hai nút mạng nằm trong vùng phủ sóng của nhau.
Các gói tin được định tuyến men theo các cạnh của đồ thị. Nối tiếp GPSR là một loạt các
thuật toán định tuyến vành đai khác như [12, 34, 35, 33]. Năm 2005, nhóm tác giả Qing
Fang đề xuất một thuật toán xác định biên hố chỉ dựa vào các thông tin cục bộ của các nút
mạng. Đồng thời, nhóm tác giả này cũng đề xuất một thuật toán định tuyến tránh hố trong
đó gói tin khi gặp một nút tắc trên biên hố, sẽ đi men theo biên hố cho đến khi gặp 1 nút
khác gần đích hơn nút tắc ban đầu.

3


1.4

Phát biểu vấn đề

Tuy giải quyết được vấn đề cực tiểu địa phương (nút tắc), nhưng các thuật toán định tuyến

vành đai gặp phải hai vấn đề như sau:
1. Đường định tuyến bị kéo dài: Đường đi men theo biên hố không phải là đường đi
tối ưu, đối với các hố lớn hay các hố có nhiều vùng lõm, đường đi này dài hơn rất
nhiều so với đường đi tối ưu. Như Subramanian và cộng sự đã chỉ ra trong nghiên cứu
˜ √n)
[50], các thuật toán này có khả năng làm giảm througput của mạng [24] từ Θ(1/
xuống còn O(1/n) đối với những mạng có hố lớn.
2. Hố có xu hướng bị mở rộng ([51][59]): Do các gói tin được truyền đi men theo biên
hố, các nút trên biên hố phải chịu tải cao hơn các nút khác. Điều này làm cho các nút
trên biên hố nhanh chóng cạn kiện năng lượng và trở thành các nút chết, các nút chết
này làm cho hố ngày càng bị mở rộng ra.
Một hướng giải quyết cho hai vấn đề trên đây là xây dựng một cơ chế, giúp các nút mạng
biết về sự có mặt của hố từ xa và từ đó sẽ định tuyến gói tin vòng tránh hố thay vì truyền
gói tin thẳng vào hố sau đó thì đi men theo biên hố. Cụ thể, biên hố sẽ được xấp xỉ bởi một
hình khác đơn giản hơn nhằm tiết kiệm chi phí lưu trữ và phát tán thông tin. Thông tin về
hình xấp xỉ này sẽ được lan truyền cho các nút trong mạng theo một cơ chế nào đó và các
nút mạng sẽ định tuyến gói tin dựa trên thông tin về hình xấp xỉ hố.
Để giải quyết vấn đề hố mở rộng, một số nghiên cứu như [51][59][16] đề xuất xấp xỉ hố
bằng các hình đơn giản, xác định trước như hình tròn [59], lục giác [16] hay ellipse [51].
Thông tin về hình xấp xỉ sẽ được phát tán cho các nút trên biên hình xấp xỉ. Khi một gói tin
được truyền đến các nút trên biên hình xấp xỉ, các nút này sẽ gửi lại thông tin của hình xấp
xỉ cho nút nguồn, nút nguồn sau khi nhận được thông tin của hình xấp xỉ sẽ định tuyến lại
gói tin theo đường định tuyến vòng qua hình xấp xỉ. Các giải pháp này tuy có thể giảm tải
được cho các nút trên biên hố, nhưng thay vào đó các nút lân cận biên hình xấp xỉ lại phải
chịu tải cao và nhanh chóng bị cạn kiệt năng lượng. Chính vì thế, vấn đề tắc nghẽn biên hố
chưa được giải quyết triệt để. Ngoài ra, các giải pháp này cũng bỏ ngỏ vấn đề đường định
tuyến bị kéo dài.
Một số các nghiên cứu khác như [57][56][60] đưa ra các giải pháp giải quyết vấn đề
đường định tuyến kéo dài. Trong các nghiên cứu này, hố được biểu diễn rút gọn bởi 1 đa
giác lồi đơn giản bao ngoài nó (được gọi là đa giác lõi). Thông tin của đa giác lõi này sẽ

được phát tán cho các nút ở lân cận hố. Khi gói tin được truyền đến các nút này, các nút này
sẽ tìm đường đi ngắn nhất vòng qua đa giác lõi để truyền gói tin. Mặc dù các thuật toán này
có thể đảm bảo hệ số đường đi (tỉ lệ số nút trên đường đi của đường đi thực tế và đường đi
4


tối ưu) là hằng số ([57][56]) nhưng nó không giải quyết được vấn đề thứ hai (tức là vấn đề
hố mở rộng) do đa giác lõi là một đa giác cố định.

1.5

Mục tiêu của luận án

Xuất phát từ các phân tích trên đây, luận án của chúng tôi hướng tới các ba mục tiêu chính
như sau:
1. Đề xuất các thuật toán xấp xỉ biên hố hiệu quả. Bởi vì kích thước của hố có thể rất
lớn (hàng trăm, hàng nghìn nút), thông tin biểu diễn biên hố cũng có thể rất lớn và
không phù hợp với đặc trưng hạn chế về năng lượng, khả năng tính toán của các nút
mạng cảm biến. Ví dụ, nếu biên hố bao gồm 100 nút, để biểu diễn biên hố ta cần
biểu diễn tọa độ của 100 nút này và lượng dữ liệu cần để biểu diễn tọa độ 100 nút
này là không hề nhỏ. Vì vậy, thông tin về biên hố cần phải được rút gọn, hay nói cách
khác hố cần phải được xấp xỉ bằng các hình dạng khác đơn giản hơn. Bài toán xấp xỉ
hố bằng các hình dạng đơn giản hơn không chỉ có ý nghĩa trong các thuật toán định
tuyến mà còn có ý nghĩa lớn trong các ứng dụng theo dõi, quan sát sự xuất hiện của
các sự kiện diễn ra trong vùng triển khai mạng cảm biến không dây.
2. Đề xuất các thuật toán định tuyến tránh hố hiệu quả. Như đã phân tích ở trên, theo
như chúng tôi biết, các thuật toán định tuyến tránh hố hiện nay chưa có thuật toán
nào giải quyết được triệt để vấn đề hố mở rộng, lại càng không có thuật toán nào giải
quyết được đồng thời cả hai vấn đề: đường định tuyến kéo dài và hố mở rộng. Chúng
tôi sẽ đề xuất các thuật toán định tuyến tránh hố nhằm giải quyết triệt để vấn đề hố

mở rộng và giải quyết cả hai vấn đề hố mở rộng và đường định tuyến kéo dài.
3. Xây dựng bộ công cụ hỗ trợ mô phỏng các thuật toán định tuyến trong mạng cảm
biến không dây. Một trong những khó khăn của các nhà nghiên cứu thuật toán định
tuyến trong mạng cảm biến không dây là sự thiếu hụt của các công cụ mô phỏng
chuyên biệt. Sự thiếu hụt này đã dẫn đến sự lãng phí thời gian, công sức của các nhà
nghiên cứu khi cần làm các thí nghiệm mô phỏng đánh giá hiệu năng nghiên cứu của
mình. Nhóm nghiên cứu của chúng tôi đã xây dựng một bộ công cụ hỗ trợ mô phỏng
các thuật toán định tuyến không dây dựa trên nền tảng NS2.

5


1.6

Đóng góp của luận án

Đề xuất thuật toán xấp xỉ hố bằng lưới ô vuông.
Xuất phát từ mục tiêu tìm một hình xấp xỉ hố sao cho sai số giữa hình xấp xỉ và hố ban
đầu không quá lớn, trong khi thông tin cần để biểu diễn hình xấp xỉ nhỏ hơn nhiều so với
thông tin cần đề biểu diễn hố ban đầu, chúng tôi đã đề xuất thuật toán xấp xỉ hố bằng một
đa giác có đỉnh là các mắt lưới và cạnh nằm trên các cạnh của một lưới ô vuông. Thuật toán
này bao gồm hai thuật toán con. Thuật toán con thứ nhất là thuật toán mà ở đó việc xấp xỉ
hố được thực hiện theo phương thức phân tán bởi tất cả các nút mạng trên biên hố, chúng
tôi gọi thuật toán con này là thuật toán on-line. Trong thuật toán con thứ hai, việc xấp xỉ
biên hố được thực hiện tập trung tại một nút mạng duy nhất, chúng tôi gọi thuật toán này
là offline. Kết quả mô phỏng cho thấy cả hai thuật toán con của chúng tôi đều có thời gian
thực hiện nhanh hơn nhiều so với một số thuật toán trước đây. Kết quả mô phỏng cũng cho
thấy thuật toán của chúng tôi có lợi hơn về tổng số gói tin được trao đổi nhằm thực hiện quá
trình xấp xỉ biên hố. Kết quả phân tích lý thuyết cho thấy đa giác xấp xỉ bằng lưới ô vuông
có thể làm giảm vấn đề đường định tuyến bị kéo dài và dữ liệu cần để mô tả đa giác xấp xỉ

bằng lưới ô vuông chỉ bằng 50% so với các đa giác khác có cùng số đỉnh.
Đề xuất thuật toán xấp xỉ hố bằng đa giác động.
Có một thực tế có thể suy ra được từ các nghiên cứu trước đây là tồn tại một tradeoff giữa
mức độ chi tiết của hình xấp xỉ và sự kéo dài của đường định tuyến. Hình xấp xỉ càng chi
tiết, càng sát với hố thì đường định tuyến càng có xu hướng ít bị kéo dài, đổi lại thông tin
cần để biểu diễn hình xấp xỉ lại lớn. Ngược lại, hình xấp xỉ càng thô thì thông tin cần để
biểu diễn càng nhỏ nhưng đổi lại đường định tuyến càng có xu hướng bị kéo dài. Vậy thì,
hình xấp xỉ chi tiết đến mức nào là đủ. Dựa trên một quan sát rằng, khi ta ở một vị trí càng
xa hố thì các chi tiết nhỏ trên biên hố càng trở nên ít giá trị, chúng tôi thấy rằng hình xấp
xỉ của hố không nhất thiết phải giống nhau đối với tất cả các vị trí trong mạng. Cụ thể hơn,
các vị trí ở xa hố hơn thì nên sử dụng hình xấp xỉ hố thô hơn trong khi các vị trí ở gần gố
hơn thì nên sử dụng hình xấp xỉ hố chi tiết hơn.
Từ những phân tích trên đây, chúng tôi đã đề xuất một thuật toán hay nói đúng hơn là
một cơ chế xấp xỉ hố và phát tán thông tin của hình xấp xỉ. Ở đó, nút càng ở xa hố thì sẽ
nhận được đa giác xấp xỉ hố với số đỉnh càng ít. Kết quả phân tích lý thuyết chỉ ra rằng nếu
ta sử dụng đa giác xấp xỉ này vào định tuyến, thì hệ số của đường định tuyến sẽ không vượt
quá hằng số, hay nói cách khác, thuật toán này có thể giải quyết được vấn đề đường định
tuyến kéo dài. Kết quả thực nghiệm cũng chỉ ra rằng, bộ nhớ cần đề lưu trữ thông tin đa
giác xấp xỉ của chúng tôi cũng giảm đáng kể so với các thuật toán khác.
6


Đề xuất thuật toán xấp xỉ hố bằng đa giác có các góc bằng nhau.
Thuật toán xấp xỉ này là kết quả của quá trình phân tích bằng lý thuyết của chúng tôi nhằm
tìm ra hình xấp xỉ nào là tối ưu nhất về hai mặt: thông tin cần để biểu diễn là đơn giản nhất
có thể và đường định tuyến ngắn nhất có thể. Thuật toán này xấp xỉ hố bằng một đa giác lồi
bao sát hố sao cho mỗi cạnh của đa giác xấp xỉ chứa ít nhất một nút mạng trên biên hố và
tất cả các góc tại các đỉnh không phải là nút mạng trên biên hố thì đều bằng nhau.
Kết quả phân tích lý thuyết cho thấy, đa giác được xây dựng từ thuật toán này có thể
giải quyết triệt để vấn đề đường định tuyến kéo dài. Hơn thế nữa, số đỉnh của đa giác xấp

xỉ luôn không vượt quá một hằng số cho trước với bất kỳ hố nào.
Đề xuất thuật toán định tuyến tránh hố dựa trên truyền tin xác xuất.
Sử dụng phương pháp định tuyến tránh hố từ xa dựa trên thông tin rút gọn của hố (nói cách
khác là thông tin về hình xấp xỉ của hố), chúng tôi đã đề xuất một thuật toán định tuyến
có thể giải quyết được vấn đề tắc nghẽn quanh biên hố và giải quyết được một phần vấn đề
đường định tuyến kéo dài. Trong thuật toán này, các gói tin được định tuyến bằng một trong
hai chế độ truyền tin: truyền tin theo kiểu tham ăn hoặc truyền tin theo kiểu vòng tránh hố.
Bằng việc chỉ thực hiện chế độ truyền tin theo kiểu vòng tránh hố cho những nút với khoảng
cách tới hố nằm trong một khoảng giới hạn không quá xa cũng không quá gần, thuật toán
này đã giải quyết được hiện tượng đường định tuyến bị kéo dài đối với các cặp nguồn-đích
gần hố của một số các thuật toán định tuyến trước đó. Bên cạnh đó, việc áp dụng chế độ
truyền tin xác xuất, mỗi gói tin có thể được truyền theo kiểu tham ăn hoặc theo kiểu vòng
tránh hố với một hàm xác suất, đã giúp cải thiện đáng kể vấn đề cân bằng tải trong mạng
nói chung và giải quyết vấn đề tắc nghẽn trên biên hố nói riêng. Các kết quả thí nghiệm mô
phỏng chỉ ra rằng thuật toán của chúng tôi có thể tiết kiệm lên tới 20% năng lượng tiêu thụ
và có độ dài đường đi trung bình của thuật toán đề xuất nhỏ hơn 60% so với các thuật toán
trước đó. Hơn thế, kết quả thí nghiệm cũng cho thấy rằng thuật toán của chúng tôi có độ
cân bằng tải vượt trội so với các thuật toán khác.
Đề xuất thuật toán định tuyến tránh hố sử dụng vùng hình xấp xỉ động.
Thuật toán này là kết quả nghiên cứu chính của chúng tôi và là kết tinh của những nghiên
cứu, phân tích nhằm tìm ra thuật toán định tuyến có thể đảm bảo đồng thời cả hai tiêu chí:
giải quyết triệt để vấn đề tắc nghẽn biên hố và đảm bảo hệ số đường đi không vượt quá hằng
số. Thuật toán này đã giải quyết nguyên nhân gốc rễ gây ra vấn đề tắc nghẽn quanh biên hố
bằng cách sử dụng các hình xấp xỉ hố động. Mỗi gói tin truyền đi giữa một cặp nguồn đích
nằm về hai phía của hố sẽ sử dụng một hình xấp xỉ riêng biệt để định tuyến, hình xấp xỉ này
7


có vị trí thay đổi ngẫu nhiên theo từng gói tin để đảm bảo cân bằng tải trong mạng và kích
thước được tính toán hợp lý để đảm bảo hệ số đường đi không vượt quá hằng số. Kết quả

phân tích lý thuyết đã chứng minh hệ số đường đi của thuật toán không vượt quá hằng số,
qua đó cho thấy rằng thuật toán đã giải quyết triệt để vấn đề đường định tuyến vị kéo dài.
Kết quả thực nghiệm đã cho thấy thuật toán đề xuất có độ cân bằng tải vượt trội so với các
thuật toán trước đó.
Thiết kế chức năng cho bộ công cụ hỗ trợ trực quan hóa cho việc mô phỏng mạng cảm
biến không dây trên nền NS2
Xuất phát từ thực tế khó khăn trong việc mô phỏng bằng NS2, nhóm nghiên cứu của chúng
tôi đã phát triển một bộ công cụ hỗ trợ nhằm giúp người sử dụng có thể dễ dàng tạo dựng
kịch bản mô phỏng cũng như xử lý kết quả mô phỏng thông qua các giao diện đồ họa trực
quan. Việc phát triển bộ công cụ này, bản thân nó là một đề tài lớn, nằm ngoài phạm vi của
luận án này. Trong luận án này, chúng tôi chỉ trình bày một phần nhỏ trong đề tài này, đó là
phần thiết kế chức năng cho bộ công cụ hỗ trợ trực quan hóa cho việc mô phỏng mạng cảm
biến không dây trên nền NS2

1.7

Cấu trúc luận án

Phần còn lại của luận án sẽ được trình bày như sau:
• Chương 2 sẽ trình bày về các kết quả nghiên cứu của chúng tôi liên quan đến bài toán
xấp xỉ hố. Trong chương này chúng tôi sẽ trình bày ý nghĩa của việc giải quyết bài
toán xấp xỉ hố cũng như các nghiên cứu liên quan đến bài toán xấp xỉ hố. Chúng tôi
đề xuất các thuật toán xấp xỉ biên hố hiệu quả và đánh giá, so sánh hiệu năng của các
thuật toán do chúng tôi đề xuất với các thuật toán hiện tại.
• Các kết quả nghiên cứu về các thuật toán định tuyến tránh hố sẽ được trình bày trong
chương 3. Trong chương này chúng tôi sẽ trình bày các nghiên cứu liên quan đến bài
toán định tuyến tránh hố, đề xuất hai thuật toán định tuyến tránh hố hiệu quả. Trong
đó, có một thuật toán có thể giải quyết triệt để cả hai vấn đề của định tuyến địa lý đã
nêu ở chương trước. Các thuật toán định tuyến do chúng tôi đề xuất sẽ được đánh giá
bằng cả phân tích lý thuyết cũng như thực nghiệm.

• Chương 4 sẽ trình bày một phần kết quả của chúng tôi trong việc xây dựng bộ công
cụ hỗ trợ mô phỏng các thuật toán định tuyến trong mạng cảm biến không dây. Việc
xây dựng bộ công cụ này bản thân nó là một đề tài lớn và việc trình bày nó vượt ra

8


ngoài khuôn khổ của luận án này. Do đó, trong luận án này chúng tôi chỉ trình bày
các nguyên lý thiết kế và một số kết quả đạt được.
• Luận án sẽ được tổng kết lại ở chương 5. Trong chương này chúng tôi sẽ tổng kết lại
toàn bộ các kết quả mà luận án đã đạt được, những vấn đề còn tồn đọng của luận án
và đề xuất hướng phát triển tương lai.

9


Chương 2
Các thuật toán xấp xỉ biên hố
2.1

Giới thiệu

Bài toán xác định biên hố (để cho ngắn gọn từ giờ về sau chúng tôi sẽ gọi là bài toán định
biên) và xấp xỉ biên hố là bài toán quan trọng trong mạng cảm biến không dây [53]. Bài
toán này không chỉ được ứng dụng trong các thuật toán định tuyến địa lý mà còn được ứng
dụng rộng rãi trong lĩnh vực theo dõi, quan sát môi trường. Thậy vậy, một trong những ứng
dụng quan trọng của mạng cảm biến không dây chính là theo dõi, dự đoán sự xuất hiện của
các sự kiện vật lý, địa lý. Ví dụ: sự xuất hiện của sóng thần, núi lửa, động đất, ... Trong các
ứng dụng này, sự xuất hiện của hố thường là dấu hiệu xuất hiện của một sự kiện nào đó và
việc xác định biên hố chính là xác định vùng diễn ra sự kiện đó. Sau khi biên hố được xác

định, thông tin của biên hố thường được truyền qua các nút mạng đến một nút mà ta gọi là
nút chủ, nút này sẽ có nhiệm vụ truyền thông tin từ mạng cảm biến không dây ra bên ngoài.
Đối với bài toán định tuyến địa lý, vùng bên trong của hố là vùng không thể truyền các
gói tin đi qua, vì vậy hố là tác nhân gây ra sự khó khăn trong bài toán định tuyến địa lý.
Trong các thuật toán cổ điển ([30, 35]), các nút mạng thường không biết trước về sự có mặt
của hố và vì vậy khi nút nguồn và nút đích nằm về hai phía của hố, gói tin sẽ được truyền
theo thuật toán định tuyến tham ăn cho đến khi gặp một nút trên biên hố, lúc này gói tin sẽ
được truyền đi men theo biên hố (2.1(a)). Đặc tính này một mặt làm cho đường định tuyến
có xu hướng bị kéo dài ra. Trong bài báo [50] các tác giả chỉ ra rằng sự có mặt của hố có
˜ √n) xuống còn O(1/n).
thể làm cho throughput giảm từ Θ(1/
Để giải quyết vấn đề này, có một giải pháp được đề xuất đó là xác định thông tin biên
hố và phát tán thông tin đấy cho các nút mạng. Các nút mạng sẽ sử dụng thông tin về hố để
định tuyến. Hình 2.1 minh họa giải pháp này. Trong ví dụ minh họa này, ta thấy mạng có
một hố to với nhiều vùng lồi lõm, hình 2.1(a) cho thấy nếu thuật toán định tuyến không sử
dụng thông tin về biên hố và gói tin bị định tuyến men theo biên hố thì đường định tuyến sẽ
rất dài, trong khi đó hình 2.1(b) cho thấy nếu nút nguồn biết trước về thông tin của hố thì
10


(a) Đường định tuyến bị kéo dài do các nút
mạng không có thông tin về hố

(b) Đường định tuyến được tối ưu hóa khi
các nút mạng có thông tin về hố

(c) Đường định tuyến bị kéo dài do sai số
giữa hố và hình xấp xỉ
Hình 2.1: So sánh các đường định tuyến tránh hố


có thể định tuyến gói tin theo một đường đi ngắn hơn rất nhiều ( đường đi này thường được
gọi là đường tránh hố hoặc đường vòng qua hố). Vì vậy, có thể thấy là việc biết trước về sự
có mặt của hố có thể giúp cho các nút tìm được đường đi ngắn hơn.
Như vậy, ta có thể thấy được việc xác định và phát tán thông tin biên hố là một vấn đề
quan trọng trong các ứng dụng về theo dõi, quan sát môi trường và định tuyến địa lý. Tuy
nhiên, do quy mô của mạng cảm biến không dây thường rất lớn (có thể lên tới hàng nghìn
nút mạng) do đó kích thước của hố cũng có thể rất lớn. Vì vậy, việc phát tán thông tin đầy
đủ của hố cho các nút mạng là không phù hợp với sự hạn chế về năng lượng của các nút
mạng cảm biến. Ví dụ, hố gồm có 100 nút trên biên, nếu phát tán thông tin tọa độ của 100
nút này cho các nút mạng thì sẽ phải tiêu tốn rất nhiều năng lượng của các nút mạng. Do
đó, một trong những vấn đề quan trọng, cấp thiết đặt ra ở đây là làm sao để có thể mô tả
hình dạng của biên hố theo một cách thức đơn giản mà vẫn không làm giảm hiệu năng của
các ứng dụng liên quan. Việc mô tả hình dạng của biên hố theo một cách thức đơn giản có
thể hiểu là việc xấp xỉ hố bằng một hình khác mà thông tin cần thiết để biểu diễn hình đó
đơn giản hơn. Có thể dễ dàng nhìn thấy một tradeoff giữa việc đơn giản hóa việc biểu diễn
hố và hiệu năng của các ứng dụng sử dụng thông tin của hố. Rõ ràng là hình xấp xỉ hố càng
đơn giản thì sự sai khác giữa hình xấp xỉ và hố càng có xu hướng tăng lên và hiệu năng của
11


các ứng dụng sử dụng thông tin hố càng giảm đi. Ngược lại, ta có thể tăng độ chính xác của
ứng dụng theo dõi, giám sát môi trường cũng như tăng hiệu năng của thuật toán định tuyến
địa lý bằng cách xấp xỉ hố bằng một hình bao rất sát hố, nhưng điều này sẽ làm cho thông
tin biểu diễn hình xấp xỉ có xu hướng tăng lên và nó sẽ tiêu tốn tài nguyên của mạng trong
việc phát tán, lưu trữ thông tin biên hố.
Ví dụ, nếu ta xấp xỉ hố bằng một hình tròn hay một hình ellipse bao quanh hố thì thông
tin cần để biểu diễn hình xấp xỉ này rất đơn giản: tọa độ tâm và độ lớn bán kính. Thế nhưng,
đối với một số hình dạng hố đặc biệt sai số của hình xấp xỉ và hố là cực lớn, sai số này sẽ
có ảnh hưởng như sau đối với các ứng dụng liên quan:
• Đối với ứng dụng theo dõi, quan sát môi trường: việc định vị vùng xảy ra sự kiện bị

sai lệch lớn
• Đối với ứng dụng định tuyến địa lý: đường định tuyến bị kéo dài
Hình 2.1(c) biểu diễn một ví dụ minh họa cho việc này. Trong hình này, hố được xấp xỉ
bằng một hình tròn bao ngoài nó và do sự sai khác giữa hình tròn và hố xấp xỉ là lớn nên
đường định tuyến cũng bị kéo dài ra. Như vậy, có thể thể thấy rằng, hố nên được xấp xỉ
bằng hình đơn giản nhất có thể, nhưng nếu hình xấp xỉ quá đơn giản và sai số quá lớn so
với hố thì sẽ làm giảm hiệu năng của các ứng dụng liên quan.
Từ những phân tích trên đây, ta có thể thấy rằng bài toán xấp xỉ biên hố là một bài toán
cực kỳ quan trọng và có vai trò lớn đối với các ứng dụng về quan sát, theo dõi môi trường
cũng như định tuyến địa lý. Trong chương này, chúng tôi sẽ trình bày các kết quả nghiên
cứu đạt được đối với vấn đề xấp xỉ biên hố. Các thuật toán xấp xỉ được chúng tôi đề xuất
dựa trên các tiêu chí sau:
• Tính toán đơn giản
• Sai số so với hố ban đầu thấp
• Không làm kéo dài đường định tuyến
Chúng tôi đề xuất 3 thuật toán xấp xỉ hố như sau:
1. Thuật toán xấp xỉ hố dựa trên lưới ô vuông: Thuật toán này cho phép hình xấp xỉ duy
trì được cả những tính chất lồi/lõm của hố và vì thế nó có thể được sử dụng trong các
ứng dụng quan sát/theo dõi môi trường cũng như trong thuật toán định tuyến. Sai số
giữa hình xấp xỉ và hố được điều khiển bằng độ dày của lưới ô vuông.

12


2. Thuật toán xấp xỉ hố bằng đa giác lồi có các góc bằng nhau: Thuật toán này được
thiết kế chuyên biệt cho các thuật toán định tuyến. Nó đảm bảo đường định tuyến khi
sử dụng đa giác xấp xỉ có hệ số đường đi không vượt quá 1 + ϵ.
3. Thuật toán xấp xỉ hố bằng đa giác lồi động: Thuật toán này cũng được thiết kế chuyên
biệt cho các thuật toán định tuyến. Nó đảm bảo đường định tuyến khi sử dụng đa giác
xấp xỉ có hệ số đường đi không vượt quá hằng số và giải quyết được vấn đề tắc nghẽn

quanh biên hố.
Phần còn lại của chương này được trình bày như sau: Chương 2.2 sẽ trình bày thuật toán
xấp xỉ hố dựa trên lưới ô vuông. Các thuật toán trình bày trong chương này bao gồm một
kết quả chúng tôi đã trình bày ở hội nghị Soict 2011 [37] và một kết quả chúng tôi đang gửi
đăng ở tạp chí Tin học và điều khiển [38]. Chương 2.3 trình bày thuật toán xấp xỉ hố bằng
đa giác lồi có các góc bằng nhau. Thuật toán này đã được chúng tôi trình bày tại hội nghị
ISSNIP 2014 [42]. Chương 2.4 trình bày thuật toán xấp xỉ hố bằng đa giác lồi động. Thuật
toán này nằm trong bài báo đã được đăng ở hội nghị DCOSS 2014 [43] của chúng tôi, Cuối
cùng, chương 2.6 sẽ tổng kết lại toàn bộ các thuật toán mà chúng tôi đề xuất.

13


2.2
2.2.1

Xấp xỉ hố dựa trên lưới ô vuông
Giới thiệu

Trong hình học tính toán, xấp xỉ một đường liên tục bằng một đường zig-zag men theo
một lưới ô vuông là một phương pháp không phải là mới. Tuy nhiên, các thuật toán xấp xỉ
này thường rất phức tạp và do đó không phù hợp với sự hạn chế về năng lượng cũng như
khả năng tính toán của các nút mạng cảm biến không dây. Trong chương này chúng tôi sẽ
nghiên cứu vấn đề làm sao để xấp xỉ hố bằng một đa giác đơn giản, bao ngoài hố sao cho
sai số xấp xỉ cũng như số đỉnh của đa giac là nhỏ nhất có thể dựa trên lưới ô vuông. Đa giác
xấp xỉ của chúng tôi là một đa giác thỏa mãn các thuộc tính sau:
• Bao phủ: Đa giác xấp xỉ bao phủ toàn bộ hố
• Dựa trên lưới ô vuông: Các đỉnh của đa giác xấp xỉ là mắt lưới và các cạnh của đa
giác xấp xỉ nằm trên cạnh của lưới ô vuông. Tính chất này giúp cho việc biểu diễn
thông tin của biên hố trở nên dễ dàng, đỡ tốn chi phí.

• Có thể khống chế được sai số xấp xỉ: Số đỉnh của đa giác xấp xỉ được khống chế bởi
cận trên N . Cận trên này là một hằng số được quy định trước. Cận trên này sẽ quyết
định sai số xấp xỉ theo nghĩa, N càng lớn thì sai số xấp xỉ càng nhỏ và ngược lại.
Hình 2.2 minh họa đa giác xấp xỉ bằng lưới ô vuông của chúng tôi. Trong hình này, vùng
gạch chéo biểu diễn hố, đường màu đỏ biểu diễn đa giác xấp xỉ bằng lưới ô vuông. Ý tưởng
chính của chúng tôi là dùng một gói tin đặc biệt truyền đi men theo biên hố để thu thập
thông tin tọa độ của các nút mạng trên biên hố. Từ thông tin tọa độ của các nút mạng trên
biên hố chúng tôi sẽ tính ra đa giác xấp xỉ. Về cơ bản, thuật toán của chúng tôi gồm ba pha:
pha thu thập thông tin, pha xấp xỉ và pha pha rút gọn. Pha thu thập thông tin là pha xác
định và thu thập thông tin của các nút trên biên hố. Pha xấp xỉ là quá trình xấp xỉ các cạnh
trên biên hố bằng các cạnh của đa giác xấp xỉ và pha rút gọn là pha rút gọn các đỉnh của đa
giác xấp xỉ nhằm đảm bảo số đỉnh của đa giác xấp xỉ không vượt quá giới hạn cho trước.
Chúng tôi đề xuất hai thuật toán: online và offline. Trong thuật toán online cả ba pha trên
được tiến hành song song trong khi đối với thuật toán offline, pha xấp xỉ và pha rút gọn
được thực hiện sau khi toàn bộ pha thu thập thông tin đã kết thúc.

2.2.2

Các khái niệm và định nghĩa

Trước hết chúng tôi sẽ trình bày các khái niệm, định nghĩa được sử dụng trong chương này.

14


Hình 2.2: Đa giác xấp xỉ bằng lưới ô vuông
Hình 2.3: A-vertex

Vùng gạch chéo biểu diễn hố.
Đường màu xanh biểu diễn biên của đa giác xấp

xỉ bằng lưới ô vuông

Định nghĩa 2.2.1 Giả sử H là một hố với biên hố được ký hiệu là ∂H và G là một lưới ô
vuông cho trước với kich thước cạnh là w. Đa giác xấp xỉ, bao hố H (gọi tắt là A-polygon)
là một đa giác nhận được bằng cách nối các cạnh của hình vuông đơn vị nằm bên ngoài H
và giao với H (Hình 2.2 ).
Để ý rằng, do các cạnh của đa giác xấp xỉ nằm trên các cạnh của lưới ô vuông, để biểu diễn
đa giác xấp xỉ chúng ta không cần lưu toàn bộ tọa độ của tất cả các đỉnh của đa giác mà chỉ
cần lưu tọa độ của một nửa số đỉnh của đa giác, cụ thể là những đỉnh có tính chất như sau:
Định nghĩa 2.2.2 Xét đa giác xấp xỉ G với các đỉnh là G0 , G1 , . . . , Gm được sắp xếp theo
chiều kim đồng hồ. Một đỉnh của G được gọi là đỉnh xác định đa giác (A-vertex) nếu và chỉ
nếu nó thỏa mãn ít nhất mổt trong các tính chất sau:
• Là đỉnh đầu tiên của một cạnh song song với trục x
• Tọa độ x và y khác với tọa độ của A-vertex liền trước nó
Hình 2.3 biểu diễn một ví dụ về A-polygon và A-vertex. Trong ví dụ này, G1 được chọn
là A-vertex đầu tiên vì nó là đỉnh của cạnh đầu tiên song song với trục x. Vì vậy, G3 là
A-vertex tiếp theo bởi vì cả 2 tọa độ x, y của nó đều khác G1 . Tương tự, G5 , G7 , . . . , G2k+1
15


cũng là A-vertex trong khi G0 , G2 , . . . , G2k thì không phải là A-vertex. Rõ ràng là tọa độ
của G0 , G2 , . . . , G2k có thể suy ra từ tọa độ của các A-vertex theo công thức sau:
{
Gx0 = Gx1 ; Gy0 = Gy2k+1
(2.1)
Gx2k = Gx2k+1 ; Gy2i = Gy2i−1 (∀i = 1, k)
(Trong đó Gxi , Gyi tương ứng là ký hiệu tọa độ x, y của Gi ).

2.2.3


Xấp xỉ hố dựa trên lưới ô vuông theo phương thức online

2.2.3.1

Mô tả chung

Mục đích của chúng tôi là xây dựng đa giác xấp xỉ G của hố H, giả sử rằng hố H có các
nút trên biên là ∂H = H0 , H1 , . . . , Hn . Như đã nói ở trên, trong thuật toán online này cả
ba pha thu thập thông tin, xấp xỉ và rút gọn được thực hiện đồng thời cùng một lúc tại tất
cả các nút.
Chúng tôi sử dụng thuật toán xác định hố Boundhole [18] để xác định ∂H (tức là để
xác định tọa độ các đỉnh của ∂H). Hơn thế, chúng tôi mở rộng thuật toán Boundhole để có
thể xác định đa giác xấp xỉ trong quá trình xác định biên hố. Sai số xấp xỉ được điều khiển
bằng 2 tham số w (độ dài cạnh của lưới ô vuông) và N (số đỉnh tối đa của đa giác xấp xỉ).
Sử dụng thuật toán boundhole các nút có thể phát hiện được mình có nằm trên một biên
hố nào đó hay không. Nút đầu tiên phát hiện ra mình nằm trên biên hố sẽ tạo ra gói tin HBA
(Hole Boundary Approximation) và truyền gói tin này theo quy tắc bàn tay phải. Bằng cách
truyền gói tin theo quy tắc bàn tay phải, gói tin sẽ được truyền qua tất cả các nút trên biên
hố. Gói tinHBA có các trường như sau:
• gridSize: là kích thước cạnh của hình vuông đơn vị của lưới ô vuông
• MaxCount: là số đỉnh tối đa của đa giác xấp xỉ
• vCoordinates: Tọa độ các A-vetex xác định được đến thời điểm hiện tại
Không mất tính tổng quát chúng tôi giả sử H0 , H1 , . . . , Hn là các nút được truyền gói
tinHBA qua theo chiều kim đồng hồ. Như vậy H0 là nút tạo ra gói tinHBA với các giá trị
khởi tạo là vCoordinates=NULL, gridSize=r, MaxCount=N. Gói tinHBA sau đó sẽ được
truyền qua các nút H1 , . . . , Hn , mỗi nút sau khi nhận được gói tinHBA sẽ tiến hành các thao
tác sau:
• Xấp xỉ đoạn thằng Pi−1 Pi bằng đường gấp khúc nối các cạnh của các ô vuông đơn
vị của lưới ô vuông sử dụng thuật toán trong 2.2.3.2 . Thuật toán này sẽ xác định các
đỉnh A-vertex và chèn vào trường vCoordinate của gói tinHBA.

16


Hình 2.4: Đường xấp xỉ của cạnh Pi Pi−1
Các ô vuông màu xám là các ô vuông cắt
cạnh Pi Pi−1
Đường gấp khúc màu đỏ là đường xấp xỉ
của cạnh Pi Pi−1

Hình 2.5: Chứng minh của bổ đề 2.2.1

• Rút gọn phần đã xác định của A-polygon nếu số đỉnh A-vertex hiện tại trong trường
vCoordinate đã vượt quá cận trên (giá trị được lưu trong trường MaxCount).
Sau khi gói tinHBA đi một vòng và quay lại H0 , H0 sẽ thua thập được tọa độ của toàn bộ
các đỉnh A-vertex và từ đó sẽ dựng nên đa giác xấp xỉ.
2.2.3.2

Xấp xỉ các cạnh của biên hố

−−−−→
Theo thuật toán trong [18], toàn bộ hố phải nằm bên phải của véc-tơ Pi−1 Pi . Từ định nghĩa
của A-polyon, đoạn Pi−1 Pi sẽ được xấp xỉ bằng đường gấp khúc nối các cạnh của các hình
−−−−→
vuông đơn vị cắt đoạn Pi−1 Pi nằm bên trái của véc-tơ Pi−1 Pi (Hình 2.4). Trước hết, chúng
−−−−→
tôi tìm điều kiện để một mắt lưới ô vuông nằm về bên trái của tia Pi−1 Pi .
Bổ đề 2.2.1 Giả sử G là một đỉnh của hình vuông đơn vị cắt đoạn thằng Pi−1 Pi . Thế thì G
−−−−→
nằm về bên trái của véc-tơ Pi−1 Pi nếu và chỉ nếu G là ảnh của tâm của hình vuông đơn vị




cắt doạn thằng Pi−1 Pi qua phép tịnh tiến theo véc-tơ−
v = (r 2 cos β, r 2 sin β) .
i−1 Pi
(Trong đó, β = [ xPπ/2
]∗

π
2

+


)
4

Chứng minh 1 Không mất tính tổng quát, giả sử rằng Pi Pi−1 nằm ở góc phần tư thứ nhất
của hệ tọa độ như trong hình 2.5. Vì G là 1 đỉnh của hình vuông đơn vị cắt đoạn Pi−1 Pi , đoạn
Pi−1 Pi phải cắt ít nhất một trong 4 hình vuông đơn vị (1), (2), (3), (4). Hơn nữa, vì Pi Pi−1
nằm ở góc phần tư thứ nhất, đường Pi−1 Pi phải cắt (2) hoặc (4). Suy ra, G nằm ở bên trái của
17




−−−−→
−→
tia Pi−1 Pi nếu và chỉ nếu đường Pi−1 Pi cắt (4). Để ý rằng, OG = (r 2 cos β, r 2 sin β)
và G là ảnh của tâm của (4), O, qua phép tịnh tiến. Bổ để được chứng minh.

Bây giờ, chúng tôi sẽ xác định tâm của các hình vuông đơn vị cắt đường thẳng Pi−1 Pi bằng
bổ đề sau đây:
Bổ đề 2.2.2 Giả sử O là tâm của một hình vuông đơn vị cắt đường thằng Pi−1 Pi và giả sử
rằng tọa độ x, y của O lần lượt là mr + 2r và nr + 2r . Thế thì, bất đẳng thức sau đây là điều
kiện cần và đủ của m và n:
(n − α)r − Piy + αPix

αmr

(n + 1)r − Piy + αPix

(2.2)

y
x
, Pi−1
), (Pix , Piy ) tương ứng là
Trong đó, α là hệ số góc của đường thẳng Pi−1 Pi và (Pi−1

tọa độ của Pi−1 , Pi .
Chứng minh 2 Phương trình của đường thẳng Pi−1 Pi là:
y = Piy + α(x − Pix )

(2.3)

Hình vuông đơn vị có tâm O với tọa độ (mr + 2r , nr + 2r ) được biểu diễn bằng hệ phương
trình sau:
{
mr x (m + 1)r
(2.4)

nr y (n + 1)r
Từ (2.3) và (2.4) suy ra, đường thẳng Pi−1 , Pi cắt hình vuông đơn vị tâm O nếu và chỉ nếu
hệ phương trình sau có nghiệm.

y
 y = Pi + α(x − Pix )
mr x (m + 1)r
(2.5)

nr y (n + 1)r
Thế phương trình đầu tiên vào phương trình thứ ba, (2.5) tương đương với:
{
mr x (m + 1)r
y
x
{ nr Pi + α(x − Pi ) (n + 1)r
αmr αx α(m + 1)r

y
nr − Pi + αPix αx (n + 1)r − Piy + αPix
(2.6) có nghiệm nếu và chỉ nếu m và n thỏa mãn điều kiện sau:
{
αmr n + 1)r − Piy + αPix
nr − Piy + αPix α(m + 1)r

(2.6)

(2.7)

Điều kiện trên tương đương với:

(n − α)r − Piy + αPix αmr (n + 1)r − Piy + αPix
Bổ đề được chứng minh.
Giả sử (mi−1 r + 2r , ni−1 r + 2r ) và (mi r + 2r , ni r + 2r ) lần lượt là tọa độ tâm của các hình
vuông đơn vị chứa Pi−1 và Pi . Từ bổ đề 2.2.1 và bổ đề 2.2.2, đoạn thẳng Pi−1 Pi được xấp
xỉ bởi đường gấp khúc như thuật toán mô tả trong 3.1.
18


×