Thuật toán xấp xỉ hố bằng hình tròn (hình trích dẫn từ [59])

Một phần của tài liệu 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 (Trang 69 - 71)

5 Kết luận

2.31Thuật toán xấp xỉ hố bằng hình tròn (hình trích dẫn từ [59])

Trong [59, 21], các tác giả đã trình bày thuật toán xấp xỉ hố bằng một đường tròn bao ngoài (hình 2.31). Trong thuật toán này, các nút sẽ sử dụng quy tắc TENT để xác định xem nó có nằm trên biên hố hay không. Nút đầu tiên phát hiện ra biên hố sẽ tạo một gói tin đặc biệt và truyền cho các nút trên biên hố theo thuật toán Boundhole. Gói tin này có nhiệm vụ 4 tọa độxmin, ymin, xmax, ymax lần lượt là tọa độx, y nhỏ nhất, lớn nhất của các nút trên biên hố. Đường tròn xấp xỉ hố là đường tròn có đường kính là đoạn nối hai điểm với tọa độ (xmin, ymin),(xmax, ymax).

Trong [51], tác giả đã trình bày thuật toán xấp xỉ hố bằng một ellipse (hình 2.32). Thuật toán này cũng sử dụng quy tắc TENT và thuật toán Boundhole để xác định biên hố. Nút đầu tiên phát hiện ra biên hố sẽ gửi một gói tin vòng quanh các nút trên biên hố để xác định tọa độ của tất cả các nút trên biên hố. Sau khi thu thập được toàn bộ tọa độ của các nút trên biên hố, nút này sẽ xác định hình chữ nhật ngoại tiếp biên hố, tức là hình chữ nhật bao ngoài hố và có 4 cạnh chứa 4 đỉnh nằm trên biên hố. Giao điểm của các đường phân giác tại các góc của hình chữ nhật này sẽ được chọn làm 2 tiêu cự của hình ellipse xấp xỉ hố như trong hình 2.32.

Trong bài báo [25], các tác giả đã đề xuất giải thuật xấp xỉ hố bằng một hình lục giác đều (hình 2.33). Hình lục giác này là hình lục giác ngoại tiếp hình tròn xấp xỉ hố được nêu trong bài báo [59, 21].

Có thể thấy rằng, cả ba thuật toán đề xuất trên đây đều chọn một hình có hình dạng cố định (hình tròn, hình ellipse, hình lục giác đều) đề xấp xỉ hố. Khác với 3 thuật toán xấp xỉ được đề cập trên đây, nhóm tác giả Myounggyu Won trong bài báo [57] đề xuất xấp xỉ hố bằng bao lồi của hố. Trong đó, bao lồi được định nghĩa là đa giác lồi bao ngoài hố và có các đỉnh là đỉnh của biên hố (xem hình 2.34). Trong thuật toán này, biên hố được xác định bởi thuật toán được nêu trong bài báo [53]. Một nút đươc chọn là nút chủ (initiator) sẽ khởi tạo một gói tin đặc biệt (để cho gắn gọn từ giờ chúng tôi gọi gói tin này làM-message) có nhiệm vụ thu thập thông tin biên hố. Trong gói tin này, có trườngPe là mảng chứa tọa độ của các đỉnh của bao lồi. Gói tin này sẽ được gửi cho các nút trên biên hố theo chiều ngược

Hình 2.32:Thuật toán xấp xỉ hố bằng hình tròn (hình trích dẫn từ [59])

Hình 2.33:Thuật toán xấp xỉ hố bằng hình tròn (hình trích dẫn từ [59])

chiều kim đồng hồ . Khi gói tin này được truyền đến một nútpi trên biên hố, nút này sẽ xác định xem nó có thể là đỉnh của bao lồi hay không, nếu có nó sẽ chèn tọa độ của nó vào mảngPe và chuyển tiếp gói tin cho nút biên hố bên phải; nếu không, nó sẽ chỉ truyền gói tin đi mà không cập nhật mảngPe. (xem hình 2.34(b)). Ý tưởng chính để kiểm tra xem có cập nhật mảngPehay không đó là,pi sẽ kiểm tra xem nó có nằm bên phải củaplepi+1, với một số đỉnhple Pe (0 ≤l ≤ |Pe|, là số phần tử củaPexác định được cho đến thời điểm hiện tại) nào đó không. Nếu tồn tại một số đỉnhpenhư vậy thì chứng tỏpilà đỉnh nhìn thấy xa nhất từpl

e, vàpi sẽ chèn tọa độ của nó vàoPe. Tuy nhiên, sau đó, nếu tìm thấy một nút

pj,j > inào đó mà nó cũng là điểm nhìn thấy từpl

ethìpi sẽ bị xóa đi khỏiPe.

(a) Ví dụ về bao lồi (b) Xác định một đỉnh có thuộc

Pekhông

(c) Tinh giản đỉnh của bao lồi

Một phần của tài liệu 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 (Trang 69 - 71)