아무도 원하지 않는데 왜 전쟁이 날까?
전쟁은 늘 누군가가 원해서 일어난다고 생각하기 쉽습니다. 그런데 전쟁은 양쪽 모두에게 비싸서, 싸우지 않고 나누는 편이 둘 다에게 낫다는 합의가 언제나 존재합니다. 이 단순한 모델에서는 합의 범위가 분명히 있는데도, 상대 힘을 정확히 모른다는 이유만으로 분쟁의 약 40%가 전쟁이 됩니다. 이름 없는 추상 국가들로 돌려 보며 이 구조를 만져 보세요.
모델은 이렇게 움직입니다
- ① 협상 실패. 두 나라(A, B)가 파이 1을 나눕니다. 전쟁을 하면 A는 이길 가능성 p만큼 얻고 양쪽 모두 비용 c를 치릅니다(A의 전쟁 몫 p−c, B의 전쟁 몫 1−p−c). 그래서 A의 몫이 p−c와 p+c 사이인 합의는 둘 다 전쟁보다 낫습니다. 다만 p는 B만 정확히 알고, A는 50%±(불확실성) 사이 어딘가라고만 짐작합니다. A는 기대 몫이 가장 큰 요구를 한 번 내밀고, B는 그 요구가 전쟁보다 나쁘면 거절해 전쟁이 납니다.
- ② 군비 경쟁. 두 나라가 매 라운드 상대의 군비에 반응(k)해 자기 군비를 늘리고, 자기 군비의 부담에 피로(a)를 느껴 줄입니다. 반응이 피로보다 작으면 군비가 한 수준에서 멈추고, 크면 서로를 키우며 계속 올라갑니다. 군비가 과열선(이 프로젝트가 정한 기준)을 넘는 라운드를 셉니다.
- ③ 번짐. 15×15 격자 위의 225개 추상 국가 중 한 곳에서 전쟁이 시작됩니다. 전쟁 중인 나라는 이웃(위아래 좌우) 각각을 확률 q로 끌어들이고, 새로 끌려든 나라도 같은 방식으로 이웃을 끌어들입니다. 더 번질 곳이 없으면 그 전쟁은 끝나고, 잠시 뒤 다른 곳에서 새 전쟁이 시작됩니다. 이 단계는 번짐의 구조만 보여 주는 작은 한 단계입니다.
직접 돌려보기
① 합의가 있었는데도 전쟁이 나는 분쟁들
점 하나가 분쟁 하나이고, 가로 위치는 A가 실제로 이길 가능성입니다(B는 알고 A는 모릅니다). A는 점선보다 오른쪽이라면 요구를 받아들여질 거라 보고 요구하는데, 실제 힘이 점선보다 왼쪽인 분쟁은 요구가 거절되어 전쟁(빨강)이 됩니다. 아래 막대는 가장 최근 분쟁에서 양쪽이 전쟁보다 나은 합의 범위(초록 띠)와 A의 요구를 보여 줍니다.
② 불확실성이 커질수록 전쟁이 늘어난다
가로는 불확실성, 세로는 전쟁이 되는 분쟁의 비율입니다. 빨간 선은 이 모델의 이론값(1−c/u), 초록 점은 시뮬레이션입니다. 불확실성이 전쟁 비용보다 작으면 전쟁이 한 건도 없다가, 그것을 넘으면서 늘어납니다.
③ 군비 경쟁: 멈출까, 폭주할까
파랑과 보라는 두 나라의 군비 수준입니다. 반응(k)이 피로(a)보다 작으면 두 선이 한 수준에서 멈추고(초록 점선), 크면 서로를 끌어올려 빨간 과열선을 넘습니다. 슬라이더로 k와 a를 가까이 붙여 보세요.
④ 한 나라의 전쟁이 이웃으로 번지는 모습
격자 한 칸이 한 나라입니다. 테두리 친 칸에서 시작해 진한 빨강에서 옅은 주황 순서로 끌려든 나라를 칠합니다. 오른쪽(휴대폰에서는 아래) 막대는 끝난 전쟁마다 참전한 나라 수입니다.
⑤ 번질 확률이 어느 선을 넘으면
가로는 이웃을 끌어들일 확률, 파란 선은 평균 참전국 비율, 빨간 선은 전체의 25% 이상으로 번진 전쟁의 비율입니다(확률마다 300번씩 시뮬레이션). 정사각 격자에서는 이 확률이 50% 근처에서 갑자기 큰 번짐이 가능해집니다.
이 결과가 말하는 것, 말하지 않는 것
말하는 것:
- 서로 상대 힘을 잘 알면 합의로 끝나지만, 한쪽이 잘 모를수록 합의가 가능한데도 전쟁이 늘어요. 모르는 정도 0이면 전쟁 0%, 20%면 25.0%, 50%면 70.0%였어요.
- 전쟁이 싸게 느껴질수록 더 잘 일어나요. 모르는 정도가 같을 때 전쟁 비용이 5%면 분쟁의 80.0%가, 20%면 20.0%가, 25% 이상이면 0%가 전쟁이 됐어요.
- 그렇다면 전쟁을 볼 때 무엇을 먼저 보면 될까요? 이 모델에선 상대를 모르는 정도가 전쟁 비용보다 작으면 전쟁이 0%였어요. 또 이웃을 끌어들일 확률이 30%면 평균 5.5개국, 50%면 69.9개국으로 번졌어요.
상세 설명
말하는 것: ① 전쟁 비용 15%, 불확실성 ±25%에서 A는 자기 몫을 가장 크게 기대하는 요구(60%)를 했고, 이론상 분쟁의 40.0%가 전쟁이 됩니다(시뮬레이션 20만 건에서 39.8%). 양쪽이 전쟁보다 낫다고 여길 합의 범위(폭 30%)가 늘 있었는데도 그렇습니다. 정보가 정확하면(불확실성 0) 전쟁은 0%였고, 불확실성이 15% 이하이면 전쟁 비용과 같거나 작아 역시 0%였습니다. 불확실성 20%에서 25.0%, 30%에서 50.0%, 40%에서 62.5%, 50%에서 70.0%로 늘었습니다. 불확실성 ±25%에서 전쟁 비용을 5%로 낮추면 80.0%, 10%는 60.0%, 20%는 20.0%였고 25% 이상에서는 0%였습니다. 두 방법으로 45개 조합을 비교했을 때 이론과 시뮬레이션의 차이는 최대 0.1%p였습니다. ② 군비 경쟁은 반응 k가 피로 a보다 작으면 멈추고 클수록 폭주했습니다(k, a를 0.1~1.0으로 바꾼 342개 조합이 모두 이 조건과 일치). 기본값(k 0.60, a 0.45)에서는 모든 시드(1~5)에서 31라운드에 과열선에 닿았고, k 0.50 · a 0.45에서는 63~64라운드로 늦어졌습니다. k 0.50 · a 0.60이면 이론상 안정 수준 1.00에 시뮬레이션 평균 0.99로 멈췄습니다. ③ 이웃을 끌어들일 확률이 30%일 때 평균 참전 5.5개국(2.5%), 40%에서 17.1개국, 50%에서 69.9개국(31.1%), 60%에서 169.7개국(75.4%), 70%에서 213.0개국(94.7%)이었습니다. 50%에서는 전쟁의 49.6%가 전체의 25% 이상으로 번졌고, 같은 설정에서 규모가 1~2개국에 그친 전쟁도 12.5%였습니다. 30%에서는 가장 큰 전쟁도 57개국(2만 번 중)이었습니다.
말하지 않는 것:
- 실제 어느 전쟁의 원인을 설명하거나 앞으로의 전쟁을 예측하는 것이 아니고, 특정 입장을 지지하지도 않아요. 이름 없는 추상 국가의 구조만 보여 줘요.
- 이 모델은 서로 미워하는 마음이 전쟁에 미치는 영향은 다루지 않았어요. 그쪽과 대비한 건 생각해 볼 점이고, 이 시뮬레이션이 직접 보여 준 건 정보 부족과 전쟁 비용의 효과예요.
- 국내 정치, 동맹, 약속을 믿지 못하는 문제는 빠져 있어요. 실제 사례에 적용하려면 당시의 정보와 사정을 따로 확인해야 해요.
상세 설명
말하지 않는 것: 실제 전쟁의 원인을 설명하거나 예측하지 않습니다. 실제 전쟁은 훨씬 복잡합니다. 이 페이지의 나라들은 이름도 얼굴도 없는 추상 국가이며, 어떤 실제 분쟁도 가리키지 않습니다. 세 모델은 모두 이 프로젝트가 크게 단순화한 것입니다. 전쟁의 이득과 비용을 파이의 몫으로만 다루고, 사람의 고통이나 국내 정치, 이념, 동맹, 제3자의 개입은 담지 않았습니다. 이 결과는 "이런 구조가 전쟁을 만들 수 있다"는 가능성을 보여 줄 뿐, 어느 전쟁이 이렇게 일어났다는 증거가 아닙니다. 또 협상 실패에는 정보 문제 외에 약속을 믿지 못하는 문제 등도 있는데 여기서는 다루지 않았습니다. 군비 경쟁의 과열선과 번짐 격자의 크기, 번짐 확률은 이 프로젝트가 정한 값이고, 군비가 많다고 곧 전쟁이 난다는 뜻도 아닙니다.
이론적 근거와 구현 메모
- 모델의 뿌리: 세 부분은 각각 다른 고전에서 왔습니다. 협상 부분은 James Fearon의 1995년 논문 「Rationalist Explanations for War」(International Organization)로, 전쟁이 비싸서 늘 더 나은 합의가 있는데도 정보 비대칭 같은 이유로 협상이 깨질 수 있다는 설명입니다. 군비 경쟁 부분은 Lewis Fry Richardson의 『Arms and Insecurity』(1960)에서 나온 상호 반응 모델입니다. 번짐 부분은 격자 위 확률적 전파(결합 퍼콜레이션) 모델이고, 전쟁의 규모 통계를 다룬 Richardson의 『Statistics of Deadly Quarrels』(1960)가 배경입니다.
- 핵심 가정과 수식: ① A의 승리 가능성 p는 [0.5−u, 0.5+u]에서 고르게 나오고, 전쟁 때 A는 p−c, B는 1−p−c를 얻으므로 A의 몫이 p−c와 p+c 사이인 합의가 둘 다에게 낫습니다. A가 요구 x를 하면 B는 p ≥ x−c일 때 받아들입니다. A의 기대 몫을 최대화하면 문턱은 p = 0.5+u−2c이고, 그 아래의 분쟁이 전쟁이 되어 전쟁 확률은
max(0, 1 − c/u)입니다. ② 군비x' = x + dt(k·y − a·x + g), y도 대칭(dt = 0.5, g = 0.1)이고 약간의 잡음이 섞입니다. 이 대칭 경우k < a이면 안정 수준g/(a−k)에 닿고 아니면 무한히 커집니다(일반형은 k₁k₂ < a₁a₂). ③ 격자 위 각 연결이 확률 q로 열려 한 나라에서 퍼지는 군집이 전쟁의 규모이고, 정사각 격자의 임계값은 1/2입니다. 슬라이더는 u, c(①), k, a(②), q(③)입니다. - 이 프로젝트의 단순화: 현실의 전쟁에는 비용의 크기가 사람마다 다르고, 지도자와 국내 사정, 동맹, 약속의 신뢰 문제 등이 얽힙니다. 이 프로젝트는 비용을 양쪽 같은 c로, 힘의 불확실성을 고른 분포로, A가 한 번만 요구하는 방식으로 줄였습니다. 군비 경쟁은 두 나라가 똑같은 대칭 모델이고 과열선(10)과 자극값(g = 0.1)은 이 프로젝트가 정했습니다. 번짐은 15×15 격자, 위아래 좌우 이웃만, 모든 연결이 같은 확률인 단순화이며 동맹 같은 구조는 없습니다(동맹의 연쇄는 별도 실험 참고).
- 이론값과 시뮬레이션: ① 전쟁 확률
max(0, 1−c/u)를 시뮬레이션과 비교했을 때 기본값에서 이론 40.0%, 20만 건 시뮬레이션 39.8%였고, u 0~0.5, c 0.05~0.3의 45개 조합에서 최대 차이는 0.1%p였습니다. ② 안정 조건 k < a는 342개 k, a 조합이 모두 일치했고(경계 k = a는 제외), 안정 수준은 k 0.5 · a 0.6에서 이론 1.00, 시뮬레이션 0.99였습니다. ③ 임계점 1/2는 격자에서 한 나라가 시작한 전쟁의 평균 참전국이 q 0.3에서 5.5개국, 0.5에서 69.9개국, 0.7에서 213.0개국으로 급증하는 것과 맞았습니다. 다만 15×15의 유한한 격자라서 50% 부근이 매끈하게 번지고, 정확한 임계값 1/2는 무한 격자의 값입니다. - 더 읽을거리: Fearon (1995), "Rationalist Explanations for War", International Organization / Richardson (1960), Arms and Insecurity, Boxwood Press / Richardson (1960), Statistics of Deadly Quarrels, Boxwood Press.
- 검증은
node tools/validate-war.js로 할 수 있습니다. 시뮬레이션은 시드 난수(mulberry32)를 쓰고 같은 시드면 같은 결과가 나옵니다. 화면의 분쟁은 한 라운드에 4건씩 쌓이고, 번짐은 한 라운드에 한 겹씩 퍼집니다.