N체 문제

편집 역사 토론
시뮬레이션 계산물리 물리 마지막 수정: 2026-08-24 04:38:02

1. 개요[편집]

N체 문제
N-body problem
지배 법칙뉴턴 만유인력 + 뉴턴 제2법칙
자유도6N (위치 3N + 속도 3N)
고전 보존량10개 (질량중심 3, 운동량 3, 각운동량 3, 에너지 1)
N = 2완전히 풀림 (원뿔곡선)
N ≥ 3새로운 대수적 제1적분 없음 (브룬스·푸앵카레)
힘 계산 비용직접합 O(N²) · 트리 O(N log N) · FMM O(N)
표준 적분기리프프로그/에르미트 + 개별 시간간격

N체 문제서로의 중력만으로 상호작용하는 NN 개의 점질량이 주어진 초기 위치·속도에서 출발할 때 이후의 운동을 결정하는 문제다. 지배 방정식은 고등학교에서 배운 두 줄이 전부다.

mir¨i  =  Gjimimj(rjri)rjri3,i=1,,Nm_i\ddot{\mathbf r}_i \;=\; G\sum_{j\ne i} \frac{m_i m_j\,(\mathbf r_j-\mathbf r_i)}{\lVert\mathbf r_j-\mathbf r_i\rVert^{3}}, \qquad i=1,\dots,N

식이 이렇게 단순한데 N=3N=3 부터 일반해가 없다는 사실이 300년 동안 사람들을 괴롭혔고, 그 좌절이 카오스 이론과 정성적 동역학, 그리고 현대 심플렉틱 적분기 이론을 통째로 낳았다. 오늘날 이 문제는 “푸는” 대상이 아니라 적분하는 대상이며, 우주론 시뮬레이션의 101210^{12} 입자부터 태양계 10 Gyr 적분까지 계산천체물리의 뼈대를 이룬다.

두 무거운 천체 + 질량 무시할 만한 제3체라는 특수 경우는 별도의 풍부한 구조(야코비 적분, 라그랑주 점, 헤일로 궤도)를 갖는데, 그쪽은 제한 삼체 문제가 통째로 다루므로 여기서는 건드리지 않는다. 이체 문제의 원뿔곡선 해와 궤도 요소는 궤도 역학 쪽이다. 이 문서는 일반 NN 에 대한 이론적 한계와, 그 한계를 인정한 뒤의 수치 공학에 집중한다.

2. 보존량 10개, 그리고 그 이후[편집]

계 전체는 다음 열 개의 스칼라를 보존한다.

  • 질량중심 초기 위치 3개총 운동량 3개 — 병진 대칭성에서. 질량중심계로 옮기면 이 6개는 그냥 0으로 고정된다.
  • 총 각운동량 3개 — 회전 대칭성에서.
  • 총 에너지 1개 — 시간 병진 대칭성에서.

해밀토니안 역학의 언어로 보면 이 10개는 갈릴레이 군의 대칭성에 대응하는 뇌터 보존량이고, 그 이상은 없다. 6N6N 차원 위상공간에서 보존량 10개로 줄일 수 있는 차원은 (대칭성 축소까지 다 쓰면) 6N1026N-10-2 정도이므로, N=2N=21212=012-12=0 이 되어 완전히 풀리고 N=3N=31812=618-12=6 이 남는다. 적분 가능성이 정확히 N=3N=3 에서 무너진다.

여기서 자연스러운 질문 — 아직 못 찾았을 뿐 열한 번째 보존량이 있는 것 아닌가?

  • 브룬스(1887). 삼체 문제에서 좌표와 운동량의 대수함수로 표현되는 제1적분은 위 10개의 대수적 조합뿐이다.
  • 푸앵카레(1890). 행성 문제(작은 질량비 μ\mu 로 섭동된 계)에서 위상변수와 μ\mu 에 대해 해석적이고 위상공간 전역에서 일가인 새 적분은 존재하지 않는다. 증명의 핵심은 공명 항이 만드는 작은 분모이며, 이 작업이 그대로 KAM 이론과 카오스의 출발점이 됐다.

