Minh họa của thuật toán chi tiết

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 57 - 60)

5 Kết luận

2.24Minh họa của thuật toán chi tiết

Nếuf = 1thìN chỉ đơn giản hủy gói tin HBI bởi vì nó đã có thông tin của đa giác xấp xỉ tối ưu trong bộ nhớ. Ngược lại, nó sẽ tiến hành các thao tác sau:

Nếu khoảng cách từN đếnP(i) nằm trong đoạn[gi, gi+1), thì P sẽ được chọn là đa giác xấp xỉ tối ưu củaN . Vì vậy,N sẽ lưu thông tin củaP(i)vào bộ nhớ của nó như là đa giácQvà sẽ cập nhật giá trị củaf thành1và chuyển gói tin HBI đến cho các láng giềng.

Nếu khoảng cách từN đếnP(i) là gi+1 thì đa giác xấp xỉ tối ưu củaN phải có số đỉnh ít hơnP(i). Vì thế,N sẽ lặp lại thuật toán tinh giản đa giácP(i)một cách đệ quy cho đến khi nhận được một đa giác tinh giảnP(i+k) sao cho khoảng cách từ N đến

P(i+k)thuộc vào khoảng[gi+k, gi+k+1). Đa giácP(i+k)như vậy được chọn là đa giác xấp xỉ tối ưu củaN. Vì vậy,N lưu thông tin củaP(i+k)vào bộ nhớ, cập nhật giá trị của

f thành1và thay thế giá trị của bộ ba trong gói tin HBI bằng (P(i+k), gi+k, gi+k+1) trước khi chuyển nó cho các nút láng giềng.

Nếu khoảng cách từN đếnP(i)là< gi,N hủy gói tin HBI nếu số lượng đỉnh của đa giácP(i)là nhỏ hơnQ. Otherwise,N thay thếQbằngP(i)và hủy gói tin HBI. Phần giả code của thuật toán phân tán thông tin biên hố xấp xỉ được trình bày trong 4 . Hình 2.24 minh họa thuật toán. Trong hình này,P1P2...P8 là bao lồi của hố ( tức là P(0)

Algorithm 4:Thuật toán xấp xỉ và phát tán biên hố động

1: l khoảng cách từNđếnP(i)

2: u←số đỉnh củaP(i)

3: v số đỉnh củaQ

4: iff = 1then

5: Hủy gói tin HBI

6: else

7: ifgi+1 ≥l ≥gi then

8: f 1;Q←P(i)

9: Nchuyển tiếp gói tin HBI cho các nút láng giềng

10: else ifl≥gi+1 then

11: P ←P(i);t1 ←gi

12: t2 ←gi+1;n số đỉnh của bao lồi của hố

13: // n có thể tính được từgi, gi+1

14: repeat

15: P đa giác tinh giản củaP;d độ dài cạnh dài nhất củaP

16: m←số đỉnh củaP;l khoảng cách từN đếnP 17: t1 ←t2;t2 d n+1−m√ α−1 ( 1 cos(2π/m)1 ) 18: untilt2 > l ≥t1 19: Q←P ;f 1

20: Nthay thế các thông tin trong gói tin HBI bằng (P, t1, t2) và chuyển tiếp gói tin cho các nút láng giềng

21: else if(l < gi)&(u > v)then

22: Q←P(i)

23: Hủy gói tin HBI

24: else

25: Hủy gói tin HBI

26: end if

27: end if (adsbygoogle = window.adsbygoogle || []).push({});

),P1P2...P4Q5P7P8và P1P2Q3Q5P7P8 lần lượt làP(1)vàP(2). ( P(3), P(4), ...có thể tính tương tự nên chúng tôi không biểu diễn ra trong hình này ). Đường màu đỏ biểu diễn bao-g1

củaP(1)và đường màu xanh biểu diễn bao-g2 củaP(2). Giả sửN0, N1, N2 là các nút ở các vị trí như trong hình vẽ, thể thì đa giác xấp xỉ tối ưu của chúng lần lượt làP(0), P(1), P(2).

