• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
72
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

以 Entropy 為基礎分散式移動事件偵測演算法 Distributed Fault-Tolerant Dynamic Event Detection Algorithm with Temporal Concept

Based on Entropy

系 所 別:資訊工程學系碩士班 學號姓名:M09702025 林昱緯 指導教授:歐陽雯 博 士

中 華 民 國 100 年 8 月

(2)

i

摘 要

無線感測網路由大量感測器組成,可以用來偵測環境,觀察有是否有感興趣的事 件發生,例如森林火災或是海洋石油汙染等等,藉由感測器的偵測可將事件的範圍回 傳給基地台。然而感測網路中有可能存在錯誤節點造成在偵測事件範圍上會有誤判的 情形,另外在回傳事件範圍的所有邊緣節點,數量會隨著事件範圍越大而增多,如每 個邊緣節點均回傳資料,相對的電量消耗也越來越高。

此篇論文目的是當無線感測網路的環境中存在錯誤節點時,還可以成功偵測事件 邊緣。我們改良前人使用 Entropy 理論為基礎的演算法,希望提高錯誤節點以及事件 邊緣的偵測機率,在先前的研究中錯誤節點只有包括隨機發生錯誤的感測節點,對於 長久發生錯誤的感測節點如硬體損壞等並無著墨,所以我們提出了利用時間的概念 (temporal concept)的分散式偵測事件演算法,能出長期錯誤的節點來提升感測網路品 質,並且針對移動事件(dynamic event)來驗證演算法的效能。為了節省電量消耗,不 同於以往,我們在偵測完錯誤節點以及動態的事件邊緣時,並非讓所有事件邊緣上的 節點都回傳資訊,而使用了代表點的概念(representative nodes)來回傳給基地台。

經由模擬結果證明我們的方法在錯誤節點偵測正確率高達 99%,事件範圍的命中 率也較前人改善了 25%,而且使用代表點更節省了電量消耗,較前人作法節省 40%。

關鍵字:無線感測網路、分散式、錯誤節點、事件邊緣、代表點、Entropy 、時間概 念、移動事件。

(3)

ii

ABSTRACT

A wireless sensor network (WSN) is composed of a large number of tiny sensor nodes which can monitor environment, communicate wirelessly, do computations and report the occurrences of interesting events (e.g. forest fire, oil spills, etc.). But sensor nodes in wireless sensor networks, due to the unstable conditions they are exposed to, are usually prone to errors which cause the sensor readings to be faulty and usually pose problems on the reliability and security of the whole sensing systems. Also at the dynamic event return to all the boundary nodes, the number will increase as the greater the scope of the dynamic event, the relative power consumption is also increasing

Our goal is to successfully identify the sensors closed to the event boundary when faulty sensors exist in wireless sensor networks. Previous works proposed detection algorithms always discuss random error of sensor nodes, but there is no long-term potential for system error (such as damage to hardware) has discussion. Therefore we proposed distributed fault-tolerant dynamic event detection algorithm based on entropy using temporal concept (DFTDTE). To improved detection accuracy and event boundary degree of fitting. And unlike in the past for efficient energy consumption we used representative nodes to collect event boundary information back to base station.

Simulation results show that our algorithm can detect above 99% of faulty reading when the fault probability is 0.25 which is much more efficient than previous results. And we also enhanced 25% performance on degree of fitting. Our method temporal concept can be applied to any wireless sensor network to help increasing the detection performance of the whole system.

Keywords: wireless sensor network, faulty sensor, event boundary, representative nodes, Entropy, temporal concept.

(4)

iii

誌 謝

就讀大學期間,因為修了歐陽老師的程式語言課程讓我受益良多,在研究所歐陽 老師在於軟體工程以及帄行分散的專業讓我覺得要向歐陽老師學習。讀完研究所讓我 覺得這決定是正確的在此我要感謝歐陽老師一路指導,因為老師讓我在日後工作以及 專業技能方面都有很大的收穫,尤其藉由歐陽老師,讓我有機會接觸工研院的計畫,

這對於沒有出社會的學生是難能可貴的經驗。從規畫專案的架構到撰寫整個專案、從 計畫書到最後的使用者手冊,讓我從中學習到一個完整的專案開發以及流程,所以不 但在做學術研究的同時也具備了專業的技能。

在我的學術研究中,歐陽老師也給予我很大的幫助,每個禮拜的討論讓我注意到 每個細節,感謝老師願意撥空耐心的跟我討論,不論學業上、生活上歐陽老師都相當 關心我的狀況,在此也要再次的感謝歐陽老師的耐心。

另外一位重要的老師游坤明,感謝他個禮拜能與他的學生一起參加論文討論,讓 我在論文閱讀以及報告能力進步許多,尤其要感謝他以及歐陽老師在我參加全國嵌入 式比賽全力的支持,也不負眾望的替學校爭光,這讓我日後再尋找研發替代役工作時 輕鬆許多,所以也是相當感謝游老師。另外能和游老師以及歐陽老師一起出國參加研 討會更是難得經驗,開拓我的國際觀,希望學弟們都能把握跟老師們出國的機會。

最後我要感謝實驗室同學及學弟,在我撰寫論文的同時願意幫我處理一些生活瑣 事。最重要的,我要感謝我的父母及家人全力支持我完成碩士學業,以及感謝一路上 默默支持我的雅鈞和她的家人,感謝你們在我低潮時永遠給我鼓勵以及最大的支持。

(5)

iv

目 錄

摘 要 ... i

ABSTRACT ... ii

誌 謝 ... iii

第一章 緒論 ... 1

1.1 研究背景 ... 2

1.2 研究動機 ... 3

1.3 文章架構 ... 4

第二章 相關研究 ... 6

2.1 偵測錯誤節點以及事件邊緣演算法 ... 6

2.2 選擇代表點 RN 回傳演算法 ... 11

2.3 事件邊緣偵測演算法的應用 ... 15

第三章 網路模型與假設 ... 17

第四章 Entropy 理論與 Entropy 演算法 ... 21

4.1 Entropy 理論 ... 21

4.2 分散式容錯事件邊緣偵測演算法-以 Entropy 基礎 ... 22

第五章 以 Entropy 為基礎分散式移動事件偵測演算法 ... 28

5.1 分散式錯誤節點及移動事件邊緣偵測演算法 ... 29

5.2 選取代表點演算法 ... 36

第六章 效能評估 ... 40

6.1 錯誤節點的評估標準 ... 40

6.2 事件邊緣的評估標準 ... 41

6.3 代表點的評估標準 ... 44

第七章 模擬與結果 ... 45

7.1 模擬環境與設定 ... 45

7.2 模擬結果-分散式錯誤節點效能評估 ... 47

7.3 模擬結果-分散式移動事件偵測效能評估 ... 51

7.4 模擬結果-代表點效能評估 ... 53

第八章 結論 ... 59

參考文獻 ... 61

(6)

v

圖 目 錄

圖 1-1 無線感測網路架構[20] ... 1

圖 1-2 無線感測網路應用簡介[24] ... 3

圖 2-1 依照溫度將網路區分成不同梯度 ... 7

圖 2-2 以順時鐘逆時鐘方向找尋事件邊緣 ... 8

圖 2-3 以節點 S1為中心利用二分法隨機劃分兩個區域 ... 10

圖 2-4 所有事件邊緣節將資訊回傳給基地台 ... 12

圖 2-5 以節利用代表點(虛線空心圓)蒐集鄰近事件邊緣節點資訊回傳給基地台 ... 12

圖 2-6 Representative nodes 示意圖 ... 13

