SA
메인 내용으로 이동

엔진 방정식

열역학에서, 엔진은 하나 이상의 형태의 에너지를 기계적인 힘이나 운동으로 변환하는 기계이다. 소프트웨어에서 엔진의 정의는 더욱 모호해진다. 엔진은 복잡한 소프트웨어 시스템의 핵심 구성 요소이다. 예를 들어, 일부 요소가 두 개 이상의 프로그램에 사용되는 경우 해당 구성 요소를 재사용 가능한 라이브러리로 패키징하면 그게 엔진이다. 근데 엔진을 조금 더 잘 정의할 수 있을까?

나는 엔진을 자산과 시간을 들여 효용으로 바꾸는 수학 방정식으로 정의한다.

Enginef(resource, time)utility\text{Engine} \Leftrightarrow f(\text{resource}, ~\text{time}) \to \text{utility}

엔진은 자원과 시간을 소비하여 다른 유용한 자산으로 변환한다. 여기서 유용함이란, 마치 정보의 정의가 단순히 유용한 데이터이듯, 전적으로 인간의 관점에서 주관적이다. 몇 가지 예를 들어보자.

  • **경제**는 노동, 자본, 천연자원, 시간 등의 자산을 산출물과 서비스로 생산하는 엔진이다.
  • 군사 조직은 인력, 장비, 자원, 시간 등의 자산을 보안과 안전의 효용으로 생산하는 엔진이다.
  • 정부세금, 노동 및 천연 자원과 시간 등의 자산을, 교육, 의료 및 인프라와 같은 재화와 서비스로 생산하는 엔진이다.
  • 기업은 자본, 노동, 천연자원과 시간 등의 자산을, 판매할 수 있는 상품이나 서비스로 생산하는 엔진이다.
  • 대학은 교수진, 직원, 학생, 자원과 시간 등의 자산을, 교육 및 연구 성과물을 생산하고 직업 전망 개선, 높은 수준의 비판적 사고 및 문제 해결 능력의 효용으로 생산하는 엔진이다.

이 정의가 흥미로운 점은, 엔진은 서로의 내부에서 재귀될 수 있는 단순한 함수라는 것이다. 이것은 아이작 아시모프의 심리역사학(통계적 분석을 사용하여 많은 사람들의 행동을 예측하고 역사의 흐름을 예측하는 전략을 개발하는 가상의 과학)과 연결된다. 우주는 시간이 지남에 따라 큰 집단의 집단적 행동에 따라 작동하는 일종의 엔진의 엔진(메타-엔진)이다.

결국 우주는 연쇄-엔진-나무일 뿐이며, 여기서 최초 입력은 빅뱅이고, 최종 출력은 열이다. 궁극적으로, 물리적인 의미에서 엔진은 엔트로피가 흐르는 경로일 뿐이다.

신성한 엔진은 영원한 질서를 규정한다. 모든 것은 신성한 엔진에서 흐르고, 모든 물건과 모든 승객은 제자리에서, 모든 것을 흘려보내는 것이 그 질서이다... 모든 이들은 이 위치를 지키는 신성한 엔진에 경의를 표하라...

— 설국열차 (2013)