KR102063655B1 - Method and apparatus for simulation based self evolution agent - Google Patents

Method and apparatus for simulation based self evolution agent Download PDF

Info

Publication number
KR102063655B1
KR102063655B1 KR1020160154458A KR20160154458A KR102063655B1 KR 102063655 B1 KR102063655 B1 KR 102063655B1 KR 1020160154458 A KR1020160154458 A KR 1020160154458A KR 20160154458 A KR20160154458 A KR 20160154458A KR 102063655 B1 KR102063655 B1 KR 102063655B1
Authority
KR
South Korea
Prior art keywords
simulation
model
simulation model
data
optimal
Prior art date
Application number
KR1020160154458A
Other languages
Korean (ko)
Other versions
KR20180056319A (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 KR1020160154458A priority Critical patent/KR102063655B1/en
Publication of KR20180056319A publication Critical patent/KR20180056319A/en
Application granted granted Critical
Publication of KR102063655B1 publication Critical patent/KR102063655B1/en

Links

Images

Classifications

    • G06F17/5009

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

자가 진화 행위자 기반 시뮬레이션을 위한 시뮬레이션 시스템 및 방법이 제공된다. 적어도 하나의 시뮬레이션 실행 노드를 이용하여 시뮬레이션을 수행하는 시뮬레이션 시스템은, 시뮬레이션 모델의 컴포넌트를 저장하는 모델 및 모델 컴포넌트 저장소; 시뮬레이션에서 사용되는 데이터를 저장하는 데이터 저장소; 및 상기 모델 및 모델 컴포넌트 저장소에 저장된 시뮬레이션 모델의 컴포넌트를 조합하여 시뮬레이션 모델을 생성하고, 시뮬레이션 모델에 대하여 자가진화를 진행하면서 상기 시뮬레이션 모델의 시뮬레이션 결과를 토대로 상기 시뮬레이션 모델을 갱신 및 재구성한다. Simulation systems and methods are provided for self-extinguishing actor based simulations. A simulation system for performing a simulation using at least one simulation execution node comprises: a model and model component repository for storing components of a simulation model; A data store for storing data used in the simulation; And generating a simulation model by combining components of the model and the simulation model stored in the model component repository, and updating and reconstructing the simulation model based on simulation results of the simulation model while self-evolving the simulation model.

Description

자가 진화 행위자 기반 시뮬레이션을 위한 시뮬레이션 시스템 및 방법 {Method and apparatus for simulation based self evolution agent}Simulation System and Method for Self-Evolution Agent Based Simulation

본 발명은 시뮬레이션 시스템 및 방법에 관한 것으로, 더욱 상세하게 말하자면, 자가 진화 행위자 기반 시뮬레이션을 위한 시뮬레이션 시스템 및 방법에 관한 것이다. The present invention relates to a simulation system and method, and more particularly, to a simulation system and method for self-extinguishing actor based simulation.

행위자 기반 시뮬레이션 시스템에서, 시뮬레이션 엔진이 행위자 모델을 포함하는 시뮬레이션 모델을 로딩하여 시뮬레이션 모델이 가지는 행위자의 속성, 행위, 환경 모델에 따라 이벤트를 발생시키며 시뮬레이션을 실행한다. 이러한 방식의 경우, 도메인 관련 전문가가 수동으로 시뮬레이션 모델을 수정하여 시뮬레이션의 정확도를 향상시켰다. In an actor-based simulation system, the simulation engine loads a simulation model including an actor model to generate an event according to the attributes, behaviors, and environmental models of the actors of the simulation model and execute the simulation. In this case, domain experts improved the accuracy of the simulation by manually modifying the simulation model.

자가 진화 행위자 기반 시뮬레이션은 시뮬레이션 모델의 수정을 시뮬레이션 대상 분야의 전문가가 아니라, 실제 데이터와 시뮬레이션 결과를 바탕으로 기계 학습 방법을 이용하여 실행하는 시뮬레이션 방법이다. 그러나 사회 경제 문제와 같은 복잡계 시뮬레이션의 경우 매우 많은 모수(Parameter)와 행위자(Agent, 에이전트) 수, 실제 데이터 수가 존재함에 따라, 기계학습 방법을 이용하는 경우 매우 많은 시간이 소요되어 실제적인 시뮬레이션을 통한 다양한 정책 개발이나 예측이 힘들다. Self-extinguishing actor-based simulation is a simulation method that uses a machine learning method based on actual data and simulation results, not an expert in the subject of simulation, to modify a simulation model. However, in case of complex system simulation such as socioeconomic problem, there are very many parameters, agents, agents, and actual data. Therefore, it is very time consuming when using machine learning method. Policy development or prediction is difficult.

기존에는 빠른 시뮬레이션을 위하여 병렬/분산 시스템을 통하여 시뮬레이션을 실행하는 방법들이 고안되어 사용되었으나, 단일 시뮬레이션을 병렬/분산 시스템을 활용하여 병렬화하여 시뮬레이션을 실행하는 방식으로 자가진화를 위한 학습은 고려되지 않았다. 따라서, 자가 진화 행위자 기반 시뮬레이션을 위한 시뮬레이션 가속 시스템 및 방법이 필요하다.In the past, methods for executing simulations through parallel / distributed systems have been devised and used for fast simulation, but learning for self-evolution is not considered as a method of executing a simulation by parallelizing a single simulation using a parallel / distributed system. . Therefore, there is a need for a simulation acceleration system and method for self-extinguishing actor based simulation.

보다 구체적으로, 사회 경제 등의 복잡계 대규모 자가진화 행위자 기반 시뮬레이션을 위해서 고속의 시뮬레이션을 수행할 수 있는 시뮬레이션 시스템이 필요하다. 또한, 기존의 행위자 기반 시뮬레이션 시스템의 분산/병렬 실행은 자가진화를 고려하지 않은 단순한 시뮬레이션의 분산/병렬 실행하는 방식이므로 자가진화 행위자 기반 시뮬레이션에 바로 적용할 수 없으므로, 자가진화 행위자 기반 시뮬레이션에 적용 가능한 모델 학습과 자가진화를 고속 수행하는 시뮬레이션 시스템과 방법이 필요하다. More specifically, a simulation system capable of performing high-speed simulation for complex-based large-scale self-extinguishing actor-based simulation such as socioeconomic is needed. In addition, since distributed / parallel execution of the existing actor-based simulation system is a method of distributed / parallel execution of a simple simulation without considering self-evolution, it cannot be directly applied to self-extinguishing actor-based simulation, and thus can be applied to self-extinguishing actor-based simulation. There is a need for a simulation system and method for fast model learning and self-evolution.

본 발명이 해결하고자 하는 기술적 과제는 자가 진화 과정을 가속화하여 빠른 시뮬레이션을 가능하게 하는 시뮬레이션 시스템 및 방법을 제공하는 것이다. The technical problem to be solved by the present invention is to provide a simulation system and method for enabling rapid simulation by accelerating the self-extinguishing process.

본 발명의 특징에 따른 시스템은, 적어도 하나의 시뮬레이션 실행 노드를 이용하여 시뮬레이션을 수행하는 시뮬레이션 시스템으로서, 시뮬레이션 모델의 컴포넌트를 저장하는 모델 및 모델 컴포넌트 저장소; 시뮬레이션에서 사용되는 데이터를 저장하는 데이터 저장소; 및 상기 모델 및 모델 컴포넌트 저장소에 저장된 시뮬레이션 모델의 컴포넌트를 조합하여 시뮬레이션 모델을 생성하고, 시뮬레이션 모델에 대하여 자가진화를 진행하면서 상기 시뮬레이션 모델의 시뮬레이션 결과를 토대로 상기 시뮬레이션 모델을 갱신 및 재구성하는 시뮬레이션 모델 학습 서브시스템을 포함한다. A system in accordance with an aspect of the present invention is a simulation system for performing a simulation using at least one simulation execution node, comprising: a model and model component repository for storing components of a simulation model; A data store for storing data used in the simulation; And generating a simulation model by combining the components of the simulation model stored in the model and the model component repository, and performing a self-evolution of the simulation model while updating and reconstructing the simulation model based on the simulation results of the simulation model. It includes a subsystem.

본 발명의 실시 예에 따르면, 자가진화 행위자 기반 시뮬레이션을 위한 조합 가능한 시뮬레이션 모델을 생성 및 관리하고 재구성하며, 이를 시뮬레이션 결과의 재활용과 자가진화를 위한 시뮬레이션의 분산/병렬화를 통하여 빠르게 실행할 수 있다. 또한, 시뮬레이션 결과의 재활용과 자가학습을 위한 분산/병렬 시뮬레이션으로 빠른 자가진화가 가능하다. According to an embodiment of the present invention, a combinable simulation model for self-extinguishing actor based simulation can be generated, managed, and reconstructed, and it can be quickly executed by dispersing / parallelizing the simulation for recycling the simulation results and self-evolving. In addition, rapid self-evolution is possible through distributed / parallel simulation for recycling of simulation results and self-learning.

이에 따라, 사회 경제와 같은 복잡계의 대규모 행위자 기반 시뮬레이션에서 빠른 자가진화 시뮬레이션이 가능하도록 하여 시뮬레이션의 효율성과 정확도를 향상시킬 수 있다. Accordingly, it is possible to improve the efficiency and accuracy of the simulation by enabling rapid self-evolution simulation in large-scale actor-based simulations of complex systems such as social economy.

도 1은 본 발명의 실시 예에 따른 자가진화 행위자 기반 시뮬레이션 시스템의 구조를 나타낸 도이다.
도 2는 본 발명의 실시 예에 따른 시뮬레이션 방법의 흐름도이다.
도 3은 본 발명의 실시 예에 따른 시뮬레이션 방법 중 초기 시뮬레이션 설정 모드와 시뮬레이션 모델 학습 모드의 과정을 나타낸 흐름도이다.
도 4는 본 발명의 실시 예에 따른 시뮬레이션 모델 구성을 나타낸 예시도이다.
도 5는 본 발명의 실시 예에 따른 시뮬레이션 결과 분석에 따른 전체 분석 결과를 나타낸 예시도이다.
도 6은 본 발명의 실시 예에 따른 시뮬레이션 방법 중 시뮬레이션 예측 모드와 시뮬레이션 동화 모드의 과정을 나타낸 흐름도이다.
도 7은 본 발명의 다른 실시 예에 따른 시뮬레이션 장치의 구조도이다.
1 is a diagram showing the structure of a self-extinguishing actor based simulation system according to an embodiment of the present invention.
2 is a flowchart of a simulation method according to an embodiment of the present invention.
3 is a flowchart illustrating a process of an initial simulation setup mode and a simulation model training mode in a simulation method according to an exemplary embodiment of the present invention.
4 is an exemplary view showing a simulation model configuration according to an embodiment of the present invention.
5 is an exemplary view showing an entire analysis result according to the simulation result analysis according to an embodiment of the present invention.
6 is a flowchart illustrating a process of a simulation prediction mode and a simulation moving picture mode in a simulation method according to an exemplary embodiment of the present invention.
7 is a structural diagram of a simulation apparatus according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention.

그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification and claims, when a portion is said to include a certain component, it means that it can further include other components, except to exclude other components unless specifically stated otherwise.

이하, 본 발명의 실시 예에 따른 시뮬레이션 시스템 및 방법에 대하여 설명한다. Hereinafter, a simulation system and a method according to an embodiment of the present invention will be described.

도 1은 본 발명의 실시 예에 따른 자가진화 행위자 기반 시뮬레이션 시스템의 구조를 나타낸 도이다. 1 is a diagram showing the structure of a self-extinguishing actor based simulation system according to an embodiment of the present invention.

첨부한 도 1에서와 같이, 본 발명의 실시 예에 따른 자가진화 행위자 기반 시뮬레이션 시스템(1)(이하, 설명의 편의를 위하여 "시뮬레이션 시스템"이라고 명명함)은, 시뮬레이션 모델 학습 서브시스템(10), 시뮬레이션 실행 클러스터 서브시스템(20), 모델 및 컴포넌트 저장소(30), 데이터 저장소(40) 그리고 사용자 인터페이스(50)를 포함한다.As shown in FIG. 1, the self-extinguishing agent based simulation system 1 (hereinafter, referred to as a "simulation system" for convenience of explanation) according to an embodiment of the present invention is a simulation model learning subsystem 10. , Simulation execution cluster subsystem 20, model and component repository 30, data repository 40, and user interface 50.

시뮬레이션 모델 학습 서브시스템(10)은 하나 이상일 수 있으며, 시뮬레이션 모델을 생성하고 재구성하며, 행위자 기반 시뮬레이션에서 자가진화를 진행하고 기계 학습을 기반으로 시뮬레이션 모델을 수정한다. The simulation model learning subsystem 10 may be one or more, to generate and reconstruct the simulation model, to self-evolve in the actor based simulation, and to modify the simulation model based on machine learning.

시뮬레이션 실행 클러스터 서브시스템(20)(또는 간략하게 시뮬레이션 실행서브시스템이라고도 명명됨)은 시뮬레이션을 실행하는 하나 이상의 컴퓨팅 노드로 구성된다. 컴퓨팅 노드는 시뮬레이션 모델을 기반으로 시뮬레이션을 실행하고 시뮬레이션 결과를 저장하거나 전달하며, 시뮬레이션 실행 노드라고도 명명될 수 있으며, 간단하게 노드라고도 명명된다. 개별 시뮬레이션 작업은 복수의 노드에 분산되어 실행될 수도 있고, 한 개의 노드에서 실행될 수도 있다. 또한, 각 노드들은 멀티코어 서버로 구성될 수 있으며, 코어별로 시뮬레이션 작업을 할당할 수도 있다. 시뮬레이션 실행 클러스터 서브시스템(20)은 시뮬레이션 작업이 완료되면 그 결과를 시뮬레이션 모델 학습 서브시스템(10)으로 전달한다. The simulation execution cluster subsystem 20 (or simply referred to as simulation execution subsystem) consists of one or more computing nodes that execute simulations. Computing nodes run simulations based on simulation models, store or deliver simulation results, can be referred to as simulation execution nodes, or simply nodes. Individual simulation tasks may be distributed and executed on a plurality of nodes, or may be executed on one node. In addition, each node may be configured as a multicore server, and a simulation task may be allocated to each core. The simulation execution cluster subsystem 20 transfers the results to the simulation model training subsystem 10 when the simulation task is complete.

모델 및 모델 컴포넌트 저장소(30)는 하나 이상일 수 있으며, 시뮬레이션에서 사용되는 시뮬레이션 모델과, 시뮬레이션 모델들의 컴포넌트를 저장하는 서브시스템으로, 데이터베이스를 통하여 정보를 관리할 수도 있다. 구체적으로, 모델 및 모델 컴포넌트 저장소(30)는 복수의 시뮬레이션 모델의 구성 정보와 시뮬레이션 모델의 컴포넌트를 저장하며, 시뮬레이션 모델 학습 서브시스템(10)에 시뮬레이션 모델의 구성 정보와 시뮬레이션 모델의 컴포넌트를 제공하고, 시뮬레이션 모델 학습 서브시스템(10)에 의해 학습되어 재구성된 시뮬레이션 모델의 구성 정보를 저장한다.The model and model component store 30 may be one or more, and the simulation model used in the simulation, and a subsystem for storing the components of the simulation models, may manage information through a database. Specifically, the model and model component store 30 stores the configuration information of the plurality of simulation models and the components of the simulation model, and provides the configuration information of the simulation model and the components of the simulation model to the simulation model learning subsystem 10. The configuration information of the simulation model trained and reconstructed by the simulation model learning subsystem 10 is stored.

데이터 저장소(40)는 시뮬레이션에서 사용되는 데이터를 저장하는 서브시스템으로, 데이터베이스를 통하여 정보를 관리할 수도 있다. 구체적으로, 데이터 저장소(40)는 시뮬레이션 모델 학습 서브시스템(10)에서 사용되는 데이터를 제공하고, 시뮬레이션 결과를 저장한다. 시뮬레이션 결과는 시뮬레이션 모델의 구성 아이디와 같이 저장되며, 시뮬레이션 모델의 성능을 나타낼 수 있다.The data store 40 is a subsystem for storing data used in the simulation, and may manage information through a database. Specifically, data store 40 provides data used in simulation model learning subsystem 10 and stores simulation results. The simulation result is stored together with the configuration ID of the simulation model, and may indicate the performance of the simulation model.

사용자 인터페이스(50)는 시뮬레이션을 진행하기 위해 사용자와 상호 소통하기 위한 인터페이스이다. 사용자 인터페이스(50)는 사용자가 시뮬레이션을 생성하고 초기 설정할 수 있도록 사용자에 의해 입력되는 데이터를 해당 구성 요소로 전달하며, 또한 시뮬레이션 결과를 출력하여 사용자의 확인이 가능하도록 한다. 또한 사용자 인터페이스(50)는 사용자의 피드백을 해당 구성 요소로 전달함으로써, 시뮬레이션 모델의 선정에 영향을 줘서 사용자가 만족하는 결과를 도출 가능하도록 한다.The user interface 50 is an interface for interacting with the user to proceed with the simulation. The user interface 50 transmits the data input by the user to the corresponding component so that the user can create and initially set the simulation, and also outputs the simulation result so that the user can check. In addition, the user interface 50 transmits the user's feedback to the corresponding component, thereby influencing the selection of the simulation model, so that the user can obtain a satisfactory result.

이러한 서브 시스템(10~40)들은 서브 시스템간 통신망을 통하여 시뮬레이션 실행 클러스터 서브시스템(20)의 노드들과 통신을 할 수 있으며, 노드들도 서브시스템간 통신망을 통하여 통신할 수 있다. These subsystems 10 to 40 may communicate with nodes of the simulation execution cluster subsystem 20 through an inter-system communication network, and the nodes may also communicate through an inter-subsystem communication network.

서브시스템 간 통신망은 복수의 서브시스템 및 노드 간의 통신을 제공하는 통신망을 구성하는 하드웨어와 소프트웨어를 지칭한다. 서브시스템간 통신망은 시뮬레이션 실행 노드 간 또는 서브시스템 간의 통신을 담당하며, 시뮬레이션 작업 할당이나 데이터, 모델 코드, 시뮬레이션 결과 등이 전달된다. 서브시스템 간 통신망은 일반적으로 한 개의 통신망이 사용되지만 복수의 여러 통신망이 혼재할 수도 있다. 통신망은 인터넷(Internet), LAN(Local Area Network), 무선랜(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G 또는 LTE(Long-Term Evolution)와 같은 이동 통신망(Mobile Radio Communication network) 등이 될 수 있으며, 본 발명은 이에 한정되지 않는다.Inter-subsystem communication network refers to hardware and software that make up a communication network that provides communication between a plurality of subsystems and nodes. The inter-subsystem communication network is responsible for the communication between the simulation execution nodes or the subsystems, and the simulation task assignment, data, model code, and simulation results are transmitted. A communication network between subsystems is generally used with one communication network, but a plurality of communication networks may be mixed. The communication network may be a mobile communication network such as the Internet, a local area network (LAN), a wireless local area network (WLAN), a wide area network (WAN), a personal area network (PAN), 3G, or long-term evolution (LTE). (Mobile Radio Communication network) and the like, but the present invention is not limited thereto.

또한, 물리적으로는 시뮬레이션 모델 학습 서브시스템(10)과 시뮬레이션 실행 클러스터 서브시스템(20)의 컴퓨팅 노드가 동일한 머신 상에 존재할 수 있다. 모델 및 컴포넌트 저장소(30), 데이터 저장소(40), 사용자 인터페이스(50)도 시뮬레이션 모델 학습 서브시스템(10)이나 시뮬레이션 실행 클러스터 서브시스템(20)과 동일한 머신에서 동작 가능하다. 또한, 일반적으로 위의 서브시스템들은 기본적으로 한 개의 노드 상에서도 동작하지만, 기능이 분산된 클러스터 노드들이나 복수의 노드 그룹에서 동작할 수도 있다. In addition, the computing nodes of the simulation model learning subsystem 10 and the simulation execution cluster subsystem 20 may physically exist on the same machine. The model and component store 30, data store 40, and user interface 50 may also operate on the same machine as the simulation model learning subsystem 10 or the simulation execution cluster subsystem 20. In addition, the above subsystems generally operate on a single node by default, but may also operate on distributed cluster nodes or multiple node groups.

한편, 시뮬레이션 모델 학습 서브시스템(10)의 구체적인 구조에 대하여 살펴보면 다음과 같다. Meanwhile, the concrete structure of the simulation model learning subsystem 10 is as follows.

시뮬레이션 모델 학습 서브시스템(10)은 도 1에서와 같이, 시뮬레이션 모델 학습/관리부(11), 시뮬레이션 스케줄러(12), 그리고 시뮬레이션 결과 분석부(13)를 포함한다. The simulation model training subsystem 10 includes a simulation model learning / management unit 11, a simulation scheduler 12, and a simulation result analysis unit 13 as shown in FIG. 1.

시뮬레이션 모델 학습/관리부(11)는, 시뮬레이션 모델을 생성하고, 또한, 시뮬레이션에서 사용할 데이터를 시뮬레이션 모델과 연결하여 초기 시뮬레이션 설정 구성을 만들고, 기계학습을 바탕으로 초기 시뮬레이션 설정 구성에 따라 생성된 시뮬레이션 모델을 변화시키며, 시뮬레이션 모델에 적용된 데이터와 시뮬레이션 결과의 차이를 감소시켜, 최적화된 시뮬레이션 모델을 생성한다. The simulation model learning / management unit 11 generates a simulation model and also connects the data to be used in the simulation with the simulation model to create an initial simulation setting configuration, and a simulation model generated according to the initial simulation setting configuration based on machine learning. In order to reduce the difference between the data applied to the simulation model and the simulation result, an optimized simulation model is generated.

시뮬레이션 모델 학습/관리부(11)는, 구체적으로, 초기 시뮬레이션 설정 모드에서, 사용자 인터페이스(50)로부터 전달되는 사용자의 입력에 따라, 모델 및 모델 컴포넌트 저장소(30)로부터 읽어 드린 모델 컴포넌트를 조합하여 시뮬레이션 모델을 생성한다. 또한, 시뮬레이션에서 사용할 데이터를 시뮬레이션 모델과 연결하여 초기 시뮬레이션 모델을 생성하며, 초기 시뮬레이션 모델에 대응하는 구성 정보(시뮬레이션 설정 구성)가 저장 및 관리된다. 이후 시뮬레이션 모델 학습 모드에서, 기계학습을 바탕으로 초기 시뮬레이션 모델을 변화시키며, 시뮬레이션 설정 구성의 데이터 즉, 시뮬레이션 모델에 적용된 데이터와 시뮬레이션 결과의 차이를 감소시킨다. In the initial simulation setting mode, the simulation model learning / management unit 11 performs simulation by combining the model and the model components read from the model component store 30 according to a user input transmitted from the user interface 50. Create a model. In addition, the initial simulation model is generated by connecting the data to be used in the simulation with the simulation model, and configuration information (simulation setting configuration) corresponding to the initial simulation model is stored and managed. Then, in the simulation model learning mode, the initial simulation model is changed based on the machine learning, and the difference between the data of the simulation configuration configuration, that is, the data applied to the simulation model, and the simulation result is reduced.

기계학습을 통한 시뮬레이션 모델의 변화시, 단일 시뮬레이션 모델이 아닌 복수의 시뮬레이션 모델을 사용하여 시뮬레이션을 수행하고, 각각의 시뮬레이션을 통하여 복수의 시뮬레이션 모델들 중에서 가장 우수한 시뮬레이션 모델을 선택하는 방법을 사용할 수 있다. 이를 위해, 시뮬레이션 모델 학습/관리부(11)는, 시뮬레이션 스케줄러(12)에 복수의 시뮬레이션 모델을 토대로 하는 복수의 시뮬레이션 작업(Job)을 요청한다. When the simulation model is changed through machine learning, simulation can be performed using a plurality of simulation models rather than a single simulation model, and each simulation can be used to select the best simulation model among the plurality of simulation models. . To this end, the simulation model learning / management unit 11 requests a plurality of simulation jobs (Job) based on the plurality of simulation models from the simulation scheduler 12.

한편, 시뮬레이션 모델 학습/관리부(11)는, 시뮬레이션 예측 모드에서, 최적화된 시뮬레이션 모델을 시뮬레이션 스케줄러(12)에 전달하여 시뮬레이션 스케줄러가 단일 작업의 예측 시뮬레이션을 수행하도록 한다. 또한, 시뮬레이션 모델 학습/관리부(11)는, 시뮬레이션 동화 모드에서, 데이터 저장소(40)로부터 새로운 데이터를 로딩하여 과거의 데이터와 함께 시뮬레이션 모델의 학습에 활용하여 기계학습을 통한 최적의 시뮬레이션 모델을 선택한다. 이 때도 시뮬레이션 학습 모드에서와 같이, 복수의 시뮬레이션 작업을 시뮬레이션 스케줄러(12)에 요청한다. Meanwhile, the simulation model learning / management unit 11 delivers the optimized simulation model to the simulation scheduler 12 in the simulation prediction mode so that the simulation scheduler performs the prediction simulation of a single task. In addition, the simulation model learning / management unit 11 selects an optimal simulation model through machine learning by loading new data from the data storage 40 in the simulation assimilation mode and using it for learning the simulation model together with the past data. do. Also in this case, as in the simulation learning mode, a plurality of simulation jobs are requested to the simulation scheduler 12.

시뮬레이션 스케줄러(12)는 시뮬레이션 모델 학습/관리부(11)로부터의 시뮬레이션 작업 요청에 따라, 시뮬레이션 작업을 시뮬레이션 실행 클러스터 서브시스템(20)의 노드에 할당한다. 또한, 개별 시뮬레이션 작업에 대하여 시뮬레이션 모델, 시뮬레이션 설정 구성을 전달 받아 시뮬레이션 실행 클러스터 서브시스템(20)의 노드(들)에 전달하고, 시뮬레이션의 라이프 사이클을 관리한다.The simulation scheduler 12 assigns a simulation task to a node of the simulation execution cluster subsystem 20 in response to a simulation task request from the simulation model learning / management unit 11. It also receives the simulation model and simulation setup configuration for each simulation task and delivers it to the node (s) of the simulation execution cluster subsystem 20 and manages the life cycle of the simulation.

시뮬레이션 결과 분석부(13)는 시뮬레이션 실행 클러스터 서브시스템(20)에서 전달되는 시뮬레이션 결과를 취합하여 시뮬레이션 결과를 분석한다. 시뮬레이션 학습 모드에서는 개별 시뮬레이션 모델에 대한 시뮬레이션 결과를 분석하여 시뮬레이션 성능을 평가한다. 데이터 저장소(40)로부터 로딩된 데이터와 시뮬레이션 결과와의 차이를 활용하여 시뮬레이션 성능을 평가한다. 또한, 사용자 인터페이스(50)를 통하여 분석 결과를 사용자에게 보여주고 사용자의 피드백을 입력받을 수도 있다. The simulation result analyzing unit 13 collects simulation results delivered from the simulation execution cluster subsystem 20 and analyzes the simulation results. In simulation learning mode, the simulation performance is evaluated by analyzing the simulation results for individual simulation models. The simulation performance is evaluated by using the difference between the data loaded from the data store 40 and the simulation result. In addition, the analysis result may be shown to the user through the user interface 50 and the user's feedback may be input.

도 2는 본 발명의 실시 예에 따른 시뮬레이션 방법의 흐름도이다.2 is a flowchart of a simulation method according to an embodiment of the present invention.

시뮬레이션 시스템(1)은, 첨부한 도 2에 도시되어 있듯이, 초기 시뮬레이션 설정 모드로 동작한다(S100). 초기 시뮬레이션 설정 모드에서, 시뮬레이션 시스템(1)은, 사용자의 입력에 따라 대응하는 시뮬레이션 모델의 구성에 맞는 모델 컴포넌트를 조합하여 시뮬레이션 모델을 생성하고, 시뮬레이션에서 사용할 데이터를 시뮬레이션 모델과 연결하여 초기 시뮬레이션 설정 구성을 만들고, 이에 대응하는 초기 시뮬레이션 모델을 생성한다. The simulation system 1 operates in an initial simulation setting mode, as shown in FIG. 2 (S100). In the initial simulation setup mode, the simulation system 1 generates a simulation model by combining model components corresponding to the configuration of the corresponding simulation model according to a user input, and connects the data to be used in the simulation with the simulation model to set up the initial simulation setup. Create a configuration and create a corresponding initial simulation model.

이후, 시뮬레이션 시스템(1)은, 시뮬레이션 모델 학습 모드, 시뮬레이션 예측 모드, 시뮬레이션 모델 동화 모드로 동작하면서 자가진화를 진행한다.Thereafter, the simulation system 1 performs self-evolution while operating in a simulation model learning mode, a simulation prediction mode, and a simulation model moving picture mode.

구체적으로, 시뮬레이션 시스템(1)은, 초기 시뮬레이션 설정 모드에서 시뮬레이션 모델 학습 모드로 동작하고(S110), 시뮬레이션 모델 학습 모드에서, 기계학습 방법을 토대로 초기 시뮬레이션 설정 모드에서 생성된 시뮬레이션 모델을 변화시키면서 최적의 시뮬레이션 모델을 생성한다. 데이터 저장소(30)로부터 업로드되어 시뮬레이션 모델에 적용된 데이터와 시뮬레이션 결과와의 차이를 줄여서 시뮬레이션 모델의 정확도를 향상시킨다. Specifically, the simulation system 1 operates in the simulation model learning mode in the initial simulation setting mode (S110), and in the simulation model learning mode, while changing the simulation model generated in the initial simulation setting mode based on the machine learning method. Create a simulation model of. The accuracy of the simulation model is improved by reducing the difference between the data uploaded from the data store 30 and the simulation result and the simulation result.

이후, 시뮬레이션 시스템(1)은, 시뮬레이션 모델 학습 모드에서 시뮬레이션 예측 모드로 동작한다(S120). 시뮬레이션 예측 모드에서, 시뮬레이션 시스템(1)은, 업로드된 데이터에 없는 시간 구간의 시뮬레이션 결과를 만들어 예측한다. Thereafter, the simulation system 1 operates in the simulation prediction mode in the simulation model training mode (S120). In the simulation prediction mode, the simulation system 1 generates and predicts simulation results of time intervals not present in the uploaded data.

현재 업로드된 데이터가 아닌 새롭게 발생한 데이터가 있다면, 시뮬레이션 시스템(1)은, 시뮬레이션 예측 모드에서 시뮬레이션 동화 모드로 동작한다(S130, S140)는 시뮬레이션 동화 모드에서, 시뮬레이션 시스템(1)은, 현재 업로드된 데이터가 아닌 새롭게 발생한 데이터를 시뮬레이션 모델 학습에 사용한다. If there is newly generated data other than the currently uploaded data, the simulation system 1 operates in the simulation prediction mode in the simulation prediction mode (S130, S140) in the simulation animation mode, and the simulation system 1 is currently uploaded. Use the newly generated data rather than the data to train the simulation model.

다음에는 위와 같은 도 2에 따른 시뮬레이션 방법에 대하여, 도 1의 구조를 참조하여 보다 구체적으로 설명한다. Next, the simulation method of FIG. 2 will be described in more detail with reference to the structure of FIG. 1.

도 3은 본 발명의 실시 예에 따른 시뮬레이션 방법 중 초기 시뮬레이션 설정 모드와 시뮬레이션 모델 학습 모드의 과정을 나타낸 흐름도이다. 도 3에서, 점선으로 된 사각형은 반복적으로 수행되는 부분을 나타내며, 시뮬레이션 성능(즉, 데이터와 시뮬레이션 결과와의 차이)이 충분히 적을 때까지 반복 진행될 수 있다. 점선의 화살표는 사용자의 피드백을 받는 부분으로 경우에 따라 없을 수도 있다.3 is a flowchart illustrating a process of an initial simulation setup mode and a simulation model training mode in a simulation method according to an exemplary embodiment of the present invention. In Fig. 3, the dotted rectangle represents a portion that is repeatedly performed, and may be repeated until the simulation performance (i.e., the difference between the data and the simulation result) is sufficiently small. The dotted arrow is a part that receives feedback from the user and may not exist in some cases.

첨부한 도 3에서와 같이, 사용자 인터페이스(50)를 통한 사용자 입력에 따른 시뮬레이션 초기 설정이 수신되면(S300), 시뮬레이션 모델 학습 시스템(10)의 시뮬레이션 모델 학습/관리부(11)는, 초기 시뮬레이션 설정 모드로 동작하면서, 모델 및 모델 컴포넌트 저장소(30)로부터 시뮬레이션 모델 구성/컴포넌트를 읽어 들이고, 데이터 저장소(40)로부터 시뮬레이션 데이터를 읽어 들인다(S310~S340).As shown in FIG. 3, when a simulation initial setting according to a user input through the user interface 50 is received (S300), the simulation model learning / management unit 11 of the simulation model learning system 10 receives an initial simulation setting. While operating in the mode, the simulation model configuration / component is read from the model and model component store 30, and the simulation data is read from the data store 40 (S310 to S340).

시뮬레이션에 사용되는 모델은 행위자 기반이므로, 행위자 모델을 기반으로 한다. 행위자 모델의 속성, 행위, 환경 변수 등의 구성 요소들을 컴포넌트 형태로 조합 가능하게 하여 시뮬레이션 컴포넌트들로 구성하고, 이러한 시뮬레이션 컴포넌트를 조합하여 다른 행위자 기반의 시뮬레이션 모델을 구성할 수 있다. 이외에 시뮬레이션에 사용되는 환경 모델 등도 컴포넌트 조합형으로 구성한다. 시뮬레이션에 사용되는 컴포넌트는 미리 생성되어 모델 및 컴포넌트 저장소(30)에 저장될 수 있으며, 시뮬레이션 컴포넌트에 대해 식별자인 아이디(ID)가 부여되어 관리된다. 이 때 시뮬레이션 시나리오에 맞게 생성된 컴포넌트들은 시뮬레이션 시나리오의 아이디를 태깅(tagging)하여 메타 정보로 활용할 수 있다. 시뮬레이션 모델의 컴포넌트 조합 구성(시뮬레이션 모델 구성)은 컴포넌트 아이디의 수열로 표현 가능하다. 수열은 이진수, 10진수, 16진수의 다양한 형태로 인코딩이 가능하다. 컴포넌트의 위치가 시뮬레이션 모델에서의 컴포넌트의 용도를 의미할 수 있다. 이러한 시뮬레이션 모델 구성에도 아이디를 부여하여 구분하기 쉽게 할 수 있다.Since the model used for simulation is actor based, it is based on actor model. Components such as properties, behaviors, and environment variables of an actor model can be combined in a component form to be composed of simulation components, and by combining these simulation components, other actor-based simulation models can be constructed. In addition, the environment model used for the simulation is composed of component combinations. Components used in the simulation may be generated in advance and stored in the model and component storage 30, and an ID (ID), which is an identifier, is managed for the simulation component. In this case, components generated according to the simulation scenario may be used as meta information by tagging the ID of the simulation scenario. Component combination composition (simulation model composition) of the simulation model can be expressed as a sequence of component IDs. Sequences can be encoded in various forms: binary, decimal, and hexadecimal. The location of the component may refer to the use of the component in the simulation model. IDs can also be assigned to these simulation model configurations to make them easier to distinguish.

도 4는 본 발명의 실시 예에 따른 시뮬레이션 모델의 구성 정보를 나타낸 예시도이다. 4 is an exemplary view showing configuration information of a simulation model according to an embodiment of the present invention.

첨부한 도 4에 예시된 바와 같이, 시뮬레이션 모델의 구성 정보에 대하여 모델 구성 아이디가 부여되고, 시뮬레이션 모델 중 행위자와 환경을 구성하는 각 컴포넌트의 아이디가 모델 구성 아이디에 대응된다. 즉, 모델 구성 아이디에 대하여 모델에 포함되는 행위자 모델의 속성 컴포넌트, 행위 컴포넌트, 환경 속성 컴포넌트의 아이디들이 대응된다. 이러한 시뮬레이션 모델의 구성 정보는 모델 및 컴포넌트 저장소(30)에 저장되어 관리될 수 있다. As illustrated in FIG. 4, a model configuration ID is assigned to configuration information of a simulation model, and IDs of respective components constituting an actor and an environment in the simulation model correspond to the model configuration ID. That is, the IDs of the attribute component, behavior component, and environment attribute component of the actor model included in the model correspond to the model configuration ID. Configuration information of the simulation model may be stored and managed in the model and component store 30.

시뮬레이션 모델 학습/관리부(11)는, 시뮬레이션 모델 구성/컴포넌트와 시뮬레이션 데이터를 토대로 초기 시뮬레이션 모델을 생성하고(S350), 생성된 시뮬레이션 모델에 대응하는 시뮬레이션 모델의 구성 정보를 도 4와 같은 형태로 모델 및 컴포넌트 저장소(30)에 저장한다. The simulation model learning / management unit 11 generates an initial simulation model based on the simulation model configuration / component and the simulation data (S350), and models the configuration information of the simulation model corresponding to the generated simulation model in the form as shown in FIG. 4. And store in the component repository 30.

이후, 시뮬레이션 시스템(1)은 시뮬레이션 모델 학습 모드로 동작한다. 시뮬레이션 모델 학습은 다양한 시뮬레이션 모델들의 시뮬레이션을 병렬로 실행하고 그 결과를 비교하는 것이다. The simulation system 1 then operates in a simulation model learning mode. Simulation model training involves running simulations of various simulation models in parallel and comparing the results.

시뮬레이션 모델 학습/관리부(11)는, 시뮬레이션 모델에 따른 시뮬레이션 작업을 시뮬레이션 스케줄러(12)에게 요청한다(S360). 시뮬레이션 스케줄러(12)는 시뮬레이션 모델을 실행하는 시뮬레이션 작업을 시뮬레이션 실행 클러스터 서브시스템(20)의 시뮬레이션 실행 노드들에 분산 할당한다(S370). 시뮬레이션 모델 별로 시뮬레이션 작업을 개별 노드에서 실행하도록 할 수 있고 각 노드의 멀티코어의 코어에 할당할 수도 있다. 시뮬레이션 스케줄러(12)는 직접 시뮬레이션 작업을 시뮬레이션 실행 노드들/각 노드의 코어에 할당할 수도 있고, 이러한 작업 할당을 시뮬레이션 실행 클러스터 서브시스템(20)의 마스터 노드에 요청할 수 있다. 시뮬레이션 스케줄러(12)를 통하여 시뮬레이션 자가진화 과정을 분산 병렬 처리하여 자가진화 과정을 가속화할 수 있다. 시뮬레이션 작업은 시뮬레이션 모델, 시뮬레이션 설정치, 시뮬레이션 결과 포맷으로 구성될 수 있다. The simulation model learning / management unit 11 requests the simulation scheduler 12 for the simulation work according to the simulation model (S360). The simulation scheduler 12 distributedly allocates a simulation job for executing a simulation model to simulation execution nodes of the simulation execution cluster subsystem 20 (S370). For each simulation model, simulation work can be run on individual nodes and assigned to multicore cores on each node. The simulation scheduler 12 may directly assign a simulation task to the simulation execution nodes / core of each node, and request this task assignment to the master node of the simulation execution cluster subsystem 20. The simulation scheduler 12 may accelerate the self-evolution process by performing distributed parallel processing of the simulation self-evolution process. Simulation work can consist of a simulation model, simulation setpoints, and simulation results format.

시뮬레이션 실행 노드들은 할당된 시뮬레이션 작업을 수행하고, 그에 따른 시뮬레이션 결과를 시뮬레이션 모델 학습 서브시스템(10)의 시뮬레이션 결과 분석부(13)로 전달한다(S380).The simulation execution nodes perform the assigned simulation work, and transfer the simulation result to the simulation result analyzing unit 13 of the simulation model learning subsystem 10 (S380).

시뮬레이션 결과 분석부(13)는 시뮬레이션 실행 노드들의 시뮬레이션 결과를 분석하여 시뮬레이션 데이터와 시뮬레이션 결과와의 차이를 활용하여 시뮬레이션 성능을 평가한다. 시뮬레이션 결과 분석은 개별 시뮬레이션 모델들의 실행 이후에 결과를 분석하는 것으로 미시적 또는 거시적 결과를 모두 고려하여 각 모델들의 유효성을 결정한다. 미시적/거시적 시뮬레이션 결과의 통계치나 시계열 결과치와 실제 데이터 상의 수치들과의 비교를 활용할 수 있다. 각 모델들의 유효성의 결정은 복수의 요소들을 고려하여 파악하여야 하므로, 다목적 최적화 방법을 적용하여 파레토 최적(Pareto optimal)들 중에서 선택하여 모델을 결정할 수 있다. 또한, 사용자 피드백을 시뮬레이션 결과 분석의 한 요소로 사용 가능하다. 이러한 다목적 성능 측정을 위한 수식은 예를 들어, 다음과 같이 나타낼 수 있다. The simulation result analyzing unit 13 analyzes simulation results of simulation execution nodes and evaluates simulation performance by utilizing differences between the simulation data and the simulation results. Simulation result analysis analyzes the results after the execution of individual simulation models to determine the validity of each model considering both micro and macro results. You can use the statistics of micro and macro simulation results, or the comparison of time series results with figures in real data. Since the determination of the validity of each model needs to be considered in consideration of a plurality of factors, the model may be determined by selecting among Pareto optimals by applying the multipurpose optimization method. In addition, user feedback can be used as an element of simulation results analysis. For example, the equation for multipurpose performance measurement may be expressed as follows.

Figure 112016113015518-pat00001
Figure 112016113015518-pat00001

여기서, i는 시뮬레이션 모델의 아이디를 나타내고, x j 는 시뮬레이션 결과를 나타낸다. 시뮬레이션 결과는 미시적/거시적 시뮬레이션 결과의 통계치나 시계열 결과치와 실제 데이터 상의 수치들과의 차이 등을 포함할 수 있다. w j 는 각 시뮬레이션 결과에 대한 가중치이다. Puser(i)는 사용자의 i번째 시뮬레이션 모델에 대한 선호도를 나타낸다. Puser(i)는 사용자 인터페이스(50)를 통하여 입력받을 수 있다. Here, i represents an ID of a simulation model, and x j represents a simulation result. Simulation results may include statistics of micro / macro simulation results, or differences between time series results and actual data. w j is a weight for each simulation result. P user (i) represents the user's preference for the i-th simulation model. P user (i) may be input through the user interface 50.

시뮬레이션 결과 분석에 따른 전체 분석 결과는, 데이터 저장소(40)에 저장될 수 있으며, 시뮬레이션 모델 아이디를 인덱스로 해서 저장될 수 있다. 시뮬레이션 모델의 시뮬레이션 결과는 단순한 수식이 아니고 시계열 함수나 배열 형태로 저장될 수 있다. 시뮬레이션 결과 분석에 따른 전체 분석 결과는, 도 5에서와 같이, 일정 시간 구간별로 시뮬레이션 결과 분석에서 사용한 수식(수학식1)을 통하여 획득한 결과 분석치(성능치)를 저장할 수 있다. The entire analysis result according to the simulation result analysis may be stored in the data storage 40 and may be stored using the simulation model ID as an index. The simulation results of the simulation model are not simple equations but can be stored as time series functions or arrays. The overall analysis result according to the simulation result analysis may store the result analysis value (performance value) obtained through the equation (Equation 1) used in the simulation result analysis as shown in FIG. 5.

도 5는 본 발명의 실시 예에 따른 시뮬레이션 결과 분석에 따른 전체 분석 결과를 나타낸 예시도이다. 5 is an exemplary view showing an entire analysis result according to the simulation result analysis according to an embodiment of the present invention.

전체 분석 결과는 시뮬레이션 모델 아이디에 대응하여, 전체 평균 성능치, 시간 구간 1에서의 성능치, 시간 구간 2에서의 성능치, 시간 구간 3에서의 성능치 등을 포함할 수 있다. The overall analysis result may include an overall average performance value, a performance value in time interval 1, a performance value in time interval 2, a performance value in time interval 3, and the like, in response to the simulation model ID.

이와 같이, 시뮬레이션 결과 분석에 따른 전체 분석 결과를 시계열 배열 형태로 저장하여 관리할 수 있다. 시뮬레이션 결과 분석부(13)는 복수의 시뮬레이션 결과를 토대로 총합적인 시뮬레이션 결과를 분석하며, 시뮬레이션 결과는 자가진화를 위하여 재활용될 수 있다. As such, the entire analysis result according to the simulation result analysis may be stored and managed in a time series arrangement form. The simulation result analyzing unit 13 analyzes the overall simulation result based on the plurality of simulation results, and the simulation result may be recycled for self-extinguishing.

한편, 시뮬레이션 결과 분석부(13)는 시뮬레이션 분석 결과를 사용자 인터페이스(50)를 통하여 출력하여 사용자가 검토하도록 하고, 사용자 인터페이스(50)를 통하여 입력되는 사용자 피드백을 포함하는 시뮬레이션 분석 결과를 시뮬레이션 모델 학습/관리부(11)로 전달한다(S390~S410). 아울러, 시뮬레이션 결과 분석부(13)는 시뮬레이션 분석 결과를 데이터 저장소(40)에 저장한다(S420). Meanwhile, the simulation result analyzing unit 13 outputs the simulation analysis result through the user interface 50 to be reviewed by the user, and simulation model learning of the simulation analysis result including the user feedback input through the user interface 50. Transfer to the management unit (11) (S390 ~ S410). In addition, the simulation result analyzing unit 13 stores the simulation analysis result in the data storage 40 (S420).

시뮬레이션 모델 학습/관리부(11)는 시뮬레이션 분석 결과를 토대로 시뮬레이션 모델을 업데이트하는 시뮬레이션 모델 학습을 수행한다(S430). 기계학습 방법을 토대로 초기 시뮬레이션 설정 모드에서 생성된 시뮬레이션 모델을 변화시키면서 최적의 시뮬레이션 모델을 생성한다. 업로드된 시뮬레이션 모델에 적용된 데이터와 시뮬레이션 결과의 차이를 줄여서 시뮬레이션 모델의 정확도를 향상시킨다. 기계학습을 통한 시뮬레이션 모델의 변화에서, 복수의 수정된 시뮬레이션 모델을 사용하여 시뮬레이션을 수행하고, 각각의 시뮬레이션을 통하여 복수의 시뮬레이션 모델들 중에서 가장 우수한 최적의 시뮬레이션 모델을 선택한다(S440, S450). 선택된 최적의 시뮬레이션 모델에 대한 구성 정보는 모델 및 컴포넌트 저장소(20)에 저장될 수 있다. The simulation model learning / management unit 11 performs simulation model training for updating the simulation model based on the simulation analysis result (S430). Based on the machine learning method, an optimal simulation model is generated while changing the simulation model generated in the initial simulation setup mode. The accuracy of the simulation model is improved by reducing the difference between the data applied to the uploaded simulation model and the simulation results. In the change of the simulation model through machine learning, a simulation is performed using a plurality of modified simulation models, and through each simulation, the best optimal simulation model is selected from among the plurality of simulation models (S440 and S450). Configuration information for the selected optimal simulation model may be stored in the model and component repository 20.

도 6은 본 발명의 실시 예에 따른 시뮬레이션 방법 중 시뮬레이션 예측 모드와 시뮬레이션 동화 모드의 과정을 나타낸 흐름도이다. 도 6에서, 점선으로 된 사각형은 반복적으로 수행되는 부분으로 시뮬레이션 성능(즉, 데이터와 시뮬레이션 결과와의 차이)가 충분히 적을 때까지 반복 진행된다. 여기서, 위의 기술된 도 5에서의 과정과 동일하게 수행되는 과정에 대해서는 상세 설명을 생략하다. 6 is a flowchart illustrating a process of a simulation prediction mode and a simulation moving picture mode in a simulation method according to an exemplary embodiment of the present invention. In Fig. 6, the dotted rectangle is repeatedly performed until the simulation performance (that is, the difference between the data and the simulation result) is sufficiently small. Here, the detailed description of the processes performed in the same manner as in the above-described FIG. 5 will be omitted.

위에 기술된 바와 같이 모델 학습 모드에서 기계 학습을 토대로 하여 최적의 시뮬레이션 모델이 선택되면, 시뮬레이션 시스템(1)은, 시뮬레이션 모델 학습 모드에서 시뮬레이션 예측 모드로 동작한다. 시뮬레이션 예측 모드에서 업로드된 데이터에 없는 시간 구간의 시뮬레이션 결과를 만들어 예측한다. If the optimal simulation model is selected based on machine learning in the model learning mode as described above, the simulation system 1 operates in the simulation prediction mode in the simulation model learning mode. In the simulation prediction mode, prediction is made by generating a simulation result of a time interval not included in the uploaded data.

첨부한 도 6에서와 같이, 사용자 인터페이스(50)를 통한 예측 시뮬레이션 요청에 따라, 시뮬레이션 모델 학습/관리부(11)는 모델 및 컴포넌트 저장소(20)로부터 시뮬레이션 학습 모드에서 선택된 최적의 시뮬레이션 모델에 대응하는 구성 정보를 로드하고, 해당하는 시뮬레이션 모델에 따른 시뮬레이션 작업을 시뮬레이션 스케줄러(12)에게 요청한다(S500~S530). As shown in FIG. 6, in response to a prediction simulation request through the user interface 50, the simulation model learning / management unit 11 corresponds to an optimal simulation model selected in the simulation learning mode from the model and component repositories 20. The configuration information is loaded, and the simulation scheduler 12 requests the simulation work according to the corresponding simulation model (S500 to S530).

시뮬레이션 스케줄러(12)에 의한 작업 할당에 따라, 시뮬레이션 실행 클러스터 서브시스템(20)의 적어도 하나 이상의 시뮬레이션 실행 노드에서 해당 시뮬레이션 모델을 토대로 한 시뮬레이션 작업을 수행하고 그 결과를 시뮬레이션 결과 분석부(13)로 전달한다(S540~S550). 이때, 데이터 저장소(40)로부터 업로드된 데이터에 없는 시간 구간의 시뮬레이션 결과를 예측하고, 이를 포함하는 시뮬레이션 결과를 시뮬레이션 결과 분석부(13)로 전달한다. According to the task assignment by the simulation scheduler 12, at least one simulation execution node of the simulation execution cluster subsystem 20 performs a simulation task based on the corresponding simulation model and sends the result to the simulation result analysis unit 13. It delivers (S540 ~ S550). At this time, the simulation result of the time interval not included in the data uploaded from the data storage 40 is predicted, and the simulation result including the same is transmitted to the simulation result analyzing unit 13.

시뮬레이션 결과 분석부(13)는 시뮬레이션 결과들을 분석하여 그 결과 사용자 인터페이스(50)를 통하여 출력하고, 이후 사용자에 의해 입력되는 예측 동화 요청에 따라 시뮬레이션 시스템(1)은 시뮬레이션 동화 모드로 동작한다(S560~S570). The simulation result analyzing unit 13 analyzes the simulation results and outputs the results through the user interface 50, and then the simulation system 1 operates in the simulation moving image mode in response to the prediction moving image request input by the user (S560). ~ S570).

시뮬레이션 모델 학습/관리부(11)는 데이터 저장소(40)로부터 새로운 데이터를 로드하고(S580, S590), 이를 토대로 시뮬레이션 데이터를 재구성하고, 재구성된 시뮬레이션 데이터를 과거의 데이터와 함께 시뮬레이션 모델(단계 S520)에서 구성된 시뮬레이션 모델)과 연결하여 시뮬레이션 학습 모델의 설정 구성을 만든다(S600, S610).The simulation model learning / management unit 11 loads new data from the data store 40 (S580, S590), reconstructs the simulation data based on this, and reconstructs the reconstructed simulation data together with past data (step S520). And a configuration of the simulation training model in connection with the simulation model configured in step S600 and S610.

