Bài toán 3 (Bài toán tìm kết nối cho nút cảm biến). Cho một tập Ψ = (Ψ1,Ψ2, ...,Ψm), Pm
i=1Ψj = n, trong đó, Ψj là số nút cảm biến được gán cho nút chuyển tiếp ở vị trí lj, tìm cách gán các nút cảm biến cho các nút chuyển tiếp thỏa mãn ràng buộc (3.6) và (3.5) để đạt được mục tiêu (3.9).
Định lý 3.3.1. Bài toán tìm kết nối cho nút cảm biến có thể giải được trong thời gian đa thức.
Chứng minh. Xây dựng một đồ thị G= (V, E, cap) như sau:
V là tập đỉnh, V =S∪L∪ {s0, t0}, trong đó, s0 là trạm cơ sở, t0 là đỉnh thu giả.
cap là ma trận khả năng thông qua cap(u, v) = 1, u=s0, v=si, ∀1≤i≤n, 1, u=si, v =lj, ∀1≤i≤n, j ≤m, cij = 1, Ψj, u=lj, v =t0, ∀1≤j ≤m.
Hình 3.1: Ví dụ về đồ thị luồng được xây dựng từ các nút chuyển tiếp và các nút cảm biến.
Sau khi xây dựng đồ thịG, chúng ta có thể thấy sự tương đồng giữa bài toán 3 và bài toán LBSNA. Một cách tương tự, có thể chứng minh được rằng, bài toán 3 có thể giải được trong thời gian đa thức bằng cách sử dụng thuật toán tìm luồng cực đại kết hợp với tìm kiếm nhị phân.
Ta có thể dễ dàng thấy rằng chi phí lớn nhất tương ứng với trọng số của một cặp kết nối si, lj với cij = 1. Giả sử Es là tập cạnh E sau khi được sắp xếp dựa trên trọng số của cạnh. Từ đó, bài toán có thể quy về bài toán tìm một cạnh ej ∈ Es có trọng số nhỏ nhất sao cho các cạnh không đứng sau nó trong Es có thể tạo thành luồng cực đại. Theo đó, tập cạnh không đứng sau ej chính là lời giải của bài toán. Vậy làm sao để tìm được cạnh ej? Phần này đề xuất thuật toán luồng cực đại kết hợp với tìm kiếm nhị phân để tìm vị trí của ej trên Es. Tại mỗi vị trí cạnhec dừng bởi thuật toán tìm kiếm nhị phân, thuật toán luồng cực đại được dùng để kiểm tra giá trị của luồng cực đại đạt được có là n hay không? Thuật toán dừng lại khi không thể thay đổi được vị trí của ec, khi đó