주의할 것은 이 정리들이 **“해가 없다”가 아니라 “특정 함수 부류의 보존량이 없다”**고 말한다는 점이다. 해는 존재하고 유일하며(초기값 문제로서 국소 해의 존재·유일성은 립시츠 조건으로 보장된다), 다만 그것을 유한한 대수·해석 표현으로 적어 내려갈 방법이 없다는 뜻이다.1

3. 순드만의 급수 — 존재하지만 쓸 수 없는 해[편집]

1912년 카를 순드만은 삼체 문제의 해를 t1/3t^{1/3} 의 멱급수로 전개해 모든 시각에 대해 수렴시키는 데 성공했다. 조건은 총 각운동량이 0이 아닐 것 — 이 조건이 삼중충돌을 배제한다. 브룬스·푸앵카레와 모순이 아니냐 하면 아니다. 순드만이 준 것은 보존량이 아니라 해의 급수 표현이고, 그 급수는 닫힌 형태가 아니다.

문제는 수렴 속도다. 천문학적으로 쓸 만한 정밀도를 얻으려면 필요한 항의 수가 108×10610^{8\times10^6} 규모라는 추정이 1930년대에 나왔고, 그 뒤로 아무도 이 급수를 실제 계산에 쓰지 않았다. 수렴하지만 우주의 나이 동안 한 항도 못 더한다는 것이 이 결과의 실질적 지위다.

1991년 왕취둥(Qiudong Wang)이 이를 임의의 NN 으로 확장해, 특이점으로 가는 초기조건들의 집합(측도 0)을 제외하면 전역 수렴 급수해가 존재함을 보였다. 같은 평가가 그대로 적용된다 — NN 체 문제는 풀렸다”는 문장은 참이지만 아무 쓸모가 없다. 오늘날 이 결과의 값어치는 “닫힌 해가 없다”와 “해가 없다”를 혼동하는 사람에게 보여줄 반례라는 데 있다.

4. 특이점 — 충돌이 전부인가[편집]

방정식은 ri=rj\mathbf r_i=\mathbf r_j 에서 발산한다. 유한 시간 tt^* 에 해가 연장 불가능해지는 상황을 특이점이라 하는데, 자연스러운 질문은 “특이점은 항상 충돌인가”다.

  • 팽르베(1895): N=3N=3 이면 모든 특이점은 충돌이다.
  • 팽르베의 추측: N4N\ge4 이면 비충돌 특이점이 존재한다.
  • 폰 차이펠(1908): 비충돌 특이점이 있으려면 어떤 입자가 유한 시간에 무한대로 달아나야 한다. 즉 좌표가 유한 시간에 발산해야 한다.
  • 샤즈(Xia, 1992): 5체계에서 실제로 그런 해를 구성했다. 두 개의 쌍성이 서로 멀어지고 그 사이를 왕복하는 입자가 매번 더 격렬한 근접조우를 겪으면서, 무한 번의 진동이 유한 시간 안에 압축되어 전체가 유한 시간에 폭발한다.

이 구성이 수치해석에 주는 교훈은 섬뜩할 만큼 실용적이다. 중력계에서 에너지는 보존되지만 “유한한 속도”는 보존되지 않는다. 두 입자가 가까워지면 위치에너지가 -\infty 로 내려가면서 운동에너지를 임의로 크게 공급할 수 있고, 그 에너지가 세 번째 입자를 튕겨 낸다. 고정 시간간격 적분기가 근접조우 하나에 통째로 무너지는 이유가 이것이며, 아래에서 볼 정칙화와 개별 시간간격이 전부 이 병리를 상대하는 장치다.

5. 힘 계산 — O(N2)O(N^2) 에서 O(N)O(N) 까지[편집]

한 스텝의 비용은 압도적으로 힘 계산이 지배한다. 직접합은 N(N1)/2N(N-1)/2 쌍을 전부 더하므로 O(N2)O(N^2) 이고, N=106N=10^6 이면 한 스텝에 5×10115\times10^{11} 번의 상호작용이다. 그래서 계층적 근사가 필수다.