이후, 시뮬레이션 모델 학습/관리부(11)는 시뮬레이션 학습 모델에 따른 작업을 시뮬레이션 스케줄러(12)에 요청함에 따라(S620), 시뮬레이션 실행 노드에서 새로운 데이터가 적용된 시뮬레이션 작업이 수행되고 그에 따른 시뮬레이션 결과를 토대로 한 분석 및 사용자의 분석 결과에 대한 피드백을 토대로 한 시뮬레이션 모델 업데이트가 수행될 수 있다(S630~S690). 업데이트된 시뮬레이션 모델은 모델 및 컴포넌트 저장소(30)에 저장되며(S700). 최종 시뮬레이션 모델이 선택된다(S710). Thereafter, the simulation model learning / management unit 11 requests the simulation scheduler 12 for a task according to the simulation training model (S620), and a simulation task in which the new data is applied at the simulation execution node is performed and based on the simulation result. The simulation model update may be performed based on the feedback of the analysis and the analysis result of the user (S630 to S690). The updated simulation model is stored in the model and component store 30 (S700). The final simulation model is selected (S710).

이러한 과정에서, 시뮬레이션 모델 학습 모드나 동화 모드에서 기존의 시뮬레이션 모델에 대한 이전의 시뮬레이션 결과를 재활용하여 사용할 수 있다. 따라서, 시뮬레이션 모델 학습/관리부(11)는 시뮬레이션 작업을 하부의 시뮬레이션 스케줄러(12)에 요청하기 전에, 데이터 저장소(40)에서 모델 구성 아이디를 통하여 시뮬레이션 분석 결과를 조회한다. 해당 시뮬레이션 모델의 모델 구성 아이디에 대응하는 시뮬레이션 분석 결과가 존재하는 경우, 분석 결과 중 활용 가능한 부분을 제외하고 시뮬레이션 스케줄러(12)에 시뮬레이션 작업을 요청할 수 있다. 활용 가능한 부분은 전체 시뮬레이션 결과일 수도 있고 시계열 배열의 일부분일 수도 있다.In this process, previous simulation results for the existing simulation model can be recycled and used in simulation model learning mode or assimilation mode. Therefore, the simulation model learning / management unit 11 queries the simulation analysis result through the model configuration ID in the data storage 40 before requesting the simulation work scheduler 12 below. When there is a simulation analysis result corresponding to the model configuration ID of the simulation model, the simulation work may be requested to the simulation scheduler 12 except for a usable portion of the analysis result. The available part may be the entire simulation result or part of a time series array.

