KR20240069290A - 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법 및 이를 위한 컴퓨터 장치 - Google Patents

시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법 및 이를 위한 컴퓨터 장치 Download PDF

Info

Publication number
KR20240069290A
KR20240069290A KR1020220150662A KR20220150662A KR20240069290A KR 20240069290 A KR20240069290 A KR 20240069290A KR 1020220150662 A KR1020220150662 A KR 1020220150662A KR 20220150662 A KR20220150662 A KR 20220150662A KR 20240069290 A KR20240069290 A KR 20240069290A
Authority
KR
South Korea
Prior art keywords
node
routing
simulation environment
action
network simulation
Prior art date
Application number
KR1020220150662A
Other languages
English (en)
Inventor
안재하
이성주
공태식
윤형준
이택경
Original Assignee
국방과학연구소
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소, 한국과학기술원 filed Critical 국방과학연구소
Priority to KR1020220150662A priority Critical patent/KR20240069290A/ko
Publication of KR20240069290A publication Critical patent/KR20240069290A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/18Communication route or path selection, e.g. power-based or shortest path routing based on predicted events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/06Airborne or Satellite Networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

실시예에 따른 컴퓨터 장치는, 적어도 하나의 명령어를 저장하는 메모리부와, 프로세서부를 포함하며, 상기 프로세서부에 의해 상기 적어도 하나의 명령어가 실행됨으로써, 복수의 이동체에 대한 지리적 애드혹 라우팅의 네트워크 시뮬레이팅 환경으로부터 라우팅에 있어서 현재 시점 판단의 주체가 되는 제 1 노드를 의미하는 관찰 값을 획득하고, 상기 획득된 관찰 값을 기반으로 상기 네트워크 시뮬레이팅 환경의 상기 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 라우팅 경로에서 다음 라우트인 제 2 노드를 선택하는 행동을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하며, 상기 행동을 기반으로 한 보상을 상기 네트워크 시뮬레이팅 환경으로부터 획득한다.

Description