방법복잡도오차 제어주 사용처
직접합 (PP)O(N²)반올림뿐별 성단, N ≲ 10⁶, GPU/전용 하드웨어
트리코드 (반스-헛 알고리즘)O(N log N)개각 θ, 경험적은하·우주론
고속 다중극자법O(N)전개 차수 p, 사전 한계고정밀·적분방정식
PM (입자-격자)O(N + M log M)격자 해상도대역 중력, 주기 경계
P³M / TreePM위 둘의 합성분리 반경현대 우주론 코드 대부분

트리와 FMM의 상세한 비교는 고속 다중극자법에 이미 정리돼 있으니 여기서는 중력 특유의 사정만 짚는다.

PM 계열은 입자를 격자에 뿌려 밀도장을 만들고 푸아송 방정식을 고속 푸리에 변환으로 푼 뒤 힘을 다시 보간해 온다. 주기 경계가 공짜라 우주론에 딱 맞지만 격자 간격 이하의 힘이 뭉개진다. 그래서 근거리는 직접합이나 트리로, 원거리는 PM으로 처리하는 TreePM이 오늘날의 표준이 됐다. 적응 격자 세분화를 얹은 AMR 중력 솔버도 같은 계보다.

소프트닝. 은하·우주론 시뮬레이션에서 “입자”는 별 하나가 아니라 105M10^5\,M_\odot 짜리 통계적 표본이므로, 그 사이의 진짜 이체 산란은 물리가 아니라 잡음이다. 그래서 퍼텐셜을 Gm/r2+ε2-Gm/\sqrt{r^2+\varepsilon^2} 처럼 무르게 만들어(플러머 소프트닝) 가까운 거리의 힘을 잘라 낸다. 이체 완화 시간이

trelax    0.1NlnN  tcrosst_{\rm relax} \;\sim\; \frac{0.1\,N}{\ln N}\; t_{\rm cross}

이므로 NN 이 클수록 완화는 느려지지만, 입자 수를 물리적 별 개수까지 올릴 수는 없으니 소프트닝으로 억지로 늦추는 것이다. 반대로 구상성단처럼 완화 자체가 물리인 계에서는 소프트닝이 금기다 — 소프트닝을 넣는 순간 질량분리, 중심 붕괴, 쌍성 가열이 전부 사라진다. 소프트닝을 쓸지 말지가 곧 무충돌계와 충돌계를 가르는 선이다.

6. 시간 적분 — 에너지 표류와 싸우기[편집]

중력계는 해밀토니안 계이므로 위상공간 부피를 보존하고, 그래서 심플렉틱 적분기가 압도적으로 유리하다. 리프프로그(킥-드리프트-킥, 베를레 적분과 같은 것)는 2차 정확도에 계산량은 룽게-쿠타법 1스텝 수준인데, 에너지 오차가 누적되지 않고 진동만 한다. 섀도 해밀토니안이 존재해서 수치해가 원래 문제와 O(h2)O(h^2) 만큼 다른 어떤 해밀토니안계의 정확한 해이기 때문인데, 이유는 심플렉틱 적분기 쪽에 자세하다.

행성계 적분에서는 여기에 결정적인 트릭 하나가 더 붙는다. 해밀토니안을 케플러 항과 상호작용 항으로 쪼개는 것이다.

H=iHKepler(i)정확히 풀림  +  Hinteraction  O(μ) 작음H = \underbrace{\sum_i H_{\rm Kepler}^{(i)}}_{\text{정확히 풀림}} \;+\; \underbrace{H_{\rm interaction}}_{\;O(\mu)\ \text{작음}}

지배적인 항을 해석적으로 정확히 흘리고 작은 항만 수치로 다루는 이 혼합변수 심플렉틱 사상(위즈덤-홀먼, 1991)은 오차가 O(μh2)O(\mu h^2) 로 떨어져, 같은 정밀도에서 시간간격을 수백 배 키울 수 있다. 태양계 전체를 수십억 년 적분하는 코드가 전부 이 계보다.

