지난 토요일은 영국의 수학자 앨런 튜링(Alan Turning)이 태어난 지 100년이 된 날이었다. 현재 우리가 누리고 있는 컴퓨팅 환경은 그가 태어날 당시에 존재조차 하지 않았다는 것이 놀랍다.
하지만 튜링의 업적이 없었다면 우리가 지금 알고 있는 컴퓨터가 존재하지 않았을 것이다. 인터넷을 운영하는 TCP/IP의 공동 투자자 로버트 칸(Robert Kahn)이 한 인터뷰에서 “튜링이 없었다면, 컴퓨터의 발전 방향은 지금과 완전히 달랐거나 그렇지 않더라도 최소한 지연되었을 것이다”고 말했다.
영국의 수학자 찰스 바배지가 그의 분석적 엔진에 관한 아이디어를 공식화 한 1837년 이래로 프로그램이 가능한 컴퓨터에 관한 아이디어가 생겨났지만, 튜링은 세계 최초로 디지털 세계가 어떻게 움직이는지에 관한 물리학의 기반을 다지는 어려운 연구를 수행했다. 그리고 그는 이것을 위해 (이론적인) 무한한 테이프의 한 조각을 사용했다.
슈퍼컴퓨터를 능가한 왓슨(Watson)의 ‘제오파디(Jeopardy)’를 구축한 IBM 팀 소속이었던 에릭 브라운은 “튜링의 업적은 컴퓨터 공학에 있어서 너무나 근본적이기 때문에 그의 업적에 영향을 받지 않은 컴퓨터로는 아무 것도 할 수 없다”고 말했다.
초일류 지성인으로서 튜링은 컴퓨터 공학의 영역을 넘어서는 다수의 엄청난 업적을 달성했다. 2차 세계대전 중 그는 독일의 암호화된 메시지를 해독하는데 크게 일조하여 영국이 독일의 행동을 예측하고 궁극적으로 전쟁에 승리할 수 있게 되었다. 또한 그는 이런 수학적인 능력을 활용해 비선형 생물 이론의 영역에서 아이디어를 개발하여 혼돈 및 복잡성 이론의 기반을 다졌으며, 그는 슬픈 죽음으로도 잘 알려져 있는데, 그는 동성애 때문에 영국 정부의 추궁을 당하자 급기야 자살하고 말았다.
하지만 컴퓨터 공학 분야에서 그의 업적은 길이 남을 것이다. 지난 주 전산기계협회(Association of Computing Machinery)는 이틀 동안 튜링과 함께 컴퓨터 분야의 큰 별이라 할 수 있는 빈트 서프, 켄 톰슨, 앨런 C. 키의 업적을 기리고 그들을 추모하는 행사를 열었다.
지난 세기 초기에 컴퓨터에 관해 생각한 사람은 튜링만이 아니었다. 수학자들은 종종 계산이 가능한 함수에 관해 생각하곤 했다. 튜링은 1930년대 프린스턴 대학(Princeton University)의 연구에서 영감을 얻었다. 거기서 알론소 처치는 람다 계산(Lambda Calculus)을 정의했다 (이것은 훗날 Lisp 프로그래밍 언어의 기반을 형성했다). 그리고 커트 갭델은 불완전성 이론과 재귀 함수 이론을 연구했고 튜링은 두 수학자의 업적을 토대로 계산기의 개념을 마련했다.
튜링 머신
그의 1936년 논문에는 훗날 튜링 머신(Turning Machine)으로 알려진 것에 관한 설명이 포함되어 있다. 그는 이것을 에이 머신(a-machine)이라 불렀다. 해당 논문에서 그는 일련의 기호를 포함한 무한하게 긴 테이프 조각을 사용하는 이론적인 연산을 설명했다. 기계의 헤드가 테이프로부터 기호를 읽을 수 있을 뿐 아니라 자체적인 기호를 추가할 수도 있었다. 기호는 한번에 하나씩 테이프의 다른 부분을 돌아다닐 수 있었다.
렌셀러 폴리테크닉 대학교(Rensselaer Polytechnic Institute)의 컴퓨터 공학 교수이자 시맨틱 웹(Semantic Web)의 핵심 연구원 중 한 사람인 제임스 헨들러는 “튜ㅣㄹㅇ 머신은 계산이 무엇이며 프로그램을 갖는다는 것이 어떤 의미인지에 관한 아이디어를 제공했다”라며, “다른 사람들도 비슷한 생각을 했지만 튜ㅣㄹㅇ은 이것을 증명할 수 있는 형식적인 관점에서 접근했다”라고 말했다.
튜링 머신 자체는 절대로 실현될 수 없었다. 우선 “무한한 테이프는 실현이 불가능하다”고 칸이 농담을 던졌다. 하지만 이 개념은 해당 아이디어에 있어서 매우 중요한 부분이다. 칸은 “해당 머신의 로직(Logic)에 기반하여 튜ㅣㄹㅇ은 계산할 수 있는 모든 함수를 계산할 수 있다는 것을 증명했다”고 칸이 말했다.
물론 오늘날의 컴퓨터는 이진수를 사용한다. 컴퓨터 프로그램은 컴파일러(Compiler)가 일련의 1과 0으로 변환되는 하나의 또는 일련의 알고리즘이라 할 수 있다. 기본적으로 이것들은 테이프가 없다는 점을 제외하고는 튜링 머신과 작동 방식이 똑같다.
미들 테네시 주립 대학교(Middle Tenessee State University) 컴퓨터공학과의 학장인 크리실라 페티는 “일반적으로 튜링 머신의 개념은 디지털 컴퓨터가 할 수 있는 모든 것을 모델화할 수 있는 것으로 받아들여지고 있다”고 말했다.
이메일을 통한 인터뷰에서 페티는 튜링 덕분에 “유한한 일련의 기호를 다루는 모든 알고리즘이 컴퓨터를 사용하는 절차로 간주되고 있다”고 밝혔다.
이와는 반대로 튜링 머신에서 모델화될 수 없는 것은 컴퓨터에서 구동할 수 없다. 이것은 소프트웨어 디자인에 있어서 매우 중요한 정보이다. 패티는 “자신이 겪고 있는 문제가 해결하기 어렵다는 것을 알고 답을 기다릴 수 있는 시간이 없다면 실제적인 답을 찾는데 시간을 낭비하는 대신에 수용할 수 있는 대안을 찾는 방법을 알아내는데 초점을 맞추는 것이 낫다”고 말했다.
페티는 “컴퓨터 공학자들이 튜링 머신으로 무엇인가를 증명하려 한다거나 튜링 머신으로 문제를 해결하는 것은 아니다. 문제를 분류하기 위해 튜링 머신을 사용한 방식은 컴퓨터 공학자들이 문제 해결에 접근하는 방식에 지대한 영향을 끼쳤다”라고 말했다.
튜링이 자신의 아이디어를 발표할 당시에 세상에는 간단한 계산을 수행할 수 있는 다소 발전된 형태의 계산기가 많이 있었다. 튜링이 제시한 아이디어는 일반적인 용도를 가진 프로그래밍이 가능한 기계에 관한 것이었다. 칸은 “사용자가 프로그램을 입력하면 기계가 프로그램에 명시한 대로 작업을 수행하는 것이다”고 설명했다.
그 후 프린스턴 고등연구소(Princeton Institute for Advanced Study)의 또 다른 학자 존 폰 뉴이만은 튜링의 아이디어를 도입한 컴퓨터를 연구했다. 그는 데이터와 연산 프로그램을 저장하는 매체로 무한한 테이프 대신에 RAM(Random Access Memory)를 사용했다. MANIAC(Mathematical Analyzer, Numerator, Integrator, and Computer)라 불리는 이 장치는 1952년 당시 운용이 가능했던 최초의 현대적인 컴퓨터 중 하나였다. MANIAC은 현재 모든 컴퓨터에 적용되고 있는 폰 뉴이만 아키텍처를 사용했다.
프린스턴에서 연구를 마치고 영국으로 귀국한 튜링은 이런 개념을 사용한 ACE(Automatic Computing Engine)을 개발하기 위한 또 다른 프로젝트에 착수했으며, 폰 뉴이만 아키텍처의 핵심이라 할 수 있는 저장 메모리 장치에 대한 아이디어를 개척했다.
암호 해독에도 일조
그의 업적은 컴퓨터 공학 분야에 일대 파란을 일으킴과 동시에 암호 해독에 지대한 영향을 끼쳐 궁극적으로 영국이 독일의 식민지가 되는 상황을 모면할 수 있다고 해도 과언이 아닐 것이다. 사람들은 컴퓨터를 정의한 튜링의 업적이 독일의 에니그마(Enigma) 장치로 생성한 암호를 해독하는데 있어서 성공의 핵심이었다고 말한다. 그의 업적은 2차 세계대전을 종식시키는데 크게 기여했다.
렌셀러의 헨들러는 “오늘날의 정의에 따르면 에니그마는 아날로그 컴퓨터였다. 그[와 그의 팀]가 개발한 것은 디지털 컴퓨터의 연산에 훨씬 가까웠다”라면서, “기본적으로 그는 이런 아날로그 문제를 해결하는데 있어서 디지털 컴퓨팅의 저력을 보여주었다. 이로 인해 해당 영역에서 컴퓨터가 무엇을 할 수 있는지에 관한 생각이 완전히 달라지게 되었다”라고 말했다.
튜링은 컴퓨터 연산을 정의하여 인공지능 또는 인간의 사고방식을 모방한 컴퓨터 지능을 정의하는데 있어서 핵심적인 역할을 담당했다. 1950년 그는 컴퓨터가 인간의 지능을 소유하고 있는지 판단할 수 있는 방법을 제시한 논문을 집필했다. 이 시험에는 컴퓨터 및 여자인척 하는 남자 등 2개의 숨겨진 독립체와 긴 대화를 나누는 한 사람이 포함되어 있었다. (“두 경우 모두에서 그는 가짜 행세를 원했다.”고 헨들러가 설명했다.) 이 사람이 어느 쪽 상대방이 컴퓨터인지 판단할 수 없다면 기계가 사람처럼 생각한다고 말할 수 있었다.
헨들러는 “그는 사람과 컴퓨터를 동일선상에서 비교하려 했다”라면서, “언어는 이해와 문맥을 필요로 하기 때문에 인간에게 있어서 중요한 기술이다. 컴퓨터가 그런 수준의 이해력을 보여준다면 그 차이를 알아채지 못할 것이다”라고 설명했다.
이 시험은 “인간의 신체적 능력과 지적 능력 사이의 경계를 명확히 할 수 있는 장점이 있다”고 해당 논문에서 튜링이 밝혔다.
IBM의 브라운이 언급했듯이 튜링의 업적은 지금도 여전히 살아 숨쉬고 있다. 그는 자신의 수학적 연구를 통해 “의사결정 과정이 해답을 제시할 수 없는 문제가 존재할 수 있다”는 것을 증명했다고 헨들러가 말했다. 컴퓨터의 측면에서 이것은 “모든 복잡한 컴퓨터 프로그램에 대해서 모든 것이 정확하다는 것은 절대로 증명할 수 없다”라는 의미며, “다른 모든 컴퓨터 프로그램의 버그를 제거할 수 있는 컴퓨터 프로그램을 절대로 개발할 수 없다”고 말했다.
하지만 이런 불명확한 지식은 컴퓨터 공학의 발전을 저해하는 것이 아니라 도리어 이전에는 상상조차 할 수 없었던 기술이 개발될 수 있는 초석을 다졌다. 이를 통해 기술자들은 기술이 제공하는 답이 항상 완벽할 수 없다는 것을 알면서도 인터넷 검색 엔진 등 대단히 유용한 서비스를 개발해 낼 수 있었다.
헨들러는 “어떤 사람들은 컴퓨터가 안전하다는 것을 증명할 수 없다면 컴퓨터를 개발하지 말았어야 한다고 말한다. 튜링이 말한 것을 이해하는 사람들은 ‘그럴 수 없다’고 말할 것이다. 따라서 반드시 안전에 대한 가정을 증명하는 것부터 시작해야 하며, 이로 인해 대화는 완전히 다른 양상을 띠게 될 것이다”고 말했다.
그리고 튜링의 시험을 반증하려는 무수한 시도가 있었지만 매우 제한적인 환경을 제외하고는 반증에 성공한 사례가 없다. 이는 우리가 앞으로도 오랫동안 튜링의 벤치마크를 충족시키기 위해 노력할 것임을 뜻한다.
“여러분은 ‘시리, 오늘 기분이 어때?’라고 물은 후 무엇인가 흥미로운 대답을 기대하기는 어렵다”고 헨들러가 말했다. editor@itworld.co.kr