DES Chapter 1-3 What is Computer Simulation?

Chapter 1-Overview of Computer Simulation

Featured image

ReadMe

아래 내용은 최병규, 강동훈 저서인 Modeling and Simulation of discrete-event systems 책의 내용을 주로 다루고 있습니다.

해당 시리즈의 목차입니다. (챕터 목차는 제일 아래에 있습니다.)


  1. Overview of Computer Simulation
  2. Basics of Discrete-Event System Modeling and Simulation
  3. Input Modeling for Simulation
  4. Introduction to Event-Based Modeling and Simulation
  5. Parameterized Event Graph Modeling and Simulation
  6. Introduction to Activity-Based Modeling and Simulation
  7. Simulation of ACD Models Using Arena
  8. Output Analysis and Optimization
  9. State-Based Modeling and Simulation
  10. Advanced Topics in Activity-Based Modeling and Simulation
  11. Advanced Event Graph Modeling for Integrated Fab Simulation
  12. Concepts and Applications of Parallel Simulation (Here)

What is computer simulation?

What is Simulation?

Simulation의 사전적 정의는 “어떤 상황에서의 행동을 모방하거나, 유사한 상황이나 정보를 좀 더 쉽게 얻기 위함 이거나 개인적인 훈련을 위한 기술”이라 할 수 있습니다. 정의에서 얘기하는 어떤 상황은 소스 시스템이며 정보를 얻는 것은 시뮬레이터의 역할입니다. 이 정의를 두 가지 타입으로 시뮬레이션의 목적을 나누자면 첫 번째는 정보를 얻기 위함(분석용 시뮬레이션:Analytic simulation이고 두 번째는 훈련용 시뮬레이션(가상 환경 시뮬레이션: virtual environment simulation )이 있습니다[Fujimoto 2000].

분석용 시뮬레이션의 주목적은 정확한 데이터 기반의 소스시스템의 정량적인 분석이며 또한 시뮬레이션은 가급적이면 최대한 빨리 그리고 정밀한 이벤트 시퀀스를 실행해야 합니다. 분석용 시뮬레이션은 자주 time-stamp simulation 으로서 인용됩니다. 그리고 가상 환경 시뮬레이션은 생성된 가상 환경에서 실시간으로 실행됩니다. 이는 주로 time-delay simulation이라 인용되며 대표적인 가상 환경 시뮬레이션은 게임으로 예를 들 수 있고 아래 Fig. 1.3 입니다.

분석용 시뮬레이션과 사람간의 상호작용이 이뤄지면 constructive simulation이라 불리며 사람간의 상호작용이 없으면 autonomous simulation이라 부릅니다. 만약 참가자가 있는 시뮬레이션이라면 주로 human-in-the-loop(HIL) simulation이라 부르고 머신 또는 소프트웨어 에이전트가 시뮬레이션과 상호작용 한다면 machine-in-the-loop(MIL) simulation이라 부릅니다. HIL, MIL이 없는 가상 환경 시뮬레이션은 virtual simulation이라 부르고 HIL만 있다면 constructive simulation, HIL과 MIL이 모두 있다면 live simulation이라 부릅니다. 아래 Fig. 1.4.는 Computer simulation의 분류입니다.

Why Simulate?

Modeling and Simulation은 우리의 생각 과정의 중심 역할입니다. 생각만으로 시뮬레이션하기에 너무 복잡한 경우엔 컴퓨터를 통해 시뮬레이션을 하죠. 아래 예시를 고려해봅시다.


  1. 300mm 반도체 공장에서 최적의 디스패칭 룰을 찾는다.
  2. 병원, 우체국, 콜센터 등의 후보 디자인을 평가한다.
  3. 30억 달러 규모의 TFT-LCD 공장에서 재료 운반 시스템을 설계한다.
  4. 통신회사의 무선 네트워크 구축을 계획한다.
  5. 시뮬레이션을 통해 취득한 높은 수준의 무기체계를 평가한다.
  6. 큰 규모의 도시 교통 시스템을 설계하거나 개선한다.
  7. 하천의 수질 관리 혹은 오염 방지 정책을 평가한다.
  8. 금융 파생상품이나 프로젝트 스케줄의 리스크를 평가한다.

위 항목들은 실제 사회에 존재하는 상황들입니다. 시뮬레이션은 위 문제들의 근거로서 작용할 수 있습니다. 또한 시뮬레이션이 필요한 순간으로는 간단한 시제품을 만들기에도 너무 비싸거나 테스트 하기에는 너무 위험하던가 빠른 시간안에 산출물을 만들어야 하거나 여러 제안들이 나와 이를 다 비교해보고 싶거나 나중에도 현 성능을 유지할 수 있는 재현성이 필요한 경우입니다.

이산 사건 시뮬레이션과 연속 시간 시뮬레이션 모두 컴퓨터의 영역에서 보자면 반복적인 샘플링의 반복에 의존합니다. 이를 Monte Carlo simulation이라 합니다.

Types of Computer Simulation

이전에 봤던 5-Level 그림입니다. 우리 세계의 역학시스템은 5가지 레벨로 분류할 수 있고 3가지 종류로 나눌 수 있습니다. (1) 이산 사건 시스템, (2) 연속 시스템, (3) 퀀텀 시스템으로 말이죠. 각 시스템에 대해 컴퓨터 시뮬레이션의 종류와 하나의 타입으로서 귀결됩니다. 이산 사건 시뮬레이션과 연속 시간 시뮬레이션은 컴퓨터 시뮬레이션에서 성능을 낼 수 있습니다. 그러나 퀀텀 시스템의 직접적인 시뮬레이션은 일반적인 컴퓨터에서 메모리 문제를 비롯하여 복잡한 여러 상태들을 고려하는 하드웨어를 받혀줄 수 없습니다[Buluta and Nori 2009]. 연속 시간 시뮬레이션은 연속적인 타겟 시스템인 물리 역학 시스템의 컴퓨터 모델을 수치해석적으로 평가합니다. 시간 기반으로서 동작하고 일반적으로 미분식과 연관되어 있습니다. 여기 Q(t)와 X(t)를 시스템 상태와 궤적의 성질을 가진 입력 벡터라고 합시다. 그렇다면 선형의 연속 시간 시뮬렐이션에서 수치해석적인 평가는 선형 상태 트랜지션 펑션으로 이뤄집니다. 아마 아래의 수식처럼 표현 가능합니다. 여기서 A와 B는 계수 행렬입니다.

\[\frac{dQ(t)}{dt}=AQ(t)+BX(t)\]

이산 사건 시뮬레이션으로 다가간다면, 연이어 생기는 이벤트 시퀀스로서 동작하는 운영시스템을 예로 들 수 있습니다. Chapter 9에서는 상태기반 모델링을 설명할거고 이산 사건 시뮬레이션은 내부 상태-트랜지션 펑션( \(\text{internal state-transition function }\delta_{\text{int}}:Q\rightarrow Q\) )으로 설명됩니다. 또한 외부 상태-트랜지션 펑션( \(\text{external state-transition function}\ \delta_{\text{ext}}:Q\times X\rightarrow Q\) )도 마찬가지로 존재하며 모두 델타(delta \(\delta\) )로 표기합니다. Q는 시스템 상태의 집합이며 X는 입력 이벤트의 집합입니다. 이산 사건 시뮬레이션은 내 외부 트랜지션 펑션으로서 고려할 수 있습니다.

유명한 컴퓨터 시뮬레이션의 다른 타입으로는 Monte Carlo 시뮬레이션이 있습니다. 이 시뮬레이션은 반복적인 랜덤 샘플링을 의존하고 불확정적 접근에 대해서 충분한 근거를 둡니다. 경제적인 부분이나, 프로젝트 관리, 여러 예측을 예로 들 수 있습니다.

Chapter index


1.1. Introduction

1.2. What is a System?

1.3. What is computer simulation? (Here)

1.4. What is discrete-event simulation?

1.5. What is continuous simulation?

1.6. What is Monte Carlo Simulation?

1.7. What are simulation experimentation and optimization?

1.8. Review questions