圖 2-7 DEMOCO 示意圖 ... 14

圖 2-8 Key Node 挑選方式示意圖 ... 15

圖 2-9 以 Virtual Node 為概念事件邊緣感測節點分群示意圖 ... 16

圖 3-1 感測網路中錯誤節點示意圖 ... 18

圖 3-2 N(si)與事件邊緣 B(ε) ... 19

圖 4-1 Pr(X = 1)與 H(X)的關係圖[26]。 ... 22

圖 4-2 DEntropy 在事件邊緣變化狀況[28]。 ... 23

圖 4-3 DEntropy 與鄰近感測節點數目的關係圖 ... 24

圖 4-4 DEntropy 與異常感測節點數目的關係圖(D=30) ... 25

圖 4-5 Entropy 錯誤節點及事件邊緣偵測演算法流程圖 ... 27

圖 5-1 事件邊緣示意圖 ... 28

圖 5-2 找出最大隨機連續錯誤的次數圖 ... 30

圖 5-3 DFTDTE 流程圖 ... 31

圖 5-4 空心圓節點為正常的感測值,實心圓節點為異常的感測值 ... 32

圖 5-5 節點 S5為固定發生錯誤的感測節點 ... 33

圖 5-6 固定錯誤節點 S5修正感測值,藍色虛線部分為 S5通訊範圍 ... 34

圖 5-7 隨機錯誤節點 S10,事件邊緣節點(虛線空心圓)S3、S4、S6、S8、S9、S11 ... 35

圖 5-8 當 pf = 0.2 時演算法中間過程。(a)代表原始資料,其中藍色橢圓形為事件區域, 紅色”X”是隨機錯誤節點綠色”X”則是固定錯誤節點,黑色”O”則為正常感測節點。(b) 中綠色”O”則為偵測錯誤節點黑色”X”是隨機錯誤節點紅色”X”則是固定錯誤節點。 ... 35

圖 5-9 選取代表點流程圖 ... 36

圖 5-10 選取 RN 時存在競爭情況,比較鄰居數 ... 37

圖 5-11 DFTDTE 選取代表點示意圖 ... 38

圖 5-12 代表點示意圖,實心節點為偵測出來的事件邊緣節點, X 為選取的代表點, 空心圓圈為代表點的通訊範圍 ... 39

圖 6-1 鄰近事件邊緣的感測節點(s2,s3)與遠離事件邊緣的感測節點(s1,s4)。 ... 41

圖 6-2 矩形 Q 包含於事件邊緣的區域。 ... 43

(7)

vi

圖 6-3 鄰近事件邊緣的感測節點(s2)與遠離事件邊緣的感測節點(s1,s3,s4)。 ... 44

圖 7-1 移動事件示意圖 ... 46

圖 7-2 節點錯誤率與成功偵測機率關係圖 ... 47

圖 7-3 DFTDTE 與 Entropy 的成功偵測機率關係圖 ... 48

圖 7-4 節點錯誤率與誤判率關係圖 ... 49

圖 7-5 成功偵測機率與網路密度(當 pf = 0 時)關係圖 ... 50

圖 7-6 誤判率與網路密度(當 pf = 0 時)關係圖 ... 50

圖 7-7 節點錯誤率與移動事件命中率關係圖 ... 51

圖 7-8 移動事件命中率與網路密度(當 pf = 0 時)關係圖 ... 52

圖 7-9 節點錯誤率與移動事件誤判率關係圖 ... 53

圖 7-10 代表點涵蓋事件邊緣節點關係圖 ... 54

圖 7-11 代表點數量比較圖(COBOM、DEMOCO 以及 DFTDTE) ... 55

圖 7-12 代表點涵蓋比例比較圖(COBOM、DEMOCO 以及 DFTDTE) ... 55

圖 7-13 回傳給基地台電量消耗比較圖(COBOM、DEMOCO 以及 DFTDTE) ... 56

圖 7-14 代表點涵蓋事件邊緣節點關係圖(STD vs. STD-RN 以及 Entropy vs. Entropy-RN) ... 56

圖 7-15 回傳給基地台電量消耗比較圖(STD vs. STD-RN 以及 Entropy vs. Entropy-RN) ... 57

圖 7-16 DFTDTE 與 Entropy 傳遞訊息數量比較圖(當 pf = 0.25 時) ... 58

圖 7-17 DFTDTE 在不同節點錯誤率傳遞訊息比較圖 ... 58

(8)

vii

表 目 錄

表 3-1 符號表 ... 19

(9)

1

第一章 緒論

無線感測網路(Wireless Sensor Networks ; WSN)[10][20]近幾年成為熱門的議題,

它可以用來監控遠端及監督環境的變化,其中在環境上的監控應用是相當重要的議題 之一,例如用來偵測環境中感興趣的事件再回傳給基地台讓使用者分析使用如圖 1-1。

圖 1-1 無線感測網路架構[20]

在無線感測網路主要由大量的感測器(sensors)組成,每一個感測器都包含四大單元:

感測單元、處理單元、無線傳輸單元及電源供應單元。

 感測單元:負責環境以及一些資訊的測量如溫度、濕度、光度、壓力等等,

再將蒐集到的類比訊號轉換成數位訊號。

 處理單元:處理感測單元蒐集的環境資訊,並在經過處理後透過傳輸單元經 處理過後的資料回傳回去。

 無線傳輸單元:負責感測節點和其他節點之間的溝通,可因應環境需求不同 選擇不同的傳輸方式,例如紅外線、無線電波等。

 電源供應單元:主要提供感測器硬體動作所需的能量,一般可選擇鋰電池或

(10)

2

使用太陽能板。

無線感測網路可以用來監控環境、彼此作無線通訊及蒐集使用者感興趣的事件資 料加以處理並回傳結果給基地台(base station)讓使用者分析或利用。然而受限於成本 上的考量以及硬體的局限如電量等等,如何有效降低電量消耗並延長無線感測網路的 使用壽命也是我們想要解決的問題。在 1-1 我們會介紹研究的背景,接下來在 1-2 則 介紹我們想解決的問題,以及 1-3 本篇論文架構。

1.1 研究背景

無線感測網路是將大量的感測節點散佈於使用者想感測的區域,讓感測器來蒐集 各種環境資料,再藉由無線網路將蒐集的資訊透過基地台傳回給管理者或使用者手中。

由於感測節點可能在任意散佈的環境下使用,各個感測節點並不知道自己與其他感測 節點的相對位置,因此感測節點之間必須自動組織出一個通訊網路,使得所有感測區 域中的感測資料皆能透過感測節點所建立的網路,將資料送到基地台,然後這些資料 則可以應用在我們的生活。

無線感測網路應用大致上可以分為兩種,一種是監控(monitoring)與偵測(detection) 以及另一種追蹤(tracking) 如圖 1-2 所示,監控與偵測方面的應用可以分為戶內以及 戶外的環境監控,在室內監控例如從生活周遭的健康偵測[2],例如用在監控在家老 人或小孩,若有緊急事件可以立即讓使用者知道做反應,在室外的部分例如軍事[5]

用途,像在戰場上偵測是否有敵人入侵,即時得知訊息可以減少損傷,而監控環境中 的變化則是本篇論文主要探討的議題。另外在追蹤方面的應用主要就是物件的移動與 追蹤[19],例如偵測車輛的移動或者追蹤動物的行蹤等等。

(11)

3 無線感測網路

追蹤 監控

軍事上的追蹤 Ex:敵人的追蹤

商業上的應用

動、植物的追蹤 Ex:動物的移動

