Thuật toán tìm kiếm chùm tia với hàm Genitor

Một phần của tài liệu (Luận án tiến sĩ) Tối ưu hóa thời gian sống của một lớp mạng cảm biến không dây theo hướng tiếp cận xấp xỉ (Trang 66 - 70)

Một lời giải hoàn chỉnh của bài toán MRP gồm: tập Z = (zj)m×1 các biến quyết định các vị trí sẽ được lựa chọn để đặt các nút chuyển tiếp, trong đó Pm

i=1zj =y và ma trận A= (aij)n×m quyết định các kết nối từ các nút cảm biến đến y nút chuyển tiếp được chọn. Như đã phân tích ở trên, thuật toán của tác giả [7] tìm lời giải cho bài toán MRP bằng cách giải quyết hai pha độc lập nhau. Các vị trí khả thi đã được lựa chọn để đặt các nút chuyển tiếp trong pha thứ nhất sẽ không được thay đổi trong pha thứ hai. Câu hỏi đặt ra là: liệu có thuật toán nào có thể giải bài toán MRP trong một pha mà vẫn có thể thay đổi cách chọn các nút chuyển tiếp hay không? Thuật toán tìm kiếm chùm tia với hàm Genitor (Beam Genitor Search - BGS) được đề xuất để trả lời cho câu hỏi này. Thuật toán BGS lấy cảm hứng từ phương pháp tìm kiếm chùm tia (Beam Search - BS) [70], trong đó một lời giải hoàn chỉnh sẽ được tìm thấy bằng cách xây dựng và hoàn thiện các lời giải bộ phận (lời giải thành phần). Từ trạng thái ban đầu (chưa chọn vị trí nào để đặt các nút chuyển tiếp) có thể đi theom nhánh (tương ứng vớim cách lựa chọn), mỗi cách khác nhau chỉ ở cách đặt của

một nút mới. Mỗi nhánh trên lại có m−1 cách đặt thêm các nút chuyển tiếp thứ hai. Lặp lại quá trình như vậy, chúng ta sẽ tìm được tất cả các lời giải có thể có của bài toán.

Cụ thể, thuật toán BGS chia quá trình tìm kiếm thànhy+ 1 bước. Bước đầu tiên xuất phát từ một phương án mà không có một vị trí nút chuyển tiếp nào được lựa chọn. Từ bước thứ hai trở đi sẽ thực hiện hai nhiệm vụ chính:

ˆ Thêm vị trí lj ∈L vào để đặt các nút chuyển tiếp;

ˆ Đối với mỗi cách chọn lj, ny nút cảm biến mà có tổn thất truyền thông nhỏ nhất đến lj (trong số những cảm biến chưa được gán tới bất cứ một nút chuyển tiếp nào) sẽ được lựa chọn để kết nối đến lj.

Quá trình này lặp lại cho đến khi chọn đủy nút chuyển tiếp được chọn. Chi tiết quá trình sinh các lời giải bộ phận được mô tả như trong thuật toán 2.1. Theo cách sinh này, lời giải cuối cùng sẽ đáp ứng các ràng buộc của bài toán:i) cóynút chuyển tiếp,ii) mỗi nút chuyển tiếp sẽ kết nối được đếnn/ycảm biến,iii) mỗi nút cảm biến sẽ chỉ kết nối đến được một nút chuyển tiếp. Thứ tự lựa chọnlj sẽ ảnh hưởng đến hiệu quả của thuật toán, vì mỗi hoán vị của Lsẽ dẫn đến các lời giải với các chất lượng khác nhau. Tìm kiếm tất cả các hoán vị sẽ không khả thi với những bài toán có kích thước lớn. Do đó, luận án sẽ áp dụng thuật toán tìm kiếm chùm tia với một khả năng thông qua được xác định trướcc để đưa ra được các lời giải gần đúng trong thời gian đa thức. Tại một bước bất kì, sau khi sinh tất cả các lời giải bộ phận, chỉ chọn tối đaclời giải bộ phận để đưa sang bước tiếp theo.

Thuật toán 2.1: Sinh các lời giải con bộ phận.

Đầu vào: Tập các lời giải bộ phận X={x1, ...,xc}

/* Mỗi lời giải bộ phận xk = (xk1, ..., xk2, ..., xki−1) đã biết

i−1 nút chuyển tiếp được đặt */

// c: là số lượng lời giải con bộ phận được giữ lại ở mỗi lần lặp

Đầu ra : Y: Tập các lời giải bộ phận được sinh từ X

1 Y← ∅;

2 k ←0;

3 while k < c do

4 j ←0;

5 while j < m do

6 if lj chưa được chọn để đặt các nút chuyển tiếp then

7 xki ←lj ;

8 Gán n/y nút cảm biến chưa được chọn đến lj;

9 Đánh dấu vị trí lj đã được chọn ;

10 Đánh dấu n/y cảm biến đã được chọn ;

11 end

12 Y←Y∪ {xk};

13 Bỏ đánh dấu n/y cảm biến được chọn ;

14 j ←j+ 1;

15 end

16 k ←k+ 1 ;

17 end

18 return Y

Các lời giải bộ phận được lựa chọn sẽ dựa vào giá trị đại diện của nó. Giá trị đại diện của một lời giải bộ phận chính là giá trị tổn thất truyền thông lớn nhất (từ tập các kết nối đã chọn). Tiếp theo, khác với BS truyền thống, luôn chọn clời giải bộ phận tốt nhất (có giá trị đại diện nhỏ nhất), luận án sắp xếp thứ hạng cho tập lời giải bộ phận, sau đó việc lựa chọn sẽ được dựa trên hàm phân phối xác suất Genitor [71].

gen= bias−pbias2−4×(bias−1)×random()

Đặc điểm của hàm Genitor trong phương trình (2.15) là bất cứ phần tử nào trong tập các lời giải con bộ phận cũng có cơ hội được lựa chọn, nhưng lời giải bộ phận càng tốt (thứ hạng càng cao) thì xác suất được lựa chọn sẽ cao hơn. Nhờ đó, thuật toán vẫn chọn được một tập lời giải bộ phận tốt nhưng cũng đảm bảo được độ đa dạng và khả năng thoát khỏi cục bộ địa phương. Minh họa về hàm Genitor được cho trong hình 2.1.

Hình 2.1: Minh họa cho hàm Genitor với bias= 2.

Hình 2.2 minh họa cho hoạt động của thuật toán BGS với một mạng gồm 6 nút cảm biến, 2 trong 3 vị trí khả thi sẽ được lựa chọn để đặt nút chuyển tiếp. Số lời giải con bộ phận được giữ lại ở mỗi lần lặp là 2.

Quá trình trên sẽ tìm được một tập gồm c lời giải hoàn chỉnh cho bài toán. Tập này có thể vẫn chứa những lời giải có giá trị tổn thất truyền thông cao. Một thuật toán tham lam được đề xuất để giảm giá trị của tổn thất truyền thông cho các lời giải này. Ý tưởng chính của thuật toán tham lam này là tìm cách cải thiện các lời giải đã có bằng cách thay đổi kết nối giữa các nút chuyển tiếp và các nút cảm biến. Điều này được thực hiện bằng cách liên tục duyệt các kết nối giữa các nút cảm biến và các nút chuyển tiếp để tìm kết nối concri có giá trị tổn thất truyền thông cao nhất. Sau đó, đi qua tất cả các kết nối khác coni và tính toán sự cải thiện nếu hoán đổi concri và coni. Nếu việc hoán đổi làm giảm giá trị của concri thực hiện hoán đổi, và tiếp tục cho lần lặp tiếp theo. Nếu không, thuật toán dừng lại.

Một phần của tài liệu (Luận án tiến sĩ) Tối ưu hóa thời gian sống của một lớp mạng cảm biến không dây theo hướng tiếp cận xấp xỉ (Trang 66 - 70)

Tải bản đầy đủ (PDF)

(165 trang)