그런데 심플렉틱은 시간간격을 바꾸는 순간 깨진다. 이 문제의 표준 처방은 셋이다.

  1. 블록 시간간격. 각 입자의 시간간격을 h0/2kh_0/2^k 로만 허용하고 계층적으로 동기화한다. 근접조우하는 소수의 입자만 잘게 밟고 나머지는 성기게 간다. 개별 시간간격 에르미트 방식과 짝을 이루는 항성계 시뮬레이션의 국룰.
  2. 시간 변환. 독립변수를 dt=Ω(r)dsdt = \Omega(\mathbf r)\,ds 로 바꿔 확장 위상공간에서는 고정 간격을 유지하면서 실제 시간간격만 적응적으로 만든다. 로그 해밀토니안·알고리즘적 정칙화가 여기 속하며, 심플렉틱성을 잃지 않는다.
  3. 가역성만 지키기. 시간대칭 적응 스텝을 쓰면 심플렉틱은 아니어도 시간 가역이라 장기 표류가 억제된다.

마지막으로 반올림. 수십억 스텝을 밟으면 이산화 오차가 아니라 배정밀도 반올림이 오차 예산을 지배하고, 에너지 오차가 t\sqrt{t} 로 무작위 걷기를 한다(브라우어 법칙). 그래서 장기 적분 코드는 보상 합산(캐한 합산)을 쓰고, 좌표를 상대좌표로 유지해 큰 수의 뺄셈을 피한다. “에너지 오차가 시간에 선형으로 늘고 있다”면 그건 적분기 문제, “제곱근으로 늘고 있다”면 잘 만든 코드가 반올림 한계에 닿았다는 뜻이다.

7. 근접조우와 정칙화[편집]

두 입자가 가까워지면 힘이 r2r^{-2} 로, 시간 척도가 r3/2r^{3/2} 로 죽는다. 시간간격을 줄이는 것으로는 감당이 안 되므로 좌표계 자체를 바꾼다.

  • 레비-치비타 변환(평면). 복소 좌표에서 z=u2z = u^2 로 두고 시간을 dt=rdsdt = r\,ds 로 바꾸면, 케플러 문제가 조화진동자로 바뀐다. 충돌(r=0r=0)이 진동의 원점 통과가 되어 특이점이 사라진다.
  • KS 변환(3차원). 쿠스탄헤이모와 슈티펠(1965)이 3차원을 4차원으로 올려 같은 일을 해냈다. 사원수 비슷한 구조를 써서 3차원 케플러 운동을 4차원 조화진동자로 바꾸며, 남는 1차원은 게이지 자유도다. 정칙화된 방정식은 이심률 1에 가까운 궤도에서도 얌전하다.
  • 버뎃-헤기 정칙화. 시간 변환 + 이심률 벡터를 상태변수로 삼아 요소를 천천히 변하게 만드는 방식.
  • 사슬 정칙화. 다중 근접조우(삼중성, 계층적 쌍성)에서는 입자들을 사슬로 이어 이웃 간 상대좌표만 정칙화한다. 성단 코드의 핵심 부품이며, 이것 없이는 중심 붕괴한 성단을 한 발짝도 못 나간다.

정칙화의 대가는 코드 복잡도다. 좌표계가 국소적으로 바뀌므로 언제 정칙화 영역에 들어가고 나올지, 그동안 외부 섭동을 어떻게 먹일지를 전부 관리해야 한다. 성단 시뮬레이션 코드의 절반이 물리가 아니라 이 살림살이 코드라는 말이 나오는 이유다.

8. 두 세계 — 은하와 행성계는 다른 문제다[편집]

같은 방정식을 푸는데 요구사항이 정반대라는 것이 이 분야의 가장 큰 함정이다.

