Rút gọn biên hố xấp xỉ

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 26 - 29)

Thuật toán rút gọn biên hố xấp xỉ được thực hiện tại nútPinếu số lượng đỉnh A-vertex hiện đang lưu trong trườngverticesCoordinates lớn hơn giá trị giới hạn được lưu trong trường

verticesNum. Giả sửG1, G2, ..., Gklà tập các đỉnh của đa giác xấp xỉ, ta có bổ đề sau:

Bổ đề 2.2.3 Giả sửGi−1GiGi+1là một góc lõm (tức là góc có độ lớn lớn hơn π). Thế thì, bằng cách thayGi bởi ảnh của nó qua phép đối xứng tâm với tâm đối xứng là trung điểm của đoạn thẳngGi−1Gi+1(ký hiệu làG′i), số lượng đỉnh A-vertex sẽ giảm đi 1 nếuG′ikhông trùng vớiGi−2 hoặcGi+2, và 2 trong các trường hợp còn lại.

Chứng minh 3 Hình 2.6(a) minh họa trường hợpG′i không trùng vớiGi−2vàGi+2. Trong trường hợp này,Gi−1, Gi, Gi+1không còn là đỉnh của đa giác xấp xỉ sau khi ta thayGi bởi

G′i. NếuGi trước đấy là một A-vertex thì Gi−2 và Gi+2 cũng là các A-vertex. Vì vậy,G′i

không thể là A-vertex được doG′i có tọa độx giống vớiGi+2 và tọa độy giống vớiGi−2. Vì thế, sau khi thayGi bởi G′i, Gi sẽ bị xóa khỏi trường verticesCoordinates và như thế số lượng đỉnh A-vertex sẽ được giảm đi 1. Trong các trường hợp còn lại, nếu Gi là một A-vertex thìGi−1 vàGi+1 cũng là A-vertex trong khiGi−2 vàGi+2 không phải. vì thế,G′i

nhất định phải là một A-vertexx. Suy ra, sau khi rút gọn 2 đỉnh A-vertex làGi−1 vàGi+1sẽ bị thay thế bởiG′ivà như vậy số lượng đỉnh A-vertex sẽ được giảm đi 1.

(a) case 1:G′ikhông trùng vớiGi−2vàGi+2

(b) case 2:G′itrùng vớiGi−2hoặcGi+2

Hình 2.6:Rút gọn biên hố xấp xỉ

Hình 2.6(b) biểu diễn trường hợpG′i trùng vớiGi−2. Rõ ràng, sau khi thayGi bằngG′i Gi−2, Gi−1, Gi, Gi+1không còn là A-vertex nữa. Do chỉ có 2 trong 4 điểmGi−2, Gi−1, Gi, Gi+1

là A-vertex, số lượng của A-vertex sẽ được giảm đi 2 sau khi rút gọn.

Giả sửVlà tập các A-vertex được lưu trong trườngverticesCoordinatesmlà số lượng phần tử củaV. Chi tiết quá trình rút gọn được mô tả trong thuật toán 3.2.

Xử lý đối với các đường xấp xỉ cắt nhau

Trong trường hợp đường xấp xỉGjGj+1...Gj+ucủa cạnhPiPi+1cắt đường xấp xỉGk−v...Gk−1Gk

của cạnhPi+1Pi+2như trong hình 2.7(a), chúng tôi tìm giao điểmG∗củaGjGj+1...Gj+u

Gk−v...Gk−1Gk gầnPiPi+2 và xóa đoạnG∗...Gj+u và đoạnGk−v...G∗ như trong hình 2.7(b).

Algorithm 3.2: Thuật toán tinh giản biên hố xấp xỉ fort =m−N;t >0

Với mọiGisao choGi−1GiGi+1là góc lồi, tìmGi sao cho giá trị củaGiGi+1∗Gi+1Gi+2

là nhỏ nhất.

ThayGibằngG′i, ảnh củaGi qua phép đối xứng tâm với tâm đối xứng là trung điểm của

GiGi+2.

ifG′i không trùng vớiGi−2 vàGi+2 then

V =V \Gi nếuGi ∈V V =V ∪ {G′i} \ {Gi−1, Gi+1}nếuGi ∈/ V t=t−1 end if ifG′i trùng vớiGi−2 then V =V \ {Gi, Gi−2}nếuGi ∈V V =V \ {Gi−1, Gi+1}nếuGi ∈/ V t=t−2 end if else V =V \ {Gi, Gi+2}nếuGi ∈V V =V \ {Gi−1, Gi+1}nếuGi ∈/ V t=t−2 end end

(a) Trước (b) Sau

Hình 2.7:Đường xấp xỉ cắt nhau

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

Trong phần trên chúng tôi đã trình bày thuật toán xấp xỉ hố dựa trên lưới ô vuông theo phương thức online. Trong thuật toán này, cả ba pha định biên, xấp xỉ biên hố và rút gọn đa

giác xấp xỉ được thực hiện đồng thời ở tất cả các nút mạng trên biên hố theo phương thức phân tán. Cách xử lý này có ưu điểm là đảm bảo việc xử lý của các nút mạng trên biên hố cân bằng nhau, không có nút nào phải xử lý nhiều hơn nút nào. Tuy nhiên, sự lặp lại của quá trình xử lý rút gọn đa giác xấp xỉ trên nhiều nút biên hố gây ra sự lãng phí về năng lượng. Hơn thế, do gói tin xấp xỉ (gói tin được truyền đi qua các nút trên biên hố nhằm xấp xỉ biên hố) phải chứa tọa độ của tất cả các đỉnh của đa giác xấp xỉ nên dung lượng khá lớn. Trong phần tiếp theo, chúng tôi sẽ trình bày một thuật toán xấp xỉ dựa trên lưới ô vuông theo phương thức offline. Ở đó, chỉ duy nhất pha định biên là được thực hiện bởi tất cả các nút mạng trên biên hố, còn pha xấp xỉ và pha rút gọn được thực hiện tập trung tại một nút mạng duy nhất. Cụ thể hơn, một gói tin sẽ được truyền đi quanh các nút trên biên hố nhằm xác định các ô vuông đơn vị cắt biên hố (để cho tiện, từ giờ ta sẽ gọi gói tin này là

M-message). Thông tin của các ô vuông đơn vị này sẽ được tập trung tại một nút chủ. Nút chủ này sẽ thực hiện thuật toán để xấp xỉ biên hố bằng đa giác xấp xỉ và rút gọn đa giác xấp xỉ bằng một đa giác có số đỉnh không vượt quá một hằng số cho trước.

Ưu điểm của thuật toán offline này là dung lượng của gói tinM-messagerất nhỏ và pha xấp xỉ, rút gọn chỉ thực hiện một lần duy nhất vì vậy tiết kiệm được khá nhiều năng lượng so với thuật toán on-line. (adsbygoogle = window.adsbygoogle || []).push({});

Dưới đây chúng tôi sẽ trình bày thuật toán theo ba pha riêng biệt: pha thu thập thông tin, pha xấp xỉ và pha rút gọn.

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 26 - 29)