
충돌하는 블록들이 어떻게 원주율(pi)을 계산하는가
요약
두 블록의 충돌 횟수가 질량비에 따라 원주율(pi)의 자릿수를 나타내는 수학적 원리를 설명합니다. 이 현상이 양자 컴퓨팅의 Grover 알고리즘과 어떻게 연결되는지 탐구하며, 이상적인 물리 모델을 통해 수학적 아름다움을 보여줍니다.
핵심 포인트
- 질량비가 커질수록 충돌 횟수가 원주율(pi)의 근사치로 수렴함
- 충돌 과정의 수학적 모델과 양자 컴퓨팅(Grover's algorithm) 간의 연결성
- 완벽한 탄성 충돌이라는 이상적 가정 하에 발생하는 물리적 현상
동영상: 충돌하는 블록들이 어떻게 원주율(pi)을 계산하는가
채널: 3Blue1Brown
길이: 26분 7초
출처: 자막 (수동, 영문)
내용:
2019년에 저는 두 개의 충돌하는 블록이 어떻게 원주율(pi)을 계산할 수 있는지에 대한 영상을 공개했습니다. 이는 매우 재미있고 놀라운 내용이며, 그 이후 제가 게시한 쇼츠(shorts)로의 각색 버전들을 포함하면, 제가 인터넷에 올린 것 중 압도적인 차이로 가장 인기 있는 콘텐츠입니다. 올해 파이 데이(Pi Day)를 맞아 저는 이 주제를 다시 다루어보고자 합니다. 왜냐하면 원래 영상에서 제가 전혀 언급하지 않았던 내용이 실제로 아주 많기 때문입니다. 여기에는 제가 처음 영상을 올렸을 당시에는 몰랐던 사실, 그리고 아마 세상 그 누구도 몰랐을 것이라 의심되는 사실도 포함되어 있는데, 그것은 바로 이 모든 것이 어떻게 양자 컴퓨팅 (quantum computing), 더 구체적으로는 검색을 위한 Grover's algorithm이라 알려진 것과 비밀리에 연결되어 있는가 하는 점입니다.
또한, 대중을 즐겁게 하는 요소는 이것이 원주율(pi)과 연결되어 있다는 점이지만, 매우 기술적으로 말하자면 원주율(pi)과의 완전한 연결은 아직 해결되지 않은 문제입니다. 제가 무엇을 의미하는지는 여기서 마지막에 설명하겠습니다. 혹시 보지 못하신 분들을 위해 요약하자면, 원래 영상의 설정은 마찰이 없는 평면 위에 두 개의 블록이 있는 것이었습니다. 맨 처음에는 왼쪽에 있는 블록은 정지해 있으며, 이를 더 작은 것, 예를 들어 1kg 정도로 생각하고, 오른쪽의 블록은 어떤 속도를 가지고 다가옵니다. 두 블록은 서로 튕겨 나가고, 그들의 왼쪽에는 벽이 있습니다. 퍼즐은 그 벽과의 충돌을 포함하여 총 몇 번의 충돌이 일어날지를 알아내는 것입니다.
예를 들어, 두 블록의 질량이 같은 가장 작은 경우에 충돌이 발생하면 모든 운동량(momentum)이 한 블록에서 다른 블록으로 전달됩니다. 벽과의 충돌까지 포함하여 최종 횟수는 3회입니다. 만약 오른쪽 블록이 더 크다고 가정해 봅시다. 예를 들어 100kg이라면, 이 블록은 다가올 때 훨씬 많은 운동량을 가지고 있다는 의미이므로, 그 운동량을 완전히 방향을 바꾸기 위해서는 훨씬 더 많은 충돌이 필요합니다. 이 경우, 질량비가 100 대 1일 때 총 충돌 횟수는 31회입니다. 그리고 훨씬 더 큰 질량비, 예를 들어 10,000 대 1이라고 가정해 봅시다. 그러면 작은 블록은 벽에 거의 밀착하게 되고, 거의 모든 충돌이 이 중앙의 급격한 폭발(rapid burst)에서 발생합니다.
이 경우, 큰 블록을 되돌리는 데 총 300회가 넘는 충돌이 필요하며, 아주 오랜 정지 시간 끝에 마치 우주가 드라마를 좋아한다는 듯이 정확한 답인 314라는 숫자가 나타납니다. 이 숫자는 섬뜩할 정도로 익숙한 자릿수를 가지고 있습니다. 저는 이 퍼즐의 몇 가지 비현실적인 측면들을 강조하고 싶습니다. 짧은 영상에는 담을 수 없는 미묘한 차이점들이죠. 이 큰 질량이 커지면서 중앙에서 발생하는 충돌 폭발은 점점 더 집중됩니다. 여기서 즐거운 결과를 얻기 위해서는 여러 가지 이상화된 가정(idealizing assumptions)을 해야 합니다.
한 가지 가정은 충돌 과정에서 에너지가 손실되지 않는다는 것입니다. 물리학자들은 이를 완벽하게 탄성적인 충돌(perfectly elastic collisions)이라고 부를 겁니다. 영리한 시청자라면
예를 들어 여기를 보면, 질량비(mass ratio)가 백만 대 일일 때, 그 폭발적인 과정에는 거의 3,000번의 충돌이 포함되며 최종 횟수는 3,141번이 됩니다. 이제 그 큰 질량이 훨씬 더 거대해지면, 그 작은 블록은 그 짧은 폭발 과정 동안 매우 빠르게 움직여야 하므로 물리적으로 정확한 분석을 위해서는 상대론적 효과(relativistic effects)를 고려하기 시작해야 하며, 여기의 모든 것이 완전히 무너져 내리게 만들 다른 수많은 실제적인 현실들이 존재합니다. 하지만 우리는 그 모든 것을 무시하고, 이것을 오직 순수하고 과도하게 이상화된 고전 물리학(classical physics) 퍼즐로만 다룰 것입니다.
왜냐하면 그렇게 할 때, 큰 놀라움은 그 큰 질량이 100의 거듭제곱으로 증가함에 따라 총 충돌 횟수가 항상 원주율(pi)과 동일한 숫자를 가진다는 점입니다. 이제 질량비가 커짐에 따라 이것이 비현실적으로 변할지라도, 더 작은 비율에서는 실제로 이를 확인할 수 있습니다. 예를 들어 여기 영상은 질량비가 100 대 1일 때 실제로 31번의 충돌이 일어난다는 것을 보여주는 본 대학교(University of Bonne) 학생 그룹의 시연 영상입니다. 또한 Matt Parker는 그와 저, 그리고 다른 몇몇 사람들이 Cambridge에서 시도했던 것에 대한 영상을 방금 올렸습니다.
물론 놀라운 원주율(pi) 외에도 이 퍼즐을 훌륭하게 만드는 점은, 이것이 일반적인 문제 해결(problem solving) 학습으로서 얼마나 잘 준비되어 있는가 하는 점입니다. 저는 이 내용을 강의로 제시할 때, 청중들에게 몇 가지 일반적인 문제 해결 원칙을 나열해 보는 것으로 시작하는 것을 좋아합니다. 여러분도 자신만의 원칙을 몇 가지 생각해 보는 것이 즐거울 것이며, 진행하면서 제가 여기에 적어둔 몇 가지를 강조해 보겠습니다. 예를 들어, 겉보기에는 사소해 보이지만 놀라울 정도로 유용한 원칙 중 하나는, 만약 여러분이 어려운 문제에 막혔다면(저는 이것을 어려운 문제라고 간주합니다), 어떤 식으로든 관련이 있을 법한 모든 방정식이나 정리(theorems)를 그냥 나열해 보는 것은 결코 해가 되지 않는다는 것입니다.
따라서 충돌하는 블록들이 등장하는 이 퍼즐의 경우, 특히 과거에 물리학 수업을 들은 적이 있다면 떠올릴 법한 두 가지 관련 법칙은 에너지 보존 (conservation of energy)과 운동량 보존 (conservation of momentum)일 것입니다. 움직이는 블록 중 하나의 에너지는 질량의 1/2에 속도의 제곱을 곱한 값($\frac{1}{2}mv^2$)이 됩니다. 큰 블록의 질량을 $m_1$, 속도를 $v_1$이라고 하고, 마찬가지로 작은 블록의 질량을 $m_2$, 계속해서 변하는 속도를 $v_2$라고 해봅시다.
그렇다면 이 두 블록 사이의 총 운동 에너지 (total kinetic energy)는 수치를 대입하여 이 두 양을 더함으로써 얻을 수 있습니다. 에너지 보존 법칙은 본질적으로 실험이 진행되는 동안 이 수치가 변하지 않을 것이라고 말합니다. 두 속도는 변하겠지만, 전체 식의 값이 동일한 숫자가 되도록 변해야만 합니다. 물론 이는 마찰이나 충돌로 인해 에너지가 손실되지 않는다고 가정할 때의 이야기입니다. 보존되는 또 다른 양은 운동량 (momentum)이며, 각 블록의 운동량은 훨씬 더 단순하게 질량에 속도를 곱한 값으로 나타납니다.
다시 말해, 수치를 대입하여 이 식을 계산하면 어떤 값이 나오게 되는데, 운동량 보존 법칙이 우리에게 알려주는 것은 그 값이 무엇이든 간에 블록들이 서로 충돌한 후에도 변하지 않는다는 것입니다. 이제 에너지와 달리, 이 운동량 식은 작은 블록이 벽에 충돌한 후에는 실제로 변하게 됩니다. 왜냐하면 실제로 일어나고 있는 일은 블록이 자신의 운동량 일부를 벽으로 전달하는 것이기 때문입니다. 엄밀히 말하면 이는 벽이 아주 미세하게 움직이기 시작해야 함을 의미하지만, 다시 한번 이상적으로 가정하여 벽이 매우 거대하거나(supermassive) 지구에 고정되어 있어 그 움직임이 무시할 수 있는 수준이라고 간주하겠습니다.
제가 머릿속에 가지고 있는 또 다른 원칙은 그냥 그림을 그리는 것입니다. 무언가를 파악하려고 노력할 때, 실제로 도식(figures)을 만들어 보세요. 시각적 직관(Visual intuition)은 사물을 다양한 방식으로 생각하는 데 도움을 줄 수 있으며, 때로는 적절한 다이어그램(diagram)을 응시하는 것만으로도 해결책이 드러날 수 있습니다. 따라서 변화하는 두 값인 $v_1$과 $v_2$가 있는 이 맥락에서는, $x$ 좌표가 이 값 $v_1$을 인코딩하고 $y$ 좌표가 이 값 $v_2$를 인코딩하는 좌표평면(coordinate plane)을 그려보라는 영감을 얻을 수도 있습니다. 제가 말하는 바를 명확히 하자면, 실험이 진행됨에 따라 블록들이 서로 충돌하고 각 충돌마다 두 속도가 변함에 따라, 우리 공간 내부의 이 작은 점은 두 속도가 변함에 따라 해당 공간을 돌아다니게 되며, 항상 그 좌표가 $v_1$과 $v_2$가 무엇인지 알려주는 방식으로 움직이게 됩니다.
우리의 희망은 실험 전체가 전개되면서 이 점이 이 약간 추상적인 속도 공간(velocity space)에서 어떻게 튀어 다니는지 고려할 때, 그 점의 경로를 연구함으로써 블록들의 기저 역학(underlying dynamics)에 대한 통찰을 얻는 것입니다. 비록 우리는 이제 막 준비 운동을 하고 있는 단계이지만, 이것은 우리 문제 해결 과정 전체에서 정말 핵심적인 단계이며, 물리학 전반에서 매우 흔히 행해지는 일입니다. 즉, 여러 숫자가 변하는 어떤 역학적 상황(dynamical situation)이 있을 때, 그 모든 숫자들을 고차원 공간(higher dimensional space)의 단일 점으로 패키징하면, 그 점이 공간을 통해 어떻게 이동하는지를 연구하는 것이 문제 전체를 명확하게 만드는 방법이 됩니다.
이를 상태 공간 (state space)이라고 부를 수 있으며, 우리가 다루는 이 특정한 상태 공간은 우리가 앞으로 구축해 나갈 양자 컴퓨팅 (quantum computing) 평행 구조와의 핵심적인 연결 고리를 담고 있습니다. 이제 이 추상적인 속도 공간 (velocity space)의 맥락에서, 이 에너지 보존 (conservation of energy) 방정식이 실제로 우리에게 무엇을 말해주고 있는지 잠시 생각해 봅시다. 어떤 수에 $x^2$을 곱하고, 또 다른 수에 $y^2$을 곱한 값을 상수에 같다고 설정하면, 이것은 타원 (ellipse)의 방정식이 됩니다. $x$ 앞에 붙은 숫자가 $y$ 앞에 붙은 숫자보다 더 크기 때문에, 우리의 특정 타원은 $x$ 방향으로 더 납작한 형태가 될 것이며, 타원의 크기는 시스템의 총 에너지에 따라 결정될 것입니다.
그리고 이것은 그 커다란 블록의 초기 속도가 무엇이었는지로부터 비롯되는데, 흥미롭게도 저는 여러분에게 그 속도를 말한 적이 없습니다. 사실 그것은 최종 결과에 영향을 미치지 않습니다. 빠르게 오든 느리게 오든, 충돌의 총 횟수는 동일하며, 단지 실험이 더 빠르게 혹은 더 느리게 진행될 뿐입니다. 실험이 진행됨에 따라 그 속도 쌍 (pair of velocities)이 변할 때, 이 변화는 항상 우리 상태 공간 내부의 점이 이 타원 안에 구속된 상태를 유지하는 방식으로 일어납니다. 만약 점이 다른 곳에 떨어진다면, 그것은 에너지가 보존되지 않았음을 의미할 것입니다.
여기서 제가 언급하고 싶은 또 다른 원리는 수학 및 수학 인접 분야들이 그들의 대칭성 (symmetries)을 존중할 때 어떻게 보상을 주는가 하는 점입니다. 이 경우, 우리는 이미 $ ext{pi}$ ($ ext{pi}$)가 어떻게든 정답과 관련이 있을 것이라는 점을 알고 있으며, $ ext{pi}$는 원의 둘레 거리와 반지름을 연결하는 것과 같이 원 (circles)과 모든 관련이 있습니다. 따라서 $ ext{pi}$를 찾는 우리의 여정에서, 이와 같은 타원을 다루는 것은 매우 감질나게 근접해 있으며, 만약 이것이 타원이 아니라 원이었다면 훨씬 더 자연스럽고 어쩌면 더 유망할 것이라고 느낄 수도 있습니다.
우리는 단지 그 상태 공간 (state space)의 좌표가 무엇을 나타내는지 변경함으로써 실제로 이것을 원으로 만들 수 있습니다. 제 말은 다음과 같습니다. 원의 방정식은 변수 앞에 어떤 숫자도 붙지 않은 $x^2$ 더하기 $y^2$이 어떤 상수와 같다는 형태를 띱니다. 만약 제가 $x$가 $v_1$을 나타내는 것이 아니라, $m_1$ 곱하기 $v_1$의 제곱근을 나타내게 한다면, $x^2$은 운동 에너지 (kinetic energy)의 2배와 유사한 값을 제공합니다. 마찬가지로, 만약 $y$가 $m_2$ 곱하기 $v_2$의 제곱근을 나타낸다면, 그 $y$ 좌표 또한 작은 블록의 에너지를 더 직접적으로 포착하게 됩니다.
그리고 이제 이 원의 방정식, 즉 $x^2 + y^2$이 어떤 상수와 같다는 식은 이 재조정된 좌표계 (rescaled coordinate system)에서 에너지 보존 (conservation of energy)을 포착합니다. 제가 말씀드렸듯이, 약간의 대칭성 (symmetry)을 더함으로써 우리의 문제를 더 쉽게 풀 수 있기를 기대하고 있으며, 잠시 후에 이것이 어떻게 사실인지 확인하게 될 것입니다. 이 도표가 실제로 우리에게 무엇을 말해주고 있는지 잠시 익숙해져 봅시다. 예를 들어, 맨 처음에는 그 큰 블록이 음의 속도 (negative velocity)를 가지고 있으므로, 우리는 반드시 이 평면의 왼쪽 절반 어딘가에 있어야 합니다. 그리고 그 작은 블록은 정지 상태로 시작하므로, 즉 $y$ 좌표가 0이므로, 우리는 이 원의 가장 왼쪽 지점에서 시작해야 합니다. 그것이 초기 조건 (initial condition)입니다.
이제 그들이 서로 충돌한 후에는 어떤 일이 일어날까요? 우리는 어디에 도달하게 될까요? 물리적 직관 (physical intuition)은 작은 블록이 일종의 음의 속도를 얻게 된다는 것을 알려주므로, 우리는 $y$ 좌표가 음수인 어딘가에 도달하게 될 것입니다. 그리고 큰 블록은 운동량 (momentum)의 일부를 잃게 되므로, 정확히 얼마나인지는 모르더라도 $x$ 좌표는 원래 위치에서 0에 조금 더 가까워질 것입니다. 그리고 다시 말하지만, 우리는 반드시 이 원 위의 어딘가에 머물러야 합니다. 이 원은 동일한 총 에너지 (total energy)를 갖는 모든 점을 나타내며, 따라서 우리의 점이 바로 여기 이 호 (arc) 위의 어딘가에 착륙할 것이라고 추측할 수 있을 것입니다.
더 정확히 말하자면, 우리는 두 번째 보존 법칙인 운동량 보존 (conservation of momentum)을 도입해야 합니다. 다만, 이 시점에서 제가 좌표의 의미를 변경했다는 점을 유념해 주세요. 따라서 우리의 새로운 좌표계에서 첫 번째 블록의 운동량은 $\sqrt{m_1}x$처럼 보이고, 두 번째 블록의 운동량은 $\sqrt{m_2}y$처럼 보입니다. 이는 모두 같은 것을 말하고 있을 뿐이며, 단지 좌표계가 다를 뿐입니다. 그리고 그 질량들은 어쨌든 상수 (constants)입니다. 중요한 점은 이 방정식 전체가 $x$와 $y$에 대한 선형 방정식 (linear equation)이라는 것이며, 따라서 우리의 도표에서는 일종의 직선 형태로 나타날 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 YouTube 3Blue1Brown (수학/ML)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기