KR102424206B1 - 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법 - Google Patents

시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법 Download PDF

Info

Publication number
KR102424206B1
KR102424206B1 KR1020210037431A KR20210037431A KR102424206B1 KR 102424206 B1 KR102424206 B1 KR 102424206B1 KR 1020210037431 A KR1020210037431 A KR 1020210037431A KR 20210037431 A KR20210037431 A KR 20210037431A KR 102424206 B1 KR102424206 B1 KR 102424206B1
Authority
KR
South Korea
Prior art keywords
simulation
reverse
engine
algorithm
server
Prior art date
Application number
KR1020210037431A
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 KR1020210037431A priority Critical patent/KR102424206B1/ko
Application granted granted Critical
Publication of KR102424206B1 publication Critical patent/KR102424206B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing Of Engines (AREA)

Abstract

일 실시예에 따른 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버는, N개의 클라이언트 인터페이스에 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와, M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고, 상기 엔진 스레드는 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공한다.

Description

시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법{REVERSE SIMULATION ENGINE SERVER AND REVERSE SIMULATION METHOD THEREOF FOR DEVELOPING DEFENSE SYSTEMS BASED ON SIMULATION MODELS}
본 발명은 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션을 수행하는 엔진 서버와 이러한 엔진 서버가 역방향 시뮬레이션을 수행하는 방법에 관한 것이다.
모델링 시뮬레이션(M&S: Modeling and simulation)은 실전을 통한 국방체계의 테스트가 불가능한 상황에서 체계 효과도(MOE: Measure of effectiveness)를 평가하고 분석하는데 효과적으로 활용되어 왔다. 체계 효과도 분석을 위한 시뮬레이션 모델은 기본적으로 장비의 공학적 제원(Engineering factors) 및 성능(MOP: Measure of performance) 또는 그 운용 전술(Operational tactics)에 대해서 가상 전장에서의 그 효과도를 분석한다. 예를 들어서 모델링 시뮬레이션을 사용하여 기만기의 다양한 제원에 대해서 전함의 생존율을 분석하였으며, F-16 전투기의 미사일에 대한 회피 기동 전술을 분석하였다. 이러한 시뮬레이션의 활용을 순방향 시뮬레이션이라고 정의할 때, 역방향 시뮬 레이션은 반대로 목표로 하는 효과도를 달성하기 위해서 필요한 시스템의 제원 및 성능 또는 운용 전술을 도출하는 것을 의미한다. 즉, 역방향 시뮬레이션은 시뮬레이션 모델의 출력에 대한 주어진 요구조건을 만족하는 입력 집합을 도출하는 것으로, 수상함의 생존율을 90%이상 달성할 수 있는 기만기의 제원을 찾는 것이 그 예시가 될 수 있다.
모델링 시뮬레이션을 바탕으로 국방체계를 분석하고 평가하는 것은 순방향 시뮬레이션이 효과적이지만, 국방체계를 설계하고 개발하는 것은 역방향 시뮬레이션을 요구한다. 높은 효과도를 가지는 국방체계를 설계하기 위해서는 역방향 시뮬레이션을 통하여 목표하는 효과도를 만족하는 장비들의 제원 및 성능, 그리고 운용 전술을 찾을 필요가 있다. 하지만 역모델을 도출할 수 없는 시뮬레이션 모델의 특성상 역방향 시뮬레이션은 많은 순방향 시뮬레이션 반복을 요구하기 때문에 효율성의 문제를 초래한다.
한국등록특허 제10-1928941호 (2018.12.07. 등록)
실시예에 따르면, 반복 횟수를 줄임으로 역방향 시뮬레이션을 효율적으로 수행하기 위한 다양한 역방향 시뮬레이션 알고리즘을 제공한다. 그리고 이 알고리즘을 손쉽게 적용하기 위한 역방향 시뮬레이션 시스템(도구)을 제공한다. 실무자는 본 발명의 역방향 시뮬레이션 시스템을 바탕으로 다양한 역방향 시뮬레이션 알고리즘을 활용하여 국방체계 설계를 위한 역방향 시뮬레이션을 손쉽게, 또 효율적으로 수행할 수 있다. 전함의 방어 시스템 설계 및 NCW(Network Centric Warfare) 네트워크 시스템 설계에 대한 사례를 통하여 이를 보여준다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
제 1 관점에 따른 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버는, N개의 클라이언트 인터페이스에 각각 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와, M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고, 상기 엔진 스레드는 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공한다.
제 2 관점에 따른 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버가 수행하는 역방향 시뮬레이션 방법은, 상기 역방향 시뮬레이션 엔진 서버는, N개의 클라이언트 인터페이스에 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와, M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고, 상기 역방향 시뮬레이션 방법은, 상기 엔진 스레드가 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공한다.
제 3 관점에 따라 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 컴퓨터 프로그램이, 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버의 프로세서에 의해 실행되면, 상기 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되, 상기 역방향 시뮬레이션 엔진 서버는, N개의 클라이언트 인터페이스에 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와, M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고, 상기 역방향 시뮬레이션 방법은, 상기 엔진 스레드가 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공한다.
제 4 관점에 따라 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램은, 상기 컴퓨터 프로그램이, 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버의 프로세서에 의해 실행되면, 상기 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되, 상기 역방향 시뮬레이션 엔진 서버는, N개의 클라이언트 인터페이스에 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와, M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고, 상기 역방향 시뮬레이션 방법은, 상기 엔진 스레드가 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공한다.
시뮬레이션 모델을 통해 가상 전장에서 국방체계의 효과도를 분석하는 것을 순방향 시뮬레이션이라고 할 때, 높은 효과도를 가지는 국방체계를 설계하기 위해서는 역방향 시뮬레이션이 요구된다. 즉 효과도 분석 모델을 바탕으로 높은 효과도를 달성하기 위한 군사 장비들의 제원 및 성능, 그리고 운용 전술을 역으로 도출해야 한다. 하지만 역모델을 도출할 수 없는 시뮬레이션 모델의 특성상 역방향 시뮬레이션은 많은 순방향 시뮬레이션 반복을 요구하므로 효율성의 문제를 초래한다. 본 발명의 실시예에 따르면, 반복 횟수를 줄임으로 역방향 시뮬레이션을 효율적으로 수행하기 위한 다양한 알고리즘을 제시하고, 실무자가 이들을 손쉽게 활용하기 위한 역방향 시뮬레이션 시스템을 개시한다. 실무자는 역방향 시뮬레이션 시스템을 바탕으로 다양한 역방향 시뮬레이션 알고리즘을 활용하여 국방체계 설계를 위한 역방향 시뮬레이션을 손쉽게, 또 효율적으로 수행할 수 있다. 전함의 방어 시스템 설계와 군사 네트워크 시스템 설계에 대한 실시예들은 이러한 본 발명의 효과를 입증한다.
도 1은 본 발명의 실시예에 따라 정의된 순차적 할당 절차의 알고리즘을 나타낸 것이다.
도 2는 본 발명의 실시예에 따른 역방향 시뮬레이션 시스템의 구성도이다.
도 3은 본 발명의 실시예에 따른 시뮬레이션 모델에 대하여 구현된 콜백 함수를 나타낸다.
도 4 및 도 5는 본 발명의 실시예에 따른 역방향 시뮬레이션을 위한 설정 과정의 예시도이다.
도 6은 본 발명의 실시예에 따른 클라이언트 GUI의 모니터링 화면의 예시도이다.
도 7, 도 8, 도 9 및 도 11은 본 발명의 실시예에 따라 고려해야 하는 각종 시스템 파라미터들 및 그 범위를 예시한 것이다.
도 10은 본 발명의 실시예에 따른 시뮬레이션 모델을 통해서 도출할 수 있는 지연 시간과 전달 비율을 나타낸 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 '부'라는 용어는 소프트웨어 또는 FPGA나 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
1. 역방향 시뮬레이션
국방체계를 설계하고 개발할 때에 이용할 수 있는 역방향 시뮬레이션은 시뮬레이션 모델의 가능한 입력 집합 중에서 원하는 출력의 요구조건을 만족하는 입력의 집합을 도출하는 것으로 정의된다. 이는 잘 알려진 시뮬레이션 기반 최적화(Simulation-based optimization)와 맥락을 같이 하지만, 시뮬레이션 기반 최적화는 출력을 최대화 또는 최소화하는 입력을 찾는다. 반면에 역방향 시뮬레이션은 이를 확장시켜서 입력들의 순위, 최적의 하위 집합, 제약조건 하에서 실현가능한(feasible) 집합 등 실제 설계 문제에서 주어지는 다양한 요구조건에 대한 해답을 찾는다.
일반적으로 출력에 따른 입력을 찾기 위해서는 역모델을 구할 수 있어야 하지만, 시뮬레이션 모델의 경우 수학적 닫힌 형태로 묘사되지 않는 복잡한 시스템을 묘사하기 때문에 역모델을 도출할 수 없다. 따라서 역방향 시뮬 레이션의 경우 입력들에 대한 순방향 시뮬레이션의 반복을 통해서 이루어진다. 예를 들어서, k개의 입력들 중에서 c이상의 출력을 가지는 입력 집합을 찾는 역방향 시뮬레이션은 각 입력에 대한 순방향 시뮬레이션을 통해 출력을 구하고, 이를 바탕으로 해당하는 집합을 찾는 것이다. 각 입력에 대해 한 번의 순방향 시 뮬레이션을 통해서 출력을 정확하게 구할 수 있다면 다행이지만, 많은 경우 시뮬레이션 모델은 실세계의 불확실성을 나타내는 랜덤 변수 또는 프로세스를 가지며 이로 인해 출력에 확률적 노이즈가 발생한다. 따라서 한 입력에 대한 시뮬레이션 출력은 독립적인 반복 순방향 시뮬레이션을 통해 얻어진 출력 샘플들의 평균으로 추정된다. 각 입력에 대해서 출력을 얻기 위해 N개의 샘플을 추출한다고 한다고 할 때 역방향 시뮬레이션을 위해 필요한 총 순방향 시뮬레이션 횟수는 kN이다. 만약 k가 커지거나, 출력의 노이즈가 큰 경우 (즉, 출력의 정밀도를 맞추기 위해 N이 커진다) 이 횟수는 굉장히 커질 수 있다. 특히 시뮬레이션 모델의 경우 최근 시스템의 복잡도가 증가함에 따라서 한 번의 순방향 시뮬레이션에 소요되는 시간이 증가하고 있으며, 이는 역방향 시뮬레이션에서 효율성 문제를 야기한다.
역방향 시뮬레이션을 효율적으로 수행하기 위하여 지금까지 다양한 알고리즘들이 제안된바 있으며, 이는 가능한 입력 집합의 크기에 따라서 크게 두 가지로 구분될 수 있다. 가능한 입력 집합의 크기가 굉장히 크거나 무한한 경우 유전 알고리즘(Genetic algorithm), 입자 군집 최적화(Particle swarm optimization), 담금질 기법(Simulated annealing) 의 메타휴리스틱(Metaheuristic) 알고리즘이 활용될 수 있으며, 반면에 입력 집합의 크기가 작거나 한정적인 경우 순위 및 선택(R&S: ranking and selection) 방법이 효과적이다. 메타휴리스틱 알고리즘은 랜덤하게 선택된 시작 입력으로부터(또는 소규모 입력 집합) 충분히 괜찮은(good enough) 해를 찾을 때까지 반복적으로 입력을 개선해 나가는 방식이다. 예를 들어서 유전 알고리 즘은 교차(Crossover)와 변이(Mutation)의 유전 법칙을 바탕으로 입력 집합을 개선하며, 입자 군집 최적화는 군집지능(Swarm intelligence)을 바탕으로 입력에 대응하는 각각의 입자들이 더 좋은 해를 찾도록 속도와 방향을 조정한다.
순위 및 선택 방법의 경우 한정적인 입력 집합에 대해서 N개의 샘플을 추출하는 것이 아닌, 각 입력에 대한 순방향 시뮬레이션 횟수를 시뮬레이션 결과에 따라 지능적으로 조정하여, 한정된 샘플링 횟수로 주어진 요구조건을 만족하는 입력 집합을 찾는 것을 목표로 한다. 순위 및 선택 방법은 크게 4가지의 접근 방식을 바탕으로 다양한 요구조건에 대응할 수 있는 많은 효율적인 알고리즘들이 같이 개발되었다. 순위 및 선택 방법들은 공통적으로 한정된 샘플링 횟수가 T만큼 주어질 때 이를 작은 단위 Δ로 쪼개어서 순차적으로 할당한다. 즉 Δ을 입력 집합에 대해서 할당을 하고, 추가 샘플링 횟수를 할당받은 입력에 대해서 순방향 시뮬레이션을 통해 출력 샘플을 도출하여 표본 평균, 표본 분산과 같은 통계치를 갱신한다. 그리고 이 갱신된 정보를 바탕으로 다시 Δ를 할당한다. 이를 순차적 할당 절차(Sequential allocation procedure) 라고 정의하며, 도 1의 알고리즘(Algorithm) 1은 이를 나타낸다. 알고리즘 1의 파라미터 중에서 n0는 Δ를 반복적으로 할당하기 이전에, Δ할당을 위해서 입력집합 내의 모든 입력에 대해 수집되는 최소한의 샘플 개수를 의미한다.
접근 방식에 따라 순위 및 선택 알고리즘들이 가지는 차이점은 주어진 출력 요구조건을 만족하는 해를 효율적으로 찾기 위해 추가 샘플링 횟수를 할당하는 전략에 있다. 예를 들어서 무차별 영역(IZ: Indifference-zone) 접근법 에 기반한 알고리즘들은 해가 될 확률이 높은 입력 주변 영역에 속한 입력들에 대해서 샘플링 횟수를 할당한다. 또한 불확실성 평가(UE: Uncertainty evaluation) 접근법에 기반한 알고리즘들은 가설 검정을 바탕으로 각 입력에 대해 수집된 시뮬레이션 결과가 해의 정확한 선택을 위한 통계적으로 유의미한(Significant) 증거가 되는지를 판단하는 지표인 불확실성을 정의하고, 각 입력의 불확실성에 따라서 샘플링 횟수를 할당한다. 각 접근 방식은 그 들의 할당 전략에 따라서 장단점을 가지며, 이는 풀고자 하는 역방향 시뮬레이션 문제의 종류와 특징에 대해서 어떠한 알고리즘을 선택하는 것이 효율적인지를 선택하는 기준이 된다. 예를 들어서 시뮬레이션 모델의 확률적 노이즈가 크고 아주 정확하게 해를 찾아야 하는 경우 (예를 들어서 찾은 해의 정확도(P{CS}: Probability of correct selection)가 90% 이상) UE 기반의 알고리즘이 효과적이다. 반면에 노이즈가 작으면서 정확도를 희생하더라도 빠르게 해를 찾아야 하는 경우 컴퓨팅 예산 최적 할당(OCBA: Optimal computing budget allocation) 기반 알고리즘이 효과적이다. 또한 정확하지 않더라도 시스템의 안전성 등을 위해서 최악의 선택은 피해야 하는 경우 기댓값 정보(EVI: Expected value information) 기반 알고리즘이 효과적이다. 한편, 순위 및 선택 방법은 역방향 시뮬레이션 외에도 오토마타(Automata) 학습, 강화학습(Reinforcement learning), 희귀 사건 시뮬레이션(Rare-event simulation) 등의 시뮬레이션이 활용되는 다양한 분야에 적용된다.
메타휴리스틱 알고리즘의 경우 굉장히 크거나 무한한 입력 집합에 대해서 괜찮은 해를 찾을 수 있다는 장점이 있으나, 다양한 출력 요구조건에 대한 해를 찾는 것에는 어려움이 있다. 특히 찾은 해가 최적이라는 수학적인 보장이 불가능하며, 알고리즘의 다양한 파라미터 설정에 따라서 수렴하지 못하는 경우도 많이 발생한다. 이러한 단점들은 실제 설계 문제에서 메타휴리스틱 알고리즘의 활용에 제약을 가한다. 반면에 R&S 방법의 경우 입력 집합의 크기가 한정적이고 상대적으로 작을 때 적용할 수 있다는 단점이 있으나, 메타휴리스틱 알고리즘과 달리 다양한 요구조건에 대응할 수 있으며, 이를 만족하는 해를 정확하게 찾을 수 있다. 다시 말해서, 찾은 해가 정확한 것을 수학적으로 보장할 수 있으며(Chen and Lee, 2011), 이는 정확한 해를 찾을 수 없는 메타휴리스틱 알고리즘에 대해서 큰 장점이다. 또한 상대적으로 설정해야 할 알고리즘 파라미터의 개수가 적으며 설정에 민감하지 않다. 실제 설계 문제의 많은 경우 유의미한 단위 및 다 양한 오차 요소를 고려하고, 물리적으로 가능하지 않은 입력 범위를 배제하면 한정적인 입력 집합을 만들 수 있다. 예를 들어서 자항식 기만기의 배터리 용량이 kW 단 위로 개발된다고 할 때, 몇십 W를 증감하는 것은 무의미하므로 의미있는 값을 기준으로 연속적인 용량의 범위를 이산화할 수 있다. 또한 생산되는 배터리 용량을 고려할 때 이 이산화된 값의 개수가 상당부분 줄어들게 되고, 이 는 R&S가 실제 설계 문제에서 효과적으로 활용될 수 있도록 한다. 이러한 과정을 적용하였음에도 입력 집합의 크기가 큰 경우 이를 분할하여서 R&S의 반복적인 적용을 통해서 해를 찾을 수도 있다. 이는 R&S가 찾은 해에 대한 수학적인 보장을 해줄 수 있기 때문에 가능하다. 지금까지 많은 R&S 알고리즘이 제안 되었으나, 실무자들은 주어진 시뮬레이션 기반 모델 설계 문제에 대해서 어떤 알고리즘을 활용하는 것이 효과적일지, 알고리즘의 파라미터를 어떻게 결정해야 할지 판단하는 것이 쉽지 않았다. 또한 적절한 알고리즘을 결정하더라도, 이를 활용하기 위해서 구현 등의 번거로운 과정을 거쳐야 한다.
2. 역방향 시뮬레이션 시스템(도구)
도 2는 본 발명의 실시예에 따른 역방향 시뮬레이션 시스템의 전체 구조도이다.
도 2에 나타낸 바와 같이 역방향 시뮬레이션 시스템(100)은 역방향 시뮬레이션 엔진 서버(110)와 어댑터(120), 그리고 클라이언트 GUI(Graphical user interface)(130)를 포함한다.
각각의 요소는 네트워크를 통하여 연결되어 있으므로, 어댑터(120)를 통해 연결될 수 있는 시뮬레이션 모델(121) 또는 클라이언트 GUI(130)를 이용하는 실무자가 물리적으로 떨어져 있는 경우에도 활용이 가능하다. 어댑터(120)는 시뮬레이션 모델(121)이 구현된 플랫폼에 관계없이 역방향 시뮬레이션을 적용할 수 있도록 한다.
역방향 시뮬레이션 엔진 서버(110)는 다양한 R&S 알고리즘을 탑재하고 있으며, 새로운 알고리즘을 추가할 수 있다. 또한 실무자가 해결하고자 하는 설계 문제에 적합한 알고리즘들을 제시하며 알고리즘에 대한 설명과 함께 적절한 파라미터 설정 제안을 제공한다. 역방향 시뮬레이션 엔진 서버(110)는 m개의 연결된 시뮬레이션 모델에 대해서 n개의 클라이언트로부터 동시에 역방향 시뮬레이션을 진행할 수 있다. 각 클라이언트에 대해서 대응하는 엔진 스레드(Thread)(111)가 생성되며, 이 엔진 스레드(111)는 클라이언트가 선택한 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행한다. 각 엔진 스레드(111)는 알고리즘 진행에 따라서 입력에 대한 출력 샘플들을 수집하기 위해 네트워크 서버(112)에 연결된 시뮬레이션 모델에 순방향 시뮬레이션을 요청한다. 시뮬레이션 모델(121)의 경우 클라이언트 GUI(130)와 독립적이며 따라서 다수의 클라이언트 GUI(130)로부터 동시에 시뮬레이션을 요청받을 수 있다. 이 요청들은 역방향 시뮬레이션 엔진 서버(110)와 시뮬레이션 모델(121)을 연결하는 어댑터(120)에 의해서 관리된다. 네트워크 서버(112)는 어댑터(120)로부터 전달받은 입력에 대한 순방향 시뮬레이션 결과를 엔진 스레드(111)에 전달하고, 이를 바탕으로 알고리즘에 따른 역방향 시뮬레이션을 수행한다. 시뮬레이션 요청과 결과를 전달하는 것 외에도 네트워크 서버(112)는 클라이언트 GUI(130) 및 시뮬레이션 모델(121)의 연결을 관리한다.
어댑터(120)는 C/C++/C#/JAVA 등 다양한 플랫폼에 기반한 시뮬레이션 모델(121)이 수정 없이 역방향 시뮬레이션 엔진 서버(110)에 연결될 수 있도록 한다. 동적 연결 라이브러리(DLL: Dynamic link library)로 구현된 어댑터(120)는 네트워크 서버(112)와의 연결을 위한 네트워크 라이브러리와 순방향 시뮬레이션 요청을 관리하기 위한 큐(Queue), 그리고 순방향 시뮬레이션을 수행하기 위한 콜백(Callback) 함수로 이루어진다. 엔진 스레드(111)로부터 받은 시뮬레이션 요청은 네트워크 서버(112)를 거쳐 어댑터(120)의 큐에 저장되고, 차례대로 콜백 함수를 통해 시뮬레이션 결과를 얻는다. 콜백 함수는 클라이언트 아이디와 시뮬레이션 결과를 도출할 입력 집합을 매개변수로 가지며, 내부에서 전달받은 입력에 대해 기존 시뮬레이션 모델을 실행(또는 호출) 하여 얻어진 결과를 반환 한다.
도 3은 C++ 플랫폼을 기반으로 개발된 시뮬레이션 모델에 대해서 구현된 콜백 함수를 나타낸다. 콜백 함수 호출을 통해 얻어진 결과는 다시 네트워크 서버(112)로 전달되어 엔진 스레드(111)의 역방향 시뮬레이션에 활용된다.
클라이언트 GUI(130)는 실무자로 하여금 편리하고 또 직관적으로 역방향 시뮬레이션을 활용할 수 있도록 한다. 실무자는 역방향 시뮬레이션 엔진 서버(110)에 접속한 뒤 역방향 시뮬레이션 엔진 서버(110)로부터 연결되어 있는 시뮬레이션 모델 중에서 역방향 시뮬레이션 모델을 수행하기 위한 모델을 선택한다. 다음으로 도 4와 같이 역방향 시뮬레이션을 위한 가능한 입력 집합을 생성하고 역방향 시뮬레이션 알고리즘을 설정한다. 그리고, 도 5에 나타낸 클라이언트 GUI와 같이 시뮬레이션 모델의 입력을 구성하는 파라미터들의 종류에 따라서 범위 또는 값을 조정하면 역방향 시뮬레이션 엔진 서버(110)는 이를 바탕으로 가능한 입력 집합을 자동 생성한다. 도 5의 (a)는 연속 입력 파라미터 설정이고, (b)는 이산 입력 파라미터 설정이다. 또한 설계 문제에 필요한 출력 요구조건을 선택하면 역방향 시뮬레이션 엔진 서버(110)는 이를 만족하는 해를 찾기 위한 효율적인 역방향 시뮬레이션 알고리즘들과 추천 파라미터 설정을 제시한다. 필요에 따라서 알고리즘의 파라미터를 수동으로도 조정할 수 있다. 이 모든 설정은 저장이 가능하며, 필요시 불러오기를 통하여 빠르게 이 과정을 마무리 할 수 있다. 실무자가 설정을 마무리하면 역방향 시뮬레이션 엔진 서버(110)에서 이에 대응하는 엔진 스레드가 생성되어 역방향 시뮬레이션이 수행된다. 실무자는 도 6과 같이 클라이언트 GUI(130)를 통해서 역방향 시뮬레이션의 전 과정을 모니터링하고 제어할 수 있다. 우측 그래프에서 가능한 입력들의 시뮬레이션 결과에 대한 표본 평균, 오차 범위, 표본 분산 등의 통계치를 확인 할 수 있으며, 좌측 그래프에서는 역방향 시뮬레이션 알고리즘에 따라서 각 입력에 할당되는 샘플링 횟수 및 누적 할당 횟수를 확인할 수 있다. 아래쪽에는 그래프로 표시되지 않는 관련 정보 및 로그, 그리고 각 입력에 대한 세부적인 모델 파라미터 값의 구성을 확인할 수 있다. 실무자는 클라이언트 GUI(130)를 통해서 도 1의 알고리즘 1의 순차적 절차에 따라서 역방향 시뮬레이션 알고리즘의 반복을 제어할 수 있으며, 더 이상 반복을 진행하지 않고 종료하여 결과를 도출할 수도 있다. 역방향 시뮬레이션이 종료되면, 주어진 출력 요구조건을 만족하는 입력 집합들이 표시가 된다. 실무자는 역방향 시뮬레이션 결과를 파일로 저장하여 분석할 수 있으며, 동일한 설정으로 역방향 시뮬레이션을 다시 수행할 수도 있다.
본 발명의 역방향 시뮬레이션 시스템은 역방향 시뮬레이션뿐만 아니라 개발한 시뮬레이션 모델을 검증하는데도 활용이 될 수 있다. R&S 알고리즘이 아닌, 모든 가능한 입력 집합에 대해서 동일한 샘플링 횟수를 할당하는 동등 할당 알고리즘을 사용하여서, 시뮬레이션이 입력에 대해서 적절한 출력을 도출하는지를 검증할 수 있다. 또한 순차적 절차를 제어할 수 있으므로, 새로운 R&S 알고리즘의 동작을 검증하고 개발하는데도 활용될 수 있다.
3. 전함의 방어 시스템 설계를 위한 실시예
전함으로 날아오는 공대함 미사일(ASM, Air-to-surfacemissile)을 방어하기 위한 방어 시스템은 3단계로 구성되어 있다. 1단계는 함대공 미사일, Surface-to-air missile)을 발사하여 날아오는 ASM을 격추하는 것이며, 이것이 실패하면 2단계로 전자전(Electrical warfare)을 수행하게 된다. 이 전자전은 방해전파(ECM, Electric counter measure)를 발사하여 ASM의 레이더를 교란하는 것과, 알루미늄 혹은 아연 조각으로 구성된 채프(Chaff)를 뿌려서 ASM이 목표물을 착각하도록 하는 것으로 구성된다. 2단계가 실패할 경우 3단계에서 근접방어무기체계(CIWS, Close-in weapon system)를 통해서 ASM 격추를 시도하게 된다. 현대 전장에서 전함은 지휘 통제(C2, Command and control) 체계의 중심으로 해군 전력의 핵심이기 때문에, 단 1%라도 그 생존률을 높이는 것은 중요하다. 이에, 시뮬레이션 모델을 바탕으로 전함의 생존율을 최대화하는 방어 시스템을 설계하고자 한다.
도 7의 테이블은 방어 시스템 설계시 고려해야 하는 시스템의 파라미터들과 그 범위를 나타낸다. 이 파라미터의 조합으로 도출된 방어 시스템의 한 설계에 대해서 3단계 방어체계 시뮬레이션 모델을 통해서 전함의 생존율을 도출할 수 있다. 이러한 3단계 방어체계 시뮬레이션 모델은 동시에 다가오는 4개의 ASM에 대해서 설계된 방어 시스템을 적용하였을 때 전함의 생존 여부를 출력한다. 하지만 이 3단계 방어체계 시뮬레이션 모델은 실제 시스템의 불확실성을 반영하기 위해 다양한 랜덤 변수를 포함하고 있기 때문에, 매번 순방향 시뮬레이션 마다 다른 결과를 도출한다. 따라서 전함의 방어 시스템 설계에 대한 전함의 생존율은 이 모델에 대한 독립적인 반복 순방향 시뮬레이션을 통해서 얻은 출력 샘플들의 평균으로 추정될 수 있으며, 반복 횟수가 증가할수록 정밀한 값을 얻을 수 있다. 전함의 생존율을 최대화하는 방어 시스템을 설계하기 위해서 도 7을 바탕으로 설계 오차 요소를 고려하여 가능한 입력 243개를 생성하였고, 시뮬레이션 모델을 바탕으로 이 입력 집합 중에서 최대의 생존율을 가지는 입력을 찾아야 한다. 이러한 3단계 방어체계 시뮬레이션 모델의 출력은 베르누이 분포를 따르기 때문에 높은 확률적 노이즈를 가지며, 또한 군체계의 특성상 정확한 해를 찾을 필요가 있다.
본 발명의 실시예에 따른 역방향 시뮬레이션 시스템을 바탕으로 역방향 시뮬레이션을 수행하였으며, R&S 알고리즘의 파라미터 n0와 Δ는 각각 20과 200으로 설정하였다. 역방향 시뮬레이션의 결과로 전함의 생존율을 최대화하는 방어 시스템의 설계는 [PSAMV =40, PSAMRT =20,PSAMPk = 0.7, PECM=0.5,PCHAFF =0.6]이며, 이 선택에 대한 P{CS}는 최소 99%이상이다(즉, 각 입력에 대해서 무한 번의 순방향 시뮬레이션 반복을 통해서 측정된 생존율의 기댓값을 바탕으로 찾은 최고의 설계가 역방향 시뮬레이션을 통해 찾은 설계와 동일할 확률이 99%이상).
도 8의 테이블은 본 발명의 실시예에 따른 역방향 시뮬레이션 시스템을 사용하였을 때와 사용하지 않았을 때 필요한 순방향 시뮬레이션 횟수를 나타내며, 본 발명의 실시예에 따른 역방향 시뮬레이션 시스템을 사용하는 경우에 약 97%이상의 반복 횟수를 절약할 수 있었다. 3단계 방어체계 시뮬레이션 모델의 한 번 순방향 시뮬레이션에 약 1초가 소요되므로, 반복 횟수를 시간으로 환산하면 약 342시간을 절약할 수 있으며, 이는 본 발명의 실시예에 따른 역방향 시뮬레이션 시스템의 국방체계 설계에 대한 활용 필요성을 입증한다.
4. NCW 네트워크 시스템 설계
안정적인 네트워크 시스템은 NCW에 기반하는 현대 전장에서 승리를 위해 필수적인 전자전 장비 중 하나이다. 네트워크 시스템의 성능을 측정하는 두 가지 요소는 종단간의 지연시간(End-to-end delay)과 패킷 전달 비율(Packet delivery ratio)이다. 지연시간은 시작 노드로부터 도착 노드까지 패킷이 전달되는데 걸리는 평균적인 시간을 뜻하며, 전달 비율은 전송된 패킷이 성공적으로 전달되는 비율을 의미한다. 안정적인 네트워크 시스템에 대한 작전운용성능(ROC: Required operational capability)으로 85%이상의 패킷 전달 비율을 유지하면서 지연시간을 최소화하는 것으로 주어졌을 때, 시뮬레이션 모델을 바탕으로 ROC를 충족하는 네트워크 시스템을 설계하고자 한다. 도 9의 테이블은 네트워크 시스템 설계시 고려해야 하는 시스템의 파라미터들과 그 범위를 나타낸다. 이 파라미터의 조합으로 도출된 네트워크 시스템의 한 설계에 대해서 도 10의 시뮬레이션 모델을 통해서 지연 시간과 전달 비율을 도출할 수 있다. 이 시뮬레이션 모델은 워게임 모델과 ns-3 네트워크 시뮬레이션 모델을 시뮬레이션 연동 표준인 HLA/RTI(IEEE, 2010)를 기반으로 연동하므로 전장에서 설계된 네트워크 시스템에 대한 성능을 측정한다. 이 모델은 다양한 랜덤 요소를 포함하고 있기 때문에 지연 시간과 전달 비율은 이 모델에 대한 독립적인 반복 순방향 시뮬레이션을 통해서 얻은 출력 샘플들의 평균으로 추정될 수 있으며, 반복 횟수가 증가할수록 정밀한 값을 얻을 수 있다.
주어진 ROC를 충족하는 네트워크 시스템을 설계하기 위해서 도 9의 테이블을 바탕으로 가능한 입력 65개를 생성하였으며, 도 10의 시뮬레이션 모델을 바탕으로 입력집합 중에서 85%의 패킷 전달 비율의 제약조건을 만족하면서 지연 시간을 최소화하는 입력을 찾아야 한다. 도 10에서도 볼 수 있듯이 그 복잡한 구조로 인하여서 높은 확률적 노이즈를 가지며, 앞서 설명한 전함의 방어 시스템 설계를 위한 실시예와 마찬가지로 군 체계의 특성상 정확한 해를 찾을 필요가 있다.
본 발명의 실시예에 따른 역방향 시뮬레이션 시스템을 바탕으로 역방향 시뮬레이션을 수행하였으며, R&S 알고리즘의 파라미터 n0와 Δ는 각각 10과 30으로 설정하였다. 역방향 시뮬레이션의 결과로 ROC를 만족하도록 도출된 네트워크 시스템의 설계는 [100,40,20,20,11]이며, 이 선택에 대한 P{CS}는 최소 99%이상이다. 도 11의 테이블은 역방향 시뮬레이션 시스템을 사용하였을 때와 사용하지 않았을 때 필요한 순방향 시뮬레이션 횟수를 나타내며, 도구를 사용하는 경우에 약 92%이상의 반복 횟수를 절약할 수 있었다. 본 시뮬레이션 모델의 경우 HLA/RTI기반의 연동으로 인하여서 한번 순방향 시뮬레이션에 약 60초가 소요되므로, 반복 횟수를 시간으로 환산하면 약 370시간을 절약할 수 있다. 앞서 설명한 전함의 방어 시스템 설계를 위한 실시예와 마찬가지로, NCW 네트워크 시스템 설계를 위한 실시예도 역방향 시뮬레이션 시스템이 국방체계 설계에 효과적으로 활용될 수 있음을 보여준다.
시뮬레이션 모델을 바탕으로 높은 효과도의 국방체계를 설계하기 위해서는 역방향 시뮬레이션이 필요하다. 하지만 역방향 시뮬레이션은 가능한 입력 집합에 포함된 각 입력들에 대해서 효과도를 정밀하게 도출하기 위해 많은 반복 순방향 시뮬레이션을 요구하며, 이는 효율성 문제를 초래한다. 본 발명에서는 역방향 시뮬레이션을 효율적으로 수행할 수 있도록 하는 메타휴리스틱 알고리즘과 R&S 알고리즘을 제시하였다. R&S 알고리즘은 한정된 개수의 입력에 대해서 출력 요구조건을 만족하는 입력 집합을 효율적으로 찾기 위해 반복횟수를 지능적으로 할당한다. 메타휴리스틱 알고리즘에 비해 R&S 알고리즘은 다양한 출력 요구조건에 대응할 수 있으며, 요구조건을 충족하는 입력 집합을 정확하게 도출할 수 있으므로 실제 문제를 해결하는데 보다 적합하다. 또한 실무자로 하여금 이 R&S 알고리즘을 활용하여 역방향 시뮬레이션을 효율적으로, 그리고 손쉽게 수행할 수 있도록 하는 역방향 시뮬레이션 시스템을 개시하였다. 역방향 시뮬레이션 시스템은 역방향 시뮬레이션 엔진 서버와 어댑터, 그리고 클라이언트 GUI(130)로 구성된다. 역방향 시뮬레이션 엔진 서버는 다양한 R&S 알고리즘을 탑재하고 있으며, 이를 바탕으로 n개의 사용자로부터 m개의 시뮬레이션 모델에 대해 동시에 역방향 시뮬레이션을 수행할 수 있도록 한다. 어댑터는 간단한 콜백 함수 구현만으로 다양한 플랫폼에서 구현된 기존의 시뮬레이터를 엔진 서버에 연결할 수 있도록 한다. 클라이언트 GUI는 사용자로 하여금 역방향 시뮬레이션을 손쉽게 관리하고 제어할 수 있도록 한다. 각각의 요소는 네트워크를 통하여 연결되어 있으므로, 시뮬레이션 모델 또는 사용자가 물리적으로 떨어져 있는 경우에도 역방향 시뮬레이션을 수행할 수 있도록 한다. 전함의 방어 시스템 설계와 NCW 네트워크 시스템 설계에 대한 실시예는, 실무자가 역방향 시뮬레이션 시스템을 바탕으로 다양한 R&S 알고리즘을 활용하여 국방체계 설계를 위한 역방향 시뮬레이션을 손쉽게, 또 효율적으로 수행할 수 있음을 보여준다.
한편, 전술한 일 실시예에 따른 국방체계 설계를 위한 역방향 시뮬레이션 방법에 포함된 각각의 단계는, 이러한 단계를 수행하도록 프로그램된 컴퓨터 프로그램을 기록하는 컴퓨터 판독가능한 기록매체에서 구현될 수 있다.
또한, 전술한 일 실시예에 따른 국방체계 설계를 위한 역방향 시뮬레이션 방법에 포함된 각각의 단계는, 이러한 단계를 수행하도록 프로그램된, 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램의 형태로 구현될 수 있다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 역방향 시뮬레이션 시스템
110: 역방향 시뮬레이션 엔진 서버
111: 엔진 스레드
112: 네트워크 서버
120: 어댑터
130: 클라이언트 GUI