시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법 및 이를 위한 컴퓨터 장치{Time-aware Reinforcement-Learning Method for Geographic Ad Hoc Routing with Predefined Mobility and Computer Device for the same}
본 발명은 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법과 이러한 방법을 수행하는 컴퓨터 장치에 관한 것이다.
이동성을 가지는 무인 항공기(UAV)의 수요는 드론 에어쇼, 소방 화재 대응을 위한 군집 드론 시스템 등에 의해 꾸준히 증가하고 있다.
이동성을 가지는 무인 항공기 기술의 큰 장벽은 정보를 교환하기 위한 수단으로서 무인기 간의 네트워크를 어떻게 안정적으로 유지하느냐 이다. 무인기의 이동에 의해 무인기 간의 네트워크 채널 상태가 여러 변수에 따라 수시로 변하기 때문에, 특정 시점에서의 최적의 라우팅 경로가 수시로 변한다.
할당된 미션 등에 따라 무리를 지어 이동하는 무인기의 특성에 따라 여러 대의 무인기를 운용하기 위해서는 라우팅 알고리즘이 무인기들의 높은 이동성을 고려하여야 하며, 주위 환경에 의한 변동 요소도 반영해야 할 것이다.
공지기술의 지리적 라우팅은 라우팅에서 지리적 정보를 고려하는 라우팅 방법이다. 이동성이 있는 노드는 시간이 지남에 따라 위치를 지속적으로 변경하는 바, 기존의 지리적 라우팅 알고리즘은 이러한 지속적인 이동성에 대응하기 위해 제어 메시지를 빈번하게 전송해야 했다. 하지만 이런 빈번한 제어 메시지 전송은 전체 통신에 큰 오버헤드를 가져온다.
한편, 모바일 노드는 미션에 할당된 무인 항공기와 같이 사전에 정의된 이동성을 가지는 경우가 많다.
기존 발명들은 이동성을 가지는 군집의 이동체에 대해 기 정해진 이동성 또는 시나리오라는 정보를 활용하지 못하며, 주로 실제 미션 상황이 시작된 이후에 주어진 무작위 이동성에 대하여 학습을 진행하기 때문에 효과적이고 신속한 학습을 수행하기 어렵다.
따라서, 이러한 문제를 개선하기 위해 이동성을 가지는 군집의 이동체에 대한 라우팅을 최적화 할 수 있는 기술적 사상이 필요하다.
대한민국 등록특허 제10-2346653호 대한민국 등록특허 제10-2108658호
본 발명의 일 실시예에 따르면, 무인기 등과 같은 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 지리적 애드혹 라우팅을 위한 강화학습 방법 및 이를 수행하는 컴퓨터 장치를 제공한다.
본 발명의 목적은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
제 1 관점에 따라 컴퓨터 장치가 수행하는 지리적 애드혹 라우팅 강화학습 방법은, 복수의 이동체에 대한 지리적 애드혹 라우팅의 네트워크 시뮬레이팅 환경으로부터 라우팅에 있어서 현재 시점 판단의 주체가 되는 제 1 노드를 의미하는 관찰(observation) 값을 획득하는 단계와, 상기 획득된 관찰 값을 기반으로 상기 네트워크 시뮬레이팅 환경의 상기 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 라우팅 경로에서 다음 라우트인 제 2 노드를 선택하는 행동(action)을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하는 단계와, 상기 행동을 기반으로 한 보상(reward)을 상기 네트워크 시뮬레이팅 환경으로부터 획득하는 단계를 포함한다.
제 2 관점에 따른 컴퓨터 장치는, 적어도 하나의 명령어를 저장하는 메모리부와, 프로세서부를 포함하며, 상기 프로세서부에 의해 상기 적어도 하나의 명령어가 실행됨으로써, 복수의 이동체에 대한 지리적 애드혹 라우팅의 네트워크 시뮬레이팅 환경으로부터 라우팅에 있어서 현재 시점 판단의 주체가 되는 제 1 노드를 의미하는 관찰 값을 획득하고, 상기 획득된 관찰 값을 기반으로 상기 네트워크 시뮬레이팅 환경의 상기 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 라우팅 경로에서 다음 라우트인 제 2 노드를 선택하는 행동을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하며, 상기 행동을 기반으로 한 보상을 상기 네트워크 시뮬레이팅 환경으로부터 획득한다.
제 3 관점에 따른 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 컴퓨터 프로그램이, 프로세서에 의해 실행되면, 상기 지리적 애드혹 라우팅 강화학습 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.
제 4 관점에 따른 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램은, 상기 컴퓨터 프로그램이, 프로세서에 의해 실행되면, 상기 지리적 애드혹 라우팅 강화학습 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.
실시예에 따른 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습에 의하면, 이동체 간의 네트워크 채널 상태가 여러 변수에 따라 수시로 변하더라도, 수시로 변경되는 특정 시점에서의 최적의 라우팅 경로를 찾을 수 있다. 더욱이, 시간 축에 대한 정보를 활용하여 각 시간 축 단위마다 Q-Table을 하나씩 구성함으로써, 시간에 따른 이동성 변화까지 반영해 최적화된 라우팅 정보를 학습할 수 있다.
이러한 실시예에 따른 지리적 애드혹 라우팅 강화학습은 다양한 사전 정의된 이동성 기반 이동체 작전에 폭넓게 활용될 수 있다.
추후 다양한 시간 축에 따른 사전 정의된 이동성 기반 이동체 작전에 폭넓게 활용될 수 있다.
본 발명의 효과는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습 시스템을 개략적으로 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습의 개념도이다.
도 3은 본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습에서 이용되는 Q-Table의 예시도이다.
도 4는 본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따라 Python에서 작성한 Gym의 강화학습 에이전트가 통신을 통해 네트워크 시뮬레이터와 상호작용하여 강화학습 행동과 보상을 주고 받는 개념을 도시하는 개념도이다.
도 6은 본 발명의 일 실시예에 따른 사전 정의된 이동성 기반 가상 라우팅 시뮬레이션의 일 예를 설명하기 위한 예시도이다.
도 7은 baseline과 본 발명의 일 실시예에 따른 복수의 이동체에 대한 라우팅에 의한 packet delivery ratio를 비교한 그래프이다.
도 8은 baseline과 본 발명의 일 실시예에 따른 복수의 이동체에 대한 라우팅에 의한 end-to-end delay를 비교한 그래프이다.
도 9는 baseline과 본 발명의 일 실시예에 따른 복수의 이동체에 대한 라우팅에 의한 hop count를 비교한 그래프이다.
도 10은 보통의 이동성을 가지는 시나리오에서 시간 축을 고려하지 않은 경우와 시간 축을 고려하는 경우의 패킷 전송 성공률이다.
도 11은 보통의 이동성을 가지는 시나리오에서 시간 축을 고려하지 않은 경우와 시간 축을 고려하는 경우의 패킷당 거쳐간 평균 노드 수이다.
도 12는 고속의 이동성을 가지는 시나리오에서 시간 축을 고려하지 않은 경우와 시간 축을 고려하는 경우의 패킷 전송 성공률이다.
도 13은 고속의 이동성을 가지는 시나리오에서 시간 축을 고려하지 않은 경우와 시간 축을 고려하는 경우의 패킷당 거쳐간 평균 노드 수이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 뒤에 설명이 되는 실시 예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 뒤에 설명되는 용어들은 본 발명에서의 구조, 역할 및 기능 등을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 오로지 특허청구범위에 기재된 청구항의 범주에 의하여 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하에서는 첨부한 도면을 참조하며, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습 시스템을 개략적으로 나타낸 블록도이고, 도 2는 본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습 시스템의 운용 개념도이다.
도 1 및 도 2를 참조하면, 일 실시예에 따른 지리적 애드혹 라우팅 강화학습 시스템(10)은 네트워크 시뮬레이터(110) 및 컴퓨터 장치(120)를 포함한다. 컴퓨터 장치(120)는 메모리부(121) 및 프로세서부(122)를 포함하며, 프로세서부(121)를 위한 인터페이스부(123)를 더 포함할 수 있다.
네트워크 시뮬레이터(110)는 복수의 이동체(1) 간의 통신 환경을 시뮬레이션하는 구성으로서, 일 실시예로 복수의 이동체(1)에 대해 시간 축에 따른 사전 정의된 이동성을 기반으로 이동하는 복수의 이동체(1)의 통신을 시뮬레이션 할 수 있다.
여기서 말하는 시간 축에 따른 사전 정의된 이동성을 기반으로 이동하는 복수의 이동체(1)는 미리 설정된 시나리오 또는 에피소드에 따라 무리를 지어 이동하며, 서로 간에 네트워크를 통해 정보를 교환하는 이동체들을 의미한다. 이동체들이 이동함에 따라 이동체 간의 네트워크 채널 상태가 수시로 변하기 때문에 특정 시점에서의 최적의 라우팅 경로도 시시각각 변하게 된다.
여기서, 이동체는 드론, 비행접시, 헬리캠과 같은 무인 비행체를 포함할 수 있고, 이에 한정하지 않으며 무인으로 이동할 수 있는 장치라면 채용 가능하다.
컴퓨터 장치(120)의 메모리부(121)는 적어도 하나의 명령어를 저장한다. 예를 들어, 메모리부(121)의 적어도 하나의 명령어가 프로세서부(122)에 의해 실행됨으로써, 실시예에 따른 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습을 수행할 수 있다.
프로세서부(122)는 복수의 이동체에 대한 지리적 애드혹 라우팅의 네트워크 시뮬레이팅 환경을 구축하는 네트워크 시뮬레이터(110)로부터 라우팅에 있어서 현재 시점 판단의 주체가 되는 제 1 노드를 의미하는 관찰(observation) 값을 인터페이스부(123)를 통해 획득한다. 그리고, 프로세서부(122)는 획득된 관찰 값을 기반으로 네트워크 시뮬레이팅 환경의 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 라우팅 경로에서 다음 라우트인 제 2 노드를 선택하는 행동(action)을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하고, 행동을 기반으로 한 보상(reward)을 네트워크 시뮬레이팅 환경으로부터 인터페이스부(123)를 통해 획득한다. 이러한 프로세서부(122)에 의한 강화학습 과정 중 강화학습 모듈(210) 및 강화학습 에이전트(220)가 생성될 수 있다.
도 2를 참조하면, 실제 환경에서 복수의 이동체에 대해 시간 축에 따른 사전 이동성이 정의되어 있을 시, 사전 학습 단계(A)에서 네트워크 시뮬레이터(110)가 상기 시간 축에 따른 사전 이동성을 구현하여, 실제와 비슷한 환경의 이동체 통신 환경을 구현할 수 있다.
이때, 네트워크 시뮬레이터(110)는 각각의 이동체들(1)이 이동과 통신에 있어서 무작위의 에러를 포함하도록 하여, 실제 이동 시행 환경에서 발생할 수 있는 변칙성을 반영할 수 있다. 여기서, 상기 에러는 예를 들어, 사전 이동성의 포지션에 있어서 일정량의 오차가 생기도록 조작한 에러와, 통신 상태를 나타내는 링크 에러(link error)를 포함할 수 있다.
일 실시예로, 네트워크 시뮬레이터(110)에서 시뮬레이팅되는 네트워크 이벤트들은 ns3gym interface를 통하여 강화학습 모듈(210)로 전달될 수 있다. 이러한 네트워크 시뮬레이터(110)는 예컨대 네트워크 실험에 쓰이는 이산적 이벤트 네트워크 시뮬레이터(예로서, ns-3)로 구현할 수 있다. 여기서, ns3gym interface은 ns-3와 OpenAI Gym(강화학습 연구에 널리 쓰이는 연구용 툴킷)을 통합한 환경으로, Python으로 구현된 강화학습 알고리즘과 ns-3로 구현된 네트워크 시뮬레이션 환경을 통합하는 인터페이스를 제공한다.
구체적으로, 애드혹 라우팅 강화학습 시스템(10)은 1) GetObservationSpace() 함수를 통하여 Gym에 전달된 데이터인 observation space를 정의하며, 2) GetActionSpace()를 통하여 Gym에서 강화학습의 결과로 선택할 수 있는 action space를 정의하고, 3) GetObservation()을 통하여 특정 iteration에서의 observation을 전달, 4) GetReward()를 통하여 정의된 reward function에 따라 특정 iteration에서의 reward 전달, 5) ExcuteActions()를 통하여 Gym에서 강화학습으로 선택한 action을 수행할 수 있도록 한다.
전술한 ns3gym을 사용한 시뮬레이션 환경 구현에 대해서 좀 더 상세히 설명하자면 다음과 같다. 관찰(observation) 값은 강화학습에 있어 강화학습 에이전트(220)가 다음 판단을 내리기 위하여 사용하는 input feature이다. 관찰 값은 이동체간 애드혹 라우팅 환경에서 판단을 내리는 제1 노드(node)가 되며, 상기 제1 노드의 판단인 행동(action)에 의해 라우팅 경로에서 다음 라우트로 제2 노드가 선택된다.
이를 위하여, 강화학습 모듈(210)은 가장 처음으로 GetObservationSpace()와 GetActionSpace()를 통하여 학습에 사용될 강화학습 observationSpace()와 GetActionSpace()를 통하여 학습에 사용될 강화학습 관찰 및 행동의 집합을 실제 이동 시행에서 사용될 이동체 노드 전체로 설정한다.
강화학습이 종료되는 시점은 라우팅에 있어서 판단의 주체가 되는 제1 노드가 최종 목적지에 대응하는 제3 노드와 같은 시점으로서, 라우팅이 성공적으로 실행된 것으로 확인되어 강화학습이 종료될 수 있다. 또는, 라우팅에 에러가 발생하거나 더 이상 라우팅이 불가능함을 감지한 시점도 강화학습이 종료되는 시점으로 설정된다.
강화학습 모듈(210)은 네트워크 시뮬레이터(110)를 기반으로 복수의 이동체에 대한 시간 축에 따른 사전 정의된 이동성을 기반으로 복수의 이동체 각각의 통신에 대한 시뮬레이션 환경을 구현하고, 시뮬레이션 결과로부터 강화학습 데이터를 추출하여, 추출된 강화학습 데이터로 강화학습 에이전트(220)를 학습시킨다.
강화학습 에이전트(220)는 라우팅 경로에서 제1 노드의 다음 라우트인 제2 노드를 선택하는 행동을 추출한다.
여기서, 강화학습은 환경과 상호작용하며 목표를 달성하는 에이전트를 다루는 학습방법으로서, 학습의 행동주체인 강화학습 에이전트가 어떤 행동을 해야 더 많은 보상(reward)을 받을 지 알아내는 것을 목적으로 한다.
즉, 정해진 답이 없는 상태에서도 보상을 최대화시키기 위해 무엇을 할 것인가를 배우는 것으로서, 입력과 출력이 명확한 관계를 갖고 있는 상황에서 사전에 어떤 행위를 할 것인지 알고 하는 것이 아니라, 시행착오를 거치면서 보상을 최대화시키는 배우는 과정을 거친다.
또한, 강화학습 에이전트(220)는 시간에 따라 순차적으로 행동을 선택하게 되고, 상기 행동이 환경에 끼친 영향에 기반하여 보상을 받게 된다. 즉, 보상은 학습에 따른 강화학습 에이전트(220)의 의사 결정에 대한 일종의 피드백이다. 강화학습을 통해 강화학습 에이전트(220)는 미래의 보상(q-value)이 최대가 되도록 행동을 취하게 되므로, 보상을 어떻게 책정하느냐에 따라 학습 결과에 많은 영향이 발생한다.
구체적으로, 강화학습 모듈(210)은 강화학습을 위한 기본적인 세팅을 마친 후에 강화학습 에이전트(220)를 학습시키기 시작한다.
이를 위해 먼저, 강화학습 에이전트(220)는 GetObservation() 함수 실행을 통하여 관찰 값을 받아온다. 여기서, 관찰은 라우팅에 있어서 현재 시점 판단의 주체가 되는 네트워킹 노드를 의미한다. 그리고, 강화학습 에이전트(220)는 Q-learning을 기반으로 관찰을 통해 다음 행동을 판단하고, 판단된 행동을 GetAction()을 통하여 네트워크 시뮬레이터(110)로 전달한다.
여기서, 행동은 라우팅 경로에 있어서 현재의 제1 노드로부터 선택될 다음 라우트인 제2 노드를 선택하는 실행을 의미한다.
네트워크 시뮬레이터(110)는 강화학습 에이전트(220)로부터 전달된 행동을 기반으로 강화학습 에이전트 판단의 근거가 될 보상을 계산하여 강화학습 에이전트(220)로 전달한다.
보상은 라우팅 경로에서 선택된 제2 노드와 목적지에 해당하는 제3 노드까지의 거리가 가까울수록 강화학습 에이전트(220)에 높게 제공되는 방식으로 설정될 수 있다.
또한, 보상은 라우팅 경로의 노드들이 가지는 링크 에러 및 위치 에러가 작을수록 강화학습 에이전트(220)에 높게 제공되는 방식으로 설정될 수 있다.
구체적으로, 본 발명의 일 실시예에 따른 강화학습 모듈(210)의 강화학습 방식은 다음과 같다.
강화학습 모듈(210)은 처음 observation space와 action space를 네트워크 시뮬레이터(110)에 의한 시뮬레이션 환경에서와 같이 이동체의 총 수로 설정하며, 강화학습(Q-learning)에 있어서 학습될 q-value들을 모두 음의 무한대로 설정한다. 그리고, 강화학습 모듈(210)은 각 행동에 대한 미래의 보상(q-value)을 갱신할 Q-Table을 설정한다.
여기서, Q-Table은 관찰로부터 얻은 현재의 제1 노드 각각에 대해 다음 노드가 될 제2 노드에 대해 보상이 될 기댓값을 모두 알아야 하기 때문에, 전체 이동체 개수 x 전체 이동체 개수 형태의 table로 구성된다.
도 3은 Q-Table의 예시로서, 시간 축에 대한 정보 없이 한 개의 Q-Table만 설정 및 학습하는 경우와 시간 축에 대한 정보를 활용하여 각 시간 축 단위마다 Q-Table을 하나씩 구성하여 여러 Q-Table의 집합을 만들어 사용하고, 시간에 따른 이동성을 저장하는 경우를 나타낸 것이다.
학습은 강화학습에 랜덤한 행동을 함으로써, 새로운 데이터를 누적하기 위한 exploration과 학습된 지식을 사용하여 최적의 판단을 내리기 위한 exploitation으로 나누어진다.
강화학습 모듈(210)은 학습을 실행하기 위해, 일정한 1 미만의 상수 epsilon을 정의하며, 랜덤하게 생성된 1 미만의 수가 epsilon보다 작을 경우, 각 라우팅에 대하여 무작위의 행동을 선정하고, 선정된 무작위의 행동이 시뮬레이션 환경으로 전달된다.
반면, epsilon 값보다 생성된 수가 클 경우, current node에의 Q-Table을 기준으로 가장 기댓값이 높은 index를 검출하고, 상기 검출된 index의 노드가 라우팅에 있어서 선택될 다음 노드가 된다. 이때, 복수의 노드가 동일한 q-value를 가지고 있을 경우, 랜덤한 방식으로 다음 노드가 선출될 수 있다.
강화학습 에이전트(220)에 의해 선택된 행동은 시뮬레이션 환경으로 전달되며, 전술한 시뮬레이션 환경 로직에 따라 다음 관찰, 보상, 및 시뮬레이션 종료 여부에 관한 정보가 전달되어 돌아온다.
이때, 관찰로 받아온 다음 노드가 목적지 노드 혹은 에러나 문제가 발생했음을 알리는 값이 아닐 때, 기본적인 알고리즘에 따라 행동 판단의 주체가 되었던 제1 노드의 행동에 해당하는 q-value는 아래 수학식과 같이 갱신 된다.
[수학식 1]
여기서, st는 current node, at는 action으로 판단된 다음 노드, 보상은 QGeo 알고리즘에 따라 정의된 앞의 서술된 보상 함수(reward function)의 값, st+1은 관찰을 통해 받아온 다음 노드이다. 만약 관찰을 통하여 받아온 값이 목적지 혹은 에러를 나타내는 값일 경우, 마지막 갱신과 함께 학습은 종료된다.
앞서 도 3을 참조하여 설명한 바와 같이 Q-Table은 시간 축에 대한 정보 없이 설정하는 경우는 수학식 2와 같이 상태 함수를 갱신하고, 시간 축에 대한 정보를 활용하여 설정하는 경우는 수학식 3과 같이 상태 함수를 갱신한다.
[수학식 2]
[수학식 3]
여기서, T는 시간을 나타내는 변수이다. 시간대별 Q 함수를 설정하여 시간대에 따라 달라지는 이동성의 영향을 최소화할 수 있다.
한편, 강화학습 모듈(210)은 네트워크 시뮬레이터(110)로 복수의 이동체에 대한 다수의 시나리오를 시뮬레이션할 수 있다. 시나리오는 각 이동체에 대해 설정된 시계열상 이동 경로를 포함할 수 있고, 각 이동체의 이동 경로는 상이할 수 있다.
도 4는 본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습 방법을 설명하기 위한 순서도이다. 이하, 도 4를 참조하여 본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습 방법을 설명하기로 한다.
본 발명의 일 실시예에 따른 지리적 애드혹 라우팅 강화학습 방법은, 도 1의 시스템(10)과 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 시스템(10)과 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
도 4를 참조하면, 먼저 강화학습 모듈(210)이 복수의 이동체에 대한 시간 축에 따른 사전 이동성이 정의된 시나리오를 기반으로 상기 복수의 이동체 각각의 네트워크 시뮬레이팅 환경을 구현할 수 있다(S410).
이를 위해, 강화학습 모듈(210)은 각 이동체의 이동과 통신에 무작위 에러를 포함시켜 실제 전술 시행 환경의 변칙성을 반영할 수 있다. 일 실시예로, 상기 무작위 에러로서, 상기 각 이동체에 대한 사전 이동성에 대응하는 포지션(position)에 조작된 일정량의 오차, 및 상기 통신에 포함된 링크 에러를 발생시킬 수 있다.
다음으로, 강화학습 모듈(210)이 Q-learning의 보상 기댓값(q-value) 및 상기 보상 기댓값을 갱신하여 저장하는 Q-Table을 도 3의 Q-Table 중 시간 축에 대한 정보를 활용한 Q-Table 예시와 같이 설정할 수 있다(S420).
여기서, 네트워크 시뮬레이팅 환경의 라우팅 경로에서 선택된 다음 노드인 제2 노드와 목적지에 대응하는 제3 노드까지의 거리가 가까워질수록, 상기 노드가 가지는 링크 에러(link error) 및 위치 에러(location error)가 작을수록 높은 보상이 제공되도록 설정될 수 있다.
다음으로, 강화학습 모듈(210)이 강화학습 에이전트를 학습시키기 위해, 상기 강화학습 에이전트에 랜덤한 행동을 실행시키면서 상기 Q-Table을 갱신할 수 있다(S430).
여기서, 강화학습 모듈(210)은 상기 랜덤한 행동으로서, 일정한 1 미만의 상수 epsilon을 정의하여, 랜덤하게 생성된 1 미만의 수가 상기 상수 epsilon보다 작을 경우, 상기 각 행동에 대하여 무작위의 행동을 선정하고, 상기 선정된 무작위의 행동은 상기 시뮬레이션 환경으로 전달될 수 있다.
반면, 상기 랜덤하게 생성된 1 미만의 수가 상기 상수 epsilon보다 클 경우, 현재 노드인 제1 노드에 대응하는 상기 Q-Table에서 가장 기댓값이 높은 index를 검출하고, 상기 검출된 index의 노드를 라우팅에 있어서 선택될 다음 노드인 제2 노드로 설정할 수 있다.
다음으로, 강화학습 모듈(210)은 라우팅 종료 이벤트가 발생했는지 여부를 판단하고(S440), 라우팅 종료 이벤트가 발생할 때까지 강화학습 모듈(210)이 상기 강화학습 에이전트로부터 추출된 행동을 기반으로 상기 Q-learning을 반복 수행하면서, 상기 Q-Table을 지속 갱신할 수 있다(S450).
여기서, 상기 행동은 상기 시뮬레이션 환경의 라우팅 경로에서 제1 노드의 다음 라우트인 제2 노드에 대한 선택을 의미한다.
구체적으로, 강화학습 모듈(210)은 상기 라우팅 경로에서 제1 노드의 다음 라우트인 제2 노드를 선택하는 행동에 대응하는 상기 q-value를 전술한 수학식 1을 통해 갱신한다.
다음으로, 강화학습 에이전트(220)는 실제 이동 시행 단계(B)와 같은 실제 환경에서 시간 축에 따른 사전 정의된 이동성을 기반으로 이동하는 복수의 이동체 각각에 대해 특정 시점에서의 라우팅을 상기 갱신이 완료된 Q-Table을 기반으로 실행할 수 있다.
한편, 본 발명의 일 실시예에 따른 애드혹 라우팅 강화학습 시스템에 대한 평가를 위해서는 시간 축에 따른 사전 정의된 이동성을 학습할 수 있는 강화학습 에이전트를 학습하고, 이를 통한 라우팅이 실제로 잘 동작하는지 다양한 지표를 통해 확인해야 한다.
시간 축에 따른 사전 정의된 이동성을 수월하게 학습시키고 평가하기 위해서 가상 네트워크 시뮬레이터인 NS-3을 사용하고, 강화학습 라이브러리인 OpenAI Gym을 연동할 수 있다.
Python에서 작성한 Gym의 강화학습 에이전트가 통신을 통해 네트워크 시뮬레이터와 상호작용하여 강화학습 행동과 보상을 주고 받는다. 상기 상호작용에 대한 자세한 개념은 도 5에 도시되어 있다.
도 5는 Python C++에서 ① 복수의 이동체 즉, 복수의 노드(Node1~Node N)에 대한 사전 이동성이 정의된 시나리오를 기반으로 통신 시뮬레이션 환경을 구현하는 과정, ② 상기 시뮬레이션 환경의 라우팅 경루에서 라우팅이 실행되는 과정, ③ 상기 통신 시뮬레이션 환경에서의 시뮬레이션 결과로부터 강화학습 데이터를 추출하는 과정, 및 ④ 추출된 상기 강화학습 데이터로 상기 강화학습 에이전트를 학습시키는 과정 등의 개념을 도시한다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 시간 축에 따른 사전 정의된 이동성 시뮬레이션 시나리오는 NS-3 상에서 구현될 수 있으며, 150m*150m의 공간 내에 이동성을 지닌 무선 네트워킹 노드 17개를 배치할 수 있다.
모든 노드는 802.11a OFDM 6Mbps 기반의 Wi-Fi 통신이 가능하다. 한 개의 소스 노드(source)는 1초마다 UDP/IP 패킷을 생성하여 전송하는 노드로 (0, 0)에 고정되어 있다. 또 다른 한 개의 목적지 노드(destination)는 소스 노드에서 생성한 모든 패킷의 종착점이며 (150, 150)에 고정된 경우를 가정한다. 나머지 15개의 노드는 공간 내에서 0~2m/s의 속도로 이동한다. 모든 노드는 무선 네트워크 패킷을 수신하게 되면, 이를 다음 노드로 전달하게 되는데, 이때의 노드 선정 과정에 전술한 본 발명의 일 실시예에 따른 시간 축에 따른 사전 정의된 이동성 기반 강화학습 라우팅을 적용할 수 있다.
이러한 시나리오가 실제 상황에서도 적용 가능하며, 확장성을 위해 이 평가에 패킷 손실률(최대 20%)과 위치 측정 오차(최대 20%)를 도입하였다.
이를 통해 실제 상황에서와 마찬가지로 일부 노드에서의 일시적인 패킷 손실이나, GPS 등의 위치 추적 기술의 meter-level 오차를 재현할 수 있다. 또한, 실제 Wi-Fi 환경의 거리에 따른 전송률을 구현하기 위해 Nist Error Rate Model을 적용하였다. [Pei, G., & Henderson, T. R. (2010). Validation of OFDM model in ns-3.]
앞서 도 3을 참조하여 설명한 바와 같이 Q-Table은 시간 축에 대한 정보 없이 설정하는 경우, 시간 축에 대한 정보를 활용하여 설정하는 경우가 있다. 이러한 실시예들에 의한 애드혹 라우팅 강화학습 시스템을 평가하기 위해 먼저 (1) 랜덤으로 움직이는 노드로 학습한 Q-learning agent를 baseline으로 하여, (2) 사전 정의된 이동성 기반 Q-learning agent를 비교한다. 그 다음, (1) 사전 정의된 이동성 기반 Q-learning agent를 baseline으로 하여, (2) 시간 축을 고려한 사전 정의된 이동성 기반 Q-learning agent를 비교할 것이다.
이때, 비교 지표로서, 패킷의 성공적인 전달률을 측정하는 packet delivery ratio, 패킷의 생성부터 최종 전달까지 걸린 delay, 그리고 패킷이 거쳐 간 노드의 개수(hop count)를 측정한다. 두 학습 agent의 학습에 필요한 hyperparameter는 표 1에 도시된 바와 같이 동일하게 설정한다.
Hyperparameter 설정값
0.15
0.6
1
1
0.2
0.2
1000
첫 번째로, 도 7을 참조하여 baseline과 시간 축을 고려하지 않은 사전 정의된 이동성 기반으로 복수의 이동체에 대한 라우팅에 있어서 packet delivery ratio를 비교한다. 이를 통해 baseline은 평균 0.573의 packet delivery ratio를 지니며, 사전 이동성을 기반으로 학습하였을 때는 평균 0.628의 packet delivery ratio로서, 라우팅에 상대적으로 높고 안정적인 성공률을 보였음을 알 수 있다.
또한, 도 8을 참조하면, end-to-end delay를 비교하였을 때, baseline은 평균 0.325초가 걸린 반면, 시간 축을 고려하지 않은 사전 정의된 이동성 기반은 평균 0.166초의 시간으로 절반에 가까운 시간 단축을 이루었다. 이는 시간 축을 고려하지 않은 사전 정의된 이동성 기반 학습이 더 높은 packet delivery와 안정적인 라우팅 노드 선정 기법을 학습하였음을 의미한다.
아울러, 도 9에 도시된 바와 같이, 패킷이 목표 노드에 성공적으로 전달되기까지 거쳐간 노드의 개수인 hop count를 비교하였다. Baseline은 평균 4.27개였던 반면, 시간 축을 고려하지 않은 사전 정의된 이동성 기반 학습은 평균 3.66개로 더 적은 수의 중간 노드를 통해 패킷이 전달되어 안정적이고 효율적인 라우팅을 이루었음을 알 수 있다.
다음으로, 도 10 내지 도 13을 참조하여, (1) 시간 축을 고려하지 않은 사전 정의된 이동성 기반 Q-learning agent를 baseline으로 하여, (2) 시간 축을 고려한 사전 정의된 이동성 기반 Q-learning agent를 비교한다.
이러한 비교를 위한 시나리오는 총 두 종류로, 보통의 이동성을 가지는 경우와 고속의 이동성을 가지는 경우로 이루어진다. 한 개의 source 노드와 한 개의 destination 노드를 제외한 15개의 노드는 이동성 시나리오에 따라 다른 속력을 지닌다. 이동성이 보통인 시나리오의 경우 15m/s, 고속의 이동성을 지니는 시나리오의 경우 20m/s의 속력으로 움직인다. 한 개의 source 노드는 1초마다 UDP/IP 패킷을 생성하여 전송하는 노드로 (0, 0)에 고정되어 있다. 또 다른 한 개의 destination 노드는 source 노드에서 생성한 모든 패킷의 종착점이며 (150, 150)에 고정되어 있다.
도 10은 보통의 이동성을 가지는 시나리오에서의 패킷 전송 성공률이고, 도 11은 보통의 이동성을 가지는 시나리오에서의 패킷당 거쳐간 평균 노드 수이며, 도 12는 고속의 이동성을 가지는 시나리오에서의 패킷 전송 성공률이고, 도 13은 고속의 이동성을 가지는 시나리오에서의 패킷당 거쳐간 평균 노드 수이다. 이들 도면에서 without_t가 시간 축을 고려하지 않은 경우이고, with_t가 시간 축을 고려한 경우이다.
실험 결과, 15m/s의 보통의 이동성을 가지는 시나리오에서 시간 축을 고려하지 않는 경우 평균 17%의 패킷 전송 성공률을 보였으나, 시간 축을 고려하는 경우 평균 63%의 패킷 전송 성공률을 보여 보다 뛰어난 성공률을 보였다(도 10). 또한, 거쳐간 노드의 수 또한 시간 축을 고려하지 않는 경우 학습이 진행되어도 높은 분산을 가지지만 시간 축을 고려하는 경우 안정적인 노드 수를 유지한다(도 11).
시간 축을 고려한 경우의 장점은 고속의 이동성 (20m/s)을 가지는 시나리오에서 더 두드러진다. 고속 시나리오에서 시간 축을 고려하지 않는 경우 평균 9%의 패킷 전송 성공률을 보였으나, 시간 축을 고려하는 경우 평균 58%의 패킷 전송 성공률을 보여 보다 뛰어난 성공률을 보였다(도 12). 또한, 거쳐간 노드의 수 또한 마찬가지로 시간 축을 고려하는 경우가 시간 축을 고려하지 않은 경우에 비해 안정적인 노드 수를 유지한다(도 13).
이를 통해, 시간 축에 따른 사전 이동성 고려한 Q-learning 기반 강화학습 에이전트가 시간 축을 고려하지 않은 Q-learning 기반 강화학습 에이전트보다 모든 지표(패킷 전송 성공률, 패킷당 거쳐간 평균 노드 수) 에서 높은 성능을 보임을 알 수 있다. 시뮬레이션 환경의 네트워킹 환경 및 이동성도 실제 환경을 고려하여 두 가지 이동성을 가진 시나리오로 설계되었기 때문에 본 라우팅 기술은 현실의 다양한 환경에 동일하게 적용 가능하다.
따라서, 본 발명의 일 실시예에 따른 애드혹 라우팅 강화학습 시스템에 관한 기술은 다양한 사전 정의된 이동성 기반 이동체 작전 (군사 작전, 소방 작전 등)에 폭넓게 활용될 수 있다.
이상, 본 발명의 특정 실시예에 대하여 상술하였다. 그러나, 본 발명의 사상 및 범위는 이러한 특정 실시예에 한정되는 것이 아니라, 본 발명의 요지를 변경하지 않는 범위 내에서 다양하게 수정 및 변형이 가능하다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 것이다.
따라서, 이상에서 기술한 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이므로, 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 하며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.