도 7은 본 발명의 다른 실시 예에 따른 시뮬레이션 장치의 구조도이다. 7 is a structural diagram of a simulation apparatus according to another embodiment of the present invention.

첨부한 도 7에 도시되어 있듯이, 본 발명의 다른 실시 예에 따른 시뮬레이션 장치(100)는 프로세서(110), 메모리(120) 및 송수신부(130)를 포함한다. As shown in FIG. 7, the simulation apparatus 100 according to another embodiment of the present invention includes a processor 110, a memory 120, and a transceiver 130.

프로세서(110)는 위의 도 2 내지 도 6을 토대로 설명한 방법들을 구현하도록 구성될 수 있다. 특히, 프로세서(110)는 시뮬레이션 모델 학습 서브시스템의 시뮬레이션 모델 학습/관리부, 시뮬레이션 스케줄러, 그리고 시뮬레이션 결과 분석부의 기능을 수행하도록 구성될 수 있다. 이 경우, 시뮬레이션 실행 클러스터 서브시스템은 도 7과 같은 구조를 가지는 별도의 시뮬레이션 실행 장치로 구현될 수 있으며, 당업자라면 본 실시 예를 토대로 시뮬레이션 실행 장치를 구현할 수 있으므로, 여기서는 상세한 설명을 생략한다. The processor 110 may be configured to implement the methods described with reference to FIGS. 2 through 6 above. In particular, the processor 110 may be configured to perform the functions of the simulation model learning / management unit, the simulation scheduler, and the simulation result analysis unit of the simulation model learning subsystem. In this case, the simulation execution cluster subsystem may be implemented as a separate simulation execution device having a structure as shown in FIG. 7, and a person skilled in the art may implement the simulation execution device based on the present embodiment, and thus a detailed description thereof will be omitted.

