KR20180056319A - 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
KR20180056319A
KR20180056319A KR1020160154458A KR20160154458A KR20180056319A KR 20180056319 A KR20180056319 A KR 20180056319A KR 1020160154458 A KR1020160154458 A KR 1020160154458A KR 20160154458 A KR20160154458 A KR 20160154458A KR 20180056319 A KR20180056319 A KR 20180056319A
Authority
KR
South Korea
Prior art keywords
simulation
model
simulation model
learning
data
Prior art date
Application number
KR1020160154458A
Other languages
Korean (ko)
Other versions
KR102063655B1 (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

The present invention provides a system and a method of a simulation for a self-evolution agent-based simulation, which enable a fast simulation by accelerating a self-evolution process. The simulation system performing the simulation by using at least one simulation execution node comprises: a model and model component storage place storing components of a simulation model; a data storage place storing data used in the simulation; and a simulation model learning sub system generating a simulation model by combining the components of the simulation model stored in the model and model component storage place, and updating and reconstructing the simulation model based on a simulation result of the simulation model while proceeding self-evolution with respect to the simulation model.

Description

자가 진화 행위자 기반 시뮬레이션을 위한 시뮬레이션 시스템 및 방법 {Method and apparatus for simulation based self evolution agent}TECHNICAL FIELD [0001] The present invention relates to a simulation system and a method for a self-evolutionary agent-based simulation,

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

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

자가 진화 행위자 기반 시뮬레이션은 시뮬레이션 모델의 수정을 시뮬레이션 대상 분야의 전문가가 아니라, 실제 데이터와 시뮬레이션 결과를 바탕으로 기계 학습 방법을 이용하여 실행하는 시뮬레이션 방법이다. 그러나 사회 경제 문제와 같은 복잡계 시뮬레이션의 경우 매우 많은 모수(Parameter)와 행위자(Agent, 에이전트) 수, 실제 데이터 수가 존재함에 따라, 기계학습 방법을 이용하는 경우 매우 많은 시간이 소요되어 실제적인 시뮬레이션을 통한 다양한 정책 개발이나 예측이 힘들다. The self-evolutionary agent-based simulation is a simulation method in which the modification of a simulation model is performed by a machine learning method based on actual data and simulation results, rather than by an expert in the field to be simulated. However, in complex systems such as socioeconomic problems, the number of parameters, actors (agents, agents), and the actual number of data, it takes a lot of time to use the machine learning method. Policy development or forecasting is difficult.

기존에는 빠른 시뮬레이션을 위하여 병렬/분산 시스템을 통하여 시뮬레이션을 실행하는 방법들이 고안되어 사용되었으나, 단일 시뮬레이션을 병렬/분산 시스템을 활용하여 병렬화하여 시뮬레이션을 실행하는 방식으로 자가진화를 위한 학습은 고려되지 않았다. 따라서, 자가 진화 행위자 기반 시뮬레이션을 위한 시뮬레이션 가속 시스템 및 방법이 필요하다.In the past, methods for executing simulation through a parallel / distributed system have been devised and used for fast simulation, but learning for self-evolution has not been 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-evolutionary agent-based simulation.

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

본 발명이 해결하고자 하는 기술적 과제는 자가 진화 과정을 가속화하여 빠른 시뮬레이션을 가능하게 하는 시뮬레이션 시스템 및 방법을 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a simulation system and a method for accelerating a self-evolving process to enable quick simulation.

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

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

이에 따라, 사회 경제와 같은 복잡계의 대규모 행위자 기반 시뮬레이션에서 빠른 자가진화 시뮬레이션이 가능하도록 하여 시뮬레이션의 효율성과 정확도를 향상시킬 수 있다. This enables rapid self-evolution simulation in large-scale actor-based simulations of societies and economies, thus improving the efficiency and accuracy of the simulation.

도 1은 본 발명의 실시 예에 따른 자가진화 행위자 기반 시뮬레이션 시스템의 구조를 나타낸 도이다.
도 2는 본 발명의 실시 예에 따른 시뮬레이션 방법의 흐름도이다.
도 3은 본 발명의 실시 예에 따른 시뮬레이션 방법 중 초기 시뮬레이션 설정 모드와 시뮬레이션 모델 학습 모드의 과정을 나타낸 흐름도이다.
도 4는 본 발명의 실시 예에 따른 시뮬레이션 모델 구성을 나타낸 예시도이다.
도 5는 본 발명의 실시 예에 따른 시뮬레이션 결과 분석에 따른 전체 분석 결과를 나타낸 예시도이다.
도 6은 본 발명의 실시 예에 따른 시뮬레이션 방법 중 시뮬레이션 예측 모드와 시뮬레이션 동화 모드의 과정을 나타낸 흐름도이다.
도 7은 본 발명의 다른 실시 예에 따른 시뮬레이션 장치의 구조도이다.
1 is a diagram illustrating a structure of a self-evolutionary agent-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 setting mode and a simulation model learning mode among simulation methods according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating a simulation model configuration according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating an overall analysis result according to an analysis result of a simulation according to an embodiment of the present invention.
FIG. 6 is a flowchart illustrating a process of the simulation prediction mode and the simulation moving picture mode among the simulation methods according to the embodiment of the present invention.
7 is a structural diagram of a simulation apparatus according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

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

명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification and claims, when a section is referred to as including an element, it is understood that it may include other elements as well, without departing from the other elements unless specifically stated otherwise.

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

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

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

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

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

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

데이터 저장소(40)는 시뮬레이션에서 사용되는 데이터를 저장하는 서브시스템으로, 데이터베이스를 통하여 정보를 관리할 수도 있다. 구체적으로, 데이터 저장소(40)는 시뮬레이션 모델 학습 서브시스템(10)에서 사용되는 데이터를 제공하고, 시뮬레이션 결과를 저장한다. 시뮬레이션 결과는 시뮬레이션 모델의 구성 아이디와 같이 저장되며, 시뮬레이션 모델의 성능을 나타낼 수 있다.The data store 40 is a subsystem for storing data used in simulation, and may manage information through a database. Specifically, the data store 40 provides the data used in the simulation model learning subsystem 10 and stores the simulation results. The simulation results are stored together with the configuration ID of the simulation model and can represent 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 transfers the data input by the user to the corresponding component so that the user can create and initialize the simulation, and also outputs the simulation result so that the user can confirm the simulation. In addition, the user interface 50 conveys the feedback of the user to the corresponding component, thereby influencing the selection of the simulation model, thereby making it possible to derive the satisfaction of the user.

이러한 서브 시스템(10~40)들은 서브 시스템간 통신망을 통하여 시뮬레이션 실행 클러스터 서브시스템(20)의 노드들과 통신을 할 수 있으며, 노드들도 서브시스템간 통신망을 통하여 통신할 수 있다. These subsystems 10 to 40 can communicate with the nodes of the simulation executing cluster subsystem 20 through the inter-subsystem communication network, and the nodes can communicate through the 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) 등이 될 수 있으며, 본 발명은 이에 한정되지 않는다.The inter-subsystem communication network refers to hardware and software that constitute a communication network that provides communication between a plurality of subsystems and nodes. The inter-subsystem communication network is responsible for communication between simulation execution nodes or between subsystems, and transfers simulation job assignments, data, model codes, and simulation results. The inter-subsystem communication network generally uses 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 LAN (Local Area Network), a WLAN (Wide Area Network), a PAN (Personal Area Network) (Mobile Radio Communication network), and the present invention is not limited thereto.

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

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

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

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

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

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

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

