Andrew Ford 헌정 강의: 『Modeling the Environment』 Chapter 3: Joe의 질문 – “연료탱크는 어떻게 채워질까?”


 이번에는 Box 3.2“Joe fills the tank” 이야기를 살펴보겠습니다. Joe가 주유소에서 연료탱크를 채울 때, 어떤 식으로 “모델”을 만들 수 있는지 궁금하신 분들은 주목해 주세요.


1. Joe의 초기 모델: “주유 시간은 얼마나 걸리지?”

Figure 3.13을 보면, Joe가 처음 시도한 모델은 간단합니다.

  • Stock: 탱크에 들어 있는 가솔린(단위: 갤런)
  • Flow: 노즐을 통해 들어오는 휘발유(단위: 갤런/초)
  • Capacity(탱크 용량): 20갤런으로 설정
  • Fullness(만조율): 탱크 내 가솔린 양 ÷ 탱크 용량 → 0%에서 100%로 표시 가능

Joe는 최대 유량을 1갤런/초라고 보고, “20갤런 다 채우려면 20~30초쯤 걸리지 않을까?”라고 예상했습니다.
그림만 봐서는 그럴듯해 보이지만, Andy는 “뭔가 빠져 있다”고 말합니다. 바로 **‘피드백(feedback)’**입니다.


2. “피드백이 없다면, 제어도 없다”

Andy가 지적하듯, “fullness(만조율)가 올라가면 유량(flow)이 줄어든다”는 식의 정보 피드백이 없다면,
주유를 멈추거나 줄이는 타이밍을 모델이 잡을 수 없습니다.

  • 이 말은 탱크가 거의 찼을 때 노즐 유량을 줄이는 의사결정”을 어떻게 표현하느냐가 관건이라는 것이죠.

3. Joe와의 인터뷰: 미터도, 자동차단도 없었다?!

보통 “펌프 미터”나 “자동 차단 기능”으로 탱크를 채우는 걸 떠올리겠지만, Joe는 그렇지 않았습니다.

  1. 미터를 보며 20갤런에 가까워지면 흐름을 줄인다?

    • Joe는 “글씨가 잘 안 보여서” meter를 보지 못했다고 합니다.
  2. 자동 shutoff 펌프?

    • Joe는 수동 펌프를 사용했다고 하네요.
  3. 경험적으로 20초쯤 세고 멈춘다?

    • Joe는 “시간을 재지도 않는다”라고 대답했습니다.

이러니 도무지 피드백 메커니즘이 없어 보이는데, 대체 Joe는 어떻게 정확히(?) 탱크를 가득 채웠을까요?


4. 진짜 이유: “소리(Sound)에 주목했다!”

결국 Joe가 털어놓은 비밀은 “소리”였습니다. 구체적 성질은 뚜렷이 설명 못 했지만, 대략 이렇다고 합니다:

  1. 초반 “free-flowing” 소리
    • 기름이 탱크 안으로 부드럽게 들어가는 느낌
  2. 그다음 “congestion” 소리
    • 뭔가 흐름이 예전 같지 않게 가득 차고 있다는 신호
  3. 마지막에는 “거의 공간이 없다”고 느끼는 소리
    • Joe가 “이제 멈춰야겠다” 판단을 내리는 결정적 계기

Joe는 귀로 들리는 3단계 소리 변화를 스스로 피드백 신호로 삼았던 겁니다. 노즐 유량을 한 번에 ‘싹’ 줄이거나, 완전히 닫는 판단도 여기서 이뤄진 것이죠.


5. 모델에 어떻게 반영할까?

Box 3.2의 핵심 포인트는“정보 피드백”입니다.

  • 탱크의 가솔린 ‘만조율(fullness)’이 직통으로 Joe의 의사결정(노즐 유량)에 영향을 주지는 않았어요(미터도 못 보고, 시간도 안 잼).
  • But, Joe가 들은 **‘소리(sound) 지표’**가 fullness와 관련이 있으니, 소리를 단계별로(1→2→3) 정의하고, 노즐 흐름을 그에 따라 조정하도록 모델링할 수 있습니다.

예:

  • Sound Index = 1 (free flow) → 노즐 유량 = 최대(1갤런/초)
  • Sound Index = 2 (congestion) → 노즐 유량 = 절반(0.5갤런/초)
  • Sound Index = 3 (space almost gone) → 노즐 유량 = 0 (주유 중단)

이런 식으로 그래픽 함수converter를 써서, 만조율이 일정 구간에 들어가면 Sound Index가 바뀌도록, 그에 따라 gas flow at nozzle이 변하도록 설정하는 겁니다.


6. 결론: 현실에선 “소리”가 곧 피드백!

Joe의 예시는 좀 엉뚱해 보일 수 있지만, 실제 현장에서도 “소리”나 “감각” 같은 비정량적 신호를 피드백으로 활용하는 경우가 꽤 많습니다.

  • “한계 지점이 가까워질수록, 청각·촉각·시각적 신호” 등을 통해 유량(Flow)을 조절하는 것이죠.
  • “모델링”은 이런 실제 행동 방식을 어떻게 변수관계로 풀어낼지 고민하는 과정입니다.

즉, 단순히 “노즐 유량은 만조율에 비례/반비례한다”로 끝나는 게 아니라,
Joe가 인지하는 소리중간 매개(Converter)로 둬서, 소리 Index가 바뀌면 유량을 다른 값으로 조정하게 만드는 식의 모델을 구성할 수 있다는 것이, 이 Box 3.2의 핵심입니다.


마무리

“어디서 피드백이 들어오나?*를 찾는 일은 모델링에서 매우 중요한 작업입니다.
Joe가 소리라는 변수를 통해 유량을 조절했듯, 실제 세계에서도 인간의 직관적 판단, 환경 신호, 측정장치 등 다양한 피드백 경로가 존재합니다.

이번 Box 3.2는 바로 이런 피드백의 중요성을 재확인하는 사례입니다.

  • 탱크 용량(capacity)과 gas in the tank(스톡)만으로는 충분치 않고, 거의 다 찼는지 아닌지 정보를 전달해 주는 무언가가 필요합니다. Joe는 ‘소리’를 이용했을 뿐이죠.

향후 모델을 확장한다면, “소리 변화를 어떻게 함수로 표현할까?”, “중간 단계(Flow 조절)를 얼마나 세분화할까?” 같은 고민도 이어집니다. 그게 시스템다이내믹스(SD) 모델링의 묘미이기도 합니다!

다음 글에서는 더 복잡한 피드백 상황(예: 자동 펌프 차단, 가격 민감도)에 대해서도 다룰 예정이니, 계속 관심 가져 주세요.


추가 참고

  • Andrew Ford, Modeling the Environment, Chapter 3 (Figure 3.13 & Box 3.2)
  • 피드백, 노즐 유량, 만조율(“fullness”) 개념을 소프트웨어(Stella/Vensim)에 어떻게 구현하는지 고민해 보면 좋습니다.
  • 실제 “Gas Station Sound”도 일종의 물리적 현상이니, 더 자세히 모델링하려면 “탱크 내부 공기 흐름” 같은 복잡한 지식을 추가할 수도 있습니다.

댓글

이 블로그의 인기 게시물

경연제도와 시스템사고: 세종대왕의 조세제도 개혁에서 배우는 구조적 경청의 리더십

무기력을 이기는 시스템사고 (1) — 태도와 전략 사이에서

Fishery Game과 내쉬 균형