메모리(120)는 프로세서(110)와 연결되고 프로세서(110)의 동작과 관련한 다양한 정보를 저장한다. 메모리(120)는 프로세서(110)에서 수행하기 위한 명령어(instructions)를 저장하고 있거나 저장 장치(도시하지 않음)로부터 명령어를 로드하여 일시 저장할 수 있다. 프로세서(110)는 메모리(120)에 저장되어 있거나 로드된 명령어를 실행할 수 있다. 프로세서(110)와 메모리(120)는 버스(도시하지 않음)를 통해 서로 연결되어 있으며, 버스에는 입출력 인터페이스(도시하지 않음)도 연결되어 있을 수 있다. The memory 120 is connected to the processor 110 and stores various information related to the operation of the processor 110. The memory 120 may store instructions for execution in the processor 110 or temporarily load the instructions from a storage device (not shown). The processor 110 may execute instructions stored or loaded in the memory 120. The processor 110 and the memory 120 may be connected to each other through a bus (not shown), and an input / output interface (not shown) may also be connected to the bus.

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.An embodiment of the present invention is not implemented only through the above-described apparatus and / or method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention, a recording medium on which the program is recorded, and the like. Such implementations may be readily implemented by those skilled in the art from the description of the above-described embodiments.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 사업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다. Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of the operator using the basic concepts of the present invention as defined in the following claims are also provided. It belongs to the scope of rights.