Claims (10)

  1. 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버로서,
    N개의 클라이언트 인터페이스에 각각 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와,
    M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고,
    상기 엔진 스레드는 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공하는
    역방향 시뮬레이션 엔진 서버.
  2. 제 1 항에 있어서,
    상기 엔진 스레드는 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스의 이용하는 실무자가 해결하고자 하는 설계 문제에 기초하여 특정 알고리즘을 제시하며, 제시한 알고리즘에 대한 설명과 함께 파라미터 설정 제안을 제공하는
    역방향 시뮬레이션 엔진 서버.
  3. 제 1 항에 있어서,
    상기 엔진 스레드는 상기 역방향 시뮬레이션의 결과로서 표본 평균, 오차 범위 및 표본 분산 중 적어도 하나를 포함하는 통계치를 제공하는
    역방향 시뮬레이션 엔진 서버.
  4. 제 1 항에 있어서,
    상기 엔진 스레드는 상기 역방향 시뮬레이션의 결과로서 각 입력에 할당되는 샘플링 횟수 또는 누적 할당 횟수를 제공하는
    역방향 시뮬레이션 엔진 서버.
  5. 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버가 수행하는 역방향 시뮬레이션 방법으로서,
    상기 역방향 시뮬레이션 엔진 서버는,
    N개의 클라이언트 인터페이스에 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와,
    M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고,
    상기 역방향 시뮬레이션 방법은,
    상기 엔진 스레드가 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공하는
    역방향 시뮬레이션 방법.
  6. 제 5 항에 있어서,
    상기 엔진 스레드가 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스의 이용하는 실무자가 해결하고자 하는 설계 문제에 기초하여 특정 알고리즘을 제시하며, 제시한 알고리즘에 대한 설명과 함께 파라미터 설정 제안을 제공하는
    역방향 시뮬레이션 방법.
  7. 제 5 항에 있어서,
    상기 엔진 스레드가 상기 역방향 시뮬레이션의 결과로서 표본 평균, 오차 범위 및 표본 분산 중 적어도 하나를 포함하는 통계치를 제공하는
    역방향 시뮬레이션 방법.
  8. 제 5 항에 있어서,
    상기 엔진 스레드가 상기 역방향 시뮬레이션의 결과로서 각 입력에 할당되는 샘플링 횟수 또는 누적 할당 횟수를 제공하는
    역방향 시뮬레이션 방법.
  9. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은, 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버의 프로세서에 의해 실행되면,
    상기 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되,
    상기 역방향 시뮬레이션 엔진 서버는,
    N개의 클라이언트 인터페이스에 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와,
    M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고,
    상기 역방향 시뮬레이션 방법은,
    상기 엔진 스레드가 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공하는
    컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체.
  10. 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은, 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버의 프로세서에 의해 실행되면,
    상기 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되,
    상기 역방향 시뮬레이션 엔진 서버는,
    N개의 클라이언트 인터페이스에 일대일 대응하는 복수의 R&S(Ranking and Selection) 알고리즘이 각각 탑재된 N개의 엔진 스레드와,
    M개의 시뮬레이션 모델에 각각 일대일 대응하는 M개의 어댑터와 상기 N개의 클라이언트 인터페이스 및 상기 N개의 엔진 스레드 사이에서 네트워크를 통해 신호를 전달하고, 상기 클라이언트 인터페이스 및 상기 시뮬레이션 모델의 연결을 관리하는 네트워크 서버를 포함하고,
    상기 역방향 시뮬레이션 방법은,
    상기 엔진 스레드가 상기 복수의 R&S 알고리즘 중 상기 클라이언트 인터페이스를 통해 선택된 알고리즘을 바탕으로 역방향 시뮬레이션을 독립적으로 진행하되, 상기 선택된 알고리즘 진행에 따라서 상기 네트워크 서버를 통해 상기 시뮬레이션 모델에 순방향 시뮬레이션을 요청하여 입력에 대한 출력 샘플들을 수집하며, 상기 역방향 시뮬레이션의 결과를 상기 네트워크 서버를 통해 제공하는
    컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.