Claims (16)

  1. 컴퓨터 장치가 수행하는 지리적 애드혹 라우팅 강화학습 방법으로서,
    복수의 이동체에 대한 지리적 애드혹 라우팅의 네트워크 시뮬레이팅 환경으로부터 라우팅에 있어서 현재 시점 판단의 주체가 되는 제 1 노드를 의미하는 관찰(observation) 값을 획득하는 단계와,
    상기 획득된 관찰 값을 기반으로 상기 네트워크 시뮬레이팅 환경의 상기 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 라우팅 경로에서 다음 라우트인 제 2 노드를 선택하는 행동(action)을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하는 단계와,
    상기 행동을 기반으로 한 보상(reward)을 상기 네트워크 시뮬레이팅 환경으로부터 획득하는 단계를 포함하는
    지리적 애드혹 라우팅 강화학습 방법.
  2. 제 1 항에 있어서,
    상기 라우팅 경로에서 상기 제 1 노드와 상기 제 2 노드 및 목적지 노드까지의 거리가 가까워질수록 상기 보상이 높게 획득되고, 상기 제 1 노드와 상기 제 2 노드 및 목적지 노드가 가지는 링크 에러(link error) 및 위치 에러(location error)가 작을수록 상기 보상이 높게 획득되는
    지리적 애드혹 라우팅 강화학습 방법.
  3. 제 1 항에 있어서,
    상기 행동을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하는 단계에서,
    처음 observation space와 action space를 상기 네트워크 시뮬레이팅 환경과 동일하게 상기 복수의 이동체에 대응하는 노드의 총 수로 설정하고,
    Q-learning을 기반으로 학습될 보상의 기대값인 q-value들을 모두 음의 무한대로 설정하며,
    상기 각 행동에 대한 미래의 보상(q-value)을 갱신할 Q-Table을 상기 시간 축에 대한 정보를 활용해 각 시간 축 단위마다 하나씩 구성하여 여러 Q-Table의 집합을 만들어 사용하는
    지리적 애드혹 라우팅 강화학습 방법.
  4. 제 3 항에 있어서,
    상기 Q-learning을 기반으로 학습은, 랜덤한 행동을 실행시켜 상기 Q-Table에 새로운 데이터를 누적하기 위한 exploration과, 학습된 지식을 사용하여 판단을 내리기 위한 exploitation으로 나뉘는
    지리적 애드혹 라우팅 강화학습 방법.
  5. 제 4 항에 있어서,
    상기 랜덤한 행동으로서, 일정한 1 미만의 상수 epsilon을 정의하여, 랜덤하게 생성된 1 미만의 수가 상기 상수 epsilon보다 작을 경우, 상기 각 행동에 대하여 무작위의 행동을 선정하고, 상기 선정된 무작위의 행동은 상기 네트워크 시뮬레이팅 환경으로 전달되는
    지리적 애드혹 라우팅 강화학습 방법.
  6. 제 5 항에 있어서,
    상기 랜덤하게 생성된 1 미만의 수가 상기 상수 epsilon보다 클 경우, current node에 대응하는 상기 Q-Table에서 가장 기댓값이 높은 index를 검출하고, 상기 검출된 index의 노드를 라우팅에 있어서 선택될 다음 노드로 설정하는
    지리적 애드혹 라우팅 강화학습 방법.
  7. 제 3 항에 있어서,
    상기 라우팅 경로에서 제1 노드의 다음 라우트인 제2 노드를 선택하는 행동에 대응하는 상기 q-value를 수학식 1을 통해 갱신하는
    (수학식 1)

    (여기서, st는 current node, at는 행동으로 판단된 다음 노드, 보상은 QGeo 알고리즘에 따라 정의된 앞의 서술된 보상 함수(reward function)의 값, st+1은 관찰을 통해 받아온 다음 노드)
    지리적 애드혹 라우팅 강화학습 방법.
  8. 적어도 하나의 명령어를 저장하는 메모리부와,
    프로세서부를 포함하며,
    상기 프로세서부에 의해 상기 적어도 하나의 명령어가 실행됨으로써,
    복수의 이동체에 대한 지리적 애드혹 라우팅의 네트워크 시뮬레이팅 환경으로부터 라우팅에 있어서 현재 시점 판단의 주체가 되는 제 1 노드를 의미하는 관찰 값을 획득하고,
    상기 획득된 관찰 값을 기반으로 상기 네트워크 시뮬레이팅 환경의 상기 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 라우팅 경로에서 다음 라우트인 제 2 노드를 선택하는 행동을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하며,
    상기 행동을 기반으로 한 보상을 상기 네트워크 시뮬레이팅 환경으로부터 획득하는
    컴퓨터 장치.
  9. 제 8 항에 있어서,
    상기 라우팅 경로에서 상기 제 1 노드와 상기 제 2 노드 및 목적지 노드까지의 거리가 가까워질수록 상기 보상이 높게 획득되고, 상기 제 1 노드와 상기 제 2 노드 및 목적지 노드가 가지는 링크 에러(link error) 및 위치 에러(location error)가 작을수록 상기 보상이 높게 획득되는
    컴퓨터 장치.
  10. 제 8 항에 있어서,
    상기 프로세서는,
    상기 행동을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달할 때에,
    처음 observation space와 action space를 상기 네트워크 시뮬레이팅 환경과 동일하게 상기 복수의 이동체에 대응하는 노드의 총 수로 설정하고,
    Q-learning을 기반으로 학습될 보상의 기대값인 q-value들을 모두 음의 무한대로 설정하며,
    상기 각 행동에 대한 미래의 보상(q-value)을 갱신할 Q-Table을 상기 시간 축에 대한 정보를 활용해 각 시간 축 단위마다 하나씩 구성하여 여러 Q-Table의 집합을 만들어 사용하는
    컴퓨터 장치.
  11. 제 10 항에 있어서,
    상기 Q-learning을 기반으로 학습은, 랜덤한 행동을 실행시켜 상기 Q-Table에 새로운 데이터를 누적하기 위한 exploration과, 학습된 지식을 사용하여 판단을 내리기 위한 exploitation으로 나뉘는
    컴퓨터 장치.
  12. 제 11 항에 있어서,
    상기 랜덤한 행동으로서, 일정한 1 미만의 상수 epsilon을 정의하여, 랜덤하게 생성된 1 미만의 수가 상기 상수 epsilon보다 작을 경우, 상기 각 행동에 대하여 무작위의 행동을 선정하고, 상기 선정된 무작위의 행동은 상기 네트워크 시뮬레이팅 환경으로 전달되는
    컴퓨터 장치.
  13. 제 12 항에 있어서,
    상기 랜덤하게 생성된 1 미만의 수가 상기 상수 epsilon보다 클 경우, current node에 대응하는 상기 Q-Table에서 가장 기댓값이 높은 index를 검출하고, 상기 검출된 index의 노드를 라우팅에 있어서 선택될 다음 노드로 설정하는
    컴퓨터 장치.
  14. 제 10 항에 있어서,
    상기 라우팅 경로에서 제1 노드의 다음 라우트인 제2 노드를 선택하는 행동에 대응하는 상기 q-value를 수학식 1을 통해 갱신하는
    (수학식 1)

    (여기서, st는 current node, at는 행동으로 판단된 다음 노드, 보상은 QGeo 알고리즘에 따라 정의된 앞의 서술된 보상 함수(reward function)의 값, st+1은 관찰을 통해 받아온 다음 노드)
    컴퓨터 장치.
  15. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    복수의 이동체에 대한 지리적 애드혹 라우팅의 네트워크 시뮬레이팅 환경으로부터 라우팅에 있어서 현재 시점 판단의 주체가 되는 제 1 노드를 의미하는 관찰 값을 획득하는 단계와,
    상기 획득된 관찰 값을 기반으로 상기 네트워크 시뮬레이팅 환경의 상기 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 라우팅 경로에서 다음 라우트인 제 2 노드를 선택하는 행동을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하는 단계와,
    상기 행동을 기반으로 한 보상을 상기 네트워크 시뮬레이팅 환경으로부터 획득하는 단계를 포함하는 지리적 애드혹 라우팅 강화학습 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
    컴퓨터 판독 가능한 기록매체.
  16. 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    복수의 이동체에 대한 지리적 애드혹 라우팅의 네트워크 시뮬레이팅 환경으로부터 라우팅에 있어서 현재 시점 판단의 주체가 되는 제 1 노드를 의미하는 관찰 값을 획득하는 단계와,
    상기 획득된 관찰 값을 기반으로 상기 네트워크 시뮬레이팅 환경의 상기 복수의 이동체에 대한 시간 축에 따른 사전 이동성을 고려한 라우팅 경로에서 다음 라우트인 제 2 노드를 선택하는 행동을 판단하여 상기 네트워크 시뮬레이팅 환경으로 전달하는 단계와,
    상기 행동을 기반으로 한 보상을 상기 네트워크 시뮬레이팅 환경으로부터 획득하는 단계를 포함하는 지리적 애드혹 라우팅 강화학습 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
    컴퓨터 프로그램.
