第二章 相關研究
第三節 文獻探討
無線感測網路中,如何有效管理能源有很多方法,例如:SPIN、ASCENT、
GAF 等,但這些方法主要是從感測節點的軟體部份去優化能源消耗,我們 要探討的部分則是從基礎架構的佈置來說明有效管理能源消耗。在多重跳 躍的網路,延遲(latency)的主要因素是通訊的跳躍數(communication
hops) ,縮短跳躍數能有效減少延遲的時間。當感測節點處於休眠狀態 (sleep mode)時是能量消耗最小的時候[13],如果我們能有效縮短跳躍數,
就可以讓不需要傳輸資料的感測節點處於休眠狀態以節省能源。
1. THS 演算法
Ths 演算法是由[14] Jian Tang*, Bin Hao, Arunabha Sen 提出的演算法,他 們放置中繼節點的方式是將中繼節點放置在一個叫 P-position 的位置上,
P-position 位置指的是當任兩個感測節點之感測範圍有相交時,其相交之交 點。假設感節點之感測半徑為 r,若兩個感測節點距離小於 2r 會產生兩個 交點,若距離等於 2r,會有一個交點,若距離大於 2r 則不會產生交點。此 方法可將原本不在 P-position 上的中繼節點移到 P-position 上,又能夠覆蓋 到原本中繼節點所覆蓋的感測節點,如圖 3
圖 3. 將中繼節點移至 P-position
此方法可計算出感測節點的感測範圍所相交的有限個 P-position 個數,
再從 P-position 位置裡選擇用最少的組合來覆蓋所有的感測節點。
Ths 演算法的步驟,首先先將整個區域分割成 2r2r 的方格(Cell),接著 計算每個感測節點所相交的 P-position 位置,有的感測節點在方格內,但 它所產生的 P-position 卻不在該感測節點所處的方格內,對於這些
P-position 會執行 Shrink Operation 的動作,將這些 P-position 移到最接近的 方格的邊上,如圖 4。
圖 4. Shrink Operation
第二步搜尋每個方格內的 P-position 的最小集合,由於要覆蓋整個 2r2r 的方格最多必須有 4 個半徑為 r 的感測節點,先從一個 P-position 開始搜尋 看是否能以一個中繼節點覆蓋到所有的感測節點,最多需尋找四個集合。
最後考慮中繼節點的連通性,假設中繼節點的傳輸距離為 4r,有些中繼 節點之間的距離會超過 4r,所以需要額外增加中繼節點來保持中繼節點之 間的連通性,如圖 5。
圖 5. 中繼節點相距超過 4r 之情況
2.改良式 THS 演算法
[15]提出改良式 THS 演算法,其方法是將分割方格的大小改為
r r 2
2 ,如圖 6,並將中繼節點擺放的位置改在方格的中心,這樣我們 在每個方格只須放至一個中繼節點便可完全覆蓋住整個方格,而且也不用 再計算 P-position 的位置。但是若再每個方格都放置一個中繼節點,雖然 可確保每個方格內的感測節點都至少能連接到一個中繼節點,但是這樣會
浪費過多的中繼節點,因為有的方格內可能沒有感測節點,所以繼續改良 式演算法。
圖 6. 改良式 THS 演算法之覆蓋方式
圖 7. 改良式 THS 演算法
首先,先搜尋每個方格內是否有感測節點存在,若方格內有感測節點存 在,則在該方格內先放至一個中繼節點,若無則不用放置中繼節點,而放 置中繼節點位置的方式,如圖 7,先以方格中心位置為參考圓心(圓心 C),
接著尋找離方格中心位置最遠的感測節點令其為 D 點,以 CD 為半徑畫出 的藍色虛線圓可完全覆蓋該方格內的所有感測節點,然後假設以 C 為圓心 放置半徑為 r 的中繼節點(黑色虛線圓) ,再將此黑色虛線圓移動 r-CD 的
距離,使其與藍色虛線園相切,此時新的中繼節點位置為黑色實線圓,此 cost spanning tree,接著檢視 tree 中的邊的長度,若其長度超過中繼節點的 傳輸範圍(假設中繼節點的傳輸範圍為 R,D>R),就必須額外再
圖 8. 正三角形擺放 圖 9. 正方形擺放
圖 10. 正六邊型擺放
根據圖 11 正三角形擺放,我們從左下往右上擺放感測節點,每次增加二 個感測節點會增加圖中所示的紫色和綠色面積,依據面積公式可以算出綠
色加紫色的面積為 ) 2
3 3 ( 3 r
,而覆蓋住整個感測區域 F,需要 2
) 3 3 (
6 r F
個感測節點。
增加的面積為三者之中最多,覆蓋住整個區域所需的感測節點數量為三者 之中最少,可得正六邊形擺放應是平面擺放方式中較為適當的方式。
4. CRegions 探討
整數線性規劃問題是要最大化或最小化目標函數值,變數的限制條件為 等式或不等式,變數是否為整數。而由 Jennifer L. Wong[1]等人所提出的方 法,其表示法如下所示:
Y=Max(Cx) AxB (1) Y 為目標函數,X={x1,x2...xn}為 0-1 變數,B、C 為常數向量。
當感測網路處於一個有理(reasonable)的範圍時,我們可以使用線性整數 規劃來求解,但若網路越來越大,我們就必須使用 Heuristic 演算法來求其 近似解。[1]定義了一個叫 CRegions(competitive regions)的區域,該區域為 放置中繼節點的候選區域,中繼節點可以放置在該區域的任意位置,因同 一個區域內,無論在哪個位置該中繼節點的鄰居節點皆相同。然後使用廣 度優先搜尋(breadth-first search )來確認每個感測節點跟 CRegions 的跳躍 數。CRegions 的定義為每個感測節點感測範圍其重疊次數較多之區域,如 圖 14 綠色部分所示:
圖 14. CRegions
底下描述如何用整數線性規劃來處理中繼節點放置的優化問題,總共分 成四種情形討論:
a.最小化中繼節點的數量(Minimization of the number gateways)
主要目標希望能在網路中佈置最少的中繼節點,並且每個感測節點至 少都要能在MHops連到一個中繼節點。假設有 N 個感測節點,R 個 CRegions,變數xi i 為 CRegions 的編號,A 為一個二元矩陣,假設感 測節點Nj能夠在MHops內連接到 CRegions i 其元素Aij為 1,反之則為 0,
I 為一單位矩陣,目標函數如下所示:
Y=Max(-Ix) (2) 由於每個感測節點都必須連到一個中繼節點,故可以得到限制式
Ax1 (3) b.最小化最差情況的延遲(Minimization of worst case delay)
首先設置二個集合,一個為所有感測節點的集合,另一個為所有 CRegions 的集合,感測節點連到 CRegions 的跳躍數為權重(Weight),
希望最多能選擇 K 個 CRegions 來達到以下目標 c.最小化中繼節點的數量(Minimization of the number gateways)
限制式部分和第二部分的式子雷同,不同的是該問題給定每個感測節 點到 CRegions 的總跳躍數必須要在上限MTotalHops之內,所以限制式(4) 的第二部分 IxK 置換為 Imin MTotalHops,min代表每個感測節點到
CRegions 跳躍數的總和,由於我們要求的是最小數量的中繼節點,所 以目標函數改為
Y=Max(-Ix) (9) d.最小化總通訊消耗(Minimization of total communication cost)
該問題不限制中繼節點的數量,希望每個感測節點都能連接到離自己 最近的中繼節點,限制式和第二部分類似,但該問題可以刪除 m 的限 制,因為我們關心的是總跳躍數,而目標函數如下
Y=Max(-Imin) (10) 5.divide and conquer
[17]提出另一種方式(divide and conquer 分治法)來解決中繼節點擺放的 問題,並將該問題建構成 minimum set covering problem。divide and conquer 的原理是將一個問題切割成很多小問題,再從這些小問題去求解,小問題 得到的解答可為原本問題之解答。
圖 15. 節點分布圖
如圖 15,N={N1,N2...,N8}為感測節點之集合,R={R1,R2...,R5}為感測節 點重疊的區域;即候選中繼節點區域之集合,但這裡的 R 並非是所有重疊 區域之集合。例如圖 15,N2,N3,N4為三個圓相交,不取其兩兩相交之區域,
而取其重疊次數最多之區域。
圖 16. The minimum set covering problem
依上述條件我們可列出圖 16,N 為所有感測節點之有限集合,R1~R5為 候選中繼節點區域的集合,如果我們能從 R 裡選出最少的集合並覆蓋住所 有的感測節點,此情形即為最佳解。
圖 17. 化簡示意圖(1)
從圖 17 中,我們可以發現N8只有被R5覆蓋住,故N8必為 minimum set cover 之成員,R5又同時覆蓋N7,未被覆蓋的元素剩下
{N1,N2,N3,N4,N5N6}。原本選取R5 後 R={R1,R2,R3,R4} ,但[17]中提出 一個 compress 方式(如圖 18) ,將 R 簡化為{R1,R2,R3}。
圖 18. compress 方式
圖 18,說明 compress 方式。假設R1被選為 minimum set cover 的成員時,
N 和 R 會同時刪除R1的元素{N1,N2}如圖 18 的步驟 1,做完步驟 1 後我們 發現R2只剩一個元素{N3},N3又可被R3覆蓋,故我們可以刪除R2(圖 18 步驟 2),讓整個集合看起來更簡單,並且讓演算法更有效率。
圖 19. 化簡示意圖(2)
接著我們發現剩下的元素至少都被超過一個集合所覆蓋,已無單獨的元 素,所以我們可隨便從 N 中挑一個繼續做下去。如圖 19,下一步選擇以N1
做判斷,N1同時被R1和R2覆蓋,如果我們選擇以R1覆蓋,則可同時覆蓋
N2,剩下未被覆蓋的元素為{N3,N4,N5,N6},R={R2,R3}。若選擇R2則可
同時覆蓋{N2,N3,N4}剩下未被覆蓋的元素為{N1,N5,N6},R={R1,R3}。如 上步驟我們依序做完所有判斷,最後從這些解答中找出最小的集合即為所 求。