시뮬레이션 스케줄러(12)는 시뮬레이션 모델 학습/관리부(11)로부터의 시뮬레이션 작업 요청에 따라, 시뮬레이션 작업을 시뮬레이션 실행 클러스터 서브시스템(20)의 노드에 할당한다. 또한, 개별 시뮬레이션 작업에 대하여 시뮬레이션 모델, 시뮬레이션 설정 구성을 전달 받아 시뮬레이션 실행 클러스터 서브시스템(20)의 노드(들)에 전달하고, 시뮬레이션의 라이프 사이클을 관리한다.The simulation scheduler 12 allocates the simulation work to the nodes of the simulation execution cluster subsystem 20 in accordance with the simulation work requests from the simulation model learning / In addition, the simulation model and the simulation setting configuration are received for the individual simulation work, and transmitted to the node (s) of the simulation execution cluster subsystem 20 to manage the life cycle of the simulation.

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

도 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 the initial simulation setting mode as shown in FIG. 2 (S100). In the initial simulation setting 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's input, connects the data to be used in the simulation with the simulation model, A configuration is created, and an initial simulation model corresponding thereto is created.

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

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

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

현재 업로드된 데이터가 아닌 새롭게 발생한 데이터가 있다면, 시뮬레이션 시스템(1)은, 시뮬레이션 예측 모드에서 시뮬레이션 동화 모드로 동작한다(S130, S140)는 시뮬레이션 동화 모드에서, 시뮬레이션 시스템(1)은, 현재 업로드된 데이터가 아닌 새롭게 발생한 데이터를 시뮬레이션 모델 학습에 사용한다. The simulation system 1 operates in the simulated moving picture mode in the simulation prediction mode (S130, S140). In the simulated moving picture mode, the simulation system 1 determines whether the currently uploaded data is currently uploaded New data, not data, is used for simulation model learning.

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

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

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

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

