“어떤 숫자든 마지막엔 1이 된다"는 게 진짜야? ── 콜라츠 추측을 즐겨보자
안녕하세요! kenji입니다.
갑작스럽지만, “어떤 숫자든 최종적으로 1이 되는 규칙"이라고 들으면, 조금 신기하지 않나요?
예를 들어, 19나, 87이나, 1000000이라도. 적당한 규칙에 따라 숫자를 다루다 보면, 왠지 마지막은 “1"로 수렴합니다.
그런 꿈 같은 이야기가, 콜라츠 추측(Collatz Conjecture) 입니다.
애초에, 콜라츠 추측이란 게 뭐야?
먼저 규칙을 소개할게요.
시작: 임의의 양의 정수 를 선택합니다.
조작:
- 짝수라면 → 반으로 나눈다 (n → n / 2)
- 홀수라면 → 3을 곱하고 1을 더한다 (n → 3n + 1)
이것을 계~속 반복하면, 어떤 숫자도 최종적으로는 1에 도달한다 는 추측인 거죠.
예를 들어, 6부터 시작하면:
| |
제대로 “1"이 되었습니다. 어서 오세요!
코드로 해보자: Python으로 콜라츠
자, 이럴 때는 코드로 시험해보는 게 빠릅니다! Python으로 “콜라츠 수열"을 출력해봅시다.
| |
실행하면:
| |
멋지게 1에 도달합니다. 꽤 우회하는데도, 마지막은 확실하게 골인!
참고로 29부터 시작해도, 마찬가지로 1에 도달합니다.
| |
실행하면
| |
무려, 111스텝이나 걸립니다!
게다가, 중간에 9000 이상까지 부풀어 오르는 장면도. 엄청나게 우회하고 나서 골인하는 패턴이네요.
그래서, 결국 뭐가 대단한 거야?
이 추측의 무엇이 대단하냐면,
증명되지 않았는데, 어떤 수로 해도 1이 되는 것 같다
라는 점입니다.
어? 그럼, 1조나, 1경(경)은…?
라고 생각하신 분, 예리합니다. 실제로 컴퓨터를 사용해서 “2의 68승” 정도까지는 확인되었고, 모두 1에 도달 하고 있습니다. 믿을 수 없어…
하지만, “전부 그렇게 된다"고 이론적으로 증명된 것은 아닙니다. 이것이 수학 세계에서 말하는 “미해결 문제”.
콜라츠 씨가 누구야?
자, 여기까지 읽고 “애초에 콜라츠가 누구야?“라고 생각하시죠. 제대로 소개할게요!
- 이름: 로타르 콜라츠 (Lothar Collatz)
- 국적: 독일
- 생년: 1910년 ~ 1990년
- 직함: 수학자 (함수 해석이나 정수론 분야에서 활약)
1937년에 이 추측을 제안했고, 그 후, 80년 이상에 걸쳐 아무도 증명도 반증도 하지 못하고 있습니다.
참고로, 이 문제는 너무 심플한데 심오해서, 그 폴 에어디시(초유명 수학자)조차 이렇게 말했다고 하죠.
“수학은 아직 콜라츠를 다루기에 미숙하다”
즉, 인류의 수학이 이 수수께끼를 아직 따라잡지 못했다는 설…
“어려운 수식"은 필요 없다
콜라츠 추측의 좋은 점은, 누구나 즐길 수 있다 는 것입니다.
종이와 펜이 있으면 할 수 있습니다. Python으로 코드를 작성하면, 자동으로 시험할 수 있습니다. 그러면서도, 최첨단의 수학자들이 진심으로 도전하고 있다.
왠지, 두근두근하지 않나요?
덤: 한 번에 시험하는 코드
여러 숫자를 모아서 시험하는 코드도 실어둘게요.
| |
이것은 “1~20"의 콜라츠 수열을 한 번에 출력해 줍니다.
결론: 이 세계, 역시 신기하다
이런 이유로, 콜라츠 추측.
- 엄청 심플한데
- 아무도 증명하지 못해서
- 수학계에서는 큰 문제
라는, 불가사의 덩어리 같은 존재였습니다.
프로그래밍 초보자라도 시도해볼 수 있으니, 꼭 즐겨보세요~!
추천 링크 (관심 있는 분용)
- Wikipedia: 콜라츠 추측
- Terence Tao 논문 (영문)
- Python의 시각화 버전을 만들어 보는 것도 재밌어요! (요청이 있으면 만들겠습니다)
더 이런 “신기한 수학 × 프로그래밍” 소재를 알고 싶은 분은, 편하게 “더 알려줘"라고 요청해 보세요. 조만간, 리만 가설이나 소수 이야기 등, 여러 가지 소개할게요!
📮끝!
