KR20190059152A - 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법 - Google Patents
행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR20190059152A KR20190059152A KR1020170156816A KR20170156816A KR20190059152A KR 20190059152 A KR20190059152 A KR 20190059152A KR 1020170156816 A KR1020170156816 A KR 1020170156816A KR 20170156816 A KR20170156816 A KR 20170156816A KR 20190059152 A KR20190059152 A KR 20190059152A
- Authority
- KR
- South Korea
- Prior art keywords
- simulation
- data
- model
- simulation model
- module
- Prior art date
Links
Images
Classifications
-
- G06F17/5009—
Landscapes
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
행위자 기반 시뮬레이션 모델의 데이터 동화 시스템은, 제1행위자 기반 시뮬레이션 모델을 실행하여 시뮬레이션 예측 결과를 생성하는 실행 모듈, 상기 제1행위자 기반 시뮬레이션 모델의 타겟이 되는 시스템에 의해 획득된 실제 데이터를 이용하여, 상기 시뮬레이션 예측 결과를 보정하는 결과 보정 모듈, 상기 결과 보정 모듈에 의해 보정된 시뮬레이션 예측 결과를 분석하여, 데이터 동화 작업의 수행 여부를 결정하는 결과 분석 모듈, 및 상기 데이터 동화 작업의 수행이 결정되면, 상기 실제 데이터 및 상기 보정된 시뮬레이션 예측 결과를 이용한 데이터 동화 작업을 수행하여, 제2행위자 기반 시뮬레이션 모델을 구성하는 동화 모듈을 포함할 수 있다.
Description
본 발명의 실시 예는 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는, 미래예측을 위한 자가진화 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법에 관한 것이다.
행위자 기반 시뮬레이션(Agent Based Simulation) 시스템은, 시뮬레이션 엔진이 행위자 모델을 포함하는 시뮬레이션 모델을 로딩하여, 시뮬레이션 모델이 가지는 행위자의 속성, 행위, 환경 모델 등에 따라 이벤트를 발생시켜 시뮬레이션을 실행한다.
통상적으로, 행위자 기반 시뮬레이션 시스템은, 모델 검증(validation) 단계를 통해 도메인 관련 전문가가 수동으로 시뮬레이션 모델을 수정하는 방법으로 시뮬레이션의 정확도 향상이 이루어진다. 이 경우, 도메인 관련 전문가는, 현재 사용된 모델에 의한 시뮬레이션 결과와 과거의 실제 데이터를 비교한 결과를 시뮬레이션 정확도의 기준으로 이용하여 시뮬레이션 모델을 수정한다.
이와는 달리, 자가진화 행위자 기반 시뮬레이션은, 시뮬레이션 대상 분야의 전문가가 아니라, 실제 데이터와 시뮬레이션 결과를 바탕으로 하는 기계학습에 의해 시뮬레이션 수정이 이루어는 시뮬레이션 방법이다.
한편, 미래 예측을 위해 시뮬레이션을 사용하는 경우, 아직 일어나지 않은 일을 예측하는 것이므로 비교 대상으로 사용할 과거의 실제 데이터가 존재하지 않는다. 이러한 경우, 과거에 시뮬레이션 모델을 사용하여 미래예측 시뮬레이션을 수행한 결과와, 새롭게 발생한 실제 데이터와의 비교를 통해 시뮬레이션 모델을 수정하는 방법이 사용되며, 이러한 방법을 데이터 동화(assimilation)라고 한다.
자가진화 행위자 기반 시뮬레이션을 미래 예측에 사용하는 경우, 이러한 데이터 동화를 할 수 있는 시스템과 방법이 요구된다.
그러나, 현재까지 시뮬레이션 시스템의 데이터 동화는, 미분 가능한 수식화 모델에 적용이 가능하고, 사회 경제 문제 등의 복잡계에 적용되는 행위자 기반 시뮬레이션에 바로 적용할 수 없는 문제가 있다. 이는, 사회 경제 문제와 같은 복잡계 시뮬레이션의 경우, 매우 많은 모수(Parameter)와 에이전트 수, 실제 데이터 수가 존재하고, 이와 같이 많은 경우의 수를 가지는 시뮬레이션 모델을 미분이 가능한 수식화 모델로 모델링하기 힘들기 때문이다.
따라서, 미래예측을 위한 자가진화 행위자 기반 시뮬레이션을 위한 새로운 데이터 동화 방법이 요구된다.
본 발명의 실시 예가 해결하려는 과제는 미래 예측에 사용되는 자가진화 행위자 기반 시뮬레이션을 위한 데이터 동화 시스템 및 그 방법을 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 실시 예에 따른 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템은, 행위자 기반 시뮬레이션 모델을 실행하여 시뮬레이션 예측 결과를 생성하는 실행 모듈, 상기 행위자 기반 시뮬레이션 모델의 타겟 시스템에 의해 획득된 실제 데이터를 이용하여, 상기 시뮬레이션 예측 결과를 보정하는 결과 보정 모듈, 상기 결과 보정 모듈에 의해 보정된 시뮬레이션 예측 결과를 분석하여, 데이터 동화 작업의 수행 여부를 결정하는 결과 분석 모듈, 및 상기 데이터 동화 작업의 수행이 결정되면, 상기 실제 데이터 및 상기 보정된 시뮬레이션 예측 결과를 이용한 데이터 동화 작업을 수행하여, 새로운 행위자 기반 시뮬레이션 모델을 구성하는 동화 모듈을 포함할 수 있다.
상기 동화 모듈은 상기 새로운 행위자 기반 시뮬레이션 모델이 구성되면, 상기 새로운 행위자 기반 시뮬레이션 모델이 실행되도록 상기 새로운 행위자 시뮬레이션 모델을 상기 실행 모듈로 전달할 수 있다.
상기 결과 분석 모듈은, 상기 실제 데이터와 상기 보정된 시뮬레이션 예측 결과 간의 오차를 바탕으로, 상기 데이터 동화 작업의 수행 여부를 결정할 수 있다.
상기 결과 보정 모듈은, 상기 데이터 동화 작업의 종료가 결정되면, 상기 보정된 시뮬레이션 예측 결과를 최종 예측 결과로 출력할 수 있다.
상기 데이터 동화 시스템은, 상기 행위자 기반 시뮬레이션 모델을 저장하는 저장소를 더 포함하며, 상기 행위자 기반 시뮬레이션 모델은, 시작 시각, 종료 시각 및 컴포넌트 구성을 포함하는 튜플 형태로 저장될 수 있다.
상기 튜플은, 시뮬레이션의 전체 실행 구간 중 상기 행위자 기반 시뮬레이션 모델이 할당된 시간 구간의 순서에 대응하는 구성 순서를 더 포함할 수 있다.
또한, 본 발명의 실시 예에 따른 행위자 기반 시뮬레이션 모델의 데이터 동화 방법은, 행위자 기반 시뮬레이션 모델을 실행하여 시뮬레이션 예측 결과를 획득하는 단계, 상기 행위자 기반 시뮬레이션 모델의 타겟 시스템에 의해 획득된 실제 데이터를 이용하여, 상기 시뮬레이션 예측 결과를 보정하는 단계, 보정된 상기 예측 결과를 분석하여, 데이터 동화 작업의 수행 여부를 결정하는 단계, 및 상기 데이터 동화 작업의 수행이 결정되면, 상기 실제 데이터 및 상기 보정된 시뮬레이션 예측 결과를 이용한 데이터 동화 작업을 수행하여, 새로운 행위자 기반 시뮬레이션 모델을 구성하는 단계를 포함할 수 있다.
상기 데이터 동화 방법은, 상기 새로운 행위자 기반 시뮬레이션 모델을 이용하여 상기 시뮬레이션 예측 결과를 획득하는 단계, 및 상기 새로운 행위자 기반 시뮬레이션 모듈을 실행하여 획득되는 시뮬레이션 예측 결과를 보정하는 단계를 더 포함할 수 있다.
상기 데이터 동화 작업의 수행 여부를 결정하는 단계는, 상기 실제 데이터와 상기 보정된 시뮬레이션 예측 결과 간의 오차를 바탕으로, 상기 데이터 동화 작업의 수행 여부를 결정하는 단계를 포함할 수 있다.
상기 데이터 동화 작업의 종료가 결정되면, 상기 보정된 시뮬레이션 예측 결과를 최종 예측 결과로 출력하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 의하면, 미래 예측을 위한 자가진화 행위자 기반 시뮬레이션을 위한 데이터 동화 방법을 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템을 개략적으로 도시한 것이다.
도 2는 본 발명의 실시 예에 따른 행위자 기반 시뮬레이션 모델의 데이터 동화 방법을 개략적으로 도시한 것이다.
도 3 내지 8은 도 2에 도시된 데이터 동화 방법의 각 단계에 대해, 이를 수행하는 시뮬레이션 모델 동화 시스템의 모듈 간 인터페이스를 개략적으로 도시한 것이다.
도 9는 도 2의 데이터 동화 방법을 이용하여 행위자 기반 시뮬레이션 모델의 데이터 동화를 수행하는 경우의 시뮬레이션 결과의 변화 예를 도시한 것이다.
도 2는 본 발명의 실시 예에 따른 행위자 기반 시뮬레이션 모델의 데이터 동화 방법을 개략적으로 도시한 것이다.
도 3 내지 8은 도 2에 도시된 데이터 동화 방법의 각 단계에 대해, 이를 수행하는 시뮬레이션 모델 동화 시스템의 모듈 간 인터페이스를 개략적으로 도시한 것이다.
도 9는 도 2의 데이터 동화 방법을 이용하여 행위자 기반 시뮬레이션 모델의 데이터 동화를 수행하는 경우의 시뮬레이션 결과의 변화 예를 도시한 것이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이하, 필요한 도면들을 참조하여 본 발명의 실시 예에 따른 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법에 대해 상세하게 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템을 개략적으로 도시한 것이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 데이터 동화 시스템(100)은, 모델 및 컴포넌트 저장소(110), 데이터 저장소(120), 사용자 인터페이스(130), 및 시뮬레이션 모델 동화 시스템(140)을 포함할 수 있다.
모델 및 컴포넌트 저장소(110)는 행위자 기반 시뮬레이션에서 사용되는 시뮬레이션 모델들과 각 시뮬레이션 모델의 컴포넌트를 저장하는 서브 시스템으로, 데이터베이스를 포함할 수 있다.
데이터 저장소(120)는 시뮬레이션에서 사용되는 데이터들을 저장하는 서브 시스템으로, 데이터베이스를 포함할 수 있다. 예를 들어, 데이터 저장소(120)는 시뮬레이션에 사용되는 시스템 데이터와, 시뮬레이션 예측 결과를 저장할 수 있다. 본 문서에서, "시스템 데이터"는 시뮬레이션 모델의 타겟이 되는 시스템에서 측정되거나, 발생한 실제 데이터를 의미하며, "시뮬레이션 예측 결과"는 시뮬레이션 모델을 실행시켜 획득되는 시뮬레이션의 결과 데이터를 의미한다.
사용자 인터페이스(130)는 시뮬레이션을 진행하기 위해 사용자와 상호 소통하기 위한 인터페이스이다.
시뮬레이션 모델 동화 시스템(140)은 행위자 기반 시뮬레이션에서 시뮬레이션을 실행하고 데이터 동화를 수행하기 위한 시스템으로, 기계학습을 통해 시뮬레이션 모델을 갱신하는 기능을 수행할 수 있다.
시뮬레이션 모델 동화 시스템(140)은 데이터 관리 모듈(141), 모델 관리 모듈(142), 실행 모듈(143), 결과 보정 모듈(144), 결과 분석 모듈(145), 및 동화 모듈(146)을 포함하며, 이러한 각 모듈들은 하나 이상의 컴퓨팅 노드들로 구성될 수 있다.
데이터 관리 모듈(141)은 데이터 저장소(120)와 연계하여 시뮬레이션에 사용되는 시스템 데이터와, 시뮬레이션의 예측 결과를 저장 및 관리할 수 있다. 특히, 데이터 관리 모듈(141)은 데이터 동화 이전의 시스템 데이터와, 시뮬레이션 모델을 통한 예측 이후에 새롭게 발생한 시스템 데이터를 저장 및 관리하며, 이를 다른 모듈에 전달할 수도 있다.
모델 관리 모듈(142)은 모델 및 컴포넌트 저장소(110)에 저장된 행위자 기반 시뮬레이션 모델을 관리하고, 갱신하는 기능을 수행할 수 있다. 또한, 모델 관리 모듈(142)은 새롭게 구성된 시뮬레이션 모델을 모델 및 컴포넌트 저장소(110)에 저장하고 관리하는 기능을 수행할 수도 있다.
실행 모듈(143)은 모델 관리 모듈(142)에 의해 정해진 시뮬레이션 모델을 이용하여 시뮬레이션을 실행하고, 이에 따른 시뮬레이션 예측 결과를 출력하는 시뮬레이션 엔진 기능을 수행할 수 있다.
결과 보정 모듈(144)은 실행 모듈(143)에 의해 생성된 시뮬레이션 예측 결과를 바탕으로 대응하는 시뮬레이션 모델의 상태를 유추하고, 시뮬레이션 예측 결과를 새롭게 발생한 시스템 데이터와 결합하여 보정할 수 있다.
결과 분석 모듈(145)는 결과 보정 모듈(144)에 의해 보정된 시뮬레이션 예측 결과를 바탕으로 시뮬레이션 결과를 분석하고, 데이터 동화 작업의 수행 여부를 결정할 수 있다.
동화 모듈(146)은 실행 모듈(143)에 의해 생성된 시뮬레이션 예측 결과와, 결과 보정 모듈(144)에 의해 보정된 시뮬레이션 예측 결과, 및 결과 보정 모듈(144)에 의해 유추된 시뮬레이션 모델 상태를 바탕으로 데이터 동화 작업을 수행하여, 새롭게 발생한 시스템 데이터에 최적인 상태로 시뮬레이션 모델을 새로 구성할 수 있다. 이때, 동화 모듈(146)은 데이터 동화 작업 수행 이전의 시뮬레이션 모델을 바탕으로, 새로운 시뮬레이션 모델을 구성할 수 있다.
동화 모듈(146)은 시뮬레이션 모델이 변경되면, 변경된 시뮬레이션 모델을 모델 관리 모듈(142)로 전달하여, 변경된 시뮬레이션 모델을 이용한 미래 예측이 실행되도록 한다. 즉, 동화 모듈(146)에 의해 새롭게 구성된 시뮬레이션 모델은, 실행 모듈(143)에 의해 다시 실행된다. 이후, 시뮬레이션 모델의 재실행을 통해 획득된 시뮬레이션 예측 결과는 결과 보정 모듈(144)에 의해 다시 보정된다.
한편, 결과 분석 모듈(145)에 의해 데이터 동화의 종료가 결정되면, 결과 보정 모듈(144)은 이 때의 보정된 시뮬레이션 예측 결과를 시뮬레이션의 최종 결과로 출력한다.
본 발명의 실시 예에 따른 데이터 동화 시스템(100)에서, 서브 시스템(모델 및 컴포넌트 저장소(110), 데이터 저장소(120), 사용자 인터페이스(130), 및 시뮬레이션 모델 동화 시스템(140)) 간의 통신은, 하나 이상의 통신망을 통해 이루어질 수 있다. 또한, 시뮬레이션 모델 동화 시스템(140)을 구성하는 각 모듈 간에 작업 할당이나, 데이터, 모델 코드, 시뮬레이션 결과 등의 전달을 위해서도 하나 이상의 통신망이 사용될 수 있다.
또한, 데이터 동화 시스템(100)을 구성하는 각 서브 시스템은 마스터와 슬레이브 형태로 구성되어, 개별적인 운용체계를 가질 수도 있다.
또한, 데이터 동화 시스템(100)을 구성하는 서브 시스템들은 물리적으로 동일한 머신 상에 존재할 수도 있다.
또한, 데이터 동화 시스템(100)을 구성하는 각 서브 시스템 또는 모듈은 한 개의 노드 상에서 동작할 수도 있고, 기능이 분산된 클러스터 노드나 복수의 노드로 구성되는 노드 그룹에서 동작할 수도 있다.
도 2는 본 발명의 실시 예에 따른 행위자 기반 시뮬레이션 모델의 데이터 동화 방법을 개략적으로 도시한 것이다. 또한, 도 3 내지 8은 도 2에 도시된 데이터 동화 방법의 각 단계에 대해, 이를 수행하는 시뮬레이션 모델 동화 시스템의 모듈 간 인터페이스를 개략적으로 도시한 것이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 시뮬레이션 모델 동화 시스템(140)은 사용자 인터페이스(130)를 통해 입력되는 사용자 입력을 바탕으로, 초기 시뮬레이션 모델의 설정을 수행한다(S100).
도 3은 도 2의 S100 단계를 수행하기 위한 시뮬레이션 모델 동화 시스템(140)의 모듈간 인터페이스를 개략적으로 도시한 것이다.
도 3을 참조하면, 상기 S100 단계에서의 초기 시뮬레이션 모델의 설정은, 시뮬레이션 모델 동화 시스템(140)의 데이터 관리 모듈(141) 및 모델 관리 모듈(142)이, 사용자 인터페이스(130)를 통해 입력되는 사용자 입력을 바탕으로 모델 및 컴포넌트 저장소(110)와 데이터 저장소(120)로부터 시뮬레이션 모델 및 이에 대응하는 데이터를 로딩하여 수행될 수 있다.
상기 S100 단계에서, 모델 관리 모듈(142)은 행위자 기반 모델과 환경 모델의 행위 함수 계수 등을 설정하는 방식, 또는 모델의 컴포넌트를 지정하는 방식 등을 이용하여 초기 시뮬레이션 모델을 설정할 수 있다. 또한, 모델 관리 모듈(142)은 시뮬레이션 주기, 행위자의 수 등을 설정할 수 있다.
상기 S100 단계에서, 데이터 관리 모듈(141)은 시뮬레이션 결과를 비교할 수 있도록, 초기 시뮬레이션 모델에 대해 거시적 또는 미시적 데이터를 설정할 수 있다.
다시, 도 2를 보면, 초기 시뮬레이션 모델의 설정이 완료되면, 시뮬레이션 모델 동화 시스템(140)은 초기 시뮬레이션 모델을 실행시켜 미래 예측을 수행한다(S101).
도 4는 도 2의 S101 단계를 수행하기 위한 시뮬레이션 모델 동화 시스템(140)의 모듈간 인터페이스를 개략적으로 도시한 것이다. 도 4를 참조하면, 상기 S101 단계에서의 시뮬레이션 실행 및 미래 예측은 사용자 인터페이스(130)를 통해 입력되는 사용자 입력에 의해 시작될 수 있다. 시뮬레이션 실행 모듈(143)은 사용자 입력이 시뮬레이션 실행을 지시하면, 모델 및 컴포넌트 저장소(110)와 데이터 저장소(120)로부터 시뮬레이션 모델 및 이에 대응하는 데이터를 로딩하여 시뮬레이션을 실행하고, 미래 예측을 수행할 수 있다.
다시, 도 2를 보면, 시뮬레이션 모델 동화 시스템(140)은 미래 예측의 대상이 되는 시스템에 의해 새로운 시스템 데이터가 발생하면(S102), 데이터 동화 과정을 진행하기 위해 새로운 시스템 데이터를 로딩한다(S103).
도 5는 도 2의 S103 단계를 수행하기 위한 시뮬레이션 모델 동화 시스템(140)의 모듈간 인터페이스를 개략적으로 도시한 것이다. 도 5를 참조하면, 상기 S103 단계에서, 데이터 관리 모듈(141)은 새로운 시스템 데이터가 발생하여 시뮬레이션 예측 결과와의 비교가 가능해짐에 따라, 사용자 인터페이스(130)를 통해 새롭게 발생한 시스템 데이터를 시스템으로부터 로딩한다. 그리고, 이를 데이터 저장소(120)에 저장한다.
다시 도 2를 보면, 시뮬레이션 모델 동화 시스템(140)은 새로운 시스템 데이터가 로딩되면, 새롭게 로딩된 시스템 데이터와 실행 모듈(143)에서의 시뮬레이션 예측 결과를 바탕으로, 시뮬레이션 예측 결과를 보정한다(S104). 그리고, 보정된 시뮬레이션 예측 결과에 대한 분석을 수행하여(S105), 데이터 동화의 진행 여부를 판단한다(S106).
도 6은 도 2의 S104 단계 내지 S106 단계를 수행하기 위한 시뮬레이션 모델 동화 시스템(140)의 모듈간 인터페이스를 개략적으로 도시한 것이다.
도 6을 참조하면, 상기 S104 단계에서, 결과 보정 모듈(144)은 실행 모듈(143)로부터 시뮬레이션 예측 결과를 수신하며, 상기 S103 단계를 통해 로딩한 실제 시스템 데이터를 이용하여 이를 보정하여 출력한다. 예를 들어, 결과 보정 모듈(144)은 시뮬레이션 모델이 미분 가능한 수식화 모델인 경우, 칼만 필터를 사용하여 시뮬레이션 예측 결과를 보정할 수 있다. 또한, 예를 들어, 결과 보정 모듈(144)은 시뮬레이션 모델이 많은 수의 샘플링이 가능한 모델이면, 파티클 필터를 사용하여 시뮬레이션 예측 결과를 보정할 수도 있다. 또한, 예를 들어, 결과 보정 모듈(144)은 새로운 시스템 데이터와 실행 모듈(143)에 의한 시뮬레이션 예측 결과의 평균값을 이용하여 시뮬레이션 예측 결과를 보정할 수도 있다.
이후, 상기 S105 단계에서, 결과 분석 모듈(145)은 결과 보정 모듈(144)로부터 보정된 시뮬레이션 예측 결과를 수신하며, 보정된 시뮬레이션 예측 결과와 실제 시스템 데이터간의 오차를 산출한다. 그리고, 상기 S106 단계에서는, 상기 S105 단계를 통해 산출된 오차를 바탕으로 데이터 동화 과정의 진행 여부를 결정한다.
다시 도 2를 보면, 상기 106 단계를 통해 데이터 동화 과정의 진행이 결정되면, 시뮬레이션 모델 동화 시스템(140)은 시뮬레이션 모델을 새로 구성하는 시뮬레이션 모델 동화 과정을 수행하고(S107), 이를 통해 새롭게 구성된 시뮬레이션 모델을 모델 및 컴포넌트 저장소(110)에 저장한다(S108).
도 7은 도 2의 S107 단계 및 S108 단계를 수행하기 위한 시뮬레이션 모델 동화 시스템(140)의 모듈간 인터페이스를 개략적으로 도시한 것이다.
도 7을 참조하면, 결과 분석 모듈(145)은 상기 S106 단계를 통해 데이터 동화 과정을 진행하기로 결정함에 따라, 시뮬레이션 모델 동화에 필요한 분석 결과를 생성하여, 이를 동화 모듈(146)로 전달한다. 예를 들어, 결과 분석 모듈(145)은 시스템에 의해 획득된 실제 시스템 데이터와 보정된 시뮬레이션 예측 결과의 시간에 따른 변화 또는 누적값 등을 분석 결과로 전달할 수 있다.
상기 S107 단계에서, 결과 분석 모듈(145)로부터 모델 동화에 필요한 분석 결과를 수신한 동화 모듈(146)은, 분석 결과에 포함된 지표들을 바탕으로 데이터 동화 과정을 수행하여 시뮬레이션 모델을 새롭게 구성한다. 이 과정에서, 동화 모듈(146)은 진화 알고리즘, 강화 학습 등의 여러 가지 최적화 방법을 사용하여 데이터 동화 과정을 수행할 수 있다.
상기 S108 단계에서, 동화 모듈(146)에 의해 새롭게 구성된 시뮬레이션 모델은, 모델 관리 모듈(142)로 전달되어, 모델 관리 모듈(142)에 의해 모델 및 컴포넌트 저장소(110)에 저장된다.
다시 도 2를 보면, 시뮬레이션 모델 동화 시스템(140)은 상기 S107 및 S108 단계를 통해 시뮬레이션 모델이 새롭게 구성되면, 이를 이용하여 시뮬레이션을 실행함으로써 미래 예측을 재 수행한다(S109). 이후, 시뮬레이션 모델 동화 시스템(140)은 상기 S109 단계를 통해 획득되는 시뮬레이션 예측 결과에 대해, 상기 S104 단계를 재 수행하여 시뮬레이션 예측 결과를 보정한다.
한편, 상기 S106 단계를 통해 데이터 동화 과정의 종료가 결정되면, 시뮬레이션 모델 동화 시스템(140)은 최종적으로 보정된 시뮬레이션 예측 결과를 해당 시뮬레이션의 최종 결과로 저장한다(S110).
도 8은 도 2의 S110 단계를 수행하기 위한 시뮬레이션 모델 동화 시스템(140)의 모듈간 인터페이스를 개략적으로 도시한 것이다.
도 8을 참조하면, 상기 S110 단계에서, 결과 보정 모듈(144)은 결과 분석 모듈(145)에 의해 데이터 동화 종료가 결정됨에 따라, 최종 보정된 시뮬레이션 예측 결과를 데이터 관리 모듈(141)로 전달한다. 그리고, 데이터 관리 모듈(141)은 이를 시뮬레이션의 최종 결과로 데이터 저장소(120)에 저장한다. 또한, 데이터 관리 모듈(141)은 시뮬레이션의 최종 결과가 디스플레이(미도시)에 표시되도록, 이를 사용자 인터페이스(130)로 전달할 수도 있다.
도 9는 도 2의 데이터 동화 방법을 이용하여 행위자 기반 시뮬레이션 모델의 데이터 동화를 수행하는 경우의 시뮬레이션 결과의 변화 예를 도시한 것이다.
도 9를 참조하면, 시뮬레이션 모델 동화 시스템(140)은 t4 지점에서 시스템 데이터(201)가 새롭게 발생함에 따라, 이를 이용하여 시뮬레이션 예측 결과(202)를 보정한다.
이후, 시뮬레이션 모델 동화 시스템(140)은 보정된 시뮬레이션 예측 결과(203)를 실제 시스템 데이터(201)간의 오차를 산출하고, 이를 바탕으로 데이터 동화 과정의 진행 여부를 결정한다. 시뮬레이션 모델 동화 시스템(140)은 데이터 동화 과정의 진행이 결정되면, 데이터 동화 과정을 진행하여 시뮬레이션 모델을 새롭게 구성한다. 그리고, 새롭게 구성된 시뮬레이션 모델을 실행시킴으로써 새로운 시뮬레이션 예측 결과(211)를 획득한다.
시뮬레이션 모델 동화 시스템(140)은 이러한 방식으로, 새롭게 발생하는 시스템 데이터에 맞춰 시뮬레이션 예측 결과를 보정하고, 이를 이용하여 시뮬레이션 모델을 새로운 시스템 데이터에 동화시키는 과정을 수행할 수 있다.
한편, 본 발명의 실시 예에서 행위자 기반 시뮬레이션을 위한 시뮬레이션 모델들은, 시뮬레이션의 전체 실행 구간에서 몇 개의 시간 구간(도 9의 구간 1, 구간 2, 구간 3 참조)으로 나누어져 할당되며, 각 시간 구간에서의 시스템 데이터에 적합하게 구성된다. 이 경우, 행위자 기반 시뮬레이션을 위한 시뮬레이션 모델들은, 각 시뮬레이션 모델의 컴포넌트 구성과, 그 구성이 유효한 시간 구간에 대한 정보를 포함하도록 구성될 수 있다. 즉, 각 시뮬레이션 모델은, <시작 시각, 종료 시각, 컴포넌트 구성>으로 이루어지는 튜플(tuple) 형태로 모델 및 컴포넌트 저장소(110)에 저장될 수 있다. 여기서, 컴포넌트 구성은, 대응하는 행위자 기반 시뮬레이션 모델의 실행 계수, 실행 모듈 아이디 등 다양한 정보를 포함하며, 미리 정해진 위치에 값을 대입하는 방식이나, 해당 컴포넌트 아이템의 이름과 값을 동시에 저장하는 사전(Dictionary) 방식 등을 이용하여 표현될 수 있다.
하나의 시뮬레이션에 대한 행위자 기반 시뮬레이션 모델은, 각 시간 구간에 할당된 시뮬레이션 모델의 튜플들이 연속적으로 이어지는 수열 형태로 표현될 수 있다. 따라서, 모델 및 컴포넌트 저장소(110)는, 각 시뮬레이션 모델에 대응하는 튜플에 대응하는 시뮬레이션 모델의 구성 순서를 나타내는 값을 추가하여 관리할 수 있다. 예를 들어, 즉, 시뮬레이션 모델에 대응하는 튜플은, <모델 구성 순서, 시작 시각, 종료 시각, 컴포넌트 구성>으로 나타내질 수 있다. 이 때, 서로 이웃하는 시뮬레이션 모델의 연속성 유지를 위해, N번째 구성 순서에 해당하는 시뮬레이션 모델의 종료 시각은, (N+1)번째 시뮬레이션 모델의 시작 시각과 같을 수 있다.
이러한 방식으로 각 시뮬레이션 모델을 표현하는 경우, 시뮬레이션 모델 동화 시스템(140)의 실행 모듈(143)은 각 시뮬레이션 모델에 대응하는 구성 순서 및 시간 구간을 바탕으로, 각 시간 구간에 대해 대응하는 시뮬레이션 모듈을 로딩하여 실행할 수 있다. 또한, 실행 모듈(143)은 시뮬레이션 모델의 시작 시, 이전 시간 구간에서 실행된 시뮬레이션 모델의 상태 값을 바탕으로, 현재 시간 구간에서 실행되는 시뮬레이션 모델에 대한 초기화를 수행할 수 있다. 이에 따라, 이전 시간 구간에서의 시뮬레이션 결과가 다음 시간 구간의 시뮬레이션 모델의 초기치로 전달되어, 시뮬레이션의 연속성이 유지될 수 있다.
한편, 행위자 기반 시뮬레이션을 이용한 미래 예측의 경우, 마지막 시간 구간 이후에, 새로운 시스템 데이터가 없는 경우에 시뮬레이션 결과가 예측 결과로 활용될 수 있다. 반면에, 새로운 시스템 데이터가 발생하여 이를 이용한 데이터 동화를 통해 행위자 기반 시뮬레이션 모델을 최적화 하는 경우에는, 마지막 시간 구간의 시뮬레이션 모델에 대해, 새롭게 시스템 데이터가 발생한 구간까지 포함하여 컴포넌트 구성을 최적화하는 알고리즘을 수행함으로써 모델 변경이 이루어진다. 그리고, 새롭게 변경된 시뮬레이션 모델을 바탕으로 시뮬레이션이 실행되어, 새로운 시뮬레이션 예측 결과가 생성된다. 이와 같이, 새롭게 발생한 시스템 데이터에 의해 모델 최적화가 이루어지는 경우, 시뮬레이션의 마지막 구간에 대응하는 모델 구성이 다시 여러 개의 시간 구간으로 나누어지고, 이로 인해 마지막 구간에 대한 구성 수열의 개수가 더 늘어날 수도 있다. 반면에, 원래 마지막 구간의 모델 컴포넌트 구성만 바뀔 수도 있다.
도 9를 예로 들면, 시뮬레이션 모델 동화 시스템(140)은 마지막 구간인 구간 2 이후에 새로운 시스템 데이터(201)가 발생함에 따라, 마지막 시간 구간(구간 2)의 시뮬레이션 모델(모델 2)에 대해, 새롭게 시스템 데이터(201)가 발생한 구간(t3-t4 구간)까지 포함하여 컴포넌트 구성을 최적화하는 알고리즘을 수행함으로써 모델 변경이 이루어진다.
이후, 시뮬레이션 모델 동화 시스템(140)은 새롭게 변경된 시뮬레이션 모델(모델 3)을 바탕으로 시뮬레이션을 실행하여, 새로운 시뮬레이션 예측 결과(211)를 생성한다. 도 9에서는, 새롭게 발생한 시스템 데이터(201)에 의해 모델 최적화가 이루어짐에 따라, 시뮬레이션의 마지막 구간(구간 2)에 대응하는 모델 구성이 다시 여러 개의 시간 구간(구간 2, 구간 3)으로 나누어지고, 이로 인해 마지막 구간에 대한 구성 수열의 개수가 더 늘어날 수 있다. 즉, 구간 3에 대응하는 시뮬레이션 모델(모델 3)의 구성 수열이 추가로 모델 및 컴포넌트 저장소(110)에 저장될 수 있다.
전술한 본 발명의 실시 예에 따르면, 데이터 동화 시스템(100)은 새롭게 발생한 시스템 데이터에 맞춰 시뮬레이션 예측 결과를 보정하고, 시뮬레이션 모델을 새로운 시스템 데이터에 동화시킴으로써, 미래 예측을 위해 사용 가능한 자가진화 행위자 기반 시뮬레이션 모델을 제공할 수 있다. 또한, 데이터 동화 시스템(100)은사회 경제와 같은 복잡계에 대해 행위자 기반 시뮬레이션을 통한 미래 예측이 가능하도록 시뮬레이션 모델을 제공할 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.
Claims (1)
- 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템에 있어서,
행위자 기반 시뮬레이션 모델을 실행하여 시뮬레이션 예측 결과를 생성하는 실행 모듈,
상기 행위자 기반 시뮬레이션 모델의 타겟 시스템에 의해 획득된 실제 데이터를 이용하여, 상기 시뮬레이션 예측 결과를 보정하는 결과 보정 모듈,
상기 결과 보정 모듈에 의해 보정된 시뮬레이션 예측 결과를 분석하여, 데이터 동화 작업의 수행 여부를 결정하는 결과 분석 모듈, 및
상기 데이터 동화 작업의 수행이 결정되면, 상기 실제 데이터 및 상기 보정된 시뮬레이션 예측 결과를 이용한 데이터 동화 작업을 수행하여, 새로운 행위자 기반 시뮬레이션 모델을 구성하는 동화 모듈을 포함하는 데이터 동화 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170156816A KR20190059152A (ko) | 2017-11-22 | 2017-11-22 | 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170156816A KR20190059152A (ko) | 2017-11-22 | 2017-11-22 | 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190059152A true KR20190059152A (ko) | 2019-05-30 |
Family
ID=66675783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170156816A KR20190059152A (ko) | 2017-11-22 | 2017-11-22 | 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190059152A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210085688A (ko) * | 2019-12-31 | 2021-07-08 | (주) 아인스에스엔씨 | 고스트 모델을 이용한 일시적 미수신 데이터에 대한 복구 및 가시화 장치 |
KR20220091253A (ko) * | 2020-12-23 | 2022-06-30 | 주식회사 크로커스 | 시뮬레이션 제어 장치 및 시뮬레이션 제어 방법 |
KR20230090859A (ko) * | 2021-12-15 | 2023-06-22 | 한국기술교육대학교 산학협력단 | 디지털 트윈 기반의 예측 시뮬레이션 수행 장치 및 방법 |
-
2017
- 2017-11-22 KR KR1020170156816A patent/KR20190059152A/ko unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210085688A (ko) * | 2019-12-31 | 2021-07-08 | (주) 아인스에스엔씨 | 고스트 모델을 이용한 일시적 미수신 데이터에 대한 복구 및 가시화 장치 |
KR20220091253A (ko) * | 2020-12-23 | 2022-06-30 | 주식회사 크로커스 | 시뮬레이션 제어 장치 및 시뮬레이션 제어 방법 |
KR20230090859A (ko) * | 2021-12-15 | 2023-06-22 | 한국기술교육대학교 산학협력단 | 디지털 트윈 기반의 예측 시뮬레이션 수행 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109697500B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20080097802A1 (en) | Time-Series Forecasting | |
AU2016259298A1 (en) | Machine for development and deployment of analytical models | |
KR20190059152A (ko) | 행위자 기반 시뮬레이션 모델의 데이터 동화 시스템 및 그 방법 | |
JP5227254B2 (ja) | プロセスモデルの状態量のリアルタイム計算方法およびシミュレータ | |
US8701079B2 (en) | Procedure and development environment for generation of an executable overall control program | |
CN109063295A (zh) | 基于cae模型的节点信息优化处理方法和装置 | |
CN113033806A (zh) | 一种训练深度强化学习模型的方法、装置以及调度方法 | |
JP2021184139A (ja) | 管理計算機、管理プログラム、及び管理方法 | |
CN114258035B (zh) | 通信方法及装置、系统 | |
JP2019220156A (ja) | 物理システムのハイブリッドモデル生成 | |
Soltan et al. | System Engineering for dependency analysis-a Bayesian approach: application to obsolescence study | |
JP2022172503A (ja) | 衛星観測計画立案システム、衛星観測計画立案方法、および衛星観測計画立案プログラム | |
US20230252204A1 (en) | Method for generating a virtual model of a component, computer system, and computer program product | |
AU2021240175B2 (en) | Model learning apparatus, control apparatus, model learning method and computer program | |
CN105653355A (zh) | Hadoop的配置参数的计算方法及系统 | |
CN114610648A (zh) | 一种测试方法、装置及设备 | |
CN114860590A (zh) | 一种接口测试方法、装置、设备、存储介质 | |
JP2023002103A (ja) | モデル推論装置、方法およびプログラム | |
US20100191710A1 (en) | Network Meta-Data Libraries And Related Methods | |
CN112307589B (zh) | 单位工况创建方法、装置、电子设备及存储介质 | |
CN114064068A (zh) | 用于对分布式软件的不同版本进行更新管理的方法和设备 | |
IL294712A (en) | Learning with momentary assessment using different time constants | |
CN112204526A (zh) | 用于配置自动化系统的方法 | |
CN116382666B (zh) | 一种基于人工智能模型的项目执行方法和系统 |