도 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, the model configuration ID is assigned to the configuration information of the simulation model, and the ID of each component constituting the environment and the actor of the simulation model corresponds to the model configuration ID. That is, the IDs of the attribute component, action component, and environment attribute component of the agent model included in the model correspond to the model configuration ID. The configuration information of the simulation model can be stored and managed in the model and component storage 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 constructs the configuration information of the simulation model corresponding to the generated simulation model in the form of FIG. 4 And the component store 30.

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

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

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

시뮬레이션 결과 분석부(13)는 시뮬레이션 실행 노드들의 시뮬레이션 결과를 분석하여 시뮬레이션 데이터와 시뮬레이션 결과와의 차이를 활용하여 시뮬레이션 성능을 평가한다. 시뮬레이션 결과 분석은 개별 시뮬레이션 모델들의 실행 이후에 결과를 분석하는 것으로 미시적 또는 거시적 결과를 모두 고려하여 각 모델들의 유효성을 결정한다. 미시적/거시적 시뮬레이션 결과의 통계치나 시계열 결과치와 실제 데이터 상의 수치들과의 비교를 활용할 수 있다. 각 모델들의 유효성의 결정은 복수의 요소들을 고려하여 파악하여야 하므로, 다목적 최적화 방법을 적용하여 파레토 최적(Pareto optimal)들 중에서 선택하여 모델을 결정할 수 있다. 또한, 사용자 피드백을 시뮬레이션 결과 분석의 한 요소로 사용 가능하다. 이러한 다목적 성능 측정을 위한 수식은 예를 들어, 다음과 같이 나타낼 수 있다. The simulation result analyzing unit 13 analyzes the simulation results of the simulation execution nodes and evaluates the simulation performance using the difference between the simulation data and the simulation results. Simulation results analysis analyzes the results after the execution of individual simulation models and determines the validity of each model considering both microscopic and macroscopic results. A comparison of the statistical values of the microscopic / macroscopic simulation results and the time series results with the actual data values can be utilized. Since the determination of the validity of each model should be made in consideration of a plurality of factors, a multi-objective optimization method can be applied to select a model from the Pareto optimal models. In addition, user feedback can be used as an element of simulation result analysis. The formula for such a multipurpose performance measurement can be expressed, for example, as follows.

Figure pat00001
Figure pat00001

