티스토리 뷰

 

 

일본의 혼다 오토바이 회사에서 얼마나 무거운 사람이 타도 괜챦은가를 알아보기 위해 오토바이를 가지고 실험하고 있는 거예요.

 

물론 컴퓨터가 없을 때 이야기지요.

 

 

 

 

 

 

 

 

 

경주용으로 유명한 포르쉐라는 자동차인데요 충돌 실험을 위해서 떨어뜨려 보는거예요.

 

 

 

 

 

 

 

 

 

F4 팬텀기도 충돌실험을 한다는 군요.

 

그런데 왜 이런 실험을 하냐규요?

 

궁굼하니까요 .  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

여기서는 의자의 내구성을 알아보기 위해서 기구를 이용해서 자동으로 의자 등받이를 백만 번쯤 젖혀본다는 군요.

 

 

 

 

 

 

 

 

 

 

 

저 빨간 공이 밟아서 터지는지 아니면 안 터지는지는 여러분이 직접 밟아보는 것이 가장 확실한 방법이예요.

 

그 것도 하나가 아니라 여러 개를 가지고 시험하면 더욱 확실하겠고...

 

친구한테도 해보라고 하는 것도 방법이 되겠네요.

 

 

 

 

 

 

 

 

 

 

 

1946년 미국의 핵실험 장면인데요

 

소련은 1949년, 영국은 1952년, 그리고 프랑스는 1968년에 처음으로 핵실험에 성공했답니다.

 

이렇게 각 나라들은 수 십번에서 수 백번씩 핵실험을 해서 관련 지식을 축적해 나가는 거예요.

 

 

 

 

 

 

.

 

 

 

 

지금도 많은 화장품 회사들이 인체를 대신할 생체 모델을 만들 수가 없으니까 토끼의 눈을 이용해서 제품의 부작용을 실험하고 있어요.  

 

물론 이 밖에도 생쥐나 원숭이 등 동물을 이용한 실험은 인류가 생명체 모델을 만들지 못하는 한 계속 될 것 같아요.

 

 

 

 

그런데 모델을 만들기 위해서는 대상 시스템이나 프로세스가 무엇이냐에 따라 달라지는데 크게 네가지로 구분하고 있어요(1)

 

하지만 몇 가지인가 또는 어떻게 구분하는냐가 그렇게 중요한 것은 아니므로 참고로 한 번 살펴보기로 해요.

 

 

우선 자연 그대로의 시스템(Natural system)이 있어요.

 

원자 등의 물질과 지구의 기상, 은하계, 생물체와 생태계 등으로 우리 인간이 없을 때부터 존재하는

 

말 그대로 자연을 이야기하는 거예요.

 

 

 

 

 

 

 

 

 

다음으로 두 번째는 추상적으로 설계된 시스템(Designed abstracted system)인데 수학이나 문학 등

 

물리적으로는 존재하지 않는 개념적 시스템의 세계지요.

 

 

 

 

 

 

 

 

 

 

세 번째는 사람에 의해서 만들어진 물리적 시스템(Designed physical system)으로 건물이나 자동차, 공장 등이 있답니다.

 

추상적 시스템과 다른 점은 형체가 있다는 것이지요.

 

 

 

 

 

 

 

 

그리고 네 번쨰는 인간의 활동과 관계된 시스템(Human activity system)인데  가족, 도시, 정치 등이 여기에 포함되지요.

 

그리고 인간의 활동과 관계된 시스템은 주식시장이나 환율시장 등 사회 경제적 현상을 포함한답니다.

 

그림은 한국전쟁 때 폭파된 한강다리를 건너서 피난가는 사람들입니다.

 

 

 

 

우리가 이야기하고 있는 이 블로그의 큰 제목은 "프로세스 모델링 & 시뮬레이션"이쟎아요?

 

그런데 프로세스 모델이라고 하면 주로 자연계의 시스템이나 추상적으로 설계된 시스템이 아닌 나머지 두가지 시스템

 

