
70년 전 로스앨러모스에서 무슨 일이 있었나요
1955년이면 컴퓨터라는 게 방 하나를 가득 채우던 시절이에요. 트랜지스터도 막 보급되기 시작했고, 메모리도 킬로바이트 단위였죠. 그런데 그 시절 미국 로스앨러모스 국립연구소에서 진행된 한 컴퓨터 실험이, 그 후 수십 년간 수학과 물리학의 흐름을 바꿔놓는 계기가 됐어요. 바로 페르미-파스타-울람-칭고우(Fermi-Pasta-Ulam-Tsingou, FPUT) 문제예요.
이 실험을 주도한 건 그 유명한 노벨 물리학상 수상자 엔리코 페르미와 동료들이었어요. 그들이 풀고 싶었던 문제는 사실 굉장히 단순해 보였습니다. "용수철로 연결된 입자들이 진동할 때, 약간의 비선형성(nonlinearity)을 주면 에너지가 어떻게 분포될까?"라는 거였어요.
통계역학의 상식이 와르르 무너졌어요
당시 물리학자들의 상식은 이랬어요. 비선형성이 조금이라도 있으면, 처음에 어떤 모드(진동 패턴)에 몰아넣은 에너지가 시간이 지남에 따라 모든 모드로 골고루 퍼진다고 봤죠. 이걸 에너지 등분배(equipartition) 라고 하는데, 통계역학의 기본 가정 중 하나거든요. 우리가 뜨거운 물에 차가운 물을 부으면 자연스럽게 미지근해지는 것처럼요.
페르미 팀은 당시 최첨단 컴퓨터였던 MANIAC(이름부터 살벌하죠)을 써서 이 과정을 시뮬레이션하기로 했어요. 64개 입자를 일렬로 연결하고, 첫 번째 모드에 에너지를 다 몰아넣은 다음 어떻게 퍼지는지 본 거죠. 예상대로라면 시간이 지나면서 모든 모드에 에너지가 골고루 나눠져야 했어요.
그런데 결과는 충격적이었습니다. 에너지가 몇 개의 모드 사이를 왔다 갔다 하더니, 거의 처음 상태로 돌아오는 거의 주기적인(quasi-periodic) 행동을 보였어요. 이걸 FPUT 역설(FPUT paradox) 또는 FPUT 반복(recurrence) 이라고 불러요. 통계역학이 예측한 무질서한 균등 분배 대신, 시스템이 놀랍도록 질서 있게 행동한 거죠.
솔리톤과 KAM 정리로 이어진 발견
이 미스터리는 한동안 풀리지 않다가, 1965년 자부스키와 크루스칼이 새로운 관점에서 접근하면서 풀리기 시작했어요. 그들은 FPUT 시스템이 연속체 극한에서 KdV 방정식이라는 비선형 편미분방정식으로 근사된다는 걸 보였고, 거기서 솔리톤(soliton) 이라는 개념을 발견했어요.
솔리톤이 뭐냐면, 모양을 유지한 채로 이동하는 안정적인 파동이에요. 보통 파동은 시간이 지나면 흩어지거나 변형되는데, 솔리톤은 충돌해도 자기 모양을 유지하는 신기한 성질이 있어요. 이게 광섬유 통신, 해양 파도 연구, 심지어 신경 신호 전달 모델링까지 광범위하게 응용되거든요. 우리가 지금 인터넷을 빠르게 쓸 수 있는 것도 광섬유에서 솔리톤 같은 안정적 펄스 전송 연구가 있었기 때문이에요.
또 한 갈래로는 KAM 정리(Kolmogorov-Arnold-Moser theorem) 와도 연결돼요. 이 정리는 적분 가능한 시스템에 작은 비선형 섭동을 가해도, 대부분의 궤도가 여전히 안정적으로 남아 있다는 걸 수학적으로 증명한 거예요. FPUT 시스템이 왜 에너지를 골고루 나누지 않고 거의 주기적으로 돌아왔는지, KAM이 부분적인 답을 줍니다.
카오스 이론의 진짜 출발점
흔히 카오스 이론 하면 1963년 에드워드 로렌츠의 "나비효과"를 떠올리잖아요. 그런데 사실 그보다 8년 앞서, FPUT 실험이 컴퓨터로 비선형 동역학을 탐구한 최초의 사례였어요. 사람이 손으로 풀 수 없는 복잡한 시스템을 컴퓨터에 맡겨서 "일단 돌려보자"는 접근, 즉 수치 실험(numerical experiment) 이라는 새로운 과학 방법론을 만들어낸 거죠.
이전까지 물리학은 종이와 펜으로 방정식을 풀어내는 학문이었어요. 그런데 FPUT 이후로는 "풀 수 없는 방정식은 그냥 컴퓨터로 시뮬레이션해보자"는 문화가 자리 잡기 시작했고, 이게 오늘날 계산물리학, 기상예측, 분자동역학 시뮬레이션, AI 시뮬레이션의 직계 조상이에요. 현대의 거대한 GPU 클러스터에서 도는 시뮬레이션들의 정신적 뿌리가 1955년의 MANIAC에 있다고 봐도 과언이 아니에요.
개발자에게도 시사하는 바가 있어요
이 이야기가 개발자랑 무슨 상관이냐 싶으실 텐데, 사실 깊은 연관이 있어요. 첫째, 실험적 방법론의 힘이에요. 풀 수 없을 것 같은 문제도 일단 코드로 돌려보면 의외의 발견이 나올 수 있다는 거죠. 머신러닝이 처음 떴을 때도 "이게 왜 되는지 이론적으로 설명이 안 된다"는 비판이 많았지만, 실험적 결과가 쌓이면서 점점 이론이 따라왔잖아요.
둘째, 비선형 시스템에 대한 직관이에요. 복잡계, 분산시스템, 마이크로서비스 아키텍처 같은 곳에서 우리는 항상 비선형적인 상호작용을 다뤄요. 작은 변화가 예상치 못한 큰 결과를 낳거나, 반대로 큰 변화가 별 영향이 없는 일이 자주 생기죠. FPUT 같은 고전 실험은 이런 직관을 길러주는 좋은 교재예요.
셋째, 과학적 계산의 정확성 문제예요. 페르미 팀이 본 "반복" 현상이 실제 물리 현상인지, 아니면 수치 계산의 오차 누적이 만든 인공물인지 한동안 논쟁이 있었어요. 우리가 부동소수점 연산으로 시뮬레이션을 돌릴 때도 비슷한 문제가 생기죠. 결과를 무조건 믿지 말고, 수치적 안정성을 항상 의심해보는 자세가 필요해요.
마무리
70년 전의 작은 컴퓨터 실험이 카오스 이론, 솔리톤 물리학, 계산과학이라는 거대한 분야들의 씨앗이 됐다는 게 참 재미있어요. 우리가 지금 무심코 돌리는 시뮬레이션 코드 한 줄도, 누군가에겐 새로운 분야의 시작점이 될 수 있다는 뜻이기도 하고요.
여러분은 "이상한 결과"가 나왔을 때 그걸 버그로 보고 넘기시나요, 아니면 "이거 뭔가 있는데?" 하고 파고들어 보시나요? FPUT처럼 들여다보면 뭔가 나올지도 몰라요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공