여기서, i는 시뮬레이션 모델의 아이디를 나타내고, x j 는 시뮬레이션 결과를 나타낸다. 시뮬레이션 결과는 미시적/거시적 시뮬레이션 결과의 통계치나 시계열 결과치와 실제 데이터 상의 수치들과의 차이 등을 포함할 수 있다. w j 는 각 시뮬레이션 결과에 대한 가중치이다. Puser(i)는 사용자의 i번째 시뮬레이션 모델에 대한 선호도를 나타낸다. Puser(i)는 사용자 인터페이스(50)를 통하여 입력받을 수 있다. Here, i represents the ID of the simulation model, and x j represents the simulation result. The simulation results may include statistical values of the microscopic / macroscopic simulation results or the difference between the time series results and the actual data values. 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) can be input through the user interface 50.

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

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

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

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

한편, 시뮬레이션 결과 분석부(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, allows the user to review the simulation result, and outputs the simulation analysis result including the user feedback inputted through the user interface 50 to the simulation model learning / Management unit 11 (S390 to S410). In addition, the simulation result analysis unit 13 stores the simulation analysis result in the data storage 40 (S420).

시뮬레이션 모델 학습/관리부(11)는 시뮬레이션 분석 결과를 토대로 시뮬레이션 모델을 업데이트하는 시뮬레이션 모델 학습을 수행한다(S430). 기계학습 방법을 토대로 초기 시뮬레이션 설정 모드에서 생성된 시뮬레이션 모델을 변화시키면서 최적의 시뮬레이션 모델을 생성한다. 업로드된 시뮬레이션 모델에 적용된 데이터와 시뮬레이션 결과의 차이를 줄여서 시뮬레이션 모델의 정확도를 향상시킨다. 기계학습을 통한 시뮬레이션 모델의 변화에서, 복수의 수정된 시뮬레이션 모델을 사용하여 시뮬레이션을 수행하고, 각각의 시뮬레이션을 통하여 복수의 시뮬레이션 모델들 중에서 가장 우수한 최적의 시뮬레이션 모델을 선택한다(S440, S450). 선택된 최적의 시뮬레이션 모델에 대한 구성 정보는 모델 및 컴포넌트 저장소(20)에 저장될 수 있다. The simulation model learning / managing unit 11 performs a simulation model learning to update 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 setting mode. Improves the accuracy of the simulation model by reducing the difference between the data applied to the uploaded simulation model and the simulation result. In the change of the simulation model through machine learning, the simulation is performed using a plurality of modified simulation models, and the most optimal simulation model among the plurality of simulation models is selected through the respective simulations (S440, S450). The configuration information for the selected optimal simulation model may be stored in the model and component store 20.

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

위에 기술된 바와 같이 모델 학습 모드에서 기계 학습을 토대로 하여 최적의 시뮬레이션 모델이 선택되면, 시뮬레이션 시스템(1)은, 시뮬레이션 모델 학습 모드에서 시뮬레이션 예측 모드로 동작한다. 시뮬레이션 예측 모드에서 업로드된 데이터에 없는 시간 구간의 시뮬레이션 결과를 만들어 예측한다. When the optimal simulation model is selected based on the 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, simulation results of time segments not included in the uploaded data are created and predicted.

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

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

시뮬레이션 결과 분석부(13)는 시뮬레이션 결과들을 분석하여 그 결과 사용자 인터페이스(50)를 통하여 출력하고, 이후 사용자에 의해 입력되는 예측 동화 요청에 따라 시뮬레이션 시스템(1)은 시뮬레이션 동화 모드로 동작한다(S560~S570). The simulation result analyzing unit 13 analyzes the simulation results and outputs the result through the user interface 50. Then, the simulation system 1 operates in the simulation assimilation mode according to the prediction assimilation request input by the user (S560 To 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 the new data, and reconstructs the reconstructed simulation data with the past data (step S520) (S600, S610). The simulation model of the simulation learning model is connected to the simulation model (S600, S610).

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

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

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

첨부한 도 7에 도시되어 있듯이, 본 발명의 다른 실시 예에 따른 시뮬레이션 장치(100)는 프로세서(110), 메모리(120) 및 송수신부(130)를 포함한다. 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 above based on Figs. 2-6. In particular, the processor 110 may be configured to perform functions of a simulation model learning / managing unit, a simulation scheduler, and a simulation result analyzing unit of a simulation model learning subsystem. In this case, the simulation execution cluster subsystem may be implemented as a separate simulation execution apparatus having a structure as shown in FIG. 7, and a person skilled in the art can implement the simulation execution apparatus based on the present embodiment, and thus a detailed description thereof will be omitted here.

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

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

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 사업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. It belongs to the scope of right.

Claims (1)

적어도 하나의 시뮬레이션 실행 노드를 이용하여 시뮬레이션을 수행하는 시뮬레이션 시스템으로서,
시뮬레이션 모델의 컴포넌트를 저장하는 모델 및 모델 컴포넌트 저장소;
시뮬레이션에서 사용되는 데이터를 저장하는 데이터 저장소; 및
상기 모델 및 모델 컴포넌트 저장소에 저장된 시뮬레이션 모델의 컴포넌트를조합하여 시뮬레이션 모델을 생성하고, 시뮬레이션 모델에 대하여 자가진화를 진행하면서 상기 시뮬레이션 모델의 시뮬레이션 결과를 토대로 상기 시뮬레이션 모델을 갱신 및 재구성하는 시뮬레이션 모델 학습 서브시스템
를 포함하는, 시뮬레이션 시스템.
A simulation system for performing a simulation using at least one simulation execution node,
A model and a model component storage for storing components of a simulation model;
A data store for storing the data used in the simulation; And
A simulation model learning unit for generating a simulation model by combining the components of the simulation model stored in the model and model component storage and updating and reconfiguring the simulation model based on the simulation results of the simulation model while performing self- system
Gt; a < / RTI > simulation system.
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 true KR20180056319A (en) 2018-05-28
KR102063655B1 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)

Families Citing this family (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

Citations (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
KR20150002283A (en) * 2013-06-28 2015-01-07 삼성전자주식회사 Simulation apparatus and Distributed simulation system

Patent Citations (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
KR20150002283A (en) * 2013-06-28 2015-01-07 삼성전자주식회사 Simulation apparatus and Distributed simulation system

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
KR102063655B1 (en) 2020-01-08

Similar Documents

Publication Publication Date Title
Tuli et al. COSCO: Container orchestration using co-simulation and gradient based optimization for fog computing environments
US11347481B2 (en) Support system for designing an artificial intelligence application, executable on distributed computing platforms
CN107888669B (en) Deep learning neural network-based large-scale resource scheduling system and method
Zhang et al. Agent technology for collaborative process planning: a review
CN108564164B (en) Parallel deep learning method based on SPARK platform
CN111966484A (en) Cluster resource management and task scheduling method and system based on deep reinforcement learning
De Coninck et al. Dynamic auto-scaling and scheduling of deadline constrained service workloads on IaaS clouds
JP7118726B2 (en) workflow engine framework
US20050204333A1 (en) Integrated system-of-systems modeling environment and related methods
CN111984385A (en) Task scheduling method and task scheduling device based on decorative BIM model
Klusáček et al. Alea–complex job scheduling simulator
Ehm A data-driven modeling approach for integrated disassembly planning and scheduling
Bañares et al. Model and simulation engines for distributed simulation of discrete event systems
Fan et al. Dras: Deep reinforcement learning for cluster scheduling in high performance computing
CN115543626A (en) Power defect image simulation method adopting heterogeneous computing resource load balancing scheduling
CN113033806A (en) Method and device for training deep reinforcement learning model and scheduling method
Tchernykh et al. Mitigating uncertainty in developing and applying scientific applications in an integrated computing environment
Li et al. Single machine scheduling with two-agent for total weighted completion time objectives
Feljan et al. Task allocation optimization for multicore embedded systems
CN114567560A (en) Edge node dynamic resource allocation method based on generation confrontation simulation learning
Venkataswamy et al. Rare: Renewable energy aware resource management in datacenters
Miloradović et al. A genetic mission planner for solving temporal multi-agent problems with concurrent tasks
EP3798931A1 (en) Machine learning training resource management
KR102063655B1 (en) Method and apparatus for simulation based self evolution agent
Baheri Mars: Multi-scalable actor-critic reinforcement learning scheduler

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