#mytetration (2)

삼중 나선이 수렴하는 한 점을 찾아 나선 저는 그 끝에서 컴퓨터 기술의 한계에 맞닥뜨렸습니다.

#mytetration (2)

지난 #mytetration (1)에서 몇 달 전에 본 역사상 최고의 수학자도 풀지못한 문제라는 영상을 꼭 한번 따라해 봐야겠다고 생각했지만 자꾸 우선순위에서 밀려 시간이 한참이나 지나 버린 다음에서야 제 컴퓨터에서 직접 이미지를 만들어 봤다는 이야기를 했습니다. 지난번 제목에 호기롭게 (1)을 붙인 이유는 비슷한 시도를 한 결과를 앞으로 다른 글로 더 만들어 볼 작정이었기 때문입니다. 오늘은 그 두 번째입니다.

지난번에는 멀티 프로세싱을 사용한 계산 속도 향상을 참고해 이미지를 만드는 속도를 상당히 개선할 수 있었습니다. 코드를 실행하면 이전과 달리 컴퓨터에 달린 팬이 돌기 시작하고 이전보다 훨씬 더 빨리 이미지를 만들어냈습니다. 하지만 이 작업은 복소평면에서 각 좌표의 테트레이션 연산을 반복하기만 하면 되는 각 좌표가 서로에 대해 완전히 독립적인 연산을 필요로 했고 분명 이것은 CPU보다 GPU가 더 잘 할 일임에 분명했습니다. 하지만 제 GPU는 너무나 평화로웠습니다.

이번에는 CUDA 명령어용 실행파일 (for Nvidia GPU)를 사용했습니다. 마침 저는 게임을 만드는 사람일 뿐 아니라 게임을 플레이 하는 사람이기도 하고 이를 위해 최신 세대에는 조금 뒤쳐졌지만 나름 나쁘지는 않은 수준의 GPU를 가지고 있었거든요. 이전에 CPU에 부하를 가해 약 6~8분 정도 걸리던 작업은 이제 10초 수준으로 줄어들었고 좌표를 직접 입력하는 대신 화면에 좌표를 찍을 수 있게 된 덕분에 훨씬 다양한 부분을 탐사해볼 수 있게 되었습니다.


소용돌이의 조각

지난번에 이미 소개한 적 있어 익숙하실 수도 있는 첫 장면부터 시작합니다. 개인적으로 이전에 비해 좀 더 자유롭게 복소평면의 곳곳을 둘러볼 수 있게 된 다음 초반에 많이 들쑤시고 다닌 곳은 바로 영원히 이어질 것만 같은 소용돌이 패턴이었습니다. 이런 패턴이 곳곳에 있었는데 가운데로 갈수록 어두워지는 것으로 미루어 분명 끝이 있었습니다. 하지만 소용돌이에 뛰어들어 그 끝이 어떻게 끝나는지 살펴보고 싶은 느낌을 받고 이를 실행하게 만들기에는 충분했습니다.

소용돌이의 중심에 다가갈수록 점점 더 그 가운데 아무 것도 없는 영역이 뚜렷해지고 소용돌이는 점점 더 성겨지는 것처럼 보입니다. 그리고 그 끝에는 이 프랙탈 패턴을 끝까지 확대하다 보면 익숙하제 마주칠 수 있는 둥근 가지들이 규칙적으로 뻗은 모양과 마주하게 됩니다. 규칙적으로 끝 없이 이어지는 소용돌이의 작은 조각은 사실 아주 익숙한 나뭇가지 무늬의 조합이었습니다.

소용돌이의 끝

그런 소용돌이를 찾아다니다가 이번에는 쉽게 그 끝이 들여다 보이지 않는 삼중 나선으로 구성된 또 다른 소용돌이를 만났습니다. 이전에는 멀리서도 그 중심의 어두운 부분이 들여다 보였지만 이번에는 그렇지 않았습니다. 그렇다면 이 소용돌이는 정말 끝 없이 확대해 들어갈 수 있지 않을까요?

한참을 확대해 들어갔지만 여전히 소용돌이는 끝날 줄 모릅니다. 그 중심은 어딘가 한 점을 향하고 있지만 이번에는 그 점이 검은색으로 들여다 보이지 않습니다. 여느 지점을 최대한 확대할 때 자주 마주칠 수 있던 둥근 가지 모양이 이번에는 최대한 확대하기 전부터 삼중나선 모양으로 계속해서 한 점을 향해 소용돌이 치고 있습니다. 그래서 좀 더 깊이 들어가 보기로 합니다.

혹시 실수로 같은 이미지를 여러 번 만들고 또 올리고 있는 것은 아닐까요? 사실 중간에 같은 이미지가 여러 번 만들어지고 있는 것은 아닌지 확인해 보았습니다. 하지만 그렇지 않았습니다. 조금씩 소용돌이의 중앙에 가까워질 때마다 무늬는 영역의 배율에 따라 조금 더 성긴 모양으로 변하긴 했지만 계속해서 비슷하면서도 같지는 않은 패턴을 유지하며 계속해서 한 점을 향합니다. 좀 더 따라가 봅시다.

처음 여섯 장은 마치 이 소용돌이가 영원히 계속될 것처럼 진행되었습니다만, 규칙적이고 또 조화로운 모양으로 계속되던 소용돌이는 어느 순간 마치 우주 끝의 잡음을 만난 것처럼 정밀도가 급격히 떨어지더니 마지막에는 소용돌이의 모습을 완전히 잃어버린 사각형 격자에 흰 점과 검은 점의 조합으로 끝났습니다. 처음에는 이 아름다운 문양의 끝은 결국 모두 이런 이전의 곡선과는 완전히 다른 직선의 조합으로 구성된 거라고 생각했습니다.

그런데 이 결과를 공유한 다음 이를 보신 분들의 말씀을 들어보니 프랙탈이 끝난 것이 아니라 제가 사용하는 현대 컴퓨터가 수행할 수 있는 연산의 정밀도 한계 때문이 나타난 현상일 거라는 말씀을 들었습니다. 그러니까 수학적으로 이 소용돌이는 앞으로도 계속될 가능성이 높지만 이를 계산해 내 그림으로 만드는 컴퓨터는 소수점 정밀도에 한계가 있어 그 한계에 다다르면 더 이상 나선 모양을 만들어내지 못하는 모양입니다. 저는 소용돌이의 끝을 보기 위해 출발했지만 제가 마주한 것은 현대 컴퓨터가 가진 연산 능력의 한계였습니다.


#mytetration