물리적으로 설계된 시스템과 인간활동 시스템이 결합된 운영 시스템(operatiing systems)을 대상으로 하고 있어요.

 

 

 

Operating system이란 상품이나 서비스를 제공하기 위해서 관련된 자원들이 결합되어 구성된 것이라고 하는데(2) 

 

운영 시스템의 예로는 우리 사람들이 주로 일을하는 은행, 공항, 마트, 공장, 병원을 들 수 있어요.

 

제한된 자원이나 인원을 가지고 어떻게 하면 효율적으로 업무를 수행할 수 있을까 하고 연구하는 학문이

 

운영분석(Operation Research) 인데요  경영과학(MS, Management Science)이라고도 한답니다.

 

 

 

 

 

 

 

   source: Tomas and DaCosta

 

 

세계 150대 기업의 OR/MS 활용현황을 조사한 내용인데요 시뮬레이션 기술이 상당히 비중있게 사용되고 있지요?

 

여기에 적힌 나머지 기술이 뭔가는 지금 잘 몰라도 되요.

 

기회가 되면 자연스럽게 이야기 할  수 있을 거예요.

 

 

가트너(Gartner)라는 IT 분야 리서치 회사에서도 조직들이 앞으로의 가져야할 열가지 전략적 기술 중에서

 

시률레이션을 이용한 미래 예측과 최적화를 들고 있네요. (Next-Generation Analytics 부분)

 

http://www.gartner.com/newsroom/id/1826214

 

 

 

 

 

 

 

 

 

 

 

 

 

그럼 이제부터 지난 시간에 이야기 하다가 못한 내용을 이어서 해야 할 것 같아요.

 

우리가 주제로 다루고자 하는 컴퓨터 모델을 이용한 실험인 동적모델(Dynamic model)까지 가야만 지난 시간의 퀴즈를 풀수가 있거든요.

 

 

 

 

 

 

 

Source: mathx.net via Kwanghyun on Pinterest

 

 

수학적 모델이란 말 그대로 수식을 이용한 모델이랍니다.

 

그림과 같이 두 선이 만나는 지점의 좌표를 구한다던가 삼각형의 넓이를 구하는 공식 등도 모두 수학적 해이자 수학적 모델이라고 할 수 있답니다.

 

 

 

 

그런데 특정 해의 수식이 Y = ax + b 와 같은 경우에 매개변수 x의 값이 확정적인 값이 아니라 확률적인 값을 갖는 경우에는

 

이를 확정정 모델과 비교해서 확률적 모델이라고 부를 수 있답니다.

 

그런 경우가 어떤 경우냐구요?

 

 

 

음.. 아주 쉬운 예로는 주사위로 게임을 하는 경우가 있겠는데요.

 

육면체 주사위와 두 개를가지고 있다고 생각해요.

 

여러분이 주사위를 두 개를 한 번에 던지고 저는 동전 하나를 동시에 던지는데, 

 

동전의 앞면이 나오면 주사위 두 개의 값을 더하고 동전의 뒷면이 나오면 많이 나온 주사위 값에서 작은 값을 빼는거예요.

 

그래서 그 값이 4 미만이 되면 여러분이 이기고 4 이상이면 제가 이기는 것으로 할 경우 누가 유리할까요?

 

한 번 계산해 보세요.

 

실제로 주사위를 던져 가면서 계산하기에는 너무 시간이 많이 걸리구요 보통 Excel 등을 이용해서 계산 한답니다.

 

 

 

 

 

 

 

 

 

아프리카 대륙에 프랑스와 마주보고 있는 모로코의 몬테카를로 예요. 도박으로 유명한 도시지요.

 

사실 위에서 말한 확률적 계산 방법은 몬테카를로 시뮬레이션이라는 방법이구요.

 

아마도 몬테카를로에 가서 도박할 때 이 방법을 쓰면 좋게다~ 뭐 이런 생각을 하면서 이름을 지었는지도 모르겠어요.

 

 

몬테카를로  시뮬레이션은 의사결정 과정에서 확률적 변수에 따라서 그 결과 값이 종속될 때(달라질 떄) 많이 쓰는 방법인데

 

우리가 공부하려는 동적모델(Dynamic model)을 기준으로 보면은 아직은 시간의 개념이 포함되지 않은 수학적 방법의

 

확률적 정적모델(Stochastic, Static model) 이라고 할 수 있겠지요.

 

 

 

 

그러면 동적모델(Dynamic model)은 뭐냐구요?

 

지금까지 공부한 확률적 모델에 시간(Time)의 개념이 더해진 거예요.

 

우리가 Process = system + Time 이라고 공부한 거 기억하죠?

 

 

 

마찬가지로 Dynamic model = Static model + Time 을 이야기 하는 거예요.

 

Static model이 어느 한 순간의 상황에 대한 의사결정을 위한 해를 구한다면

 

Dyanamic model은 시스템의 시간 진행과 함께  즉 프로세스가 어떻게 변하는지를 계속해서 추적하하며 관찰하겠다는 거예요.

 

 

 

그러면 Dyanamic model에는 어떤 것들이 있는지 알아볼까요?

 

참고로 지금부터 이야기 하는 모든 모델이나 시스템은 특별한 설명이 없는한 컴퓨터를 이용하는 것을 가정한 것이예요.

 

 

 

 

 

 

 

 

 

 

그림은 모델의 추상화 정도를 구분하기 위해서 만들어 본 그림인데요 

 

맨 아래의 어두운 블록은 실제 시스템과 비슷하게 만들어진 낮은 레벨의 추상화가 적용된 물리적 모델(Physical model)을

 

그리고 맨 위의 밝은 부분은 상당히 높은 레벨의 추상화가 적용된 시스템 다이내믹스 모델(System dyanamic model)을

 

이야기하고 있어요.

 

가운데 부부은 우리가 자세하게 공부할 내용이이까 나중에 차차 설명하기로 하구요.

 

오늘은 아래, 위의 두가지 방법만 간단하게 설명하고 지나갈께요.

 

 

 

 

 

 

 

 

 

 

아랫 부분의 연속적, 물리적 모델(Contineous, Physical model)이예요.

 

사실 모델이 물리적이라는 것이 아니라 모델의 대상인 시스템이 물리적 거동을 한다는 뜻이 정확하겠지요.

 

모델은 컴퓨터 안에 있는 눈으로 볼 수 없는 소프트웨어니까요.

 

 

 

여기서 연속적(Contineous)이라는 말은 두가지로 쓰이는 용어인데

 

하나는 모델에서 시간의 흐름을 즉, dt 를 연속적 미분방정식 형태로 연속적으로 표현한다는 것이고

 

다른 하나는 대상 시스템의 엔티티 즉 대상이 되는 object의 상태를 연속적으로 추적한다는 것이예요.

 

 

 

Object의 상태를 연속적으로 추적하지 않는다는 것은 우리가 기준을 정해서 특정 조건의 상태 전이(State transition)만을

 

추적하여 모델에 반영한다는 것인데 상태 전이에 대해서는 나중에 자세하게 설명할 거예요.

 

 

 

그렇다면 아랫 부분의 Contineous, Physical model의 예는 어떤 것들이 있을까요?

 

위의 그림에 있는 진자의 운동 모델과 같이 주로 형체가 있는 물리적 모델이 되겠지요.

 

예를 들면 태양게의 운동 모델, 특정 물질이나 시스템의 열전달 프로세스 모델, 생체 프로세스 모델

 

그리고 항공기의 비행시 유체의 영향을 알아보기 위한 유체 해석모델 등을 생각할 수 있겠군요.

 

그리고 우리가 매일 혜택을 보는 일기예보 모델도 여기에 속한답니다.

 

 

 

이러한 모델의 종류는 분야에 따라서 엄청나게 많기 때문에 일일이 그 종류나 모델화 방법을 열거할 수가 없구요

 

저 또한 프로세스 모델링 분야가 업무이기때문에 잘 알지도 못한답니다.

 

 

 

 

그렇다면 맨 위의 블록에 속하는 Contineous, System dyanamics model은 어떤 것이 잇을까요?

 

바로 지난 시간에 Quiz로 냈던 인구증가 문제를 알아보는 모델이 있어요.

 

 

 

인구 증가 뿐 아니라 통화량의 변화나 환율 변동, 곡물의 생산이나 석유의 가격의 변화, 주식가격의 변화 등

 

양으로만 따지는 것은 어떤 것이던지 Systems Dynamics를 통해서 가능해요.

 

그래서 계량적 모델이라고 하구요 경제분야의 계량 분석에 주로 사용된답니다.

 

 

 

하지만 추상화의 레벨이 높기 때문에 모델 안에서 움직이는 엔티티를 하나 하나 구분하지 않고

 

액체와 같이 연속된 양으로만 취급하는 모델이랍니다.

 

그래서 Contineous라고 말하는 것이고 시간의 흐름도 연속적으로 추적하는 방법을 사용한답니다.

 

 

그런데 이 모델의 단점은 만약에 모델화의 대상이 병원과 같은 경우에는 병원에 도착한 각각의 손님(entity)들이

 

얼마나 기다려서 서비스를 받고 언제쯤 돌아 가나와 같은 손님 개개인에 대한 구분된 정보를 시뮬레이션에서

 

알아볼 수가 없답니다.

 

 

 

그래서 그런 경우에는 가운데 블록에 있는 Descret Event model을 사용하는데 다음 시간에 알아보기로 하고

 

오늘은 Systems Dynamics에 대해서만 이야기 하기로 해요. 

 

 

 

 

 

 

 

 

Systems Dyanamics Model은 위와 같은 기호로 모델을 만드는데요 제어계측 다이아그램과 비슷하답니다.

 

Stock은 엔티티(Entity)가 저장되는 탱크이고 여기에 저장된 entity는 파이프를 통해서 다음단계로 흘러가는 거예요.

 

그런데 수도꼭지(Flow) 같이 생긴 것이 그 흐름을 조절하고 Flow는 외부의 DPD나 Converter로부터 영향을 받고 있답니다.

 

금방 이해가 가시지요?

 

수도꼭지를 많이 열면 많은 양의 액체가 흐르겠구나 하고...

 

 

 

 

 

 

 

 

 

그림은 새우의 번식과 채집에 관한 모델을 보여주고 있는 Systems Dynamics model이예요. 

 

새우의 출산률이나 사망률이 새우의 증감에 영향을 미치고  새우의 숫자는 또한 새우의 출산과 사망에 영향을 미치는 군요.

 

그런데 새우는 알을 낳지 않나요?  알을 낳는 것은 산란율이라고 하던데....

 

여기서 사람들이 새우를 기간당 얼만큼씩 채집하는냐에 다라서 살아있는 새우와 채집된 새우의 양이 결정되겠군요.

 

 

 

 

 

 

 

 

 

이제 지난 시간에 내드린 Quiz의 답을 발표할 시간인데요. 

 

그래프는 Systems Dyanamics 방법을 이용해서 시뮬레이션 결과를 가지고 만든 미래의 인구 숫자랍니다.

 

환경 식량 등 다양한 파라메터의 영향을 받겠지만 결국은 이런 것이 반영된 출산률에 따라서 미래의 인구는 결정되는데...

 

 

 

서기 2100년도에 세계인구 158억과 62억, 여러분은 어떤 미래를 원하시나요?

 

그럼 다음 시간에 또 봐요. bye !!!

 

 

 

 

Reference(1) Checkland 1981, Reference(2) Wild 2002