工業上的追蹤 Ex:車輛的追蹤 Ex:交通的追蹤

軍事上的監控 Ex:安全上的偵測

商用上的監控 Ex:產線的品管

健康監控

動、植物的監控

工業上的監控 Ex:化學上的監測

環境/生活上的追蹤 Ex:森林火災的監控

圖 1-2 無線感測網路應用簡介[24]

1.2 研究動機

在這些應用中,我們可以發現使用者都希望利用感測器幫忙他們有效率的收集需 要的資訊,如溫度、化學濃度等等。但是由於無線感測網路本身有許多限制,例如能 量消耗、記憶體等等,所以在無線感測網路中如何使用最少的感測器、最有效率的計 算演算法以及最少的通訊量來達到最高的效能就是本篇論文想要探討的議題。在於本 篇論文主要著重於監控、偵測方面的相關應用。然而在先前的研究主要依據感測器在 每一回合感測的結果來判斷錯誤節點及感興趣的事件,並且在模擬事件也以靜態事件 (static event)來考量。

我們基於以 Entropy 為理論的分散式容錯演算法[18][28]為,並且利用時間概念 (temporal concept)加入了過往的感測紀錄,提出幾個方向來提升整個感測網路在移動

(12)

4

事件上的效能:具有更高容錯能力的感測網路、能更準確的掌握事件在感測網路中的 變化以及更省電的回傳方式。

 具有更高容錯能力的感測網路

在無線感測網路的應用我們要確保感測器的結果是可靠的,因為感測器 回傳的結果供使用者判斷分析利用,所以為了確保感測器正確的偵測結果,

我們分析了過去感測記錄讓感測器達到具有高容錯(fault-tolerant)能力。

 更準確的掌握事件在感測網路中的變化

掌握事件的變化,在本篇論文探討事件邊緣[9][16]的監控,我們希望能 隨時掌握移動事件(Dynamic event)的情況,以森林火災為例,我們會想要知 道隨著時間的變化,火勢蔓延的情況,這樣可以讓消防員根據分佈好的感測 器作火場的監控。

 節省電量的回傳演算法

無線感測網路的應用環境大多是比較險惡的環境或是人力無法到達的 區域,再來感測器通常也都是電量受限制的裝置,要更換電源也十分不易,

所以如何節省電量消耗也是在無線感測網路領域經常被探討的議題,所以在 感 測 網 路 中 完 成 偵 測 後 , 我 們 將 提 出 演 算 法 來 選 擇 代 表 節 點 RN(Representative Nodes) [26]蒐集鄰近事件邊緣節點資訊回傳給基地台,用 來節省電量消耗。

經由模擬結果顯示我們的方法比前人的方法[18][28]提供更高成功率地找出錯誤 節點,以及更能精準的判別出鄰近事件邊緣的感測節點。

1.3 文章架構

本篇論文架構如下,第二章將介紹無線感測網路中有關偵測錯誤節點以及事件邊 緣的相關研究,第三章描述本篇論文使用的無線感測網路模型以及相關設定,第四章

(13)

5

介紹 Entropy 理論以及前人使用的方法第五章介紹我們的方法-Entropy 為基礎分散式 移動事件偵測演算法,最後第六章效能評估、第七章模擬以及第八章結論。

(14)

6

第二章 相關研究

本章先簡介有關偵測錯誤節點以及事件邊緣的相關演算法,再來提及挑選代表點 的相關文獻,最後說明事件邊緣偵測演算法的應用。

2.1 偵測錯誤節點以及事件邊緣演算法

我們先介紹錯誤節點偵測演算法,隨後介紹事件邊緣偵測演算法,最後是錯誤節 點以及事件邊緣偵測演算法。

2.1.1 偵測錯誤節點演算法

Chen, Kher, Somani[3]在 2006 提出分散式的偵測錯誤節點演算法”Distributed Fault Detection of Wireless Sensor Networks”,在此篇論文中作者稱提出來的方法為 Distributed Localized Faulty Sensor Detection Algorithm(DLFS)。DLFS 利用時間概念的 方式來偵測錯誤節點。每次感測節點都會把感測結果紀錄下來,當感測值與鄰近節點 感測值差異大於預先定好的門檻值θ1,則比較當下感測記錄與先前的感測值,若與 先前的感測記錄差異大於門檻值θ2,則認定可能是有錯誤的節點或者可能正常的節 點,並標記為 LF(like fault)或 LG(like good),之後再用累加機率的方式,將鄰近的節 點計算出來的結果比較,若此時有大於一半的鄰居數皆有異常感測值時,則判定自己 為錯誤節點,若無法判定是否為正常或者錯誤的節點,則在下一回合也用相同的方式 計算完來看鄰近節點是否超過一半感測值皆為異常或者正常來判斷是否錯誤或者正 常節點直到跑完所有的節點都確定是否為正常或錯誤。DLFS 雖然有準確的偵測錯誤 節點,可是必須要針對不同的應用預先定好門檻值θ1和θ2,無法應用在即時動態的 事件偵測上面。

(15)

7

2.1.2 事件邊緣偵測演算法

Lian, Chen, Naik, Liu, 和 Agnew[15]在 2007 年以 Planar graph 為基礎發表了 論文”Gradient Boundary Detection for Time Series Snapshot Construction in Sensor Networks”,提出了 GBD 演算法。GBD 演算法假設不存在錯誤節點的情形。首先感 測器在感測完後通過預設的門檻值,將整個網路可以分成幾個不同梯度(gradient),如 圖 2-1。經由 GBD 演算法計算各梯度邊緣節點所形成的路徑,基地台通過收集這些 邊緣節點以及路徑的資訊即可建立整個感測網路在某個時間點的感測結果。雖然經由 演算法可以有效的建構事件的邊緣,但是這種漸進式的尋找方式缺乏時效性,無法及 時提供資訊給基地台。而且當感測網路中存在錯誤節點時也無進一步討論,所以在建 構事件邊緣的同時可能就會造成誤差的情況,因此演算法不具有容錯能力。

圖 2-1 依照溫度將網路區分成不同梯度

Jaffer, Jaseemuddin, Jafarian, Hesham[10]於 2007 年提出分散式演算法來找出事 件邊緣的形狀,首先作者在偵測所有感測節點偵測完事件後,對於在事件範圍內的感 測節點,會先隨機產生一個節點稱之為 Agent,Agent 用來尋找事件邊緣的起始點,

(16)

8

當 Agent 產生後會再亂數產生一個隨機的方向來找尋下一個鄰近節點,當被詢問到的 鄰近節點會判斷自己是否落在事件邊緣若不是則再繼續尋找下一個鄰近節點落在事 件邊緣上直到找到,當找到落在事件邊緣上的節點,則會以順時鐘以及逆時鐘的方向 詢問鄰近節點且落在事件邊緣上,以這樣的方式延續下去直到順時鐘方向以及逆時鐘 方向交會則找到全部的事件邊緣如圖 2-2,此作法成功的偵測事件邊緣形狀,但是作 者並無針對發生錯誤節點來作探討。

圖 2-2 以順時鐘逆時鐘方向找尋事件邊緣

上述兩個演算法[10][15]雖然都能有效的建構事件邊緣及路徑,但是如先前提及 到的,此演算法都不具有容錯能力,所以我們希望在成功偵測事件邊緣的同時,也使 得網路具有容錯能力。

2.1.3 錯誤節點以及事件邊緣偵測演算法