Claims (10)

적어도 하나의 시뮬레이션 실행 노드를 이용하여 시뮬레이션을 수행하는 학습 서브시스템의 시뮬레이션 방법으로서,
초기 시뮬레이션 설정 모드에서 상기 학습 서브시스템이 모델 및 모델 컴포넌트 저장소로부터 제공되는 시뮬레이션 모델 구성/컴포넌트 ― 상기 컴포넌트는 행위자 모델의 속성 컴포넌트, 행위 컴포넌트, 환경 속성 컴포넌트를 포함하고, 상기 시뮬레이션 모델의 구성 정보에 식별자가 부여되고, 상기 구성 정보의 식별자에 대응하여 각 컴포넌트들의 식별자가 대응되어 있음 - 와, 데이터 저장소로부터 제공되는 시뮬레이션 데이터를 토대로 초기 시뮬레이션 모델을 생성하는 단계; 및
상기 초기 시뮬레이션 설정 모드에서 시뮬레이션 모델 학습 모드로 동작하고, 상기 학습 서브시스템이 시뮬레이션 모델을 실행하는 시뮬레이션 작업을 시뮬레이션 실행 노드들에 분산 할당하고, 상기 시뮬레이션 실행 노드들로부터의 결과를 이용하여 기계 학습 방법을 토대로 상기 초기 시뮬레이션 모델을 변환시키면서 최적의 시뮬레이션 모델을 생성하는 단계
를 포함하고,
상기 최적의 시뮬레이션 모델을 생성하는 단계는,
상기 초기 시뮬레이션 모델에 대하여 자가진화를 진행하면서 상기 초기 시뮬레이션 모델의 시뮬레이션 결과 - 상기 결과는 시간 구간별 성능치와 전체 시간 구간의 평균 성능치를 포함함 - 를 토대로 상기 초기 시뮬레이션 모델을 갱신 및 재구성하는, 시뮬레이션 방법.
A simulation method of a learning subsystem for performing simulations using at least one simulation execution node,
A simulation model configuration / component in which the learning subsystem is provided from a model and model component repository in an initial simulation setup mode, the component including an attribute component, an behavior component, an environment attribute component of an actor model, Generating an initial simulation model based on an identifier, an identifier of each component corresponding to the identifier of the configuration information, and simulation data provided from a data store; And
Operating in a simulation model training mode in the initial simulation setup mode, distributedly assigning a simulation task for executing the simulation model to simulation execution nodes, and using the results from the simulation execution nodes. Generating an optimal simulation model while converting the initial simulation model based on the
Including,
Generating the optimal simulation model,
Updating and reconstructing the initial simulation model based on a simulation result of the initial simulation model while the self-extinguishing of the initial simulation model, wherein the result includes a time interval performance value and an average performance value of the entire time interval. Simulation method.
제1항에 있어서,
상기 시뮬레이션 모델 학습 모드에서 시뮬레이션 예측 모드로 동작하고, 상기 최적의 시뮬레이션 모델을 토대로 상기 데이터 저장소로부터 업로드된 데이터에 없는 시간 구간의 시뮬레이션 결과를 예측하는 단계
를 더 포함하는, 시뮬레이션 방법.
The method of claim 1,
Operating in a simulation prediction mode in the simulation model training mode, and predicting a simulation result of a time interval not included in data uploaded from the data store based on the optimal simulation model
Further comprising, simulation method.
제2항에 있어서,
상기 시뮬레이션 예측 모드에서 시뮬레이션 동화 모드로 동작하고, 상기 데이터 저장소로부터 새로이 로드한 데이터를 상기 최적의 시뮬레이션 모델의 적용시키는 단계; 및
상기 새로이 로드한 데이터가 적용된 최적의 시뮬레이션 모델의 시뮬레이션 결과를 토대로 상기 최적의 시뮬레이션 모델을 업데이트하는 단계
를 더 포함하는, 시뮬레이션 방법.
The method of claim 2,
Operating in the simulation prediction mode in the simulation prediction mode, and applying the newly loaded data from the data store to the optimal simulation model; And
Updating the optimal simulation model based on a simulation result of the optimal simulation model to which the newly loaded data is applied.
Further comprising, simulation method.
제1항에 있어서,
상기 최적의 시뮬레이션 모델을 생성하는 단계는
기계학습을 통해 상기 초기 시뮬레이션 모델을 변화시켜 복수의 수정된 시뮬레이션 모델을 생성하고, 복수의 수정된 시뮬레이션 모델을 사용하여 시뮬레이션을 수행하고, 각각의 시뮬레이션의 결과를 토대로 복수의 시뮬레이션 모델들 중에서 최적의 시뮬레이션 모델을 선택하는, 시뮬레이션 방법.
The method of claim 1,
Generating the optimal simulation model
Through machine learning, the initial simulation model is changed to generate a plurality of modified simulation models, a simulation is performed using the plurality of modified simulation models, and based on the results of each simulation, an optimal among the plurality of simulation models is obtained. Simulation method to select a simulation model.
제4항에 있어서,
상기 최적의 시뮬레이션 모델을 생성하는 단계는
상기 학습 서브 시스템이 시뮬레이션이 수행되도록, 상기 초기 시뮬레이션 모델 또는 상기 초기 시뮬레이션 모델을 변환시켜 획득되는 시뮬레이션 모듈을 상기 시뮬레이션 실행 노드에 할당하는 단계;
상기 시뮬레이션 실행 노드에 의한 시뮬레이션 결과와 시뮬레이션 데이터의 차이를 토대로 시뮬레이션 성능을 평가하는 단계;
상기 성능 평가 결과를 토대로 상기 초기 시뮬레이션 모델을 변화시키는 단계; 및
상기 시뮬레이션 모델들의 성능 평가를 토대로 최적의 시뮬레이션 모델을 선택하는 단계
를 포함하는, 시뮬레이션 방법.
The method of claim 4, wherein
Generating the optimal simulation model
Assigning, by the learning subsystem, a simulation module obtained by converting the initial simulation model or the initial simulation model to the simulation execution node such that simulation is performed;
Evaluating simulation performance based on a difference between simulation results and simulation data by the simulation execution node;
Changing the initial simulation model based on the performance evaluation result; And
Selecting an optimal simulation model based on performance evaluation of the simulation models
Including, simulation method.
제4항에 있어서,
상기 최적의 시뮬레이션 모델을 생성하는 단계는 상기 복수의 수정된 시뮬레이션 모델을 복수의 시뮬레이션 실행 노드에 할당하여 분산 병렬 처리를 기반으로 한 시뮬레이션 자가진화 과정을 수행하는, 시뮬레이션 방법.
The method of claim 4, wherein
The generating of the optimal simulation model comprises assigning the plurality of modified simulation models to a plurality of simulation execution nodes to perform a simulation self-evolution process based on distributed parallel processing.
제5항에 있어서,
상기 시뮬레이션 성능을 평가하는 단계는 시뮬레이션 결과의 성능 분석에 따른 결과를 시계열 배열 형태로 저장하여 관리하는, 시뮬레이션 방법.
The method of claim 5,
The step of evaluating the simulation performance is to store and manage the results according to the performance analysis of the simulation results in the form of time series arrangement, simulation method.
제5항에 있어서,
상기 시뮬레이션 실행 노드에 할당하는 단계는
할당하고자 하는 시뮬레이션 모델의 시뮬레이션 분석 결과가 상기 데이터 저장소에 저장되어 있는 경우, 상기 분석 결과 중 활용 가능한 부분을 제외한 시뮬레이션 작업에 대한 시뮬레이션을 상기 시뮬레이션 실행 노드에 할당하는, 시뮬레이션 방법.
The method of claim 5,
Assigning to the simulation execution node
If the simulation analysis result of the simulation model to be assigned is stored in the data storage, the simulation method for assigning a simulation for the simulation operation except for the available portion of the analysis result to the simulation execution node.
제1항에 있어서,
상기 초기 시뮬레이션 모델을 생성하는 단계는,
상기 생성된 시뮬레이션 모델의 구성 아이디에 대응하여, 모델에 포함되는 행위자 모델의 속성 컴포넌트 아이디, 행위 컴포넌트 아이디, 환경 속성 컴포넌트 아이디를 포함하는 시뮬레이션 모델의 구성 정보를 상기 데이터 저장소에 저장하는 단계
를 포함하는, 시뮬레이션 방법.
The method of claim 1,
Generating the initial simulation model,
In response to the configuration ID of the generated simulation model, storing configuration information of a simulation model including an attribute component ID, an behavior component ID, and an environment attribute component ID of an actor model included in the model in the data store.
Including, simulation method.
제3항에 있어서,
상기 최적의 시뮬레이션 모델의 적용시키는 단계는,
상기 데이터 저장소로부터 새로이 로드한 데이터를 토대로 시뮬레이션 데이터를 재구성하고, 재구성된 시뮬레이션 데이터를 과거의 시뮬레이션 데이터와 함께 상기 최적의 시뮬레이션 모델에 연결시키는, 시뮬레이션 방법.
The method of claim 3,
Applying the optimal simulation model,
Reconstructing simulation data based on newly loaded data from the data store, and reconstructing the reconstructed simulation data along with past simulation data to the optimal simulation model.
KR1020160154458A 2016-11-18 2016-11-18 Method and apparatus for simulation based self evolution agent KR102063655B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160154458A KR102063655B1 (en) 2016-11-18 2016-11-18 Method and apparatus for simulation based self evolution agent

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160154458A KR102063655B1 (en) 2016-11-18 2016-11-18 Method and apparatus for simulation based self evolution agent

