한 발의 총성이 세계대전이 되려면
나라 하나가 다른 나라를 공격하면, 동맹국들이 하나씩 끌려 들어옵니다. 어떤 때는 두세 나라에서 끝나고, 어떤 때는 거의 모든 나라가 얽힙니다. 동맹이 촘촘해지는 어느 지점에서 이 차이가 생길까요? 익명의 나라 24개로 확인해 보는 추상적인 장난감 모델이며, 실제 전쟁의 원인을 설명하지 않습니다.
모델은 이렇게 움직입니다
- 나라 24개(A~X)가 있고, 두 나라가 동맹이면 한쪽이 전쟁에 들어갔을 때 다른 쪽이 도움 요청을 받습니다. 동맹은 서로 돕는 조약이고, 국가 이름이나 지도는 없는 익명의 나라들입니다.
- 동맹 구조는 셋 중에서 고릅니다: 무작위(나라마다 평균 몇 개의 동맹), 두 진영(진영 안에서 동맹을 맺고 진영 사이에는 연결 2개), 둘씩 묶인 동맹(나라마다 동맹이 하나).
- 처음에 나라 하나(붉은 편)가 다른 나라(푸른 편)를 공격합니다. 매 라운드마다 중립인 나라는 전쟁 중인 동맹국 하나하나에게서 확률 "조약을 지킬 확률"로 끌려 들어옵니다. 양쪽에서 동시에 요청을 받으면 요청이 더 많은 쪽으로, 같으면 무작위로 갑니다.
- 새로 들어가는 나라가 없으면 전쟁은 끝납니다. 이 페이지에서는 전체의 절반(12개국) 이상이 끌려 들어온 경우를 "세계대전급", 4개국 이하는 "작게 끝남"이라 부릅니다. 이 기준은 설명을 위한 것입니다.
직접 돌려보기
① 동맹을 따라 번지는 모습
동그라미는 나라, 선은 동맹입니다. 검은 테두리가 첫 공격과 공격받은 나라이고, 주황 점선은 양쪽 편에 동맹이 걸친 연결(서로 다른 편으로 끌려가는 관계)이에요. 라운드마다 어디까지 번지는지 지켜보세요.
② 라운드별 전쟁에 들어간 나라
검은 선은 전쟁에 들어간 나라 전체, 빨강과 파랑은 각 편입니다. 점선은 전체의 절반이에요. 선이 절반을 넘는지, 몇 라운드 만에 멈추는지 보세요.
③ 같은 설정에서 총성이 300번 울리면
같은 설정으로 동맹망과 첫 공격을 300번 새로 뽑았을 때, 전쟁에 들어간 나라 수가 어떻게 나뉘는지 보여줍니다. 회색은 4개국 이하, 주황은 그 사이, 빨강은 절반 이상(세계대전급)이에요. 결과가 양 끝으로 갈리는지 보세요.
④ 동맹이 촘촘해질수록
가로는 나라마다 평균 동맹국 수입니다. 파란 선은 전쟁에 들어간 나라의 평균 비율, 빨간 선은 세계대전급이 된 비율이에요. 어디서 급격히 올라가는지 보세요.
⑤ 조약을 더 잘 지킬수록
가로는 조약을 지킬 확률입니다. 동맹이 같을 때 동맹국이 따라 들어오는 확률이 번짐을 얼마나 바꾸는지 비교해 보세요.
이 결과가 말하는 것, 말하지 않는 것
말하는 것:
- 동맹이 성긴 세상에서는 총성이 두세 나라에서 멈추고, 촘촘한 세상에서는 거의 모든 나라로 번져요. 그 사이 어딘가에서 급격히 갈려요.
- 나라마다 동맹이 평균 0개면 늘 2개국, 1개면 6.3개국, 2개면 17.4개국, 3개면 22.4개국에서 끝났어요. 한 칸만 넘으면 연쇄가 이어지기 때문이에요.
- 같은 동맹 수라도 조약을 약하게 지키면 작게, 잘 지키면 크게 번져요. 누가 먼저 쏘았는지보다 동맹이 얼마나 엮였는지를 먼저 봐야 해요.
- 그렇다면 번질지 볼 때 무엇을 먼저 볼까? 이 모델에선 동맹이 둘씩만 묶이면 평균 3.6개국에서 멈췄고, 두 진영 안이 촘촘하면(평균 3개) 22.6개국까지 번졌어요.
상세 설명
말하는 것: 이 모델에서는 같은 나라 24개, 같은 조약이라도 동맹이 어느 정도 촘촘해지면 작은 충돌이 갑자기 거의 모든 나라로 번졌습니다. 조약을 지킬 확률 70%에서 동맹이 나라마다 평균 0개이면 늘 2개국에서 끝났고, 1개이면 평균 6.3개국(세계대전급 15%), 1.5개이면 평균 12.1개국(56%), 2개이면 17.4개국(85%), 3개이면 22.4개국(99%), 4개 이상이면 거의 모든 나라가 들어왔습니다. 동맹이 평균 3개일 때도 조약을 지킬 확률이 10%이면 평균 4.0개국(세계대전급 6%), 30%이면 16.0개국(71%)이었고요. 둘씩 묶인 동맹에서는 아무리 지켜도 최대 4개국에서 멈췄습니다.
말하지 않는 것:
- 동맹이 얼마나 촘촘해야 커지는지, 조약을 얼마나 지켜야 커지는지는 이 장난감 모델이 정한 숫자예요. 실제 전쟁의 문턱을 알려 주지 않아요.
- 실제 전쟁이나 1914년의 사건이 이렇게 일어났다는 뜻도, 어느 나라의 책임을 말하는 것도 아니에요. 나라가 모두 같은 익명의 모델이에요.
- 정치·경제·판단이 빠져 있어서, 실제 동맹이 어떻게 작동했는지는 역사 자료로 따로 확인해야 해요.
상세 설명
말하지 않는 것: 실제 전쟁이나 1914년의 사건이 이렇게 일어났다는 뜻이 아니고, 어떤 나라나 지도자의 책임을 말하는 모델도 아닙니다. 현실의 전쟁에는 정치, 경제, 군사 계획, 오해와 선택, 동맹의 실제 내용 같은 복잡한 요인이 있고, 여기에는 그런 요소가 전혀 없습니다. 나라가 모두 똑같고 동맹은 단순한 연결이며 "끌려 들어옴"이 확률로만 정해지는 아주 단순한 장난감 모델이에요. 평균 동맹 수나 조약을 지킬 확률의 값은 현실의 수치가 아닙니다.
이론적 근거와 구현 메모
- 모델의 뿌리: 동맹을 따라 충돌이 번지는 구조는 네트워크 위의 "연쇄(cascade)" 모델에서 발상을 얻었습니다. Watts(2002)는 무작위 네트워크에서 작은 충격이 전체로 번지는 조건을 다뤘고, Kempe, Kleinberg, Tardos(2003)의 독립 연쇄(independent cascade) 모델은 "연결마다 일정 확률로 전파된다"는 점에서 이 페이지와 가장 닮았습니다. 무작위 동맹은 Erdős와 Rényi의 무작위 그래프와 같은 방식입니다.
- 핵심 가정과 수식: 무작위 동맹에서는 어떤 두 나라든 같은 확률
p = d/(N−1)로 동맹이 됩니다(d가 "나라마다 평균 동맹국 수" 슬라이더, N=24). 이런 그래프는 평균 연결 수가 1을 넘을 즈음 큰 연결 덩어리가 생기고, 여기에 전파 확률 q("조약을 지킬 확률")를 곱한q·d가 1을 넘을 때 크게 번진다는 것이 대략적인 어림입니다. - 이 프로젝트의 단순화: 나라는 모두 같고 동맹은 대칭적인 단순 연결이며, 조약 이행은 라운드마다 다시 판정하는 확률 하나로만 정합니다(연결마다 한 번만 시도하는 표준 독립 연쇄 모델과 다릅니다). 양쪽에서 요청받을 때의 다수결 규칙, 나라 수 24, 평균 동맹 수와 이행 확률의 값, "세계대전급"의 기준(12개국)은 모두 이 프로젝트가 정했습니다.
- 이론값과 시뮬레이션: 이 설정에는 정확한 닫힌 해가 없고, 위 어림은 방향을 가늠하는 용도라서 이론값과 숫자로 대조하지는 않았습니다. 시뮬레이션에서는 조약 70%일 때 평균 동맹 0, 1, 1.5, 2, 3개에서 평균 2.0, 6.3, 12.1, 17.4, 22.4개국이 전쟁에 들어갔고(세계대전급 0, 15, 56, 85, 99%), 어림한 문턱 근처인 1~2개에서 가파르게 올랐습니다. 나라가 24개뿐이라 문턱이 날카롭지 않고 완만하게 오릅니다.
- 더 읽을거리: Watts, D. J. (2002), 「A simple model of global cascades on random networks」, Proceedings of the National Academy of Sciences 99. Newman, M. E. J. (2010), Networks: An Introduction, Oxford University Press.
- 나라는 A~X의 익명의 나라이고 실제 나라, 지도자, 날짜는 쓰지 않았습니다. 역사 연구가 아니고 어떤 논문의 모델이나 값을 재현한 것도 아닙니다.
- 무작위 동맹은 모든 나라 쌍이 같은 확률로 동맹이 되는 방식(평균 동맹 수가 슬라이더 값), 두 진영은 12개국씩 두 진영 안에서만 같은 방식으로 동맹을 맺고 진영 사이에는 연결 2개를 두며 첫 공격은 서로 다른 진영 사이에서 일어납니다. 둘씩 묶인 동맹은 24개국이 12쌍으로 짝지어집니다.
- 위 설명의 수치는 같은 설정 400번의 평균(
node tools/validate-alliance.js)이고, ③~⑤번 그래프는 화면에서 300번 또는 40번씩 6묶음을 돌린 결과라 숫자가 조금 다를 수 있습니다. 두 진영에서는 진영 안 평균 동맹이 1개일 때 평균 7.4개국(세계대전급 22%), 2개일 때 18.9개국(90%)이었습니다.