무충돌계 (은하·우주론 시뮬레이션)충돌계·행성계
N10⁸ ~ 10¹²10 ~ 10⁶
입자의 뜻위상공간 분포의 표본진짜 천체 하나
필요한 정확도통계적 (1% 수준)위상 정확도, 10⁹ 궤도
소프트닝필수금지
힘 계산트리 / TreePM / FMM직접합 + 정칙화
적분기리프프로그, 공통 시간간격에르미트·MVS, 개별 시간간격
병목메모리·통신 (병렬 컴퓨팅)근접조우, 반올림

무충돌계에서는 개별 궤도가 틀려도 상관없다 — 필요한 것은 밀도장과 속도분포의 통계이며, 궤도 하나가 어디로 가든 앙상블만 맞으면 된다. 반면 행성계 적분은 특정 행성의 위상을 수십억 년 뒤까지 추적하는 것이 목적이라 궤도 하나하나가 답이다.

그런데 여기서 카오스가 개입한다. 태양계의 랴푸노프 시간은 약 5백만 년으로 알려져 있어서, 초기조건의 오차가 5 Myr 마다 ee 배씩 커진다. 즉 10억 년 뒤 지구가 궤도 어디쯤 있을지는 원리적으로 계산 불가능하다. 그래서 현대 태양계 장기 적분은 특정 궤도를 예측하는 대신 초기조건을 흩뿌린 앙상블을 수천 개 돌려 통계를 낸다. 라스카르와 가스티노(2009)가 이런 방식으로 향후 50억 년 안에 수성이 불안정해질 확률이 1% 수준이라는 결과를 냈다. 결국 정밀 적분의 세계도 통계로 되돌아온 셈이다.2

9. 중력 바깥으로[편집]

같은 알고리즘이 힘 커널만 바꿔 다른 분야로 통째로 이식된다. 분자동역학의 쿨롱 상호작용이 대표적인데, 여기서는 계가 전기적으로 중성이고 주기 경계라서 에발트 합산이나 PME가 트리코드 자리를 차지한다. 전하가 양·음 둘 다 있어 원거리 상호작용이 상쇄된다는 점이 중력과의 결정적 차이다 — 중력은 상쇄가 없어서 언제나 대역적이고, 그래서 계층 알고리즘이 선택이 아니라 필수다.

플라스마의 입자-셀(PIC) 방법, 소용돌이 입자법, 경계요소법의 행렬-벡터 곱, 심지어 통계학의 커널 밀도 추정까지 “모든 쌍을 더한다”는 구조를 공유하며 같은 가속 기법을 쓴다. GPU 컴퓨팅이 이 바닥에 일찍 자리 잡은 것도 직접합이 산술강도가 높고 메모리 접근이 규칙적인, 교과서적으로 이상적인 병렬 커널이기 때문이다.3

10. 관련 문서[편집]

11. Footnotes[편집]

  1. 이 구분을 못 하면 “삼체 문제는 풀 수 없다”를 “삼체 운동은 예측할 수 없다”로 오독하게 된다. 실제로는 초기조건만 정확하면 원하는 유한 시간 동안 원하는 정밀도로 예측할 수 있다. 못 하는 것은 닫힌 공식으로 적는 것이고, 어려운 것은 아주 먼 미래를 예측하는 것이며, 이 둘은 서로 다른 이유(대수적 장벽 vs 카오스)로 어렵다.

  2. 은하 시뮬레이션 하는 사람과 태양계 적분하는 사람이 같은 학회에서 만나면 대화가 안 통하는 것으로 유명하다. 한쪽은 “입자 100억 개”를 자랑하고 다른 쪽은 “입자 9개를 100억 스텝”을 자랑한다. 두 자랑이 같은 방정식에 대한 것이라는 사실을 서로 잘 안 믿는다.

  3. 그래서 “N체”는 GPU 벤치마크의 단골이자 병렬 프로그래밍 튜토리얼의 Hello World 자리를 오래 지켜 왔다. 다만 그 튜토리얼들이 보여주는 것은 언제나 소프트닝 넣은 고정 스텝 직접합이라, 실제 연구 코드의 고통(개별 시간간격, 정칙화, 부하 불균형)은 하나도 담고 있지 않다. 예쁜 나선 은하 데모에 속으면 안 된다.