Publications (2)

Publication Number Publication Date
KR20180056319A KR20180056319A (en) 2018-05-28
KR102063655B1 true KR102063655B1 (en) 2020-01-08

Family

ID=62451629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160154458A KR102063655B1 (en) 2016-11-18 2016-11-18 Method and apparatus for simulation based self evolution agent

Country Status (1)

Country Link
KR (1) KR102063655B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220081880A (en) 2020-12-09 2022-06-16 (주) 아인스에스엔씨 Apparatus for real time analysis and real time operation visualization for discrete event system using digital twin

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140021389A (en) * 2012-08-10 2014-02-20 한국전자통신연구원 Apparatus and method for separable simulation by model design and execution
KR102092921B1 (en) * 2013-06-28 2020-03-24 삼성전자주식회사 Simulation apparatus and Distributed simulation system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"자가진화 에이전트 기반 시뮬레이션을 위한 데이터 동화 기법 비교", 한국경영과학회 2016년 추계학술대회 논문집(pp. 620-623), 2016.10.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220081880A (en) 2020-12-09 2022-06-16 (주) 아인스에스엔씨 Apparatus for real time analysis and real time operation visualization for discrete event system using digital twin

Also Published As

Publication number Publication date
KR20180056319A (en) 2018-05-28

Similar Documents