由 Krishnamachari 和 Iyengar[12]提出的二元判定法稱為 0/1 判別法,是早期的錯 誤節點以及事件邊緣偵測機制。此演算法由感測器將感測值與預先給定的門檻值比較 決定是否為錯誤節點,並利用數學統計的方式來分析。在每一次感測節點將感測結果 與門檻值比較,若發現有異常的情況則可能感測節點發生異常或是感測節點位於事件 範圍內,當發現這樣的情況時,再蒐集鄰近節點的資訊與預先設定好的判斷式進行比 較,最後有異常感測值的節點整合所有結果使用多數決(majority rule)的概念來決定的

(17)

9

自己的感測結果是否正確。

Ren, Zeng,和 Lou[24]在 2006 年提出了”Fault-tolerant Event Boundary Detection”

的方法,簡稱 FEBD 演算法,這篇論文是延續 0/1 判定法的方式,提出具有容錯能力 以及分散式的偵測錯誤節點與事件邊緣演算法。感測節點收集鄰近感測節點的資訊利 用 0/1 判別法為基礎作出的感測結果,並利用多數決的概念判定自己是否為錯誤節點,

如果是則修正其感測值並告知所有鄰居。最後感測節點統計所有鄰近節點中修正過後 的感測值數量比值與既定的門檻值比較,即可判斷是否為事件邊緣的感測節點,此方 法特性利用區域性的資料經過統計判斷後,來達到良好的錯誤節點以及事件邊緣的偵 測準確性。而作者也在 2008 年進一步提出加上資訊安全的演算法[22],在感測節點 彼此相互溝通時先透過預先給定的金鑰系統,選擇具有相對應金鑰的鄰近節點來溝通,

這樣的做法可以避免存在有惡意節點攻擊,保持整個網路通訊品質。

Ding, Chen, Xing, 和 Cheng[6]在 2005 年提出了錯誤節點以及事件邊緣偵測演 算法,首先對於先前 0/1 判定法來計算並判斷事件以及事件邊緣列出了以下的缺點:

 0/1 判別法可能會忽略掉區域性的資訊,因為在感測節點的感測值與門檻值 比較時,門檻值通常是彙整全域資訊計算出來比較重要的部分,所以可能忽 略些許的區域性資料。

 0/1 判別法根據真實的數值與門檻值進行判斷再加以處理,所以判斷的結果 是二次近似值。

 0/1 判別法可能因為錯誤節點發生異常的感測錯誤而影響判斷統計結果,所 以若在偵測錯誤節點以及事件邊緣時使用原始的感測值則可提高感測的精 準度。

有鑑於此,作者提出了以數學統計為基礎的演算法來偵測,再偵測錯誤節點的部 分作者將感測結果與區域的帄均值(在所有鄰居感測值中取中位數)的差異來代表自 己與鄰近節點的差異性,再利用標準差(Standard Deviation)計算經過正規化後來與預 先設定好的門檻值來比較,所以在此篇論文中我們稱為此方法為 STD。但是 STD 在

(18)

10

此不同的節點錯誤率要有相對應的門檻值來提高效能,但也因為如此,在動態環境中 節點錯誤率必須透過基地台蒐集感測節點執行完演算法的結果,進行統計再告知感測 節點將要使用的門檻值,這些額外的傳輸造成電量上額外的消耗。再事件邊緣偵測的 部分,作者將感測節點鄰居切割成二等份或是三等份,以二分割為例感測節點與其鄰 近區域所形成的集合分成區域 A 與區域 B,如圖 2-3,分別找出此兩區域的感測值中 位數。接著取最大的數值做為感測節點的新的感測值。接下來,隨著新的感測值的取 得,以相同於偵測錯誤節點的計算方式進行判斷感測節點是否接近事件邊緣。而做作 者也在 2009[7]年利用 Gaussian Mixture Model 提出新的數學統計方法,依據落事件內 與否選擇對應的數學模型來計算使否存在錯誤節點。

圖 2-3 以節點 S1為中心利用二分法隨機劃分兩個區域

Wen Ouyang, Yu-Ting Liu, Yu-Wei Lin[18]在 2009 年發表了論文-”Entropy-based Distributed Fault-tolerant Event Boundary Detection Algorithm in Wireless Sensor Networks”,利用 Entropy 概念發表較新穎的分散式偵測錯誤節點演算法,作者利用 Entropy 特有的特性在一個獨立系統趨向混亂或規律的狀況,並以 Entropy 作為混亂 程度的度量,藉由觀察 Entropy 的變化,將應用於偵測節點是否異常,作者 Yu-Ting Liu 隨後也在畢業論文[28]中套用在分散式容錯事件偵測演算法,我們隨後會在第四章詳 細介紹此演算法。

(19)

11

Sung-Jib Yim and Yoon-Hwa Choi 於 2009 年利用時間的概念提出分散式的事件 邊緣偵測演算法,並利用兩個門檻值 θ1以及 θ2來提升正確率。作者先將過去的感 測結果加總計算看是否有一定比例的感測結果有異常的情況並將自己的感測狀態標 記為 1 反之為 0,之後感測節點再收集鄰居具有相同的感測狀態數量與第一個門檻值 做比較,用來判斷是否多數為正常通過則加入集合R1,若沒通過第一個門檻值,再來 與第二個門檻值比較若通過則加入集合 R2,落在集合 R2表示鄰近節點也發生異常的 情況,所以感測節點再來判斷鄰近節點是否存在正常的感測節點,而且感測狀態與自 己相同再予以修正。

以上為前人提出的相關錯誤節點以及事件邊緣偵測演算法,雖然可以偵測出來大 部分錯誤節點以及勾勒出事件邊緣的形狀,但是在於錯誤節點發生時,都是探討感測 節點隨機發生錯誤(random error),並無針對長久可能發生的錯誤(system error)的節點 如硬體損壞或是沒電等這方面有所著墨,本篇論文便朝這個方向加入過往的感測紀錄 以及基於 Entropy 理論為基礎的演算法[18][28]更提高了錯誤節點的偵測率,讓感測網 路具有相當高的容錯能力,詳細演算法將會再第五章仔細討論。

2.2 選擇代表點 RN 回傳演算法

在先前事件邊緣偵測演算法中,偵測完事件的範圍後,所有事件邊緣節點都會將 資訊回傳給基地台,如圖 2-4。在此有學者認為這樣會造成不必要的浪費,例如電量。

(20)

12

圖 2-4 所有事件邊緣節將資訊回傳給基地台

所以前人提出了代表點的概念 RN(Representative nodes),從事件邊緣節點中選取 少部分的節點為代表點,藉由代表點蒐集鄰近事件邊緣節點資訊來回傳給基地台。這 樣可以不必使得所有代表點都回傳資訊給基地台,更能節省電量消耗。接下來介紹這 部分的相關文獻。

圖 2-5 以節利用代表點(虛線空心圓)蒐集鄰近事件邊緣節點資訊回傳給基地台

C. Zhong and M. Worboys[26]提出分散式節省電量消耗的事件邊緣偵測演算法,

在 2007 年發表了”Energy-efficient Continuous Boundary Monitoring in Sensors Networks”

論文,簡稱 COBOM 演算法,以往事件邊緣偵測完畢,所有的邊緣節點都會回傳感 測資訊給基地台,這樣造成許多不要的浪費,COBOM 發現這樣的缺點,所以提出找 尋代表點 RN 的方法,蒐集鄰近節點的資訊如圖 2-6,再由 RN 來回傳基地台即可。

演算法中感測節點當偵測到異常的感測值時與先前感測值不同,則認為自己存在事件 範圍內並通知鄰近節點等待一個取樣時間(sampling time),過了取樣時間,感測節點 有紀錄自己的鄰居數,再透過廣播交換訊息告知彼此的鄰居數,以鄰居數較多者成為 代表點 RN,在廣播自己的 ID 給鄰近節點告知為自己為代表點 RN,並將周遭的感測 結果一併回傳給基地台。

(21)

13

圖 2-6 Representative nodes 示意圖

Jung-Hwan KIM, Kee-Bum KIM, Sajjad Hussain CHAUHDARY,Wencheng YANG,and Myong-Soon PARK[12]根據 COBOM 為基礎,更深入的探討如何選擇 RN 較能更為省電的分散式演算法在,2008 年發表了論文”Energy-Efficient Detection and Monitoring for Continuous Objects in Wireless Sensors Networks”,簡稱 DEMOCO 演算 法。DEMOCO 在事件邊緣分為內部事件(Interior)-感測節點落在事件範圍內以及外部 事件(Exterior)-感測節點落在事件邊緣外圍且不存在在事件裡面如圖 2-7,在分別來選 取代表點 RN,選取方式由感測節點發現異常感測時,認定為事件範圍內的感測節點,

在將感測結果與鄰近節點比較看是否存在一個以上的感測節點感測結果與自己相同,

若存在一個以上則認定自己位於事件邊緣,並發送一則訊息(COZ message)給鄰近節 點告知,而當感測節點蒐集到的最多的 COZ message 也就代表周遭的邊緣節點是最 多的則認為自己是 RN,並告知鄰近節點在將資訊回傳給基地台,也由於將事件分成 內部事件以及外部事件,所以在選取代表點時因為樣本數比較少,所以自然會選擇到 比較少的代表點 RN 來達到減省電量消耗,但是是否可以涵蓋全部的事件邊緣節點而 不會造成失真的結果,DEMOCO 並沒有加以討論。

(22)

14

圖 2-7 DEMOCO 示意圖

Jiehui Chen; Matsumoto, M. [4] 更進一步的提出挑選代表點 RN 演算法,於 2009 年 發 表 了”Energy-Efficient Detection and Monitoring for Unsmoothed Continuous Objects in Wireless Sensor Network”論文,簡稱 ECUOW。首先作者提出利用樹狀結構 來產生事件,與以往模擬的方式皆不相同,先隨機一個感測節點當作事件起源,在向 外其他感測節點擴張,成為一個樹狀結構。產生好事件之後再來挑選代表點 RN,挑 選代表點 RN 由位於事件邊緣的感測節點挑選出來,會將每一個位於事件邊緣上的感 測節點輪流執行過一次,計算挑選哪一個位在事件邊緣上的鄰近的感測節點可以包含 到最多的事件邊緣感測節點,若鄰居存在相同的事件邊緣感測節點數量,則會經由最 佳化的方式來取得 RN,最終達到節省電量消耗。

Longjiang Guo, Jiqiang Wang, Meirui Ren, Zhongzhao Zhang, Yan Yang[8]於 2009 年提出不一樣的代表點挑選演算法。這篇論文將代表點稱之為 Key Node,Key Node 目的要收集鄰近節點資訊來回傳給基地台來達到節省電量的目的,主要方法為 為從邊緣節點中尋找下一個邊緣節點利用兩點座標建立好斜率,接下來尋找下一個邊 緣節點只要發現斜率不同則標示為 Key Node 如圖 2-8,白色的節點為事件邊緣的感 測節點、黑色的節點為 Key Node,找完所有 Key Node 建立 aggregation tree 來做 routing 資訊。

(23)

15

圖 2-8 Key Node 挑選方式示意圖

以上為近年來在探討事件邊緣同時,更加入電量消耗考量的議題,所以紛紛提出 選取 RN 的相關演算法,但是即便在考量到電量消耗的同時,應該把錯誤節點的議題 一併加入參考,雖然會使得系統變為複雜,但周全的考量下不僅可以使感測網路在感 測時具有良好的容錯能力,也可以盡可能的減少電量消耗。

2.3 事件邊緣偵測演算法的應用

Cheng-Ta Lee and Frank Yeong-Sung Lin[14]這幾位台大學者在 2010 年提出了 偵測出事件邊緣後,針對物件移動進出事件範圍內的演算法。論文探討物件經過事件 邊緣時如何正確偵測物件是否進出事件範圍,並在邊緣節點上選出 Virtual Node 用來 替邊緣節點做分群如圖 2-9,偵測物件移動方向可以使用兩種方式 DRA 以及 SRA,

SRA 方式為以邊緣節點組成形成一個多邊形再加上非事件節點來判斷物件的移動。

DRA 則由邊緣節點組成多邊形後再由內圈組成小的多邊形,以多重確認的方式來確 定事件的移動。

(24)

16

圖 2-9 以 Virtual Node 為概念事件邊緣感測節點分群示意圖

所以在無線感測網路中,不光針對感興趣的事件偵測它的事件邊緣,也可以進一 步在事件邊緣上探討許多有趣的相關應用。

(25)

17

第三章 網路模型與假設

在此章我們會介紹所使用的無線感測網路模型與定義所要解的問題以及一些假 設。

首先在此篇論文中,我們做了以下的假設:

[1] 感測網路所涵蓋的面積 b x b,且有 N 個感測節點帄均分布(Uniform distribution)在此範圍中。

[2] 所有的感測節點都具有下列同樣的功能:無線通訊能力、電量以及計算能 力。

[3] 我們假設彼此鄰近的節點可以透過廣播的方式交換彼此的感測資訊,且溝通 的距離為 1 個節點的通訊範圍(one hop)。

[4] 因為我們提出有關電量消耗演算法,不同的回傳路徑可能造成不同的電量消 耗,所以在此我們假設演算法皆具有同樣的 Routing Protocol,且基地台的位 置相同。

[5] 最後我們假設所有的感測節點都可以通過 GPS 或是一些技巧進而得知真實 的座標。

接下來介紹我們要解決的問題給予的一些定義:

[1] 根據[14]所定義的,如果感測節點的感測結果例如溫度的數值與大多數鄰近 感測節點的數值差異很大則此數值是錯誤,則該節點我們稱為錯誤節點。

[2] 而在錯誤節點我們又區分為隨機發生錯誤節點以及固定發生錯誤節點如圖 3-1,這樣區分的原因是在真實情況感測器可能有硬體上的損壞造成每次感 測結果都為異常(System error),而有時候感測器可能因為一些外在因素或其 他原因等等突然發生異常感測值(Random error)隨後又恢復正常的狀態,所 以我們模擬在固定發生錯誤的節點在每一回合感測值皆為異常的情況,剩下 的 感 測 節 點 則 依 照 我 們 設 定 的 節 點 錯 誤 率 隨 機 發 生 異 常 的 情 況 。

(26)

18

圖 3-1 感測網路中錯誤節點示意圖

[3] 沿用[18]與[6]的定義,事件可以被定義為由一群感測節點所感應到的感測值 所形成之集合。在此論文中以ε代表事件集合,而且ε會是 P 的子集合。

[4] 在ε之中的所有感測節點感測值與不在ε之中的感測節點感測值會有巨大 的差異。

[5] 接下來我們要定義何謂事件邊緣。當無線感測網路之中,存在點 x  P 且以 此點為圓心所涵蓋的鄰近範圍內有部分點位於ε之中也有部分點不在於ε 之中,則我們稱此點 x 接近事件邊緣。在此論文中以 B(ε)代表事件ε的事 件邊緣(event boundary),而接近事件邊緣的感測節點稱為事件邊緣節點。

(27)

19 Sj

Event boundary B(ε)

Si R

N(Si) N(Sj)

圖 3-2 N(si)與事件邊緣 B(ε)

最後表 3-1 為我們根據[18]、[6]所定義的符號以及其意義,

表 3-1 符號表

N 在無線感測網路之中的感測節點總數。

S 所有感測節點所形成的集合 (S={s1, s2, …, sN})。

R 感測節點的傳輸半徑。

vi 感測節點si的感測值。

N(si) 以感測節點si為圓心及R為半徑所形成的區域。 (N(si)={si1, si2, …, sik})

dij 感測節點si與N(si)中的感測節點sij的感測值差異。

D(si) 感測節點si與N(si)中所有感測節點感測值差異之集合。(D(si)={di1, di2,…, dik})

ki 感測節點si的鄰居數目。

D 網路密度。

pf 感測節點錯誤率。

DS 錯誤節點偵測機制判斷為有異常狀況發生的感測節點集合。

RES 錯誤節點偵測機制判斷為是隨機錯誤的感測節點集合。

SES 錯誤節點偵測機制判斷為是固定錯誤的感測節點集合。

(28)

20

C 事件邊緣偵測機制判斷為有可能接近事件邊緣的感測節點集 合。

BS 事件邊緣偵測機制判斷為是鄰近事件邊緣的感測節點集合。

CRN 代表點偵測機制判斷為是代表點的集合。

而這些符號則在接下來的章節被使用。

(29)

21

第四章 Entropy 理論與 Entropy 演算法

4.1 Entropy 理論

在此章我們會介紹所使用 Entropy 的理論以及前人[18][28]如何將 Entropy 概念應 用在感測網路中來進行分散式偵測錯誤節點以及事件。

熱力學(Thermodynamic)的第二定律中說明一個獨立的系統趨向混亂的狀況,並 以 Entropy 作為混論程度的度量。之後 Entropy 也被應用在各個領域之中,如 Entropy 被用來衡量一個隨機變數出現的期望值,它代表了在被接收之前,訊號傳輸過程中損 失的資訊量,又被稱為”information entropy”。在 1984 年 Shannon 在[23]引入了此 概念用以推算傳遞訊息所需要的頻寬因此他被稱為”Shannon entropy”,其定義是:

i

i

i p

p

H log2 (1)

其中 pi代表傳送訊息 mi的機率,H 可以代表訊息所含的帄均資訊量。舉例說明:

有一組 10 個硬幣,每一個硬幣有兩面,擲硬幣時得到最有規律的狀態是 10 個都是正 面或 10 個都是反面。反之最混亂的狀況即是有 5 個正面與 5 個反面。我們以圖 4-1 為例Pr

X 1

代表擲出硬幣為正面的機率,H(X)則代表相對應的 Entropy 值。當比較 規律的情況十枚正面或是十枚反面在Pr

X 1

12時可得到最大值H1,當混亂的 情況五枚正面五枚反面則得到最小值H 0。因此我們可以發現,當混亂程度越高 Entropy 的量值越高,反之越規律的情況 Entropy 的量值越高,而且混亂因子越多 Entropy 的量值亦會增加。

(30)

22

圖 4-1 Pr(X = 1)與 H(X)的關係圖[26]。

4.2 分散式容錯事件邊緣偵測演算法-以 Entropy 基礎

我們將會描述我們將延用的演算法(分散市容錯事件邊緣偵測演算法-以 Entropy 為基礎),並說明其缺點。 [18][28]中前人在感測網路提出了以 Entropy 為基礎的偵測 事件邊緣演算法,利用 Entropy 的特性運用在分散式的錯誤節點判斷以及事件偵測,

我們稱為此方法為 Entropy 演算法。

根據 Entropy 特性,可以判斷感測節點是否為錯誤的節點或事件邊緣節點,所以 在 Entropy 演算法利用感測網路中每個感測節點與鄰近範圍內的感測節點為相對關係 作依據,評估鄰近區域內的混亂程度,當鄰近區域的混亂狀況具有某種傾向時,代表 鄰近節點之中可能存在著異常的感測節點,由此判斷感測節點的狀態,因此前人重新 命名為 Deviation Entropy(DEntropy)。其計算方式如下。以 N(si)代表 si與其鄰近感測 節點所形成的集合,而集合 D(si)表示 si所有鄰近感測節點與其本身的感測值之差(d)。

i i

ij

ij v v for j k

d   , 0  (2)

i k

x ix ij

ij for j k

d

Pd  

0 ,

1

(3)

其中 vi代表的是感測節點 si的感測值,vij代表的其鄰近節點 sij的感測值。dij

(31)

23

表的是感測節點 si與 sij的感測值差異。ki表示感測節點的鄰居數目。在此,Pij代表的 是與鄰近節點溫度差距佔總數的比例。計算出來的 DEntropy 代表的是感測節點與各 個鄰近節點溫度差距的混亂程度。最後各個感測節點可分別計算 DEntropy:

i N

i i

i P P

H

1

log2 (4)

N 表示無線感測網路之中所有感測節點的數目。Hi代表感測節點 si點與各個鄰近

節點溫度差距的混亂程度。然而 Entropy 演算法也發現有趣的情況,利用整體的角度 來觀察當有事件存在於感測環境中 DEntropy 的變化狀況,如圖 4-2 所示。圖中代表 的為當 X 座標為 14 時的剖面變化狀況。事件邊緣 B(ε)分別坐落於 8~9 與 22~23 之間,

在此範圍的 DEntropy 會發現一個倒火山口形(Upside-down crater)。因此可以經由 DEntropy 的變化狀況得知事件邊緣的所在,並以此為判斷依據。

圖 0-2 DEntropy 在事件邊緣變化狀況[28]。

而 Entropy 演算法經過實驗發現 DEntropy 有兩個特性:

特性一、 隨著鄰居數增加,DEntropy 值會有所變化,如圖 4-3 所示,因為在系統 達到最混亂的情況下 DEntropy 最大值也會有相對應的變化,與原本 Entropy 定義,隨著系統造成影響的狀態增加,Entropy 增加相同。Entropy 演算法為了

3 3.5 4 4.5 5

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Y coordinate

DEntropy

(32)

24

提出的演算法具有一致性,降低因為鄰近感測節點數目的不同,而造成誤判的 可能性。因此在計算 DEntropy 時會進行調整的動作。首先觀察感測節點的鄰 居數目 ki,當 ki > 30 時,則作者擷取最近的 30 個鄰近感測節點資訊進行計 算。反之當 ki < 30 且 30 , 2





l

l k

i

時,則將整個鄰近範圍的感測節點樣本 複製(l-1)次,而後進行運算 DEntropy 值。為了使每個感測節點皆使用同一個 判 斷 基 準 , 因 此 Entropy 演 算 法 將 得 到 的 DEntropy 值 進 行 調 整 :

 

g

 

ki Entropy g

NewEntropy   30 。藉由這兩個步驟使得整個無線感測網路

的 DEntropy 值皆使用同樣的基準(D=30)。

圖 4-3 DEntropy 與鄰近感測節點數目的關係圖

特性二、 隨著異常感測節點數目的增加 DEntropy 將會呈現緩慢的增長。這是因 為隨著異常感測節點數目的增加,其異常感測值所造成的影響將會有所降低,

此外通過觀察可以發現通過簡單的近似方程式可以預測 DEntropy 的在此區間 的變化。

 

n 0.0009n20.0885n3.052 , for5n30

f (5)

0 1 2 3 4 5 6

1 6 11 16 21 26 31 36 41 46

En tr opy

# of Neighbors

(33)

25

n 代表當 D = 30 時,鄰近感測節點之中有多少感測節點具有異常的感測 值。因此 Entropy 演算法將藉由此特性進行判斷並分辨感測節點是否為錯誤 節點或事件邊緣節點。

圖 4-4 DEntropy 與異常感測節點數目的關係圖(D=30)

Entropy 演算法發現兩個特性應用在錯誤節點及事件邊緣偵測,在錯誤節點偵測 先利用特性一隨著感測節點鄰居數不同,計算的 DEntropy 值也有所不同,先前提及 作者為了一致性問題,所以會將所有的感測節點調整到以 D = 30 作為基準,接下來 利用特性二判斷是否為錯誤節點,作者計算出來的 DEntropy 若小於或等於 f(16)(公式 5)時的預測值時(Hi ≤ f(16)),則代表鄰近節點之中有少數感測節點具有異常狀況加入 集合 DS(Entropy 演算法中定義 DS 代表此類感測節點之集合)。DS 集合中的感測節點 判定鄰近範圍內有異常狀況發生並利用廣播方式傳送警告訊息告知所有鄰近感測節 點。接下來利用多數決的概念進行進一步地判斷,當判定正常的感測節點接收到 n 個鄰近感測節點發出的警告訊息,並且 n 大於感測節點鄰居數目的一半時,則可判定 感測節點本身為錯誤節點,並將此感測節點加入集合 FS(Entropy 演算法中定義 FS 代 表錯誤感測節點之集合)。

3 3.5 4 4.5 5

0 5 10 15 20 25

En tr opy

Number of faulty nodes

(34)

26

經由演算法判斷是錯誤的感測節點,為了進一步修正其錯誤的感測值,利用可能 是正常狀態的鄰近感測節點資訊輔助進行修正。因此,通過演算法判斷為錯誤的感測 節點藉由統計鄰近感測節點之中屬於集合 DS 的節點感測值,排序並計算區域帄均值 (在此以中位數表示),以此計算所得之值當成是感測節點本身新的感測值,最後再將 此數值通過廣播方式告知其所有鄰近感測節點。

偵測錯誤節點演算法偵測出來錯誤節點後,進行事件邊緣偵測,所有的感測節點 同樣利用 DEntropy 的特性,再重新計算並判斷感測節點是否鄰近事件邊緣。感測節 點更新鄰居中所有的感測值並重新計算 DEntropy 值。接下來利用特性二輔助判斷感 測節點是否鄰近事件邊緣。感測節點計算並調整之後所得到的 DEntropy 值介於 f(4) ~ f(16)的預測值區間時(f(4) ≤ Hi ≤ f(16)),作者判定此感測節點可能位於事件邊緣,並加 入集合 C(Entropy 演算法定義可能落在事件邊緣上的集合)。

而集合 C 之中,可能包含某些並不夠接近事件邊緣的感測節點,所以 Entropy 演 算法為了提高準確率,進一步地提出了檢查機制過濾此類的感測節點。所有感測節點 分別進行判斷,在其以半徑 R 為基準的鄰近範圍之中所有的感測節點,是否有一定比 例(檢查係數, Checking factor, 以 CF 表示)以上的感測節點皆在集合 C 之中。如果是,

則認定本身為事件邊緣的感測節點並加入集合 BS(Entropy 演算法定義落在事件邊緣 上的集合)之中,反之亦然。所以 Entropy 演算法為了找出 CF 最好的值,在[28]的實 驗數據中可以得知,當 CF=0.9 時,雖然可以得到良好的誤判率,但是成功率過於偏 低。當 CF=0.7 時,雖然能夠得到較佳的成功率,但是誤判率過高。因此 Entropy 演 算法採用 0.8 作為檢查係數,也就是當有八成以上的感測節點在集合之中,則認定本 身為事件邊緣的感測節點。

(35)

27 Start

Si collect readings of its all neighbors and compute the

Entropy

Si will collect readings of its all neighbors and compute the

Entropy again.

End

According to the Entropy, Si

determine is located in the event boundary or not.

After computed Entropy Si find out abnormal status, then sensor broadcasts warning messages to

its neighbor

If Si receives n messages where n is greater than k/2, then Si decides

itself to be a faulty sensor.

圖 4-5 Entropy 錯誤節點及事件邊緣偵測演算法流程圖

雖然 Entropy 演算法為相當準確的偵測演算法,但是在於偵測錯誤節點時,討論 的情形為隨機發生錯誤的感測節點,對於固定發生錯誤的節點並無討論,若可以先將 這些節點偵測出來,則可以降低異常感測值造成誤判的情況。另外偵測錯誤節點及事 件邊緣需計算兩次 Entropy 造成頻繁的計算(communication overhead),我們基於 Entropy 演算法提出更有效率的方式,進而提升整個網路品質。

(36)

28

第五章 以 Entropy 為基礎分散式移動事件偵測演 算法

在此章節我們將描述如何利用過往的感測紀錄以及區域性的資訊來進行事件邊 緣偵測演算法以及偵測錯誤節點,最後描述代表點回傳給基地台機制。

在許多感測網路中事件邊緣的應用裡,我們只需要在事件邊緣鄰近的節點將資訊 回傳即可讓基地台可以建構出事件的形狀如圖 5-1,然而感測網路中有可能存在異常 的感測節點,進而影響偵測事件邊緣的準確性。因此我們的演算法在存在異常節點的 同時依然可以準確辨認出事件邊緣,使得整個網路具有容錯能力,並且在這些異常節 點中分辨出來是短暫的發生異常還是持續性的異常,同時我們也無須將事件邊緣鄰近 的所有節點都將資訊回傳給基地台,造成電量不必要的浪費。我們的演算法分成兩個 部分(1)分散式錯誤節點偵測以及分散式事件邊緣偵測、(2)選取代表點的回傳機制。

第一部份說明感測節點如何利用區域資訊來判斷錯誤節點及事件邊緣第二部份說明 如何選取事件邊緣節點回傳資訊給基地台。本章所使用的符號已定義在第三章中,若 先前無定義,則會再加以說明。

圖 5-1 事件邊緣示意圖

(37)

29

5.1 分散式錯誤節點及移動事件邊緣偵測演算法

接下來說明如何利用過往的感測紀錄以及區域性的資訊來進行事件邊緣偵測演 算法以及偵測錯誤節點。

5.1.1 固定錯誤節點偵測機制

首先說明如何使用時間概念。感測節點會紀錄過往的感測記錄來判斷是否為固定 發生錯的感測節點,最主要就是判斷在這一回合之前已經連續多少次發生異常的感測 值,因為固定發生錯誤的節點每一回合都會有異常的感測值,但是在隨機發生錯誤的 節點可能會有連續發生的異常的情況,為了避免誤判將連續幾次隨機發生錯誤的節點 誤判成固定發生錯誤的情況,所以我們利用模擬觀察在連續發生隨機錯誤的最大次數 為多少,在將我們找出來的最大次數訂定為門檻值,圖 5-2 就是我們節點錯誤率從 pf=0.1 到 pf=0.25 的情況下模擬了 5 次,每一次都模擬了 1000 個回合,由數據可以得 知最大連續發生錯誤的次數為 4 次,所以我們就可以讓感測節點偵測到自己具有異常 的情況下,判斷是否過往的感測記錄大於 4 次,若成立則可以判定是固定發生錯誤的 感測節點。

(38)

30

圖 5-2 找出最大隨機連續錯誤的次數圖

5.1.2 錯誤節點及移動事件邊緣偵測演算法

