본문 바로가기
글 실험실/수와 존재

어느 수식의 자화상

by 공튼이 2025. 6. 5.

세상에 "자기를 스스로 그려낼 수 있는 수식"이 있다고 해서 찾아본 적이 있다. 딱 한 줄의 부등식인데, k(key) 값을 106×17 픽셀짜리 이미지로 출력하는 수식이다. 그리고 이 식에는 거대정수 k가 입력으로 주어진다. 이것이 캐나다 수학자 제프 터퍼(Jeff Tupper)가 2001년에 세상에 소개한 Tupper's Self-Referential Formula 이다.

 

공식의 핵심은 의외로 단순하다. 그리고 싶은 이미지를 0과 1의 비트열로 변환한 뒤 이를 십진수로 바꾸고 17을 곱해 k값을 만든다. 공식 안의 ⌊y/17⌋ 는 이 거대한 정수를 저장소 삼아 매 행마다 불러오고, mod(⌊y⌋, 17) 는 몇 번째 행인지를 가리킨다. 열 번호는 ⌊x⌋ 로 주어진다. 결국 인코딩된 거대정수를 2차원 좌표공간으로 디코딩하는 변환 공식인 셈이다.

 

처음엔 수식이 자기복제를 해냈다고? 하며 들여다 봤건만, 원리는 달랐다. 콜롬버스의 달걀처럼 허무할 정도로 단순한 원리다. 당연히 저 그림을 나타낼 정보가 모두 정수 k 에 저장되어 있으면 106×17 픽셀로 표현 가능한 그 어떤 이미지도 이 식으로 "소환"할 수 있고, 심지어 이 k 를 인코딩 하는것도 어렵지 않다. 대단한 듯, 대단해 보이지 않을 수도 있고, 꿈보다는 해몽에 가까운 일일지도 모른다.

  • floor (⌊ ⌋): 소수점 아래를 버리는 함수
  • mod (a, b): a를 b로 나눈 나머지
  • k 값: ‘그리고 싶은 그림’을 0·1 비트열로 읽어 10진수로 만든 뒤 17을 곱해 얻는 거대한 정수로 공식을 출력하기 위해 아래 값을 사용했다.
k = 960 939 379 918 958 884 971 672 962 127 852 754 715 004 339 660 129 306 651 505 519 271 702 802 395 266 424 689 642 842 174 350 718 121 267 153 782 770 623 355 993 237 280 874 144 307 891 325 963 941 337 723 487 857 735 749 823 926 629 715 517 173 716 995 165 232 890 538 221 612 403 238 855 866 184 013 235 585 136 048 828 693 337 902 491 454 229 288 667 081 096 184 496 091 705 183 454 067 827 731 551 705 405 381 627 380 967 602 565 625 016 981 482 083 418 783 163 849 115 590 225 610 003 652 351 370 343 874 461 848 378 737 238 198 224 849 863 465 033 159 410 054 974 700 593 138 339 226 497 249 461 751 545 728 366 702 369 745 461 014 655 997 933 798 537 483 143 786 841 806 593 422 227 898 388 722 980 000 748 404 719

 

      위 부등식을 아래 좌표 범위에 대해 하나하나 결과를 찍고 

  • x 좌표: 0 ≤ x < 106
  • y 좌표: k ≤ y < k + 17

      양 축 모두를 반전시키면, 픽셀 106 칸 × 17 칸짜리 영역에 공식이 정확히 나타난다.

k 값을 좌표범위에 풀어 적용한 결과다.

무한한 서가, 가능한 모든 세계

하지만 터퍼 공식은 단순한 수학적 장난을 넘어 존재와 기억에 대한 깊은 은유로 다가온다. 보르헤스의 '바벨의 도서관'처럼, 터퍼의 y축은 무한한 서가다. k를 17씩 증가시킬 때마다 새로운 106×17 픽셀 화면이 펼쳐진다. 숫자의 세계 깊숙이 모든 가능한 흑백 그림이 차례로 숨어 있다.

 

하나의 정수를 바꿔 또 다른 우주를 스치는 이 원리는 묘하게 현실과 겹친다. 끊임없이 스크롤되는 SNS 피드가 각자의 '가능 세계'를 슬라이드처럼 넘기는 모습과 닮아있다. 우리는 매일 다른 k값을 선택하며 서로 다른 화면을 호출하고 있는 것은 아닐까.

 

기록의 동물, 개인용 터퍼 공식

인간은 기록의 동물이다. 사진, 캡션, 로그 파일을 통해 우리는 매일 자기 자신을 재직(再織)하듯 데이터를 남긴다.

 

터퍼식 좌표변환이 y→비트→픽셀로 진행되듯, 우리의 하루도 감각→언어→아카이브의 경로를 따라 모자이크되고, 훗날 기억이라는 그래프 위에 재구성된다. 지금 이 글을 작성하는 것 처럼. "쓰기·찍기·업로드하기"는 어쩌면 개인용 터퍼 공식이다.

 

1,802 개의 0 과 1 만으로 하나의 이미지를 담고, 그 이미지를 다시 한 줄의 부등식으로 요약하는 과정에서 전달·확산 가능성이 폭발적으로 늘어난다. 언어도 마찬가지다. 경험을 단어로 압축할수록 감각은 희미해지지만, 바로 그 추상 덕분에 타인과 연결된다. "말해지지 않는 것은 사라진다"는 두려움과 "말할수록 멀어진다"는 슬픔이 겹치는 지점에 터퍼의 식이 서 있다.

 

k는 열쇠다

k는 말 그대로 열쇠(key)다. 비트열을 십진수로 변환하고 17을 곱해 얻은 정수 하나가 그래프를 켜자마자 즉시 문을 연다. 우리가 선택·학습·결정한 값들도 각자의 k가 되어 삶의 캔버스를 호출한다. 다른 선택, 다른 k였다면 완전히 다른 패턴이 펼쳐졌을 것이다.

삶은 "run f(k)"를 거듭 호출하는 명령어 집합이며, 운명조차 프로그래머블하다는 쿨한 은유가 된다. 우리는 매 순간 새로운 k값을 입력하며 자신만의 화면을 그려내고 있다.

 

숫자 너머로 되돌아오는 ‘나’

터퍼 공식은 비트를 2차원 좌표공간에 매핑하는 겨우 한 줄의 부등식이지만, 그 식이 품은 메타포는 무궁무진하다. 무한 서가를 꿈꾸는 정보시대, 기록으로 존재를 확인하는 인간, 언어 압축이 남기는 공허, 그리고 선택·의지·알고리즘이 얽혀 짜내는 개인 서사까지.

 

이 공식 앞에서 우리는 묻는다. "나는 나를 얼마나 정확히 그려낼 수 있을까?" "그 그림 속 나는, 정말 '나'인가?" 터퍼의 식은 단순한 그래프가 아니라, 자기 인식이라는 오래된 질문을 오늘도 새로이 반짝이게 하는 수학적 세렌디피티다.

 

자기를 스스로 그려내는 수식. 그 안에는 존재의 신비와 재현의 역설, 그리고 끝없이 자기 자신을 기록하고 해석하려는 인간의 숙명이 숨어 있다.