KR1020210037431A 2021-03-23 2021-03-23 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법 KR102424206B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210037431A KR102424206B1 (ko) 2021-03-23 2021-03-23 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210037431A KR102424206B1 (ko) 2021-03-23 2021-03-23 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법

Publications (1)

Publication Number Publication Date
KR102424206B1 true KR102424206B1 (ko) 2022-07-22

Family

ID=82606188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210037431A KR102424206B1 (ko) 2021-03-23 2021-03-23 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법

Country Status (1)

Country Link
KR (1) KR102424206B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018522773A (ja) * 2015-07-14 2018-08-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated 無人自律システムのための制御正規化
KR101928941B1 (ko) 2016-11-04 2018-12-13 국방과학연구소 시뮬레이션 방법 및 시뮬레이션 모듈
KR101931935B1 (ko) * 2010-05-19 2019-03-20 엑손모빌 업스트림 리서치 캄파니 시뮬레이션들 동안의 체크포인팅을 위한 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101931935B1 (ko) * 2010-05-19 2019-03-20 엑손모빌 업스트림 리서치 캄파니 시뮬레이션들 동안의 체크포인팅을 위한 방법 및 시스템
JP2018522773A (ja) * 2015-07-14 2018-08-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated 無人自律システムのための制御正規化
KR101928941B1 (ko) 2016-11-04 2018-12-13 국방과학연구소 시뮬레이션 방법 및 시뮬레이션 모듈

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
홍정희, 서경민, 김탁곤 (2015) "국방 시스템의 요구성능 분석을 위한 역 방향 시뮬레이션 소프트웨어 아키텍처", 한국통신학회논문지, 40(4), 750-759.) *

