UPDATED. 2024-03-29 21:30 (금)
세상을 뒤바꾼 호기심과 독창적 사유
세상을 뒤바꾼 호기심과 독창적 사유
  • 김재호 학술객원기자
  • 승인 2013.10.21 11:40
  • 댓글 0
이 기사를 공유합니다

키워드로 읽는 과학本色32_ 앨런 튜링 下

유럽에서 제2차 세계대전이 끝날 무렵, 앨런 튜링은 수리논리학에서 얻은 영감과 암호해독을 하며 겪은 경험, 전자기기에 대한 실용적인 지식들을 융합하고자 했다. 스탠포드대 철학사전(http://plato.stanford.edu/entries/turing)에 따르면, 그의 야심은 현대적 의미의 전자컴퓨터를 만들어보고자 하는 것이었다. 튜링의 꿈은 산업 혹은 상업적이라기보다는 순수한 과학적 동기로부터 출발했다. 특히 그는 인간이 인식할 수 있는, 계산이 이론적으로 얼마만큼 한계가 있는지 밝혀내고자 했다. 더욱이, 계산의 능력과 인간 인식의 힘을 비교하며, 제대로 프로그램 할 수 있으면 뇌와 같은 역할을 할 수 있을 것이라고 생각했다. 튜링의 생각은 인공 지능 연구의 토대를 세웠다.

인간과 기계를 구분하는 것은 무엇인가. 인간은 기계의 의존하기 때문에 그 경계는 점차 줄어들 것이다. 엄밀한 의미에서 지금도 우리는 부분적으로 기계에 의존하는 삶을 살고 있다. 하드웨어 안에 담긴 소프트웨어는 무엇이고 어떤 기능을 하는가? 소프트웨어만 따로 떼어놓고 보았을 때 인간과 유사한 기능을 한다. 튜링은 1950년에「계산 기계와 지성(Computing Machinery and Intelligence)」논문을 발표한다. 그는 이 논문을 통해 인간이 기계와 얘기를 나누는지 다른 사람과 얘기하는지 알아차릴 수 없다면 컴퓨터 역시 지능을 갖고 있다고 봐야 한다고 강조했다. 백욱인 서울과학기술대 교수(정보/과학기술사회학)는『컴퓨터의 역사』(커뮤니케이션스북스 刊, 2013)에서 “튜링 테스트는 기계와 인간을 칸막이 방에 놓고 제3자가 질문을 한 다음 어느 것이 기계이고, 어느 것이 인간인지를 구분하는 것”이라며 “만약 제 3자가 기계와 인간을 구분할 수 없다면 그 기계는 튜링 테스트를 통과한 것”이라고 밝혔다.

인간과 기계는 구분되는가

미래의 컴퓨터는 분명 인간과 더욱 가까워질 테다. 인간이 구현하는 소프트웨어는 효율성을 극대화하고 작동 메커니즘은 더욱 쉬워진다. 컴퓨터는 있는지 없는지 모를 정도로 인간에 근접해 있을 것이다. 내가 알고리즘을 사용하는지, 인간과 대화하는지 구분이 어렵게 될 것이다. 웹을 遊泳하는 검색엔진 로봇의 흔적이 누군가 의도한 것인지 알 분간이 없다. 수많은 어플리케이션의 대답은 내가 사람과 얘기하는지 기계와 말하는지 헷갈릴 정도로 정교하고 정확해질 것이다. 튜링의 예견대로다.

무한히 재생성되는 연산이 언제 정지할지 알고리즘으로 증명이 가능할까. 앨런 튜링은 이에 대해 공학적 접근으로 불가능하다는 것을 증명한다. 사진은 튜링 기계를 재현한 장면이다. (출처=유튜브 동영상  Alain Turing-Celebration the life of a genius 캡처)

1930년대에 앨런 튜링은 ACE(Automatic Computing Engine)를 디자인 한다. 이후, ACE는 1950년대 영국 국립물리학연구소(NPL)에서 Pilot ACE로 구현된다. Pilot ACE는 최초의 컴퓨터로 그 당시 가장 빠른 컴퓨터였다. 영국 오픈대학교 닉 브레이스웨이트 교수는 <가디언>지와 인터뷰에서“소프트웨어는 바로 튜링을 통해 시작됐다”면서“튜링은 (프로그래밍) 언어를 고를 필요도 없이 처음으로(소프트웨어적) 언어를 작성해야 했다”고 말했다. 빅토리아 시대에 찰스 베비지는 인간의 계산을 공학 기계(차분기관)를 통해 구현하는 구상을 했다. 이에 반해 튜링은 소프트웨어적 마인드를 통해 그 문제를 해결하고자 한 것이다.

튜링은 얇고 긴 테이프 위에 기호를 써내려가는 기계를 상상했다. 유한개의 규칙에 따라 다시 쓰고, 아니면 지우는 기능을 하는 기계이다. 튜링은 사람이 노예처럼 이러한 작업을 수행하는 것이라고 묘사했다. 튜링은 이 사람을 컴퓨터라고 불렀다. 계산돼야 할 문제라는 것을 고려할 때, 이 기계는 해답을 주거나 정지하거나 해야 한다. 하지만 무한히 반복되면서 해답을 주지 않는다. 이때 튜링은 이 가상의 기계가 언제 정지할지 우리는 결코 모른다는 것을 수학적으로 증명했다. 튜링은 확고한 예를 통해 결정 문제는 증명 불가능하다는 것을 보여줬다. 결국, 수학史에서 러셀의 역리로 시작된 수학의 완전성에 대한 절망은 반복된다(readwrite.com의 Alan Turing 101: A Lesson On The Father Of Computer Science 부문 참조) .

예를 들어 π를 계산한다고 했을 때, 튜링 기계가 언제 멈출지 알 수가 없다. π는 원의 둘레와 지름의 비를 나타낸다. π에 대한 계산은 튜링 기계를 통해 일일이 알고리즘화 해 출력 가능하다. 무한정한 과정이라 하더라도 말이다. 하지만 언제 정지할지 판별할 수 있는 기계 A가 있다고 해보자. A는 당연히 처리돼야 하는 입력값에 따라 정지 혹은 무한이라는 두 가지 정지의 판별을 내릴 것이다. 그런데 A는 입력값이 정지이면 무한히 실행하고, 입력값이 무한이면 정지를 실행하도록 알고리즘화해보자. 이때 A가 A자신을 입력값으로 받게 되면 어떨까? 입력값 A가 정지이면, 출력값 A는 무한이 된다. 반대의 경우도 발생해 결국 모순이 된다. 귀류법 적용이다. 그 유명한, 자기 자신을 포함하지 않는 모든 집합들의 모임 U를 생각하면 된다. U 역시 집합이다. U는 자기 자신을 포함하거나 하지 않으면 안된다는 역리가 발생한다. 바다 위에 표류해 목이 타지만 바닷물을 마시지 못하는 것으로 비유될까.

계산가능성과 결정 문제 그리고 튜링 기계

튜링 기계는 결정 문제가 증명 불가능하다는 것을 매우 간단한 추상적 알고리즘으로 보여준다. 결정 문제는 어떤 명제를 증명하는데 참인지 거짓인지 결정할 수 있는 알고리즘이 있는지 밝혀내려는 것이다. 즉, 모든 수학적 명제에 대해 증명이 가능한지 결정할 수 있는 방법이 있는가에 대한 물음이다. 힐베르트는 수학에서 가장 중요한 문제들을 제시했는데, 그 중 하나가 완전한 산술 체계가 가능한지 밝혀내려는 결정 문제였다. 그것은 불가능하다. 괴델은 이를 제2 불완전성 정리로 증명했다. 튜링은 괴델이 증명한 바를, 기계적으로 재증명한다. 그게 바로 튜링 기계이다.

계산 가능한 것을 계산할 수 있도록 하는 가상의 기계가 튜링 기계다. ‘계산 가능’하다는 것은 알고리즘을 통해 참 혹은 거짓이 증명된다는 뜻이다. 어떠한 연산을 기호논리학적 방법으로 알고리즘화할 수 있다고 치자. 하지만 튜링 기계에 의해 무한히 재생성되는 연산에 대해, 정말 보편적이고 일반적인 체계를만들어낼수있겠는가?『 슈뢰딩거의고양이』(들녘 刊, 2009)에서 에른스트 페터 피셔는“정지 물음에 대한 답은 매 경우마다 개별적으로 내려져야 하지만 이를 결정하는 일반적인 공정이란 존재하지 않는다”고 적었다.

튜링 기계는 무한대로 존재한다. 현대적 개념에서 무수히 많은 프로그램이 있는 것과 같다. 프로그램을 실행하는 건 바로 컴퓨터다. 튜링은 이를 보편 튜링 기계라고 불렀다. 따라서, 무수히 많은 보편 튜링 기계 하에 셀 수 없을 정도로 많은 튜링 기계가 존재한다. 튜링 기계는 행동표가 지시하는 알고리즘에 따라 작동한다. 현대의 개별 컴퓨터는 소프트웨어에 의해 다른 컴퓨터에서 시뮬레이션될 수 있다. 프로그램은 또 다른 형태의 데이터이며 다른 프로그램에 의해 조작될 수 있다(스탠포드대 철학사전 참조).

튜링은 가장 확실하고 기본적인 원칙을 통해 사유했다. 독창적인 사고가 가능했던 이유는 그의 인식 안에서 체계를 세우고 증명하려는 노력 때문이다. 하지만 이러한 그의 성격은 그를 학문적이든 삶의 측면이든 고립되게 만들기도 했다. 그럼에도 지금 다시 그를 주목하는 건 순수한 과학적 동기와 호기심 때문이다. 단 하나의 기본적인 토대에서 확장되는 그의 사유가 소프트웨어를 통해 우리 삶의 모습을 바꿨다.



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.