Giới thiệu thuật toán Heuristic

Một phần của tài liệu Đề xuất các thuật toán định tuyến đem lại hiệu quả năng lượng trong mạng cảm biến không dây (Trang 65)

Heuristic là phương pháp giải quyết vấn đề bằng cách đánh giá kinh nghiê ̣m, và tìm giải pháp qua thử nghiệm và rút tỉa khuyết điểm.

Từ Heuristic sử dụng trong thuật toán dùng để tìm giải pháp trong số những cái có thể, nhưng không đảm bảo rằng cái tốt nhất sẽ được tìm thấy, do đó họ có thể giả định đó là thuật toán xấp xỉ và không chính xác. Các thuật toán này thường tìm ra một giải pháp gần như tốt nhất và thường chúng tìm thấy nhanh chóng và dễ dàng. Thỉnh thoảng các thuật toán này có thể chính xác và thực sự tìm ra giải pháp tốt nhất, nhưng thuật toán vẫn được gọi là Heuristic, cho đến khi giải pháp tốt nhất này được chứng minh là phương pháp tốt nhất.

Có nhiều phương pháp để xây dựng một thuật toán Heuristic, trong đó người ta thường dựa vào một số nguyên lý sau:

+ Nguyên lý vét cạn thông minh: Trong một bài toán tìm kiếm nào đó, khi không gian tìm kiếm lớn, ta thường tìm cách giới hạn không gian tìm kiếm hoặc thực hiện một kiểu dò tìm đặc biệt dựa vào đặc thù của bài toán để nhanh chóng tìm ra mục tiêu.

+ Nguyên lý tham lam (Greedy): Lấy tiêu chuẩn tối ưu (trên phạm vi toàn cục) của bài toán làm tiêu chuẩn chọn lựa làm hành động cho phạm vi cục bộ của từng bước (hay tưng giai đoạn) trong quá trình tìm kiếm lời giải.

+ Nguyên lý thứ tự: Thực hiện hành động dựa trên một cấu trúc thứ tự hợp lý của không gian khảo sát nhằm nhanh chóng đạt được một lời giải tốt nhất.

+ Hàm Heuristic: Trong việc xây dựng thuật toán Heuristic, người ta thường dùng các hàm Heuristic. Đó là hàm đánh giá thô, giá trị của hàm phụ thuộc vào giá trị hiện tại của bài toán tại mỗi bước giải. Nhờ giá trị này, ta có thể chọn được cách hành động tương đối hợp lý trong từng bước của thuật toán.

3.2.2. Phƣơng pháp Heuristic (SP_RE) cho vấn đề định tuyến trong WSN

Phương pháp Heuristic được thực hiện để kéo dài thời gian hoạt động của WSN có một số đặc điểm sau:

66

+ Một vòng truyền dữ liệu được định nghĩa là khoảng thời gian một nút nguồn ngẫu nhiên truyền dữ liệu đến một nút đích ngẫu nhiên.

+ Thời gian hoạt động (thời gian sống) được định nghĩa là tổng số vòng gửi dữ liệu giữa các nút cảm biến cho đến khi nút đầu tiên hết năng lượng.

+ Đường đi ngắn nhất cho phương pháp được tính toán bằng cách sử dụng thuật toán Dijkstra [11].

Cụ thể, thuật toán SP_RE được phát biểu như sau:

Chúng ta hãy xác định một trọng số của một liên kết bất kỳ là:

) ( 1 ) ( j e i W

trong đó e(j) là năng lượng còn lại của nút j trên liên kết. Cho một nguồn nút s và một nút đích d, tìm một đường đi đơn từ s tới d sao cho tổng trọng số của tất cả các liên kết tham gia trong việc truyền tải dữ liệu là nhỏ nhất.

(Kết thúc thuật toán)

Hình 3.1 minh họa thuật toán SP_RE, với nút N1 là nguồn, nút N6 là đích sẽ có 2 con đường dẫn từ N1 đến N6 với tổng nghịch đảo mức năng lượng còn lại của 2 đường đi là:

-Tổng mức tiêu thụ năng lượng cho đường đi (1, 2, 3, 6) là:

-Tổng mức tiêu thụ năng lượng cho con đường (1, 4, 5, 6) là:

Do đó, các thuật toán SP_RE sẽ chọn đường dẫn (1, 2, 3, 6).

Hình 3.1. Phương pháp SP_RE N1 2 N2 1 N3 1 N6 1 N4 1 N5

67

3.3. Mô phỏng

Trong phần này tác giả sử dụng ngôn ngữ lập trình Visual C++ để mô phỏng mạng cảm biến không dây với việc sử dụng thuật toán Heuristic cho vấn đề định tuyến đường đi. Đồng thời, tác giả sử dụng phần mềm GNU Linear Programming Kit (GLPK) kết hợp với ngôn ngữ lập trình AMPL để tìm nghiệm của mô hình toán, sau đó so sánh đánh giá nghiệm của hai phương pháp.

3.3.1. Đặc điểm kênh vô tuyến [28]

Trong kênh vô tuyến, quá trình truyền sóng điện từ có thể được mô hình bằng quy luật hàm giảm công suất ở khoảng cách giữa bộ phát và bộ thu. Thêm vào đó, nếu giữa bộ phát và bộ thu không truyền theo đường truyền thẳng mà bị cản trở bởi chướng ngại vật thì khi đó song điện từ sẽ đến bộ thu bằng các đường khác nhau tại thời điểm khác nhau. Điều này gây ra hiện tượng phading đa đường. Vấn đề là ta sử dụng mô hình nào (mô hình đường truyền thẳng hay mô hình phading đa đường) trong mạng cảm biến. Ta biết công suất thu được tại bộ thu sẽ giảm khi khoảng cách giữa bên phát và bên nhận tăng lên. Theo “Wendi” thì cả hai mô hình này đều được sử dụng tùy thuộc vào khoảng cách giữa bên truyền và bên phát. Nếu khoảng cách giữa bên phát và bên thu nhỏ hơn khoảng cách dcross-over thì mô hình không gian được sử dụng (suy hao d2) và nếu ngược lại thì mô hình 2 đường dẫn được sử dụng (suy hao d4).

Điểm cắt (cross-over) được định nghĩa như sau:

Trong đó:

L 1: hệ số suy hao hệ thống không liên quan đến quá trình truyền hr: chiều cao của anten bên nhận so với mặt đất

ht: là chiều cao của anten phát so với mặt đất λ: là bước song của tín hiệu song mang

Nếu khoảng cách truyền nhỏ hơn dcross-over thì công suất truyền suy hao được tính như sau :

Trong đó :

Pr(d) : công suất nhận được ở khoảng cách d Pt: công suất bên truyền

Gt: hệ số khuếch đại của anten bên truyền G r: hệ số khuếch đại của anten bên nhận λ: là bước song của tín hiệu sóng mang

68

L 1:hệ số suy hao hệ thống không liên quan đến quá trình truyền d: khoảng cách giữa bên truyền và bên nhận

Phương trình này mô hình sự suy hao khi bên phát và bên thu có sự thông tin tầm nhìn thẳng (truyền thẳng không có chướng ngại vật), điều này chỉ xảy ra nếu như bên phát và bên thu gần nhau (d< dcross-over). Nếu khoảng cách (d> dcross- over) thì ta có công thức sau :

Trong đó :

Pr(d) : công suất nhận được ở khoảng cách d Pt: công suất bên truyền

Hr: chiều cao của anten bên nhận so với mặt đất ht: là chiều cao của anten phát so với mặt đất Gt: hệ số khuếch đại của anten bên truyền G r: hệ số khuếch đại của anten bên nhận

Trong trường hợp này tín hiệu nhận được theo cả hai hướng, hướng trực tiếp và hướng phản xạ. Vì có một hay nhiều đường truyền mà tín hiệu đến, nên tín hiệu sẽ suy giảm theo d4 .

Ví dụ :

Cho Gt = Gr =1, ht = hr = 1.5 m, hệ thống không suy hao L=1, f=914 MHZ Suy ra : thay giá trị này vào hai biểu thức trên ta có:

Trong phần này, chúng ta sẽ xem xét một mô hình đơn giản sẽ áp dụng trong phần mô phỏng.

69

Như thảo luận ở trên sự suy giảm công suất trong quá trình truyền phụ thuộc vào khoảng cách giữa bên phát và bên thu, nếu khoảng cách tương đối ngắn, ta có thể áp dụng mô hình tỉ lệ nghịch với d2 và ngược lại nếu khoảng cách dài ta áp dụng mô hình tỉ lệ với d4.Bộ điều khiển công suất có thể đảo ngược sự suy hao này bằng cách thiết lập khuếch đại công suất để đảm bảo mức công suất nào đó tại bên nhận, do đó để truyền một bản tin dài l bit, ở khoảng cách d ta có:

Bên nhận:

Trong đó năng lượng điện tử, Eelec phụ thuộc vào các hệ số như: mã hóa số, điều chế, lọc tín hiệu trước khi được gửi đến bộ khuếch đại. Thêm vào đó việc sử dụng kỹ thuật trải phổ năng lượng điện tử phải tính đến cả năng lượng trải phổ tín hiệu khi truyền và tương quan dữ liệu với mã trải phổ khi nhận. Các nhà nghiên cứu đã thiết kế chip thu phát baseband hỗ trợ thông tin trải phổ đa người dùng và hoạt động ở 165mW ở chế độ truyền và 46.5 mW ở chế độ nhận, theo “windy”, người ta đã tập hợp năng lượng tiêu thụ trên 1 bit dữ liệu ở bộ thu phát là Eelec=50nJ/bit đối với bộ thu phát tốc độ 1Mpbs. Điều này có nghĩa là phần điện tử sẽ tiêu tán 50mW khi hoạt động (thu hoặc phát dữ liệu).

Hai tham số: €friss-amp và €two-ray-amp tùy thuộc vào độ nhạy máy thu yêu cầu, và nhiễu tạp âm máy thu, do đó công suất truyền cần phải điều chỉnh để công suất máy thu lớn hơn một mức ngưỡng PR-thresh. Chúng ta có thể làm ngược lại từ ngưỡng của công suất máy thu để tính toán công suất truyền tối thiểu. Nếu tốc độ truyền là Rb thì công suất truyền Pt sẽ bằng năng lượng truyền trên bit ETx-amp(1,d) nhân với tốc độ:

Khi đó ta có :

70 Và:

Do đó công suất truyền Pt sẽ là hàm của ngưỡng công suất bên thu và khoảng cách d

Chúng ta có thể xác định mức ngưỡng ở máy thu sử dụng việc đánh giá nhiễu ở máy thu. Nếu nhiễu sàn nhiệt là 99dBm và tạp âm nhiễu máy thu là 17dB2 và chúng ta yêu cầu tỉ số tín hiệu trên nhiễu ít nhất là 30dB để nhận tín hiệu k nhiễu, thì công suất nhận tối thiểu là :

Do đó công suất nhận được ít nhất phải là -52dBm hay 6.3 nW để nhận thành công gói. Thay các giá trị vào (Gt = Gr =1, ht = hr = 1.5 m, hệ thống không suy hao L=1, f=914 MHZ, λ=0.328m, Rb=1Mbps) . Ta có:

Chúng ta sẽ sử dụng mô hình vô tuyến đơn giản kiểu thứ nhất như sau: Truyền bản tin k bit ở khoảng cách d sử dụng mô hình vô tuyến.

ETx-elec: năng lượng/bit truyền ERx-elec: năng lượng /bit nhận  amp : hệ số của bộ khuếch đại Phương trình bên truyền:

71 Phương trình bên nhận:

Việc nhận bản tin cũng tiêu tốn năng lượng khá cao cho nên chúng ta cũng cần tối thiểu số lần truyền và nhận ở mỗi nút.

3.3.2. Thiết lập mô hình mạng và kết quả mô phỏng

Trong mô hình mô phỏng thuật toán Heuristic, tác giả đã tạo ra các tô pô mạng giống với mô hình toán học với 30 nút với tọa độ sinh ngẫu nghiên. Với mỗi nút có mức năng lượng khởi tạo ban đầu là 2J, cấu hình mạng sử dụng trong mô phỏng được thiết lập như sau:

+ Kích thước mạng:(100m100m)

+ Số lượng Sensor : 30 nút

+ Vị trí của sensor: Đặt trong vùng.

+ Mức năng lượng: Eelec=50*109J, fs=10*1012J/bit/m2 and

mp

=0.0013*1012J/bit/m4

+ Broadcast ID message: 16 bits + Broadcast energy message: 32 bits

Tổng năng lượng truyền dẫn của tin nhắn được tính bằng: Et = kEelec +  ampkdn, Năng lượng tiếp nhận được tính bằng: Er = kEelec

Trong đó:

+ Eelec là năng lượng tiêu hao của mạch điện tử để mã hóa hoặc giải mã một bit, k là kích thước tin nhắn

+ amp là hằng số khuếch đại

+ d là khoảng cách giữa nút phát và nút nhận.

Trong mô phỏng, hoạt động của mạng cảm biến được chia thành vòng. Trong mỗi vòng, một nút nguồn ngẫu truyền dữ liệu đến một nút đích ngẫu nhiên. Quá trình này được lặp đi lặp lại cho đến khi nút cảm biến đầu tiên hết năng lượng và thời gian hoạt động phương pháp định tuyến trong mỗi cấu trúc liên kết mạng được ghi lại. Trung bình số vòng thực hiện được với thuật toán SP_RE là 136 lượt với 50 tô pô mạng khác nhau, như minh họa hình 3.3. [Mã

72

Hình 3.3. Nghiệm của phương pháp Heuristic với các topology mạng Trong mô hình toán, sử dụng phần mềm GNU Linear Programming Kit (GLPK) kết hợp với ngôn ngữ lập trình AMPL) để tìm ra nghiệm T tối ưu với 30 nút mạng và có các tô pô giống với phương pháp Heuristic. Thời gian hoạt động (thời gian sống) cũng được định nghĩa là tổng số vòng gửi dữ liệu giữa các nút cảm biến cho đến khi nút đầu tiên hết năng lượng, kết quả hình 3.4

Hình 3.4. Nghiệm tối ưu của mô hình toán với topology mạng khác nhau Trong hình 3.5, thể hiện tỉ lệ giữa nghiệm của thuật toán SP_RE và mô hình toán học cho vấn đềtối ưu hóa định tuyến trong WSN.

73

Hình 3.5. Tỉ lệ giữa nghiệm thuật toán SP_RE và mô hình toán học Qua kết quả trên, thuật toán SP_RE cho kết quả rất gần với nghiệm của phương pháp tối ưu (có tỉ lệ <1%). Điều này chứng tỏ, thuật toán đem lại hiệu quả năng lượng trong mạng WSNs, tức là góp phần vào việc tăng thời gian hoạt động của mạng cảm biên không dây.

3.4. Kết luận chƣơng 3

Với mục đích xây dựng một phương pháp giúp cải thiện vấn đề năng lượng trong mạng cảm biến không dây, trong chương 3 để có cơ sở đánh giá phương pháp đề xuất, tác giả xây dựng mô hình toán học cho vấn đề định tuyến tối ưu như một bài toán tối ưu tuyến tính, sau đó tác giả đề xuất phương pháp Heuristic để giải quyết vấn đề định tuyến Multi- hop. Cuối cùng, tác giả so sánh nghiệm của mô hình toán và Heuristic, kết quả cho thầy phương pháp Heuristic có nghiệm rất gần với phương pháp tối ưu. Điều này chứng tỏ phương pháp Heuristic sẽ giúp kéo dài thời gian hoạt động của mạng cảm biến.

Với mục đích cân bằng mức năng lượng tiêu hao của các nút cảm biến, trong chương 4 tác giả đề xuất một phương pháp Heuristic khác giúp cải thiện vấn đề năng lượng trong mạng cảm biến không dây.

74

CHƢƠNG 4. MÔ PHỎNG MẠNG CẢM BIẾN KHÔNG DÂY VỚI NS2 Trong chương này, thông qua việc tìm hiểu và đánh giá ưu nhược điểm của một số giao thức định tuyến như AODV, ERS và EERS, tác giả đề xuất một phương pháp cải tiến giúp cân bằng mức năng lượng tiêu thụ của các nút cảm biến để kéo dài thời gian hoạt động của WSN. Cuối cùng, tác giả sử dụng công cụ NS2 để mô phỏng thuật toán và đánh giá hiệu năng của phương pháp đề xuất.

4.1. Giới thiệu giao thức định tuyến AODV và ERS, EERS

Giao thức định tuyến AODV cung cấp một tuyến đường dựa theo yêu cầu khám phá tuyến trong mạng Ad Hoc di động. Việc tìm ra tuyến đường dựa vào quá trình khám phá ra một đường mới với việc gửi quảng bá tín hiệu truyền di và gửi Unicast thông tin trả lời tìm đường tìm thấy. Giao thức định tuyến AODV sử dụng số tuần tự trong tin nhắn để tránh lặp vòng vô tận và đảm bảo lựa chọn đường định tuyến mới nhất. Các nút AODV duy trì bảng định tuyến trong, bảng này chứa thông tin định tuyến của các nút ở chặng kế tiếp cho các nút đích được lưu trữ. Mỗi điểm vào bảng định tuyến có một giá trị thời gian sống cụ thể. Nếu một tuyến đường không còn nằm trong khoảng thời gian sống thì tuyến đường đó sẽ bị xóa bỏ. Tuy nhiên khi một tuyến đường còn trong giai đoạn được sử dụng nó sẽ được cập nhật định kỳ để tuyến đường đó không bị xóa sớm.

Khi một nút nguồn có một vài gói dữ liệu muốn gửi đến đích, đầu tiên nó sẽ kiểm tra trong bảng định tuyến của nó để xem đã có tuyến đường tới đích hay không. Nếu có một tuyến đường như vậy nó có thể sử dụng tuyến đường đó để truyền dữ liệu. Ngược lại, nó phải khởi tạo một thủ tục khám phá tuyến đường mới. Để bắt đầu quá trình khám phá tuyến đường mới, nút nguồn sẽ tạo ra một gói tin yêu cầu định tuyến (RREQ). Trong gói (RREQ) này có chứa địa chỉ IP của nút đích, số tuần tự cuối cùng của nút đích, địa chỉ IP của nút nguồn và số trình tự hiện tại. RREQ cũng chứa số bước truyền giá trị khởi tạo ban đầu bằng 0 và một định danh RREQ. Định danh RREQ của mỗi nút, số đếm tăng dần đều mỗi khi nút đó bắt đầu một RREQ mới. Theo cách này thì địa chỉ IP nguồn cùng với định danh RREQ duy nhất nhận ra một RREQ và có thể được sử dụng để phát hiện ra những bản sao trùng lặp. Sau khi tạo ra tin nhắn này nút nguồn sẽ gửi quảng bá RREQ tới nút hàng xóm của nó.

Một phần của tài liệu Đề xuất các thuật toán định tuyến đem lại hiệu quả năng lượng trong mạng cảm biến không dây (Trang 65)