2.3.5 Đá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á

Trong phần này chúng tôi trình bày các kết quả thí nghiệm bước đầu để đánh giá độ hiệu quả về mặt chi phí xấp xỉ và phát tán thông tin biên hố cũng như việc đảm bảo hệ số đường đi không vượt quá hằng số của thuật toán đề xuất. Chúng tôi chủ yếu so sánh thuật toán của

Bảng 2.2:Thông số mô phỏng

Variables Values

Bán kính phủ sóng 250m

Hiệu điện thế 3V

Dòng điện nhận gói tin 15mA

Dòng điện truyền gói tin 29.5mA

Dòng điện nghỉ 3.2mA

chúng tôi với thuật toán xấp xỉ hố bằng bao lồi được đề cập trong bài báo [57]. Việc mô phỏng được thực hiện trên phần mềm mô phỏng NS-2 ( giao thức tầng MAC là 802.11); bảng 3.2 tóm tắt các thông số cài đặt trong mô phỏng, các thông số này được đề xuất bởi bài báo [47]. Trong thí nghiệm của chúng tôi,1000 nút mạng được triển khai ngẫu nhiên trong vùng diện tích4000m x4000m. Một hố với28đỉnh được tạo ra ở vùng trung tâm của mạng. Cận trên của hệ số định tuyến,α, được lấy trong khoảng từ1.1đến2.0. Với mỗi giá trị củaα, trước hết các nút sẽ tiến hành thuật toán xấp xỉ và phát tán biên hố đề xuất trong chương 2.3.4 để xấp xỉ và phát tán biên hố. Sau đó, mỗi nút sẽ lưu thông tin về đa giác xấp xỉ tối ưu của mình vào bộ nhớ. Dựa trên kết quả mô phỏng, chúng tôi tiến hành các phân tích, đánh giá sau:

Đánh giá về E-stretch.Mặc dù ở các chương trước chúng tôi đã phân tích về cận trên của E-stretch, trong phần này chúng tôi muốn khảo sát giá trị chính xác của E-stretch là bao nhiêu. Việc đánh giá đó được thực hiện như sau: Vớiαlà hằng số định trước, sau quá trình mô phỏng mỗi nútStrong mạng sẽ có một đa giác xấp xỉ tối ưu của mình làP(i). Với mỗi nútDsao choSDcắtP(i),Ssẽ xác định E-stretch củaP(i)đối với hố cho cặp(S,D). Cuối cùng,S sẽ tính trung bình cộng của tất cả các E-stretch đối với tất cả các nútDvà chúng tôi gọi giá trị E-stretch trung bình này làtrung bình-αcủa E-stretch củaS.

Đánh giá về bộ nhớ cần để lưu trữ thông tin đa giác xấp xỉ Giả sử rằng để lưu trữ tọa độ của mỗi một điểm trong không gian 2 chiều chúng ta cần16 bytes, thế thì mỗi một nút trong mạng cần16*n bytesđể lưu thông tin đa giác xấp xỉ của nó, trong đónlà số đỉnh của đa giác xấp xỉ. Vì vậy, tổng bộ nhớ cần thiết để tất các các nút trong mạng lưu trữ thông tin của đa giác xấp xỉ của chúng được tính bằng công thức sau:

16 [N−4 ∑ i=0 mi(N −i) + ( M N4 i=0 mi ) 3 ] (2.27)

Trong đó,N là số đỉnh của đa giác lồi,M là số nút trong mạng nằm bên ngoài hố,milà số lượng các nút nằm trong vành đai giữaG(i)và G(i+1)3. Để ý rằng, đối với thuật toán trong

3(M N−4

0.9 1.4 1.9 2.4 2.9 18 28 38 48 S tr et ch

Distance between source and destination (number of hop-counts)

GPSR Circle hexagon Proposal (δ=1)

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 57 - 60)