KR1020220150662A 2022-11-11 2022-11-11 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법 및 이를 위한 컴퓨터 장치 KR20240069290A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220150662A KR20240069290A (ko) 2022-11-11 2022-11-11 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법 및 이를 위한 컴퓨터 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220150662A KR20240069290A (ko) 2022-11-11 2022-11-11 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법 및 이를 위한 컴퓨터 장치

Publications (1)

Publication Number Publication Date
KR20240069290A true KR20240069290A (ko) 2024-05-20

Family

ID=91282853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220150662A KR20240069290A (ko) 2022-11-11 2022-11-11 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법 및 이를 위한 컴퓨터 장치

Country Status (1)

Country Link
KR (1) KR20240069290A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102108658B1 (ko) 2018-12-18 2020-05-07 한양대학교 산학협력단 무인 비행 장치 및 이의 경로 계획 방법
KR102346653B1 (ko) 2020-05-19 2022-01-03 국방과학연구소 강화학습 기반 uav 애드혹 네트워크 중계 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102108658B1 (ko) 2018-12-18 2020-05-07 한양대학교 산학협력단 무인 비행 장치 및 이의 경로 계획 방법
KR102346653B1 (ko) 2020-05-19 2022-01-03 국방과학연구소 강화학습 기반 uav 애드혹 네트워크 중계 시스템

