3.6 KiB
앨런 튜링과 튜링 머신의 탄생 배경
1. 서론
현재 우리가 사용하는 컴퓨터의 이론적 시초가 된 **튜링 머신(Turing Machine)**은 1936년 앨런 튜링(Alan Turing)이 발표한 논문 《계산 가능한 수와 결정 문제에 대한 응용 (On Computable Numbers, with an Application to the Entscheidungsproblem)》에서 처음 등장했습니다. 튜링이 이 개념을 고안하게 된 배경에는 당시 수학계의 거대한 난제였던 **'결정 문제(Entscheidungsproblem)'**가 있었습니다.
2. 힐베르트의 도전: 결정 문제 (Entscheidungsproblem)
1928년, 독일의 위대한 수학자 **다비트 힐베르트(David Hilbert)**는 국제 수학자 대회에서 다음과 같은 심오한 질문을 던졌습니다.
"수학의 어떤 명제가 주어졌을 때, 그 명제의 참과 거짓을 판별할 수 있는 명확한 절차(알고리즘)가 존재하는가?"
이것이 바로 결정 문제입니다. 힐베르트는 수학이 완전하고, 모순이 없으며, 모든 것을 증명할 수 있는 결정 가능한 체계이기를 꿈꿨습니다. 만약 이 기계적인 절차를 찾을 수 있다면, 수학의 모든 난제를 해결할 수 있는 '만능 기계'를 만들 수 있다는 희망이 있었기 때문입니다.
3. 튜링의 통찰: "계산이란 무엇인가?"
앨런 튜링은 이 결정 문제를 해결하기 위해 먼저 **"계산한다(computing)"**는 행위가 무엇인지 정의해야 했습니다. 당시 '컴퓨터'라는 단어는 기계가 아니라 복잡한 수식을 계산하는 **사람(직업)**을 의미했습니다.
튜링은 사람이 계산하는 과정을 단순화하여 분석했습니다.
- 종이에 기호를 쓴다.
- 기호를 지우거나 고친다.
- 규칙에 따라 다음 단계로 넘어간다.
그는 이 과정을 수행할 수 있는 가상의 기계를 구상했는데, 이것이 바로 튜링 머신입니다. 튜링 머신은 다음과 같은 단순한 구조를 가집니다.
- 테이프(Tape): 무한히 긴 종이 띠 (메모리)
- 헤드(Head): 테이프의 칸을 읽고 쓰며 이동하는 장치
- 상태 기록기(State Register): 현재 기계의 상태를 기억
- 행동 표(Action Table): 특정 상태에서 특정 기호를 읽었을 때 무엇을 할지 적힌 규칙표 (프로그램)
4. 결정 문제의 해결과 튜링 머신의 의의
튜링은 이 가상의 기계를 통해 놀라운 사실을 증명했습니다.
- 범용 튜링 머신(Universal Turing Machine): 테이프에 적힌 규칙(소프트웨어)만 바꾸면 어떤 계산이든 수행할 수 있는 기계의 개념을 제시했습니다. 이는 현대 컴퓨터의 **'프로그램 내장 방식'**의 원형이 되었습니다.
- 정지 문제(Halting Problem): 튜링은 "어떤 프로그램이 영원히 실행될지, 아니면 언젠가 멈출지 판별하는 기계는 존재할 수 없다"는 것을 수학적으로 증명했습니다.
- 결론: 정지 문제를 해결할 수 없으므로, 힐베르트가 제시한 **'결정 문제' 역시 풀 수 없다(부정적인 해답)**는 결론을 내렸습니다.
5. 결론: 현대 컴퓨터 과학의 시초
비록 힐베르트의 꿈(모든 것을 증명하는 기계)은 불가능하다고 증명되었지만, 그 과정에서 앨런 튜링이 고안한 튜링 머신은 단순한 사고 실험을 넘어 현대 디지털 컴퓨터의 강력한 이론적 모델이 되었습니다. 오늘날 우리가 사용하는 스마트폰, PC, 슈퍼컴퓨터는 모두 본질적으로 튜링 머신의 구현체라고 할 수 있습니다.