Điều này có thể ngay lập tức được nhìn thấy trong thuật toán đươc trình bày ở bên dưới. Cần chú ý rằng bậc lớn nhất của node trong trong đồ thị maxpower có thể cao như là n-1.Có thể dễ dàng nhận thấy rằng thuật toán có độ phức tạp thời gian là O(n2). Độ phức tạp thông báo là O(n) khi tất cả các node trong đồ thị đều truyền với thông báo đơn.
Mặc dù GG có hệ số power stretch là tối ưu, nhưng bậc của node có thể tăng lên đến n-1.Những giá trị của các đồ thị khác cũng được liệt kê trong hình 10. Vì lý do này một số biến thể của proximity graphs đã được đề xuất với mục đích có một ràng buộc trên bậc lớn nhất của node. Thật không may mắn rằng vấn đề này đã được đem ra nghiên cứu và không có một đồ thị nào có bậc của node là hằng số mà vẫn thỏa mãn được điều kiện là có 1 đường đi với minimum power cho bất kỳ một cặp node nào. Chính vì vậy mà không có một power spainner tối ưu nào với một hằng số được giới hạn bởi bậc tối của node tồn tại. Ngày nay đồ thị định tuyến với bậc node là hằng số có hệ số power stretch tố nhất là đồ thị
OrdYaoGG.Nó được tạo bởi xây dựng đồ thị YGc với c ≥ 6. trên đồ thị GG. Đồ thị
OrdYaoGG có hệ số power stretch là ρ 1 (2sinπ)α
1
c
− =
và bậc lớn nhất của node c+5 với c> 6 là tham số của đồ thị Yao. Ví dụ cho c = 9 và α = 2 chúng ta có hệ số power stretch là 1.88 và giới hạn bậc tối đa của node là 14.Mặc dù OrdYaoGG có thể được xây dựng trong một vùng giới hạn và các node được phân bố tùy ý, nhưng yêu cầu tính toán của nó một số
lượng nhất định các bản tin trao đổi. (24n bản tin là ít nhất) Vì lý do này những tác giả đã đề xuất đồ thị SyaoGG nó cũng tương tự như đồ thị OrdYaoGG nhưng số bản tin tối thiểu yêu cầu trao đổi là 3n. Hệ số power stretch là α
α π ρ ) sin 2 2 ( 1 2 c − = và bậc lớn nhất là c. với c >8 là tham số của đồ thị Yao. Ví dụ cho c = 9, α = 2 chúng ta có hệ số power stretch là 31.11 và bậc tối đa của node là 9.
Thuật toán Gabriel Graph (Thuật toán cho sự xây dựng đồ thị Gabriel Graph)
- IDu là định danh của node u, (xu, yu) là vị trí của node u
- EG(u) và EGG(u) là tập hợp những liên kết của u trong đồ thị maxpower và của GG. Disk(u,v) là môt đường tròn với cạnh (u, v) là đường kính.
1, Khởi tạo
EG(u) = EGG(u) = Φ. 2. Xử lý khi một bản tin đến
- Trong khi nhận bản tin (IDv,(xu,yu)) từ node v add thêm (u, v) vào EG(u). - Kiểm tra xem cạnh (u, w) có thực sự thuộc EG(u) như là w ∈ disk(u, v). - Nếu không thêm (u, v) vào EGG(u)
- Với mỗi (u, w) ∈EGG(u):
+ Kiểm tra xem v ∈ disk (u, w). + Nếu có thì xóa (u, w) trong EGG(u). 3. Kết thúc
Sau khi xử lý xong tất cả các bản tin đến, EGG(u) sẽ bao gồm tất cả các cạnh của GG liên quan tới u.
4.2. Hiệu quả năng lượng broadcast
Một vấn đề khác được xem xét trong tài liệu này đó là việc xác định những topology cho sự hiệu quả năng lượng của broadcast: chúng ta cho một đồ thị maxpower G, mục đích là xác định những đồ thị con G’ của G (đồ thị broadcast) như là sự quảng bá trong G’ trong đó hiệu quả năng lượng được sử dụng cho đồ thị này như là trong đồ thị maxpower. Điểm lợi của việc sử dụng những đồ thị này thì các vấn đề ta xem xet sẽ “nhỏ hơn” so với đồ thị maxpower như là hiện tượng nhiễu trong chế đồ truyền broadcast có thể
sẽ được giảm. Hiện tượng này xảy ra khi những node trong những vùng lân cận cố gắng truyền lại những bản tin broadcast trong cùng một thời điểm, kết quả là gây ra một sự dư thừa lớn, cạnh tranh băng thông và xung đột.
Trước khi trình bày những kết quả chúng ta sẽ giới thiệu một khái niệm hệ số broadcast stretch. Bây giờ chúng ta hãy xem xet đồ thị maxpower G. Bất kỳ quảng bá nào được tạo ra bởi node u có thể được xem như là một cây có hướng của đồ thị G với root là node u, chúng ta gọi nó là cây broadcast (broadcast tree). Chi phí năng lượng của cây broadcast T được định nghĩa như sau. Gọi pcT(v) là chi phí năng lượng phải trả khi truyền bản tin broadcast tại node v, pcT(v) = 0 nếu v là node lá của cây T và pcT(v) = max(v,w) δ(v, w)α nếu khác. Tổng năng lượng cần để truyền bản tin broadcast trong cây T là pc(T) = ∑(v∈N)pcT(v). Chúng ta gọi chi phí này là chi phí năng lượng của T (power cost T). Cây được tạo ra bởi G với root là u với chi phí năng lượng nhỏ nhất được gọi là minimum power broadcast tree của u và được ký hiệu là Tumin,G.
Định nghĩa 4.2.1 (Hệ số broadcast stretch)
Cho G’ là một đồ thị con tùy ý của đồ thị maxpower G (N,E), hệ số power stretch của G’ đối với G được gọi là βG là giá trị lớn nhất giữa tỉ lệ chi phí năng lượng nhỏ nhất của cây broadcast của G’ với root là u và chi phí năng lượng nhỏ nhất của cây broadcast của G với root là u.
βG’ = ) ( ) ( max min, ' min, G u G u N u pc T T pc ∈
Định nghĩa 4.2.2 (Broadcast spanner) Cho G(N, E) là đồ thị maxpower với |N| = n. Một đồ thị con G’ của G được gọi là broadcast spanner của G nếu βG∈ O(1)
Tương tự như trường hợp của unicast mục đích của chúng ta là tìm những broadcast spanner rời rạc của G điều này có thể được tính toán trong một khu vực được gới hạn và phân bố tùy ý. Không may mắn rằng nhiệm vụ được đưa ra này khó khăn hơn nhiều so với trường hợp unicast.Khó khăn chính xảy ra đến từ sự thật là việc tính toán chi phí năng lượng nhỏ nhất cho cây broadcast tree có root ở một node là một vấn đề NP-hard, dưới giả thiết là các node có thể sử dụng một bộ các cấp độ năng lượng rời rạc {P1, . . . , Pk}. Vì vậy việc trực tiếp tính toán hệ số power stretch của đồ thị con G’của G là gần như không thể thực hiện được, từ điều này yêu cầu một hướng giải quyết cho vấn đề NP-hard.
Căn cứ vào kết quả hardness, một số nhà nghiên cứu đã đề xuất một số giải pháp, những đề xuất này là giải pháp cho vấn đề tố ưu chi phí nhỏ nhất của cây broadcast theo một giá trị gần đúng. Một trong những nghiên cứu này sẽ được chúng ta đề cập tới đây là
thuật toán Broadcast Incremental Power (BIP).Thuật toán BIP được trình bày trong bên dưới.Thuật toán này là một biến thể của thuật toán Prim cho việc tìm kiếm MST.Thuật toán bắt đầu bằng việc tìm kiếm một node nguồn u để có thể đạt tới mức chi phí nhỏ nhất. Node này sẽ được thêm vào tập hợp những node covered C, đó là những node có thể nhận bản tin broadcast. Một điểm chung ở bước thứ i, BIP xét tất cả những node chưa nhận nhận bản tin broadcast và với bất kỳ node v nào tín toán chi phí được tăng lên của việc thêm node v vào spanning tree hiện thời.Node v với chi phí tăng lên tối thiểu sẽ được thêm vào tập hợp C và là một phần của spanning tree hiện thời. Xử lý này được lặp lại cho đến khi tất cả các node là covered.
Một broadcast spanner của G có thể đươc xây dựng như sau: cho một node bất kỳ u trong G, áp dụng thuật toán BIP để xây dựng cây broadcast Tu với root của cây là u. Cho GBIP = Uu ∈ N Tu , nghĩa là, liên kết (u,v) là trong GBIP khi và chỉ khi nó được nằm trong cây broadcast được tính toán bởi BIP. Cho phương pháp BIP là phương pháp xấp xỉ tối ưu (được xây dựng trên đồ thị maxpower) với hệ số lớn nhất là 12, sau đây ta có: với bất kỳ một node u, GBIP bao gồm 1 cây broadcast với root là u và chi phí của nó gấp O(1) lần so với chi phí của cây tối ưu, nghĩa là GBIP là một broadcast spanner của G. Không may mắn rằng là đồ thị GBIP là khá nhiều.Hơn nữa BIP là một thuật toán tập trung, và yêu cầu là phải biết tất cả các node.
Một đồ thị khác có thể được sử dụng để xây dựng broadcast spanner là MST, nó xấp xỉ cây broadcast với chi phí nhỏ nhất bằng hệ số giữa 6 và 12. Không may rằng việc tính toán của MST cũng yêu cầu phải biết tất cả các node.Để giải quyết vấn đề thì người ta thường đưa ra một điều kiện là thuật toán chỉ nên được triển khai trong một vùng hạn chế.
Tóm lại, việc thiết kế một thuật toán đươc giới hạn trong một phạm vi và được phân phối tùy ý có thể được sử dụng để xây dựng một broadcast spanner của G đang còn là một công việc khác phức tạp.
Thuật toán BIP
u là node nguồn C là tập hợp những node đã được xét T là spanning tree N là tập hợp những node mạng 1. Khởi tạo C = {u}
T = {u}
2 Lặp cho đến khi C = N
với mỗi node v ∈ N – C Tính toán chi phí tăng thêm ic(v) khi thêm c vào T Cho v trong N-C với chi phí tăng thêm nhỏ nhất
C = C {v}
Thêm v vào spanning tree hiện thời T 3 Kết thúc
Khi C = N, T là cây broadcast spanning với gốc là u.
Trước khi kết thúc chương này chúng ta sẽ điểm lại một số nét chung giữa vấn đề range assignment được trình bày trong chương 3 và vấn đề hiệu quả năng lượng trong chế độ broadcast. Giả sử có G là một đồ thị maxpower trên tập hợp N điểm, trong vấn đề RA mục đích của chúng ta là tìm ra một range assigment với chi phí tối ưu khi đồ thị này có kết nối. Giả sử ta có một node u tùy ý muốn quảng bá bản tin m, và cho RA là một range assignment tối ưu, một sơ đồ quảng bá đơn giản là lan truyền: node u truyền m ở một khoảng cách là RA(u), và mỗi node khác là v nhận được m trong khoảng thời gian đầu tiên, sau đó nó sẽ truyền lại m theo một khoảng cách là RA(v), ngay lập tức chúng ta thấy rằng sau đó tất cả các node N sẽ được truyền một bản tin m, sự quảng bá đã được lan truyền khắp trong mạng. Vì vậy chi phí năng lượng cho RA là một giới hạn của chi phí năng lượng của bất kỳ cây broadcast nào trong G.
Chương 5. Mô phỏng và kết quả thực nghiệm
5.1. Ý tưởng xây dựng một chương trình mô phỏng
- Mạng ad-hoc được xây dựng từ ý tưởng đó là giả sử coi các node trong mạng là những cảm biến, các cảm biến sẽ tạo nên một mạng ad-hoc, hay là một mạng cảm biến.
- Xây dựng nên một mạng ad-hoc với sự thay đổi số lượng các node (các cảm biến) tham gia
- Xây dựng nên một RA tối ưu với thuật toán MST, Prim - Giả lập có sự truyền tải gói tin giữa các node
- Tính toán sự tiêu thụ năng lượng
- So sánh sự tiêu thụ năng lượng giữa khi mạng có một RA tối ưu và khi không có RA tối ưu. Từ đó đưa ra đánh giá về mức độ ảnh hưởng của RA đến sự tiêu thụ năng lượng.
5.2. Xây dựng chương trình mô phỏng
Chương trình được xây dựng theo nhiều module và gép nối các module với nhau để mô tả những ý tưởng đã được nêu trên. Sau khi gép nối các module với nhau, chương trình sẽ có khả năng mô phỏng mang ad-hoc một cách cơ bản.
Hình 12: Giao diện chính của chương trình
Module chính của chương trình là Wireless Sensor NetWork đảm nhiệm vai trò:
o Xây dựng một mạng ad-hoc với các thông số cơ bản của các node
o Xây dựng các hàm có chức năng mô phỏng mạng
o Xây dựng một RA tối ưu bằng MST
a) Xây dựng một mạng ad-hoc với các thông số cơ bản của node:
public WirelessSensorNetwork(variables): hàm này cho phép khởi tạo các thông số cơ bản của một mạng ad-hoc như: số lượng các node, năng lượng dành cho mỗi node, tọa độ, vùng giới hạn của mang … b) Xây dựng các hàm có chức năng mô phỏng mạng ad-hoc
public void BuildNetwork(bool bOptimizeRA): cho phép xây dưng mang ad-hoc với các thông số được khởi tạo như trên, nếu là RA tối ưu thì xây dựng theo RA tối ưu.
public bool Process(): hàm xử lý toàn bộ các trao đổi trong mạng ad- hoc, tính toán các giá trị năng lượng cập nhật cho các biến
…
c) Xây dưng RA tối ưu bằng MST
internal bool OptimizeRA(): hàm xây dựng RA tối ưu dựa vào thuật toán Prim, MST
5.3. Kết quả mô phỏng
Dựa vào chương trình mô phỏng chúng ta có bảng thông số nhứng kết quả sau đây
Số lượng các node Năng lượng cung cấp Thời gian tồn tại của mạng khi RA là tối ưu Thời gian tồn tại của mạng khi RA không tối ưu
Số lượng gói tin giao tiếp
trong mạng khi RA là tối
ưu
Số lượng gói tin giao tiếp
trong mạng khi RA là không tối ưu
10 10000 2.34 1.40 328 307
50 50000 2.47 209 456 427
100 100000 1.44 1.32 788 746
130 130000 2.14 1.46 868 859
Dựa vào kết quả của chương trình mô phỏng, chúng ta có thể nhận thấy rằng với RA tối ưu thì khả năng giao tiếp của mạng được nâng lên, số lượng các gói tin giao tiếp trong mạng được tăng lên, đồng thời giảm thiểu được năng lượng sử dụng cho các node trong mạng. Nâng thời gian tồn tại của mạng tăng lên.
Chương 6. Kết luận
6.1. Những kết quả đạt được và mặt hạn chế của khóa luận
Nghiên cứu về lĩnh vực truyền thông của mạng ad-hoc là một lĩnh vực tương đối khó và là một trong những vấn đề mới của truyền thông không dây nói chung. Nó yêu cầu người nghiên cứu phải có kiến thức sâu rộng không những về mạng nói chung mà còn đòi hỏi người nghiên cứu phải có những tính toán tỉ mỉ, khả năng ước lượng cao kiên trì và chi tiết vì mạng không dây nói chung bị ảnh hưởng bởi rất nhiều yếu tố khác nhau. Mặc dù kiến thức, kinh nghiệm còn non kém song trong quá trình làm khóa luận em đã đạt được một số kết quả đáng chú ý sau:
Nghiên cứu được các lý thuyết về sự mô hình hóa mạng ad-hoc
Tính toán và tìm được những giải pháp cho việc tối ưu hóa vùng ảnh hưởng cho từng node trong mạng ad-hoc
Chứng minh được với một vùng ảnh hưởng là tối ưu sẽ tiết kiệm được năng lượng sử dụng cho từng node nói riêng và toàn mạng ad-hoc nói chung
Thiết kế được chương trình mô phỏng một mạng ad-hoc đơn giản
Lập trình và tìm ra được những vùng ảnh hưởng là tối ưu cho từng node trong mạng ad-hoc theo thuật toán Prim và MST
Mô phỏng được quá trình truyền dữ liệu giữa các node và tính toán được năng lượng tiêu thụ cho mạng ad-hoc
Do giới hạn về mặt kiến thức, thời gian và non kém về kinh nghiệm nên khóa luận của em còn có những mặt hạn chế nhất định:
Những sự chứng minh các công thức và các vấn đề liên quan đến việc mô phỏng còn chưa được nêu ra toàn bộ
Do là mạng mô phỏng nên nhiều đặc tính của node cũng như ảnh hưởng của môi trường là do người thiết kế tự đưa ra, có thể còn chưa sát với thực tế
Chương trình mới dừng lại ở mức độ trung bình sự di chuyển và biến đổi của các node là chưa cao
Vùng ảnh hưởng tối ưu đưa ra chỉ mang tính chất tương đối, có thể chưa đưa ra được một vùng ảnh hưởng tối ưu nhất giúp phần tiết kiệm năng lượng một cách tối ưu nhất
6.2. Phương hướng phát triển
Nghiên cứu các lý thuyết toán học sao cho tìm được một vùng ảnh hưởng và tìm kiếm được những topology là tối ưu nhất