Similar Documents

Publication Publication Date Title
Bouachir et al. A mobility model for UAV ad hoc network
Kopeikin et al. Dynamic mission planning for communication control in multiple unmanned aircraft teams
Sivakumar et al. UAV swarm coordination using cooperative control for establishing a wireless communications backbone
Rovira-Sugranes et al. Predictive routing for dynamic UAV networks
Kumar et al. Bayesian coalition game for the internet of things: an ambient intelligence-based evaluation
Zema et al. The CUSCUS simulator for distributed networked control systems: Architecture and use-cases
KR20230136335A (ko) 강화학습 기반 다중 드론 네트워크 협업 운용 계획 생성 방법 및 장치
Fu et al. Coalition formation among unmanned aerial vehicles for uncertain task allocation
CN117240722A (zh) 无人机飞行自组织网络路由拓扑优化方法、设备、介质
Smith et al. Data transfer via UAV swarm behaviours: Rule generation, evolution and learning
Liu et al. AR-GAIL: Adaptive routing protocol for FANETs using generative adversarial imitation learning
Smith et al. Adaptive data transfer methods via policy evolution for UAV swarms
Jailton et al. Relay Positioning Strategy for Traffic Data Collection of Multiple Unmanned Aerial Vehicles Using Hybrid Optimization Systems: A FANET‐Based Case Study
CN105025516B (zh) 高动态环境下的移动状态累积加权路由方法
KR102660836B1 (ko) 애드혹 라우팅을 위한 강화학습 시스템, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR20240069290A (ko) 시간 축에 따른 사전 이동성을 활용한 지리적 애드혹 라우팅 강화학습 방법 및 이를 위한 컴퓨터 장치
Konak et al. Improving network connectivity in ad hoc networks using particle swarm optimization and agents
CN117041132A (zh) 一种基于深度强化学习的分布式负载均衡卫星路由方法
Bezzo et al. A decentralized connectivity strategy for mobile router swarms
CN114895710A (zh) 一种无人机集群自主行为的控制方法及系统
Zema et al. Formation control of a mono-operated uav fleet through ad-hoc communications: a q-learning approach
Abu-Aisheh et al. Coordinating a swarm of micro-robots under lossy communication
Fraser Data ferry flocking for bulk information transfer under ferry buffer constraints
Bieliakov DEVELOPMENT OF A ROUTING METHOD FOR GROUND-AIR AD-HOC NETWORK OF SPECIAL PURPOSE.
Romeo et al. Multirobot persistent patrolling in communication-restricted environments

Legal Events

Date Code Title Description
E902 Notification of reason for refusal