Transcript 슬라이드 1
Sogang University ICC Lab
Computer Simulation
시뮬레이션이란 무엇인가?
시뮬레이션의 정의
현실 세계의 실 시스템(real system)들의 효율적인 운영을 도모
하기 위하여 실 시스템의 동작을 이해하고 분석, 예측하는 과학
적 방법
실 시스템의 모델을 구성하고(Modeling Process), 이들을 시뮬
레이터(컴퓨터)를 통해 실험하는데(Simulation Process)관련되
는 제반 활동을 의미[Zeigler]
대상 시스템을 S/W 로 표현된 인공시스템(Artificial System)으
로 구현한 후 이를 컴퓨터실험에 의해 분석함으로써 목표 결과를
유출해 내는 과정
2
Sogang University ICC Lab.
시뮬레이션이란 무엇인가?
실 세계의 실 시스템에 대한 모델을 설계하여, 이러한 모델을 가
지고 그 시스템의 운영을 위한 여러 가지 운영 전략 등을 평가하
거나 시스템의 동작을 이해할 목적으로 실험을 수행하는 과정
[Shannon]
Simulation Modeling 과정을 포함시켜 모델링과 시뮬레이션을
하나로 통합 개념
3
Sogang University ICC Lab.
시뮬레이션이란 무엇인가?
현실의 실시스템을 타당한 모델로 표현하고 이를 다시 컴퓨터 프로
그램으로 적절히 코딩 하여 컴퓨터를 통해 올바른 모델 데이터를 생
성해 내는 것에 관련되는 일련의 과정
stochastic model 을 묘사 후 sampling experiments 하는 프로그램화된 모
형.
실제 상황을 모형화하고 실험결과에 따라 의사결정을 하는 기법
모형: 대상이나 시스템을 단순하게 표현(추상화),
모형의 기능은 여러 대안들을 실행. 결과값을 바탕으로 예측,
비교.
4
Sogang University ICC Lab.
시뮬레이션이란 무엇인가?
시뮬레이션의 목적
목적을 위한 현실 모델 구축
예측 가능한 행위나 실험치를 만듬
타당성(validation) 검증
공학적인 개념의 구현
시뮬레이션을 통한 비용 절약
5
Sogang University ICC Lab.
시뮬레이션이란 무엇인가?
시뮬레이션의 필요성
실 세계 시스템의 복잡성으로 인하여 수학적 분석의
어려움이 있을 때
시뮬레이션 이용(과학적 수단)
현실 세계의 제약성으로 인하여 실제 실험이 불가능
하거나 소요비용이 클 때
시뮬레이션 이용 (즉, 실험 가능하더라도 위험 부담이 있을
때)
6
Sogang University ICC Lab.
시뮬레이션이란 무엇인가?
시뮬레이션의 장단점
장점
분석적인 방법으로 해결하기 어려운 문제에 대해서도 적용가능
다양한 설계 방법의 비교가능
목적달성을 위한 (준)최적의 방법 탐색
시스템 자체의 조정기능 향상
실현 불가능한 경우(시간, 비용)의 결과 예측
동적인 시스템 분석을 위한 효과적 접근 방법
실 시스템의 시뮬레이션 모델 대치를 통한 의사 결정 근거 제시
7
Sogang University ICC Lab.
시뮬레이션이란 무엇인가?
단점
시뮬레이션 모형 개발 시 비용과 시간의 낭비
대규모 자료 수집
많은 횟수의 실험 요구
모형의 타당성 검사 요구
실제 시스템의 특성에 따라 시뮬레이션 사용 여부를 결정
8
Sogang University ICC Lab.
시
뮬
레
이
션
방
법
론
9
Sogang University ICC Lab.
시뮬레이션이란 무엇인가?
시뮬레이션 패키지 (SIMULATION PACKAGE)
대개 제한된 모델링 및 시뮬레이션 영역에서의 강력한 지원을
제공하기 위하여 개발된 S/W
시뮬레이션 실행 / 제어기능 및 데이터 분석 / 표시 기능 제공
모델, 프로그램, 데이터에 대한 저장 / 검색 기능 제공 (최근)
시뮬레이션에 관계된 활동들에 대한 강력한 지원 및 시뮬레이
션 활동들 간의 인터페이스를 지원하려는 추세
기계와 사람 사이에 상호작용을 강화하는 추세
10
Sogang University ICC Lab.
시뮬레이션이란 무엇인가?
11
Sogang University ICC Lab.
시뮬레이션과 모델링
통합된 시뮬레이션 : (시뮬레이션 + 모델링) 과정
모델링과 시뮬레이션의 기본 구조(Zeigler 이론)
12
Sogang University ICC Lab.
시뮬레이션과 모델링
구성요소
실 시스템 : 데이터의 출처 ( 실 세계의 일부분) 자연
적 혹은 인공적
모델 : 데이터를 생성하는 일련의 명령어 집합 (실 시
스템에 대한 인공 시스템)
시뮬레이터 : 모델의 명령을 실행 할 수 있는 장치
(컴퓨터)
13
Sogang University ICC Lab.
시뮬레이션과 모델링
상호관계
모델링 : 실 시스템(real system)의 모델 구성
시뮬레이션 : 시뮬레이터가 모델에 의해 의도되는 명
령들을 정확히 수행하고 있는가 하는 검증
(Verification)의 문제를 다룸
14
Sogang University ICC Lab.
시뮬레이션과 모델링
실 시스템, 모델, 컴퓨터 처리간의 관계
15
Sogang University ICC Lab.
시뮬레이션과 모델링
모델링 과정(Modeling Process)
16
Sogang University ICC Lab.
시뮬레이션과 모델링
Verification : 의도한 모형이 프로그램으로 제대로 표현
되었는지 확인하는 과정
debugging, 예측된 값과 비교 (편차관찰).
모형의 구성요소, 시스템의 구조, 모수 등이 프로그램에
정확하게 반영여부 프로그램 error 의 확인
Validation : 모형의 타당성 분석. -- Calibration
시뮬레이션 모형과 현실 시스템의 비교
주관적 방법 -- 현실 시스템을 잘 이해하는 전문가들의 의견 종합
객관적 방법 -- 동일한 입력자료로 현실 시스템과 시뮬레이션 모형을 운영
한 결과를 비교 -- 통계적 방법
17
Sogang University ICC Lab.
시뮬레이션과 모델링
타당성 확인의 3 단계
개괄적 타당성(Face validity)확인
모형에 사용되는 가정(Assumption)의 확인 통계적 입력자료의 검정
입력-출력의 변환과정 확인
관찰된 자료를 통계적으로 검정
튜링 검정법(Turing test) -- 비 통계적
현실 시스템의 결과와 시뮬레이션 모형 수행 결과를 임의로 섞어 그
시스템 전문가에 구별 요청
18
Sogang University ICC Lab.
시뮬레이션과 모델링
모델 서술(Model Description)
실 시스템의 행위를 정확히 반영할 수 있도록 타당하게 표현 (모델)
시뮬레이션 프로그램 코딩
시뮬레이션 수행
비정형적 서술(Informal Description)
모델에 대한 직관과 이해를 도움
타인과 의사소통하기에 효과적인 방법
구성 :
모델의 구성요소 (Component),
구성 요소 별 서술 변수(Descriptive Variable),
구성요소들간의 상호작용(Component Interaction),
모델서술의 가정 (Assumptions)
19
Sogang University ICC Lab.
시뮬레이션과 모델링
모델의 분류
모델이란?
실 시스템에서 관심 있는 어떤 행위와 비교되는 행위를 생성하는 실 세
계 현상의 압축된
표현
모델의 분류
시간 기반 -- 이산 시간 모델
-- 연속 시간 모델
상태 기반 -- 연속 상태 모델
-- 이산 상태 모델
-- 혼합 상태 모델
20
Sogang University ICC Lab.
시뮬레이션과 모델링
확률 변수 유무
-- 결정적 모델
-- 확률적 모델
출력 범위
-- differential equation
-- discrete event model
환경 영향
-- autonomous model
-- non autonomous model
상호 작용 규칙
-- time varying model
-- time invariant model
전 단계의 영향
-- 기억 모델
-- 비 기억 모델
21
Sogang University ICC Lab.
시뮬레이션과 모델링
시뮬레이션의 종류
몬테카를로 시뮬레이션
확률변수를 생성하여 모델을 구성 -> 독립적이고 동일한 분포 (특정순서 아님
– 시간이 중요하지 않음)를 가지는 관찰자료 -> 반복
다이나믹 시뮬레이션
시간의 흐름에 따라 시스템의 행위를 관찰하는 것
시간의 흐름에 따라 시스템의 특성이 변화하는 상태를 논리적 순서로 플로우
차트 작성. (미래의 상태를 시스템 구성요인들간의 상호작용으로 구현한 모
형에서 표본추출)
continuous (미분방정식) : - 강의 수량조절 금융기관의 현금흐름 etc..
discrete : 이산적인 시간시점에서만 변화 가능 – 생산재고, 대기행렬, etc...
로 모델링가능..
22
Sogang University ICC Lab.
시뮬레이션과 모델링
Discrete event simulation :
이산적 (시간상 구분 가능한 시점에서 시스템변수 변화)이고 다이나믹한
모델 : 시간이 중요한 독립변수, 상태변수는 종속적.
Queuing theory, Markov chain
큐잉 이론:
23
Sogang University ICC Lab.
시뮬레이션과 모델링
마르코프체인: 다음의 상태가 현재의 상태에만 영향을 받는
다고 가정, 과거의 상태는 어찌되었든 미래=현재의 상태 X
변환행렬
n3 h3 n3 h3 n3 h3 n3 h3
n 2 h 2 n 2 h 2 n 2 h 2 n 2 h 2
n1 h1 n1 h1 n1 h1 n1 h1 n1 h1
0
1
2
3
4
C
24
Sogang University ICC Lab.
시뮬레이션 분야의 기술 동향
최근 동향
응용 분야의 확대
컴퓨터 기반 시스템의 전반에 걸친 활용 범의 확대
시뮬레이션 S/W tools 의 포괄적이고 통합적인 발전
추세
시뮬레이션 분산 처리에 관한 활발한 연구의 진행
시뮬레이션과 인공지능 분야와의 상호 보안 추세
25
Sogang University ICC Lab.
시뮬레이션 분야의 기술 동향
시뮬레이션의 발전 단계
26
Sogang University ICC Lab.
시뮬레이션 분야의 기술 동향
1 세대
모든 시뮬레이션들이 FORTRAN 과 같은 범용 언어로 쓰여짐 (현재도
많이 이용)
2 세대
시뮬레이션 연구 활발
처음으로 시뮬레이션 전용 언어 등장 (GPSS, SIMULA, GASP,
SIMSCRIPT, CSL)
War Game 에 컴퓨터 이용 시작
객체 지향 시뮬레이션 (Object-Oriented Simulation)의 시작
27
Sogang University ICC Lab.
시뮬레이션 분야의 기술 동향
3 세대
2 세대 시뮬레이션 언어의 New Version 등장 : GPSSⅡ.Ⅲ.360.Ⅴ,
SIMSCRIPTⅡ.Ⅱ-plus, SIMULA 67, Extended CSL(ECSL), GASP
Ⅱ
4 세대
SLAM, Q-GERT 과 같은 새로운 언어 등장
3 세대 언어의 확장 :
GASPⅣ (동일 모델 내의 연속 및 이산 사건을 다룰 수 있음)
SIMSCRIPT Ⅱ.5(프로세스 개념과 연속 사건을 다룰 수 있음)
GPSS/H(초기 버전의 확장 및 사용자 Interaction 의 정도를 높임)
28
Sogang University ICC Lab.
시뮬레이션 분야의 기술 동향
분산 시뮬레이션 연구 시작 (분산 처리기 출현, 병행 알고리즘 개발 등)
정성 시뮬레이션 (Qualitative Simulation) 연구 시작
70 년대 후반 (4 세대 후반) :보다 용이한 모델 개발과 실행을 위한 연구로 관
심 이동
프로그래밍의 용이함을 돕는 Potential methods [Heidorn,
Mathewson]
모델링 과정에 대한 보다 형식론적 접근 [Zeigler, Kleine, Nance]
29
Sogang University ICC Lab.
시뮬레이션 분야의 기술 동향
Oren and Zeigler : 현재의 언어의 취약점을 지적하고 다음과 같은 2 가지 개
념
에 기초한 새로운 언어 개발을 제안
시뮬레이션 언어는 모델링, 실험 설계, 출력 분석 등 논리적으로 뚜렷한 구
분단계를 기능적으로 개별적인 활동으로 분리하여야 한다.
시뮬레이션 환경은 DB 관리, graphics, 프로그램 검증을 위해 현 컴퓨터
능력을 이용할 수 있도록 조성되어야 한다.
30
Sogang University ICC Lab.
시뮬레이션 분야의 기술 동향
5 세대
시뮬레이션 소프트웨어 개발에 있어 중요한 전이 기간
단순히 강력한 언어보다는 사용의 용이함과 통합된 시뮬레이션 환경을
제공하는 것을 강조
<참조> 통합된 시뮬레이션 환경 : 다음의 기능들을 위한 소프트웨어 tool
들의 집합
모델의 설계, 타당성 검사
모델의 구현 (코딩 및 검증)
입력 데이터의 준비
출력 데이터의 분석
시뮬레이션 수행
31
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
분산 시뮬레이션의 배경
70 년대:
분산처리기의 출현, 병행 알고리즘의 개발 , Micro Computer
의 성능 향상 등으로 시뮬레이션의 분산 처리 연구 가능
분산 시뮬레이션이란?
여러 개의 프로세서들로 구성된 네트워크 상에서 하나의 시뮬
레이션 모델을 분산시켜서 실행하고자 하는 것
기존의 시뮬레이션 방법들이 하나의 프로세서 위에서 순차적으
로 처리하는 방식에 의존하는 데에서 기인하는 성능 향상의 한
계 극복
32
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
분산 구조를 갖는 실 시스템의 시뮬레이션 시에 모델의 구조
적 타당성 확보가 용이
신속한 처리가 요구되는 실시간 시뮬레이션을 위해 필수적
저렴한 가격의 Micro Computer 들을 연결한 네트워크 상에
서 시뮬레이션 모델을 분산 처리함으로써 비용 절감과 병렬
처리에 의한 시간절약의 효과
33
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
분산 시뮬레이션의 장점
성능 향상
병렬 성 & 비용 절감 ==> 시간 감소
모델의 구조적 타당성(structural validation) 문제
해결
34
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
분산 시뮬레이션의 문제점
분산 처리를 효율적으로 지원하는 분산 모델의 구성
병렬 알고리즘의 개발
각 프로세스들 간의 동기화나 상호 통신에 따른 부하
문제
35
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
교착 상태의 방지
시뮬레이터의 구성에 따른 문제
분산 처리를 위한 병렬 언어 (Parallel Language)의
개발
병렬 언어를 토대로 하는 분산 시뮬레이션 언어의 개
발
36
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
정성 시뮬레이션 (qualitative simulation)
1970 년대 인공지능 분야의 학자들에 의해 시작
정성 모델 (Qualitative Model)의 개념에 포함됨
인간 사고 모형 (mental Model)에 대한 인지 과학
(cognitive Science) 연구와 밀접한 관련
서로 다른 방법론들이 대두
아직 분명한 조류가 형성되지 않고 있음
원칙론적 방법론에 연구가 치중
복잡한 시스템들에 실용적으로 적용하기에는 미흡한 단계
37
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
정성 시뮬레이션의 특징
시스템의 상태와 행동을 숫자대신 기호적(symbolic)으로 처리
quantity 의 개념: 서로 간의 상대적 크기로만 표현될 뿐 정확한
값이 얼마인지는 필요로 하지 않음
quantity space : 변수들이 상대적 크기에 의해 정성적으로 표
시되는 개념의 공간
38
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
변수들의 값이나 움직임 수치로 정의되지 않고, quantity space
에서 상대적으로 정의됨
시간도 수치로 표시되지 않음
시간 : 여러 사건들이 일어나는 순서 (Qualitative Simulation)
정성 시뮬레이션 모델은 보통 분해가능(decomposible)하다.
39
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
정성 시뮬레이션의 장점
사람의 시스템 동작에 대한 예측 행위와 유사
정성적 사고 (Qualitative Reasoning) :
최소한의 정보를 가지고 유용한 결론에 대한 도달 가능
오직 중요한 시스템의 형태만을 포착할 수 있다.
Robustness :
일반 시뮬레이션은 오직 모든 부품이 미리 정해진 대로 작동할 때만 이
를 시뮬레이션 가능
40
자동 고장 진단 등의 문제 활용에 유용
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
정성 시뮬레이션의 방법
대상 시스템의 물리적 구조를 분석하여 각 부분의 모형을
만들고 그 행동 양식을 식으로 표현
각 부위가 어떻게 연결되어 시스템을 형성하는가를 살펴
그 식들을 변수 등으로 연결하여 시스템의 행동 식을 구성
시발점에서의 시스템의 상태를 정의하고 그 상태로부터
모형에 의해 얻어지는 모든 가능한 다음 상태를 도출
41
Sogang University ICC Lab.
시뮬레이션과 신기술 응용
이 도출 과정 중에서나 또는 모든 도출이 완료된 후
에 모종의 여과 과정을 통해 스스로 모순되거나 다른
상태에 비해 시점이 뒤로 향하는 상태를 제거하여 진
실로 가능한 상태들의 집합을 작성
그래도 만일 둘 이상의 상태가 남게 되면 다음의 시
스템 상태는 확실히 예측할 수 있게 되는데, 이런 모호
성은 바람직하지는 않으나 정성 시뮬레이션의 본래적
속성으로 생각되고 있다.
42
Sogang University ICC Lab.
시뮬레이션의 활용
문제 해결 분야
대기 행렬(queueing) 문제나 재고 문제
네트워크 문제
생산 문제
기계 설비의 보수 및 교체를 위한 분석 문제
금융 및 재정 문제
불확실적 요소를 갖는 시장 예측 문제
교통 체계 등의 운영 문제
43
Sogang University ICC Lab.