在感測網路中可能存在部分錯誤節點,這些錯誤節點的異常感測值可能進而影響 感測網路的效能,例如偵測事件邊緣,所以提出在無線感測網路中以 Entropy 為基礎 分散式移動事件偵測演算法 “Distributed Fault-Tolerant Dynamic Event Detection Algorithm with Temporal Concept Based on Entropy”,我們簡稱 DFTDTE,其流程圖如 5-2 所示。

0 1 2 3 4 5

1 2 3 4 5

Ma ximum c on secut iv e random err or (s)

Round(s)

fp=0.25

fp=0.2

fp=0.15

fp=0.1

(39)

31

Start

Si collect readings of its all neighbors and compute the

Entropy

Si determine any abnormal situation according to the

Entropy by itself

Judge for Sys. or Rand.

error

Si detected as a faulty sensor with Sys. error, a recovery method is

applied to correct its reading.

Si will collect readings of its all neighbors and compute the Entropy

again.

End

According to the Entropy, Si determine is located in the event boundary or not.

Yes No

Rand.

Sys.

1.

2.

3.

4.

5.

6.

圖 5-3 DFTDTE 流程圖

在錯誤節點偵測部份,我們使用前人 Entropy[18]的方法,改善原本的偵測流程 並且加入時間的概念,接下來詳細的說明我們演算法的步驟。

以 Entropy 為基礎分散式移動事件偵測演算法:

步驟一:在每一回合的開始每個感測節點感應完環境的動作之後,會先利用廣播 的方式告知鄰近感測節點自身的感測值。

步驟二:收集完鄰近的感測節點感測值後,進而判斷是否為錯誤節點。當感測節 點通過區域性資訊計算得出 Entropy 值 Hi,且 Hi小於或等於 f(16)時的預測值時(Hif(16)),則代表鄰近節點之中有少數感測節點具有異常狀況,以 DS 代表此類感測節點 之集合。如圖 5-4 實心圓的感測節點 S3、S4、S5、S6、S9、S10、S11為異常的感測值屬 於 DS 的集合,空心圓的節點 S1、S2、S7、S8為正常的感測值。

(40)

32 S2value:9.9

S5value:30.0

S10value:29.9

S4value:28.9

S3value:29.9

S9value:29.8

S6value:30.1

S11value:29.7 S1value:9.7

S7value:10.0

S8value:29.7

Event Boundary

ID Number of times

S1 1

S2 1

S3 0

S4 0

S5 4

S6 0

S7 1

S8 0

S9 0

S10 2

S11 0

S12 1

Sensing record

S12value:10.1

圖 5-4 空心圓節點為正常的感測值,實心圓節點為異常的感測值

步驟三:在偵測出來具有異常感測值的節點後,這些 DS 集合中的感測節點會先 利用過往的感測記錄來判斷是否為固定發生錯誤的節點,我們看以往的感測記錄判定 自己為錯誤節點連續的次數,如果過往的紀錄大於門檻值,則感測節點可以認定自己 為固定發生錯誤的節點並且修復感測值,如圖 5-5 S5在計算完 Entropy 值後認定自己 是異常的感測節點,在參考過往的感測記綠發現大於設定好的門檻值所以就會認定自 己為固定發生錯誤的節點則加入集合 SES。

(41)

33 S2value:9.9

S5value:30.0

S10value:29.9

S4value:28.9

S3value:29.9

S9value:29.8

S6value:30.1

S11value:29.7 S1value:9.7

S7value:10.0

S8value:29.7

Event Boundary

ID Number of times

S1 1

S2 1

S3 0

S4 0

S5 4

S6 0

S7 1

S8 0

S9 0

S10 2

S11 0

S12 1

Sensing record

S12value:10.1

圖 5-5 節點 S5為固定發生錯誤的感測節點

步驟四:當感測器經由演算法判斷自己為固定發生錯誤的節點,就會修正感測值,

修正的方法為在所有鄰居的感測值中排序好後取中位數,這個概念源自[6],不取所 有鄰居的帄均數是因為錯誤節點的感測值相對於正常感測值有可能差異很大,造成帄 均後的值其實與正常感測值有些差異,所以假設在大部分鄰居都為正常的情況下我們 取中位數可以避免這樣的情況,但若是鄰居都為錯誤節點則方法不適用,但這樣的情 況機率也是微乎其微,在圖 5-6 中剛剛判斷完固定錯誤節點 S5它鄰居的感測值為 {9.7,9.9,10.0,28.9,29.7},所以修正過後的感測值為 10.0 並廣播訊息告知鄰居。

(42)

34 S2value:9.9

S5value:10.0

S10value:29.9

S4value:28.9

S3value:29.9

S9value:29.8

S6value:30.1

S11value:29.7 S1value:9.7

S7value:10.0 S8value:29.7

Event Boundary

ID Number of times

S1 1

S2 1

S3 0

S4 0

S5 4

S6 0

S7 1

S8 0

S9 0

S10 2

S11 0

S12 1

Sensing record

S12value:10.1

圖 5-6 固定錯誤節點 S5修正感測值,藍色虛線部分為 S5通訊範圍

步驟五:剩下在 DS 集合中判斷完過往的感測記錄連續發生錯誤的次數沒有大於 門檻值的節點則可能是隨機錯誤的節點或者是座落於事件邊緣上的節點,所以剩下的 感測節點收集並更新鄰近感測節點的感測值,同樣利用 DEntropy 的特性,再重新計 算並判斷感測節點是否鄰近事件邊緣。感測節點更新鄰居中所有的感測值並重新計算 DEntropy 值。接下來選擇適當的門檻值輔助判斷。在此計算並調整之後所得到的 DEntropy 值介於 f(4) ~ f(16)的預測值區間時(f(4) ≤ Hi ≤ f(16)),則判定此感測節點可能 位於事件邊緣,並加入集合 C。

步驟六:接下來利用多數決的概念進行進一步地判斷,集合 C 之中,可能包含 某些並不夠接近事件邊緣的感測節點,所以我們為了提高準確率,進一步地提出了檢 查機制過濾此類的感測節點。所有集合 S 之中的感測節點分別進行判斷,在其以半徑 R 為基準的鄰近範圍之中所有的感測節點,是否有八成以上的感測節點皆在集合 C 之 中。如果是,則認定本身為事件邊緣的感測節點並加入集合 BS 之中,反之亦然。,

參考文獻

相關文件

Shang-Yu Su, Chao-Wei Huang, and Yun-Nung Chen, “Dual Supervised Learning for Natural Language Understanding and Generation,” in Proceedings of The 57th Annual Meeting of

 BayesTyping1 can tolerate sequencing errors, wh ich are introduced by the PacBio sequencing tec hnology, and noise reads, which are introduced by false barcode identi cations to

Digital Visual Effects Yung-Yu

Jin-Jei Wu, Daru Chen, Kun-Lin Liao, Tzong-Jer Yang, and Linfang Shen, “A novel fiber sensor based on a Bragg fiber with a defect layer”, Presented in 2009 Annular Meeting of

Jiayi Zhou, Kun-Ming Yu, Chun Yuan Lin, Kuei-Chung Shih1 and Chuan Yi Tang, “Balanced Multi-process Parallel Algorithm for Chemical Compound Inference with Given Path Frequencies,”

Key Successful Factors of Health Care Industry Management from the Resource Based Approach --- An Application of Strategic Matrix Method.. Student: Yu-Min Su Advisor:

The Relationship Health Promotion and Well-Being – The Mediator Effect of Health Assistance of Employee Assistance Programs3. 賴郁婷

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,