소개
Simpy 요약
<aside>
📖 SimPy is a process-based discrete-event simulation framework based on standard Python
</aside>
- process 기반 discrete-event 시뮬레이션 프레임워크
- SimPy는 프로세스, 이벤트 및 리소스를 정의하고 관리할 수 있는 시뮬레이션 환경을 제공
- SimPy의 사용으로 여러 프로세스 간에 공유할 수 있는 시스템, 서버 또는 시설과 같은 리소스를 모델링
- SimPy는 대기 라인이나 버퍼를 모델링하고 관리할 수 있는 Queue 클래스를 제공
- SimPy에는 시뮬레이션 중에 생성된 데이터를 수집하고 분석하기 위한 통계 기능과 도구가 포함
SimPy 핵심개념
- 이산 사건 시뮬레이션 : 시스템의 상태가 특정 시점에서만 변경되며, 이러한 변경 사건들은 시간 순서대로 발생
- 프로세스(Process) : 시뮬레이션에서 모델링하려는 활동 또는 동작의 연속.
- 프로세스를 Python의 제너레이터 함수로 표현
- 제너레이터 : 반복자를 생성하는 방법중 하나. ‘return’ 대신 ‘yield’ 키워드를 사용하여 설정한 시간에 따라 이벤트가 갱신됨.
- 환경(Environment) : 시뮬레이션을 실행하는 데 필요한 시간과 공간의 컨텍스트를 제공. 환경은 시뮬레이션에서 발생하는 모든 이벤트와 프로세스를 관리.
- 이벤트(Event) : 시스템의 상태 변화를 나타내는 사건.
게임 개발에서 Simpy