Similar Documents

Publication Publication Date Title
CN109300354B (zh) 一种武器装备体系对抗仿真系统
Cummings et al. Predicting operator capacity for supervisory control of multiple UAVs
KR102237609B1 (ko) 군사작전 시뮬레이션 모델을 위한 항공임무명령서 자동생성장치
CN109960863B (zh) 一种基于网络拓扑路径的复杂仿真系统可信度评估方法
EP2414767A1 (en) Assigning weapons to threats
Duan et al. Multiple UCAVs cooperative air combat simulation platform based on PSO, ACO, and game theory
CN112861257B (zh) 一种基于神经网络的飞机火控系统精度敏感性分析方法
RU2702503C1 (ru) Способ моделирования процессов обоснования требуемого уровня живучести распределенных сетей связи вышестоящей системы управления в условиях вскрытия и внешних деструктивных воздействий
KR102424206B1 (ko) 시뮬레이션 모델기반 국방체계 설계를 위한 역방향 시뮬레이션 엔진 서버 및 그 역방향 시뮬레이션 방법
CN114186388A (zh) 一种基于体系架构模型的杀伤链特性分析系统及方法
CN113268309A (zh) 一种面向SaaS应用模式的兵棋推演系统
Ye et al. Multi-UAV task assignment based on satisficing decision algorithm
Gallagher et al. Probabilistic analysis of complex combat scenarios
CN109816029B (zh) 基于军事操作链的高阶聚类划分算法
McGrogan et al. Architecture based workload analysis of uas multi-aircraft control: Implications of implementation on mq-1b predator
Bordes et al. Fires Support Next
CN112464548B (zh) 对抗单位的动态分配装置
RU2598587C2 (ru) Способ автоматизированного управления боевыми средствами
CN117575137A (zh) 一种作战装备体系效能评估方法、装置、设备及存储介质
Rodas et al. Developing a Decision Tool to Evaluate Unmanned System’s Command and Control Technologies in Network Centric Operations Environments
Rodas et al. Evaluating Unmanned Systems’ Command and Control Technologies under Realistic Assumptions
McGrogan et al. Predicting the impact of multi-aircraft control on UAS operations
Grant et al. The Allocation of Training to Live and Virtual Environments
Yu et al. A research on modeling of the weapon scheduling problem in multi-platform cooperative air-defense operations
CN104951631B (zh) 一种面向作战模拟的作战过程建模及模型调度方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant