1. 서론
WSN(WirelessSensorNetworks, 무선 센터 네트워크)를 구성하는 센서 노드의 전력은 제한적이어서, 에너지를 효율적으로 사용하기 위한 방안[1]들이나 각 노드의 전력이 불충분할 때 충전하거나 전력을 생산하는 여러 방안들[2]이 연구되어 왔다. 이런 연구들에서 각 노드의 잔여 전력을 측정하고 확인하는 과정이 중요하며, 측정한 잔여 전력을 다른 노드에게 전달하기 위해서는 추가로 전송 전력이 소요된다. 예를 들어, 노드의 잔여 전력을 고려하여 클러스터 (Cluster)를 구성하려면 각 노드의 잔여 전력 정보를 교환해야 한다.
WSN을 이루는 각 노드로부터 감지되거나 필요한 정보는 클러스터 구조[3]일 경우 클러스터 헤드 노드 (ClusterHeadNode)로 모아져 중계 노드를 거쳐 최종적으로 싱크(Sink) 노드에 도달한다. 싱크 노드에서 네트워크 전체 노드의 잔여 전력을 추정할 수 있다면 별도로 잔여 전력 정보를 수집(혹은 전달)하는데 필요한 전력 소비와 전달에 걸리는 지연 시간을 줄일 수 있다.
WSN에서 동작하는 응용에 따라 각 노드의 역할이 정해지면 데이터를 전송하는 일정한 패턴이 생성될 수 있다. 예를 들어, 일정한 주기로 사건의 발생을 감지하여 수집하는 응용(예, 온도 측정)이라면 싱크노드를 중심으로 라우팅 트리가 형성되고 트리의 줄기에 해당하는 노드(중간 전달 노드)들은 잦은 데이터 전송으로 전력 소모가 단말 노드보다 크다. 정보를 배포하는 응용에서는 루트 노드로부터 단말 노드까지 전달되는 동안 부모 노드는 자식노드가 없는 단말 노드보다 전력 소모량이 크다. 이러한 라우팅 경로를 파악하거나 싱크노드에서 노드간의 데이터전송 이력을 알 수 있다면 노드의 전력 소모량을 추정할 수 있다.
각 노드의 전력 소모량은 자신이 데이터를 보내는데 소모되는 송신 전력 소모와 이웃 노드들로부터 데이터를 수신할 때 소모되는 수신 전력 소모로 이루어지며, 시간이 지남에 따라 송수신이 없더라도 기본적으로 소량의 전력 소모가 있다[4].
WSN에서 데이터 전송 과정에 참여하는 노드들의 토폴로지를 파악하고 각 노드들의 전송 내역(회당송신 전력 및 전송 횟수)을 알면 각 노드의 전력 소모량을 계산할 수 있다. 하지만, 실제 이러한 전송 내역을 파악하여 소모 전력을 계산하는 것은 쉽지 않으며, 특히 센서 노드와 같이 한정된 자원을 가진 프로세서에서 계산하는 것은 부담이 된다. 따라서 각 노드가 아닌 컴퓨팅 자원이 충분한 싱크 노드에서 전체노드의 전력 소모를 산출하는 것이 적절하며, 싱크노드에서 중앙집중식으로 전체 노드의 전력 소모를 산출하려면 각 노드로부터 전송 내역을 수집하여야 하는데 이 과정에서도 상당한 전력 소모가 요구된다.
본 논문에서는 싱크 노드에서 WSN의 토폴로지를 파악하거나 각 노드의 전송 내역 정보를 최소로 수집하고, 기계 학습을 통해서 각 노드의 소모 전력을 추정하는 방안을 제안한다. 이 논문의 구성은 다음과 같다. 센서 노드에서의 전력 소모 측정과 이를 활용한 기존 연구를 2장에서 살펴본다.3장에서는 본 논문에서 제안하는 기계 학습을 활용하여 전체 센서 노드의 전력 소모를 추정하는 방안에 대해서 설명한다. 4장에서는 실험을 통해서 제안 방안의 성능을 분석한 후, 이어서 5장에서 결론을 맺는다.
2. 기존 연구
2.1 센서 네트워크에서 소모 전력
WSN노드에서 소모되는 전력에 대해서는 [4]에서 제시하였으며, [5]에서는 노드별, 네트워크 전체의 소모 전력을 다음과 같이 분석하였다.
특정 노드에서 송신할 때 소모되는 전력은 식 (1)과 같다.
\(E_{T x}(b, d)=b E_{e l e c}+b e_{f s} d^{2}=b\left(E_{\text {elec }}+e_{f s} d^{2}\right)\) (1)
여기서 노드의 송신 전력(\(E_{T x}\)), 단위비트당 전자에너지(\(E_{\text {elec}}\)), 송신 데이터 크기(b), 자유공간에서의 송신을 위한 증폭기 에너지(\(e_{f s} d^{2}\))이다.노드의 송신전력은 송신 데이터 크기에 비례한다. 송신 데이터 크기(b)를 제외한 나머지 변수들은 특정한 조건이 주어지면 일정한 상수 값이다.
각 노드가 이웃 노드로부터 데이터를 수신하면서 소비하는 전력(\(E_{R x}\))은
\(E_{R x}=b E_{\text {elec }}\) (2)
이다.
어떤 노드가 하나의 이웃 노드로부터 데이터를 수신하는데 소모되는 전력은 수신되는 데이터 크기(b)에 비례하며, 여러 이웃 노드로부터 소모되는 전력의 합이다. 노드 i에서 소비되는 전력은 자신의 송신 전력과 여러 이웃 노드로부터 수신하는데 소비되는 전력의 합이므로 식 (1), (2)로부터 다음과 같이 나타낼 수 있다.
\(E_{i}=b\left(E_{\text {elec }}+e_{f s} d^{2}+\sum E_{\text {elec }}\right)=b\left(e_{f s} d^{2}+n E_{\text {elec }}\right)\) (3)
여기서 b는 전송되는 데이터의 크기이며, n은 노드 i자신과 노드 i의 전송 거리 범위 내에 있는 이웃 노드 중 송신에 참가한 노드의 수의 합이다. 그러므로 \(E_{i}\)는 b, n, d의 함수, 즉 \(E_{i}=f(b, n, d)\)이다.
다양한 동작 환경과 응용에서 동작하는 WSN에서 이 계산식을 사용하여 실제 소모 전력을 추정하는 것은 어렵다. 본 논문에서는 각 노드의 전송 데이터가 싱크 노드로 집결하는 과정에서 노드간의 이웃 관계와 특정 노드의 데이터 전송량을 파악하여 기계학습을 활용하여 각 노드의 소모 전력을 추정하는 방안을 제안한다.
2.2 네트워크 분야에서의 기계 학습 적용
기계 학습을 사용할 수 있는 환경이 발전하고, 다양한 응용에 활용되면서 네트워크 분야에서도 기계학습을 적용하는 연구가 활발히 이루어져 왔다[6,7]. [6]에서는 기계 학습의 몇 가지 기법을 사용하여 데이터의 특성에 따라 우선순위를 구분하여 수집하는 방안을 제안하였다. [7]에서는 WSN에서 기계학습기법이 적용된 분야로 위치추정, 데이터 수집, 고장 노드 탐지, 라우팅 등의 기술 동향을 소개하고 있다.
3. 제안 방안
3.1 동작 모델
식 (3)에서 각 노드의 전력 소모는 세 요소에 의해 결정되며, 즉 전송되는 데이터의 크기(b), 송신 전력에 의해서 결정되는 전송 범위(거리), 노드의 전송 거리 범위 내에 있는 이웃 노드 중 송신에 참가한 노드의 수이다. 노드의 송신 전력은 변경이 가능하나, 이 논문에서는 문제를 간단하게 위해 네트워크 내의 모든 노드가 동일한 송신 전력을 가지며 신호의 전송 범위는 디스크 형태이고 전송 반경이 동일하다고 가정한다. 한 노드의 소모 전력은 자신이 전송한 데이터의 크기와 전송 범위 내에 있는 이웃 노드의 전송 데이터 크기에 의해서 주로 결정이 된다. 전송데이터의 크기는 매회 전송하는 데이터의 크기가 일정하면 전송 회수를 측정해 산출할 수 있다.
3.1.1 전송 데이터 크기 측정
특정 노드에서 데이터를 싱크 노드로 보낸다면, 라우팅 경로에 있는 중간 노드들의 전송이 순차적으로 이루어진다. 이 때 소스 라우팅과 유사하게 전송과정에 있는 노드들의 ID를 데이터에 덧붙여 전송하면 출발노드에서부터 도착할 때까지 경로에 있는 노드들의 ID를 싱크노드에서 파악하고 이를 각 노드의 송신 회수로 파악하며, 각 노드의 전송 데이터 크기를 구할 수 있다.
실제 센서 영역의 배치를 예를 들어 보자. Fig. 1의 왼쪽과 같이 노드가 배치되어 있고 전송 범위를 원으로 표시하였으며, 4번 노드를 중심으로 그림의 오른쪽과 같이 트리가 형성되어 있다고 하자. 20번 노드에서 4번 노드(싱크)로 전송하는 경우를 고려해보면, #20->#16->#11의 전송에 의해 #4노드로 전달이 된다.이 때 16번 노드의 전력 소모는 자신의 송신전력 소모와 이웃 노드 중 #20과 #11노드에 의한 수신 전력 소모의 합으로 나타난다.
Fig. 1. An example of sensor nodes’ operation and measuring transmitted data.
센서 네트워크 응용에서 전송 트리가 일정하고, 싱크에서 이 트리를 파악하고 있다면 최초로 데이터를 전송하는 노드와 그 노드의 전송 횟수를 파악하여 각 노드의 소모 전력을 추정할 수 있다.전송 트리가 일정하지 않고 수시로 변경될 경우 각 노드가 전송과정에서 경로 이력을 함께 전송하면 싱크 노드에서 결과를 취합하여 각 노드의 송신 회수를 측정할 수 있다.
3.1.2 노드의 소모 전력 측정
WSN을 구성하는 각 센서 노드의 소모 전력은 응용에 따라서 다르며, 실제 전송에 참여하는 노드와싱크 노드까지 전달하는 중간 게이트웨이 노드에 의해서 결정이 된다. 예를 들어보자.
• 싱크노드에서 전체 노드로 데이터를 분배하는 응용에서는 싱크 노드를 중심으로 트리가 구성되고 이 트리의 중간 게이트웨이 노드를 거쳐 말단 노드까지 데이터가 전달이 된다. 여기에다가 특정 노드의 위치가 이동되거나 다른 요인으로 토폴로지가 변경되면 트리도 새로 변경된다.
• 사건이 발생하는 센서 노드로부터 싱크 노드까지 측정값을 수집하는 응용에서는 사건 발생 노드와싱크 노드까지의 전송 트리에 의해 멀티홉 방식으로 전송이 이루어지며, 사건 발생 여부는 정기적으로 이루어지기도 하나(예, 온도 측정), 그렇지 않은 경우에 (예, 침입 발견 또는 추적)는 사건 발생을 예측할 수 없다.
따라서 다양한 응용 형태로 동작하는 WSN에서각 노드의 소모 전력을 분석하는 것은 대단히 어렵다.
3.2 노드의 소모 전력 추정
본 논문에서는 각 노드의 소모 전력을 기계 학습을 사용하여 추정한다. 특정한 응용이 일정한 시간 동안 동작하고 있을 때, 각 노드의 소모 전력은 일정한 패턴으로 나타날 것이다. 예를 들어, 전송 트리가 형성이 되고 데이터 전송이 지속적으로 이루어지면 데이터를 최초로 전송하는 노드와 중간 게이트웨이 노드들의 전력 소모는 이외 데이터 전송에 참여하지 않는 노드들보다 소모 전력이 크다. 특정한 노드를 중심으로 이웃 노드를 포함하여 실제 데이터 전송이 일정한 패턴으로 진행이 되면 각 노드의 소모 전력을 기계 학습을 통해 추정할 수 있다.
특정 노드에서 전력 소모는 대체로 송신이 주도하며 상대적으로 수신 전력은 영향이 적다고 알려져 있으나 구체적인 실험을 언급한 문헌은 찾을 수 없었다. 위의 식(3)에 의하면 특정 노드의 소모 전력은 송신 데이터 크기, 수신 데이터 크기에 선형적인 관계를 가질 것으로 보이나, 아래의 실험을 통해서 실제 변수간의 관계를 구체적으로 살펴본다.4장의 실험에서 각 변수 간에 선형 관계를 가짐을 확인할 수있으므로(자세한 내용은 4장에서 설명), 기계 학습의 많은 분석 방법 중에 회귀 분석을 적용하는 것에 대하여 설명한다.
3.2.1 다중 회귀(Multiple Regression)
다중 회귀를 적용하여 소모 전력을 학습하는 과정에서, 초기에 학습을 위한 훈련 데이터를 생성하는 과정이 필요한데, 이를 위해 특정한 형태의 패킷을 발생시키고(본 논문에서는‘Training’ 패킷이라고 부름) 각 노드의 송신 회수, 수신 회수, 측정 시간을 포함하는 데이터를 싱크 노드로 보내고 싱크 노드에서는 이를 집계한다.이 훈련 데이터를 사용해서 다중회귀를 실행하고 모델을 형성하여 이후 추정에 사용한다.
회귀분석에 사용할 변수와 식은 다음과 같다.
종속 변수(y) : 잔여 전력(J)
독립 변수(x) : x1 (송신회수), x2 (수신 회수), x3 (시간)
\(y=w_{0}+w_{1} x_{1}+w_{2} x_{2}+w_{3} x_{3}\) (4)
여기서 w0는 절편(Intercept)이고, w1, w2, w3 는 기울기(Coefficients)를 나타내며, 회귀분석 결과로 절편과 기울기가 결정되면, 이 모델을 사용하여 이후 새로운 값을 추정하는데 사용한다.
3.2.2 정상 상태에서 데이터 수집 및 추정
임의의 노드에서 싱크 노드까지 데이터 전송이 시작되면 중간 전달 노드들은 전달 받은 노드의 ID에 자신의 노드 ID를 덧붙여 다음 노드로 전달하며, 싱크 노드에서는 각 노드별로 전송회수(송신 전력)을시간대(동작 라운드)별로 집계한다.각 노드별로 종속 변수(Pi)는 소모 전력이고, 독립변수는 노드 자신과 1홉 거리이내에 있는 이웃 노드들의 전송회수(Ni) 이다. Table 1은 노드 16에서의 종속 변수와 독립변수를 나타낸다.
Table 1. Variables and collected data in case of Node-16.
식 2에서 노드의 수신 소모 전력은 거리에 영향을 받지 않으므로, Table 1에서의 이웃 노드들로부터의 수신 전력은 이웃 노드의 전송 회수의 합을 사용해도 된다.따라서 Table 1은 Table 2와 같이 간략히 할 수 있다. 이에 따라 각 노드별로 세 개의 독립 변수를 학습 단계에서 결정된 모델을 사용하여 소모 전력을 추정한다.
Table 2. Modified Independent Variables and a Dependent Variable in case of Node-16.
4. 실험
4.1 훈련 데이터 생성
제안한 방법을 실험하는데 필요한 실험 데이터는 NS-2(Network Simulator)-2.35[8]을 사용하여 생성하였으며, NS-2에 적용한 시뮬레이션 환경은 Table 3과 같다.
Table 3. Parameters for simulation test.
4.1.1 이웃 노드 리스트 구성
노드를 배치한 후 각 노드별로 이웃 노드 그룹 리스트를 작성하는 과정이 필요하다. 이를 위해서는 필드 내에 배치된 모든 노드에서 한 번씩의 테스트 데이터를 송신하고 다른 노드들로부터의 수신 여부를 확인하여 리스트를 생성한다. 라우팅 트리 형성 과정에서 노드별로 이웃 노드들의 파악이 가능하며, 만일 이웃 노드가 파악되지 않는다면 [9,10]과 유사한 방법으로 모든 노드에 대해서 1회의 테스트 데이터를 전송하고 이웃 노드를 확인하여 리스트를 생성한다.
4.1.2 시나리오 및 훈련 데이터
Fig.1과 같이 센서 노드를 배치하고, 싱크 노드(노드 4)를 중심으로 각 노드의 전송 경로 트리를 구성하였다. 트리를 구성하는 방법은 여러 가지가 있으나 여기서는 [10]에서 제안한 알고리즘을 사용하여 Fig. 1과 같이 구성하였다.
(시나리오 1)
트리에 따라 노드 20에서 시작하여 노드 16과 노드 11을 거쳐 노드 4까지 일정 시간 간격(0.01sec)마다 반복하여 전송(100회)을 하고, 이 때 발생하는 송신 회수와 수신 회수를 기록하고 각 노드의 소모 전력을 측정한 결과와 함께 훈련 데이터로 활용하기 위해 파일로 저장하였다. 저장된 측정 결과를 기계학습을 통하여 학습하고 이를 모델링하여 추정 결과를 산출하였다.
(시나리오 2)
일정 시간 간격(0.01sec)마다 노드 #0∼#20중에 임의의 노드에서 전송을 실시하고 시나리오1과 동일한 시간동안 발생하는 각 노드에서 송신 회수, 수신회수 및 소모 전력을 측정한 결과를 추출하였다.
훈련 데이터 셋의 형식은 각 노드별로 Fig. 2와 같이 구성되며, 송신 회수, 수신 회수, 실행 시간은 누적된 값이다.
Fig. 2. An example format of Training Data Set–for Node #20.
실험에 사용된 센서 네트워크 토폴로지(Fig. 1)에서 (시나리오1)로 각 노드의 잔여 전력을 측정하면 크게 몇 가지 형태로 구분되며, Fig. 3에 나타내었다. 노드의 위치에 따라 전력 소모가 차이가 나, 일정한 시간 간격(0.01sec)으로 데이터를 100회 보내고 싱크 노드에서 일정 지연 시간 후 수신한 결과를 기록하였으므로 Fig.3에서 가로축에서 1.0초 이후에는 송수신으로 인한 전력 소모가 거의 일어나지 않는 것을 보여준다.
Fig. 3. Residual Power Changes over time for some nodes at Scenario1.
Fig. 4는 두 개의 시나리오에서 잔여 전력을 비교하여 나타낸 것으로, 시나리오2(그림에서 Power(S2)로 표시)에서 임의의 노드에서 전송을 하고 측정한 결과에서도 특정 노드의 잔여 전력이 대체로 선형관계를 나타냄을 볼 수 있다.
Fig. 4. Comparison of Residual_Power at node #16 for 2 scenarios.
4.2 다중 회귀 분석
노드 #16의 잔여 전력 추정을 위한 훈련 데이터는 100개를 사용했으며, 파이썬(Python)환경[11]에서 sckit–learn toolkit[12]등을 사용하여 기계학습을 실시하였다.각 노드별로 소모 전력을 분석할 수 있으며, 여기서는 가장 복합적인 전력 소모 형태를 띠는 노드 #16에 대하여 설명한다.
Fig. 5는 훈련 데이터 셋에 포함된 노드 #16의 변수들의 상관관계를 살펴보기 위하여 잔여 전력, 송신회수, 수신 회수, 누적 시간과의 산점도를 나타낸 것이다.
Fig. 5. Scatter plot matrix for Variables at node #16 in scenario1.
그림을 살펴보면, 행과 열은 잔여 전력, 송신 회수, 수신 회수, 누적 시간을 각각 나타내며, 첫 째 행에서 잔여 전력은 송신 회수와 선형 관계를 보이고, 수신회수와 누적 시간도 유사하게 선형 관계를 보인다. 송신 회수 대 수신 회수, 누적 시간 대 송신 회수, 누적 시간대 수신 회수 등도 대체적으로 선형 관계를 보이고 있다. 이를 근거로 잔여 전력에 대하여 다중 회귀 분석을 실시하였으며 결과를 아래에 설명한다.
(시나리오 1)
• 절편 w0 = 1.9990813439457515
• 기울기 :w1 = -0.00037303, w2 = -0.00063434, w3 = -0.00102821
(시나리오2)
• 절편 w0 = 1.997389014632569
• 기울기:w1 = -0.00667246, w2 =-0.00149067, w3 = -0.0215753
분석 결과에서 전체 훈련 데이터의 추정치와 실제값의 잔차 제곱 합(Residualsumofsquares)은 (시나리오1)에서 0.00530, (시나리오2)에서 0.03055으로 나타나, (시나리오1)에서 추정의 정확도가 더 높게 나타났다. Fig. 6의 추정치와 측정치의 관계에서 나타내었듯이 측정치와 추정치의 오차가 크지 않아 직선에 가까움을 볼 수 있다.
Fig. 6. Comparison between the predicted and measured values (residual power) at scenario1.
이번에는 전체 측정 데이터(100개)중 훈련 데이터 집합과 검증용 데이터 집합으로 각각 50개씩, 즉 0.5 비율로 나누어 다중 회귀 분석을 시행하고, 추정치와 학습 및 추정 결과의 잔차(추정치-측정치)를 Fig. 7에 나타내었다. 훈련 결과와 검증 결과로 생성된 모델을 사용하여 추정한 결과가 세로축의 0.000을 중심으로 좁은 범위내로 유지되어 과대적합이나 부족적합이 없이 학습이 충분히 이루어졌음을 알 수 있다.
Fig. 7. Residual Plot for train and test data sets for evaluation at scenario1.
4.3 제안 방안의 동작 모드
제안 방안은 크게 두 개의 동작 모드로 이루어진다. 첫 째는 학습 모드이며 네트워크 배치 후 초기에 또는 학습이 필요할 때 전력 소모 패턴을 학습하기 위하여 4.1절에 설명한 훈련 데이터 셋을 수집한다. 그리고 4.2절의 다중 회귀 분석 방법으로 분석 모델의 패러미터를 결정한다.
또 하나의 모드인 정상 동작 모드는 학습 모드가 완료된 후 네트워크 본연의 동작을 하면서 추가로 송신에 참여한 노드 리스트를 싱크 노드로 보내준다. 리스트(L)에는 다음과 같은 형식의 내용이 포함된다, 예)L={20, 16, 11, }. 이는 실험에 사용된 (시나리오1)에서 노드 #20, #16, #11이 송신에 참여하였고 결과가 싱크 노드에서 수집되었음을 의미한다. 싱크노드에서는 이 리스트로부터 Table1의 독립변수 값을 수합하며, 학습 모드에서 생성된 다중 회귀 모델식(4)에 의해서 잔여 전력을 추정한다.
5. 결론
WSN과 같이 자원이 한정된 무선 네트워크에서 각 노드의 잔류 전력을 파악하는 것은 중요한 작업이며, 이를 위해서는 대량의 데이터 전송이 이루어져야 하므로 전력 소모가 크다. 본 논문에서는 기계 학습을 사용하여 WSN응용의 동작에 따른 전력 소모패턴을 학습하여 대량의 데이터 전송 없이 소모 전력을 추정하는 방안을 제안하고, 실험을 통해서 만족할만한 추정 정확도를 검증하였다.
전력 소모의 추정이 가능하면 여러 관련 분야에서 활용이 가능하다. 예를 들어, 노드의 잔여 전력을 반영하여 효율적인 라우팅 트리 혹은 클러스터를 재구성하거나, 전체 노드의 잔여 전력 상태를 파악하여 전력이 고갈되기 전에 모바일 노드를 사용하여 불충분한 전력을 보충하기 위한 방안을 실행할 수 있다.
실험에서의 두 가지 시나리오는 각 노드의 전력 소모가 자신의 전송 데이터에 주로 영향을 받아 선형성을 나타내므로 다중 선형 분석으로 가능하였다. 하지만 노드의 배치 밀도나 전송 범위가 커짐에 따라 수신 데이터의 영향이 커지면 독립 변수들과 종속변수인 소모 전력의 관계가 비선형성을 나타낼 가능성이 있어, 차기 연구로 이를 다른 기계학습 방법을 적용하여 비교 분석할 계획이다. 또한 최소의 학습데이터 셋과 처리 시간으로 추가 전력 소모를 개선하고 학습 시간을 줄이며, 다양한 WSN응용에서 적합한 기계 학습 기법의 적용과 잔여 전력을 추정하는 방안이 필요하다.
References
- H. Wang, H. Roman, L. Yuan, Y. Huang, and R. Wang, "Connectivity, Coverage and Power Consumption in Large-scale Wireless Sensor Networks," Computer Networks, Vol. 75, pp. 212- 225, 2014. https://doi.org/10.1016/j.comnet.2014.10.008
- S. Jeong, H. Kim, D. Noh, and I. Yoon, "Adaptive Data Aggregation and Compression Scheme for Wireless Sensor Networks with Energy-Harvesting Nodes," Journal of The Korea Society of Computer and Information, Vol. 22 No. 3, pp. 115-122, Mar. 2017. https://doi.org/10.9708/jksci.2017.22.01.115
- S. Bulo, and M. Pelillo, "Dominant-set Clustering: A review," European Journal of Operational Research, Vol. 262, No. 1, pp. 1-13, 2017. https://doi.org/10.1016/j.ejor.2017.03.056
- W. R. Heinzelman, A. Chandrakasan and H. Balakrishnan, "An Application-Specific protocol Architecture for Wireless Microsensor Networks," IEEE Transactions on Wireless Communications, Vol. 1, No. 4, pp. 660-670, Oct. 2002. https://doi.org/10.1109/TWC.2002.804190
- S. Bae. "Power Consumption Analysis of Prominent Time Synchronization Protocols for Wireless Sensor Networks." Journal of Information Processing Systems, Vol. 10. No. 2, pp. 300-313, 2014. https://doi.org/10.3745/JIPS.03.0006
- V. Ghate, and V. Vijayakumar, "Machine Learning for Data Aggregation in WSN : A Survey," International Journal of P ure and Applied Mathematic, Vol. 118, No. 24, pp. 1-12, May 2018.
- S. Kim, K Kwon, J. Kim, D. Kim, "Analysis and Application Trend of Machine Learning Technology to Improve the Performance of Wireless Sensor Networks," Journal of Korean Institute of Communications and Information Sciences, Vol. 45, No. 1, pp. 61-79, Jan. 2020. https://doi.org/10.7840/kics.2020.45.1.61
- The Network Simulator ns-2: Documentation(2011). http://www.isi.edu/nsnam/ns/ns-documentation.html (accessed June, 2020).
- S. Bae, "Pair-nodes Selection Algorithm for PBS (Pairwise Broadcast Synchronization)," Journal of Korea Multimedia Society, Vol. 21, No. 11, pp. 1288-1296, 2018. https://doi.org/10.9717/KMMS.2018.21.11.1288
- S. Bae, "Enhanced Tree Construction Algorithm for Timing-sync Protocol for Sensor Networks," Journal of Advances in Computer Networks, Vol. 3, No. 1, pp. 28-31. Mar. 2015. https://doi.org/10.7763/JACN.2015.V3.137
- Python Software Foundation. https://www.python.org/ (accessed May, 2020).
- scikit-learn. https://scikit-learn.org/stable/index.html (accessed Jan, 2020)