Andrew Ford 헌정 강의: 『Modeling the Environment』 Chapter 4 : Step Size에 대한 어려운 이야기: DT ≠ Step Size인 경우는?
아래 글에서는 시스템다이내믹스에서 흔히 “Step Size”와 “DT(Delta Time)”가 동일한 개념처럼 쓰이지만, 실제로는 미묘하게 다른 경우가 있다는 점을 예시와 함께 풀어보겠습니다. 하지만, Step Size = DT 라고 생각해도 문제될 일은 거의 없습니다. 저처럼 궁금해서 미칠 것 같은 분만 아래 내용을 보세요~~
1. 보통은 “DT = Step Size”로 부른다
시스템다이내믹스(또는 미분방정식 수치해석) 교재나 소프트웨어 매뉴얼을 보면, “DT(델타 t)”라고 쓰인 항목을 “Step Size”로 지칭하는 경우가 많습니다.
- 예: “DT를 1년으로 설정했더니, 1년 단위로 저량이 갱신되는 계단 모양이 나왔다.”
- 예: “Step Size를 0.25로 해도 결과가 잘 안 바뀐다면, 이제 DT=0.25가 적절하군!”
이렇게 보면 둘 다 “시뮬레이션에서 시간을 쪼개는 간격”이라는 의미로 쓰이기 때문에, 대체로 동일 개념처럼 받아들여지곤 합니다.
2. 그런데 어떤 맥락에서 차이가 나는가?
일부 소프트웨어나 특정 모델링 방식에서는 ‘DT’와 ‘Step Size’가 미묘하게 다른 의미를 가집니다. 주로 다음 두 가지 케이스를 예로 들 수 있습니다.
(1) 내부 적분 스텝 vs. 보고(Reporting) 스텝
- DT(델타 t): 실제 모델의 내부 적분(integration)에서 사용되는 시간 간격. 예: 시스템이 0.1초 간격으로 상태를 재계산.
- Step Size(보고 간격): 사용자에게 결과를 출력하거나 저장할 때의 간격. 예: 1초 마다 그래프에 찍히도록 설정.
이 경우, “DT = 0.1초”지만, 실제로 화면에 보이는 값은 “Step Size = 1초 단위”로 샘플링되므로, “DT ≠ Step Size”가 됩니다.
- 즉, 내부 시뮬레이션 스텝(DT)은 훨씬 촘촘하고,
- 사용자에게 보여주는 스텝(보고 간격)은 더 크게 잡을 수 있습니다.
예시
자율주행차 시뮬레이션에서 실제 계산(물리엔진)은 0.01초마다 궤적을 업데이트하지만, 로그(기록)나 그래프는 0.1초마다 찍을 수도 있습니다.
- 이때 내부 계산 간격(integration time step) = 0.01초
- 결과 보고 간격(reporting step size) = 0.1초
(2) 시스템다이내믹스 SW에서의 “DT” vs. “CYCLE”
Stella나 Vensim 같은 SD 도구에서,
- “DT”를 입력하면, 이는 실제로 적분할 때 사용되는 시간 단위입니다(예: Runge-Kutta나 Euler로 0.25년씩 계산).
- 하지만 사용자가 결과 그래프를 “1년마다 찍어라”라고 세팅할 수도 있어서, 결과적으로 “1년에 한 번씩만 보이는” 스텝을 “Step Size”라고 부르는 사람이 있을 수 있습니다.
이럴 때, 모델 내부 계산은 DT=0.25년으로 돌아가지만, 우리가 확인하는(그래프나 테이블에 찍히는) 건 “1년” 주기로 나오므로, 겉보기에는 “Step Size=1년”처럼 느껴지기도 합니다.
3. 왜 이런 차이가 생길까?
결국, “step size”라는 말이 ‘시간을 덩어리로 나누는 간격’을 포괄적으로 가리키는데, 실제 소프트웨어에서는 내부 계산 간격(integration step)과 출력(보고) 간격이 꼭 동일하리라는 법이 없기 때문입니다.
- 통합(Integration) DT: 방정식을 풀기 위한 최소 단위, 수치적 정확도와 직결.
- 출력(Reporting) Step Size: 사용자의 편의나 해석 목적에 따라 달라짐.
4. 주의할 점: “DT”가 항상 보고 간격과 동일하다고 착각하면?
- 수치 정확도를 위해 오일러/룬게쿠타 적분에서는 작은 DT가 필요하지만,
- 너무 촘촘하게 결과를 출력하는 건 굳이 필요 없을 수 있죠(그래프가 너무 복잡해질 수도).
만약 “DT = 0.1년”으로 두고 나서, “1년 단위로만 출력”하도록 설정했다면,
- 내부 계산은 0.1년마다 갱신하지만,
- 최종 그래프엔 1년 간격으로만 값이 찍히므로,
- 겉보기엔 마치 DT=1년으로 계산한 것처럼 보일 수도 있습니다(하지만 내부적으로는 훨씬 정밀).
결론적으로, 우리가 보고받는 스텝(출력 간격)을 보고 “아, 이 모델은 DT=1년이구나”라고 섣불리 생각하면 안 됩니다.
댓글
댓글 쓰기