Publication Publication Date Title
Tuli et al. COSCO: Container orchestration using co-simulation and gradient based optimization for fog computing environments
US20200293838A1 (en) Scheduling computation graphs using neural networks
TWI620075B (en) Server and cloud computing resource optimization method thereof for cloud big data computing architecture
CN101593133B (en) Method and device for load balancing of resources of virtual machine
Huang et al. Scalable orchestration of service function chains in NFV-enabled networks: A federated reinforcement learning approach
CN111966484A (en) Cluster resource management and task scheduling method and system based on deep reinforcement learning
CN110069341B (en) Method for scheduling tasks with dependency relationship configured according to needs by combining functions in edge computing
EP3798930A2 (en) Machine learning training resource management
CN104050042A (en) Resource allocation method and resource allocation device for ETL (Extraction-Transformation-Loading) jobs
CN113467944A (en) Resource deployment device and method for complex software system
Liu et al. Hierarchical spark: A multi-cluster big data computing framework
Han et al. EdgeTuner: Fast scheduling algorithm tuning for dynamic edge-cloud workloads and resources
Tchernykh et al. Mitigating uncertainty in developing and applying scientific applications in an integrated computing environment
Naqvi et al. Mascot: self-adaptive opportunistic offloading for cloud-enabled smart mobile applications with probabilistic graphical models at runtime
KR102063655B1 (en) Method and apparatus for simulation based self evolution agent
Feljan et al. Task allocation optimization for multicore embedded systems
Miloradović et al. A genetic mission planner for solving temporal multi-agent problems with concurrent tasks
EP3798931A1 (en) Machine learning training resource management
Dridi et al. A multiobjective hybrid ant colony optimization approach applied to the assignment and scheduling problem
Aksyonov et al. Development of cloud-based microservices to decision support system
CN116582407A (en) Containerized micro-service arrangement system and method based on deep reinforcement learning
Cooper Proactive scaling of distributed stream processing work flows using workload modelling: doctoral symposium
US20210357765A1 (en) Information processing apparatus, method of solving, and non-transitory computer-readable storage medium for storing solving program
US20220051165A1 (en) Systems and methods of assigning microtasks of workflows to teleoperators
Tuli et al. Optimizing the Performance of Fog Computing Environments Using AI and Co-Simulation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant