2015-06-05 Computational Modeling and Simulation - 연세대학교 정보대학원 수업내용

#한국시뮬레이션학회지가 있음. 국내에서 최근 어떤 툴을 사용하고 어떤 방식으로 서술하는지 참고할 만한 곳인듯.
 
# 시뮬레이션 방법 적용 순서
Roadmap for Developing Theory Using Simulation Methods
• Begin with a research question 연구질문을 시작하고
• Identify simple theory 간단한 이론을 구체화하고
 - what is the key process?
• Choose simulation approach 시뮬레이션 접근 방법을 선택하고
• Create computational representation 프로그래밍으로 재구현하고
• Verify computational representation 해당 구현된 방법을 확인하고
• Experiment to build novel theory 새로운 이론을 구축하기 위해 실험을 진행하고
• Validate with empirical data 실험적 결과를 입증하라.
 
# 시뮬레이션 접근 방법 종류
systems dynamics 시스템 다이나믹스

• theoretical logic 이론적 논리:  cybernetics
사이버네틱스 모형, 인간의 모든 행동을 '정보와 환류를 통한 제어ㆍ조정'이라는 사이버네틱스의 관점에서 설명하려는 의사결정모형
• main constructs: stock, flow, variables, links, feedback loops (+reinforcing, -balancing)
• purpose:  understand complex causality 피드백 기반의 복잡한 인과관계에 대해 이해하기 위해
 
cellular automata / network models

 

Cellular automaton (CA). 수학적 모델로, 유한한 갯수의 "상태" 중 하나를 가질 수 있는 독립적인 "셀"들로 이루어진 공간이 있고, 각 셀들의 상태가 이산적인 시간에 따라 주변(즉, 유한한 갯수의) 셀의 상태에만 지역적으로 영향을 받는다는 가정 하에 셀들의 반응과 그로부터 생겨나는 구조를 연구하는 목적으로 쓰인다. 복잡계나 이론전산학 등에서 종종 연구되며, 인공생명의 맥락에서 생물학에서 연구하기도 한다.
 
대표적인 셀룰러 오토마타의 예로 라이프 게임(1970)이 있는데, 이 모델에서 상태는 두 종류–삶·죽음–가 있고, 각 셀은 무한한 2차원 공간에 균일하고 규칙적으로 분포해 있으며, 매 순간마다 8개의 주변 셀들 중 살아 있는 것의 갯수를 세어서 거기에 따라 다음 순간에 해당 셀이 살아 있는지 죽어 있는지가 결정된다. 각 셀은 주변 셀들의 변화에 지역적으로만 반응하며 사실 규칙 또한 매우 단순하지만, 라이프 게임에서 셀들의 반응은 생각보다 훨씬 복잡하며 튜링 완전한 계산까지 할 수 있음이 밝혀졌다. 그 밖에도 셀룰러 오토마타로 분류되는 수학적 모델은 여러 종류가 있다.
 
오토마톤 이론이란 오토마톤을 연구하는 학문이지만, 다른 표현 방식을 빌린다면 ‘대상의 어떤 기능에 주목하여, 입력과 내부 출력 각 신호의 상호관계를 수학모델로 옮기고, 이 모델을 수학적으로 고찰 ·결론을 유도한다. 그리고 이 유도된 결론을 다시 원래의 대상에 꼭 들어맞춰서 해석한다고 하는 일련의 과정의 일부 또는 전부’에 관계되는 것이다. 그리고 대상의 구성요소의 성질 등에는 그리 관여하지 않는다. 이와 같은 입장을 취함으로써 새로운 시야가 열리며, 미시적인 견지로부터는 끄집어낼 수 없는 많은 유용한 결론이 기대된다
 
• theoretical logic: simple rule-based interactions produce emergence
• main constructs: agents, connection, distance, influence
• purpose: uncover macro emergent global behavior from micro local interactions 미시적 상호작용을 통한 거시적 새로운 행동 양식을 발견하는 것.
 
NK Fitness Landscapes

Kauffman은 복잡한 생태계를 분석할 수 있는 간단한 통게적 NK모형을 제시하였다. 즉 어떤 생태계도 N개의 본질적 요인과 K개의 본질적 요인간에 상호관계를 가진 체계이며, 통계적 분석이 가능하다는 것을 보았다. {조상섭, 2012 #3}
Kauffman (1993)은 관측된 형태들이 필연적으로 선택압력에 의한 결과물인지에 대한 의문 을 제기하였다. 즉 관측된 조직형태가 자기조직화의 과정일 수 있다는 견해이다.
만일 어떤 조직들이나 개체군들이 그들의 최적 형태를 추구하기 위하여 탐색방법으로 인접한 지역 또는 주변 지형에서 Hill-Climbing방법을 사용한다면, 대부분 조직체들은 전체보다 국소적 최적화에 머물게 된다. Westhoff et al.(1996), Kauffman(1993)
즉 누적성과 비체화성이 결합된 새로운 SW는 다른 특성이 미친 영향인 상호작용의 정도를 알 수 없다. 이 러한 문제점으로 인하여 자체 특성과 함께 다른 특성사이에 상호작용이 너무 복잡하기 때문에 확률적 적응함수에 의한 그들의 결과를 바탕으로 통계적 형태를 분석할 모형을 시도하게 된다. 이러한 통계적 모형 중 가장 정교한 모형이 Kauffman의 NK모형이다.
 
기초통계자료를 사용하는 경우가 있는데, 어떤 연결점으로 사용하는지?
 
• theoretical logic: goal-driven adaptation
• main constructs: fitness landscape, complexity, interdependencies, search, sticking
points
• purpose: investigate efficacy of adaptation strategies 전략의 적용의 효능을 조사하다
 
stochastic models (전산학) 추계적 모형
 

• theoretical logic: N/A
• main constructs
• anything
• purpose: flexible approach to model building
 
의사결정과 확률적 모형
 상황에 따라 의사결정은 확실한 상황하의 의사결정, 위험상황하의 의사결정, 불확실한 상황하의 의사결정의 세 가지로 구분된다.
확실(certainty)한 상황이란 의사결정자가 결정하려는 代案(alternatives)별로 어떤 결과가 발생할 것인지에 관한 정보를 사전에 정확히 갖고 있는 상황을 말한다. 즉 결정에 따라 나타날 유일하고 확정적인 결과를 미리 알고 있는 경우이다. 이러한 상황에서 시도되는 의사결정모형을 확정적 모형(deterministic models)이라 부른다.
 위험(risk)한 상황이란 의사결정자가 갖고 있는 정보가 유일 확정적으로 알려져 있지는 않으나 대안별로 여러 개의 출현 가능한 결과와 이 결과가 각각 나타날 확률을 알고 있는 상황을 의미한다. 이러한 경우를 위해서 사용되는 의사결정모형을 확률적 모형(stochastic models)이라고 한다.
 불확실(uncertainty)한 상황이란 갖고 있는 정보가 의사결정 대안별로 나타날 결과의 일부나 전부를 명시해 주지만 이들 결과에 대한 개개의 확률을 제시해 주지 못하는 상황이다. 이러한 상황에서 의사결정은 앞의 두 경우에 비하여 매우 어렵다. 불확실성의 상황을 위험상황으로 상정하고 확률모형을 적용하는 경우가 흔하다.

 
IIS651 추계적모형 (Stochastic Models)
본 과목에서는 확률적 모형 분석을 주로 다룬다. 주요 논제로는 확률, Stochastic Process, Poisson Process, Renewal Process, Markov Process, Random Walk, Queueing Models 등이며, 기타 확률적 모형개발에 대하여도 사례를 중심으로 다룬다.
 
 
# 시뮬레이션 구현 방법
create computational representation
• use tools / frameworks
• NetLOGO, Repast, Mason, Vensim
• code from scratch
 
#
experiment to build novel theory
• systems dynamics models
• add causal loops, change flow rates
• CA/network models
• change rules/thresholds, alter connections (neighborhood, structure)
• NK fitness landscape models
• change N/K, specify interdependency, change adaptation rules, create
environmental shocks
• stochastic models
• vary source/structure of stochasticity, change theoretical logic
 
#
model validation
• a valid computational model is one that is effectively appropriate to the
end goal
• balance between “realism” and “simplicity”
• theoretical validation vs. empirical validation
• validation vs. calibration
 

+ Recent posts