앞 글의 System Dynamics는 시스템을 위에서 내려다보며 총량의 흐름을 다뤘다. 이 글의 agent-based 시뮬레이션(agent-based modeling, ABM)은 정반대 방향이다. 개체 하나하나에 행동 규칙을 부여하고, 그들의 상호작용에서 전체 거동이 아래로부터 쌓아 올려지도록 한다. 5부의 두 번째 글로, 시뮬레이션 패러다임의 마지막 한 축을 본다.
핵심 아이디어: 아래로부터의 창발
ABM의 세계관은 단순하다. 복잡한 전체 현상은, 단순한 개체들이 단순한 규칙에 따라 상호작용한 결과로 저절로 생겨난다. 이 “저절로 생겨남”을 창발(emergence) 이라 부른다. 전체는 부분의 단순한 합이 아니라, 부분들의 상호작용에서 질적으로 새로운 패턴이 나타난다.
ABM 모델은 세 가지로 구성된다.
- 에이전트(agent): 자율적인 개체. 각자 상태(위치, 나이, 의견 등)와 행동 규칙(“이웃이 X면 Y한다”)을 가진다. 중요한 점은 에이전트가 국소적(local) 정보만으로 행동한다는 것이다. 전체를 내려다보는 존재는 없다.
- 환경(environment): 에이전트가 살아가는 공간. 2차원 격자, 소셜 네트워크(누가 누구와 연결됐나), 연속 공간 등.
- 상호작용 규칙: 에이전트끼리, 그리고 에이전트와 환경이 어떻게 영향을 주고받는가.
시뮬레이션은 시간 스텝마다 모든 에이전트가 자기 규칙에 따라 상태를 갱신하게 하고, 그 결과로 떠오르는 거시 패턴을 관찰한다.
고전적인 예들
ABM의 힘은 예를 보면 분명해진다. 모두 놀랍도록 단순한 규칙에서 출발한다.
- 셸링의 분리 모델(Schelling segregation): 각 사람은 “내 이웃의 일정 비율 이상이 나와 같은 부류였으면 좋겠다”는 약한 선호만 가진다. 그런데 이 약한 선호만으로도, 시뮬레이션은 도시가 극단적으로 분리되는 패턴을 만들어 낸다. 개인은 강한 차별 의도가 없어도 집단 수준에서 분리가 창발하는 것이다 — ABM이 보여 준 가장 유명한 통찰 중 하나다.
- 보이드(Boids): 새 한 마리가 단 세 규칙 — 너무 가까운 이웃과는 분리, 이웃들과 방향 정렬, 무리 중심으로 응집 — 만 따르게 했더니, 전체가 살아 있는 새 떼처럼 유려하게 움직였다. 중앙 지휘자 없이 군집 비행이 창발한다.
- 생명 게임(Conway’s Game of Life): 격자의 각 칸이 이웃 수에 따라 살고 죽는 단순한 규칙만으로, 끝없이 복잡한 패턴이 자라난다(세포 자동자, cellular automata의 대표 예).
전염병도 ABM으로 다룰 수 있다. SD의 SIR이 인구를 총량으로 봤다면, ABM은 사람 한 명 한 명을 에이전트로 두고 누가 누구와 접촉하는지를 개체 수준에서 시뮬레이션한다.
세 패러다임의 자리
이제 2부에서 예고한 세 패러다임의 관점 차이를 분명히 정리할 수 있다.
- System Dynamics: 위에서 아래로. 총량과 흐름, 거시 피드백. “감염자 총수의 곡선.”
- DES: 개체를 다루지만 대체로 수동적이다. 손님은 정해진 프로세스(도착→대기→서비스)를 따라 흐를 뿐, 스스로 전략을 바꾸지 않는다. 자원과 큐가 중심.
- ABM: 아래에서 위로. 각 에이전트가 능동적으로, 국소 정보에 따라 자율적으로 행동하고, 그 상호작용에서 거시 패턴이 창발한다.
거칠게 말하면, 개체의 이질성과 국소적 상호작용 자체가 현상의 핵심일 때 ABM이 빛난다. 모두가 평균적으로 똑같이 행동한다면 SD로 충분하지만, “각자 다르게 행동하고 서로 영향을 준다”가 중요하면 ABM이 필요하다.
장점과 만만찮은 대가
- 장점: 개체의 이질성(서로 다른 특성·행동)을 자연스럽게 담고, 국소 상호작용과 공간 구조를 표현하며, 거시 모델로는 예측하기 어려운 창발 현상을 드러낸다.
- 대가: 에이전트가 많아지면 계산 비용이 크다. 더 근본적으로 모델링·검증이 어렵다. 행동 규칙과 파라미터가 많아 자유도가 높은 만큼, “이 규칙이 맞는가”를 정하고 validation하기가 까다롭다. 보정(calibration)할 데이터도 개체 수준에서 구하기 쉽지 않다. 그럴듯한 창발 패턴이 나왔다고 해서 그 모델이 옳다는 보장은 없다는 점을 늘 경계해야 한다.
도구로는 NetLogo(교육·프로토타이핑에 널리 쓰임), Python의 Mesa, 대규모용 Repast 등이 있다.
정리
- ABM은 자율적인 에이전트가 국소 정보로 행동하고, 그 상호작용에서 거시 패턴이 창발(emergence) 하도록 하는 아래로부터의 패러다임이다.
- 셸링 분리·보이드·생명 게임처럼, 단순한 규칙에서 놀랍도록 복잡한 전체 패턴이 나온다.
- 세 패러다임의 자리: SD(위→아래, 총량), DES(수동적 개체, 큐·자원), ABM(아래→위, 능동적 개체).
- 개체의 이질성과 국소 상호작용이 핵심일 때 강력하지만, 계산 비용과 검증·보정의 어려움이라는 대가가 따른다.
여기까지가 DES 바깥의 패러다임(5부)이다. 마지막 6부에서는 시뮬레이션을 실제 물리 시스템과 실시간으로 잇는 개념, 디지털 트윈을 본다.