Part3. 미래엔 소프트웨어가 사라질까

  • 확대
  • 축소
띠리링. 아침 7시, 벌써 출근 시간이다. 어차피 나가서 할 일도 없는데 출근 시간은 어김없이 돌아온다. “아침은 무엇을 드시겠어요?” “베이글.” 지잉. 얼마 전에 구입한 가사도우미 ‘디봇(D-bot)’이다. 내가 빵을 먹을 때는 딸기잼을 발라 먹지만, 베이글에는 크림치즈를 발라먹는다는 것을 학습하고는 알아서 크림치즈와 빵을 함께 가져다 준다. 그래서 디봇에게 고맙냐고? 아니, 전혀.

나는 프로그래머다. 내가 대학에 입학할 때만 해도 프로그래머는 고액연봉 직업 리스트에 항상 이름을 올렸다. 그런데 분자컴퓨터니 뉴로모픽이니 하는 것들이 개발된 후로 소프트웨어는 그 수요가 팍 줄었고, 나는…, 할 일이 없어졌다.



미국 옥스퍼드 마틴스쿨에서 2013년 발표한 ‘고용의 미래’ 보고서에는 직업별로 미래에 사라질 확률을 수치화한 자료가 있다. 1에 가까울수록 사라질 확률이 높다. 텔레마케터가 1위로 0.99, 사육사는 0.95, 이발사는 0.8 등으로, 높은 수치를 기록했다. 반면 컴퓨터 프로그래머는 0.48로 꽤 안전한 범위에 들었다. 그런데 과연, 소프트웨어를 개발하는 프로그래머가 안전한 직업일까?

디봇의 이야기는 먼 미래에 일어날 수도 있는 극단적인 상황을 상상해본 것이다. 극단적이라고는 하지만 전문가들은 분자컴퓨터와 뉴로모픽컴퓨터에서는 소프트웨어가 필요 없다고 단언한다. 이들은 뇌의 구조 혹은 기능을 모사한 컴퓨터다. 마치 뇌처럼 하드웨어와 소프트웨어의 경계가 존재하지 않는다.


소프트웨어가 ‘없는’ 컴퓨터
분자컴퓨터를 예로 들어보자. 수학의 난제 중에는 NP 문제가 있다(123쪽 plus 참조). ‘해밀턴 경로’는 대표적인 NP 문제다. 해밀턴 경로는 n개의 꼭지점이 있을 때, 모든 점을 한 번씩만 지나는 경로다. 답이 주어진다면 참인지 거짓인지 판별은 간단하지만, 답을 찾는 데 걸리는 시간은 다항식으로 표현할 수 없다. 미국 서던캘리포니아대 컴퓨터과학과 레오나르드 아들만 교수는 1994년 DNA로 이 문제를 해결할 수 있다는 논문을 ‘사이언스’에 발표했다.

그는 4개의 도시가 있고(애틀랜타, 보스턴, 시카고, 디트로이트), 각 도시를 지날 수 있는 비행편이 정해져 있다고 했을 때 애틀랜타에서 모든 도시를 한 번씩만 방문해 디트로이트까지 가는 해밀턴 경로 문제를 제시했다.

그는 DNA의 특성을 이용해 이를 한 번에 연산할 번뜩이는 아이디어를 제안했다(122쪽 그림 참조). 그가 제시한 방법에 따르면 사람이 하는 일은 각 도시, 비행편에 해당하는 염기서열을 정해주고 제 시간에 DNA 분해 효소를 넣어주는 것뿐이다. 기존의 컴퓨터에서는 NP에 속하는 문제지만, DNA컴퓨터에서는 P문제다. 더구나 소프트웨어가 ‘없어도’ 풀린다. 이 문제는 비교적 간단하지만 도시의 수가 늘어나면 어떨까. 문제가 복잡해질수록 기존의 컴퓨터와 DNA컴퓨터 사이의 격차는 더 크게 벌어진다.


소프트웨어 위기, 예견돼 있었다
소프트웨어의 위기는 이미 예견된 일이었다. 1968년 독일의 컴퓨터공학자 프리드리히 루드비히 바우
어는 ‘소프트웨어 위기(Software crisis)’라는 말을 처음으로 사용했다. 그리고 4년 뒤, 컴퓨터공학계의 노벨상이라 불리는 튜링상의 수상자 예츠허르 비버 데이크스트라는 “컴퓨터가 거대해진만큼 소프트웨어도 거대한 문제가 됐다”고 말했다.

이들이 지적한 소프트웨어의 위기는 소프트웨어가 하드웨어의 성장 속도를 따라잡기 힘들어지면서 생겨났다. 사실 1970년대, 1990년대에도 이런 위기가 발생했는데, 컴퓨터공학자들의 노력으로 무사히 넘어갔다(124쪽 Inside 참조). 하지만 이번 소프트웨어의 위기는 전보다 해결하기 어렵다. 일을 하나씩 처리하는 기존의 방식(폰노이만 방식)이 아닌, 완전히 새로운 방식의 5세대 컴퓨터가 개발되고 있기 때문이다. 소프트웨어가 마주할 다음 위기는 바로 이 5세대 컴퓨터에 적용할 소프트웨어가 없다는 점에서 비롯된다.

먼저 양자컴퓨터를 보자. 양자의 특성을 이용하는 소프트웨어는 ‘도이치-조사(요사) 알고리듬(1992년 개발)’, 쇼‘ 어 알고리듬(1994)’, 그로버가 개발한 ‘데이터 탐색 알고리듬(1996년)’ 등이 전부다. 이 중 도이치-조사 알고리듬과 데이터 탐색 알고리듬은 기존 컴퓨터로도 빠른 시간 안에 풀 수 있는 알고리듬이 존재한다. P와 NP 중 P에 속하는 문제다.


해밀턴 경로 문제
4개의 도시가 있다. 갈 수 있는 비행편은 아래 화살표와 같이 정해져 있다. 이 비행편을 이용해 애틀랜타에서 디트로이트로 가려고 한다. 모든 도시를 한 번씩만 경유해서 가는 경로(해밀턴 경로)가 존재할 수 있을까(애틀랜타는 A, 보스턴은 B, 시카고는 C, 디트로이트는 D로 표기한다).➏A에서 출발하지 않은 가닥(ㄷ),(ㄹ)을 제거한다.
➐전체도시를 한 번씩 거쳤을 때보다 긴 가닥(ㄴ)을 제거한다.
➑각 도시가 포함되지 않은 가닥(ㄱ)을 제거한다.
➒살아남은 가닥(ㅁ)을 복제한다.
➓(ㅁ)의 DNA서열을 읽어낸다.
 

양자 소프트웨어는 아직 준비가 되지 않았다

도이치-조사 알고리듬은 ‘동수함수’와 ‘상수함수’를 판단하는 알고리듬이다. 어떤 함수가 있다고 하자. 이 중 입력 값과 상관없이 함수 값이 모두 0이거나 1인 함수를 상수함수, 입력 값 중 절반은 0을, 나머지 절반은 1을 함수값으로 갖는 함수를 동수함수라 한다. 기존의 컴퓨터 알고리듬으로는 입력 값 N개 중 최소한 절반은 확인해야 하지만, 도이치-조사 알고리듬을 이용하면 그보다 적은 연산으로도 함수 판별이 가능하다.

데이터 탐색 알고리듬은 특정 자료를 검색하는 데 쓰이는 알고리듬이다. 예컨대 병에 까만 바둑알이 99개, 하얀 바둑알이 1개 있다고 하자. 하얀 바둑알을 찾으려면 평균적으로 50번은 찾아야 한다. 이를 좀 더 일반화하면 N개의 정보 중에서 찾고자 하는 정보를 찾기 위해선 번 탐색해야 한다. 그런데 양자역학을 이용한 그로버의 양자 알고리듬에 따르면 훨씬 적은 번의 검색만 하면 된다. 100만 개의 바둑알 중 하나를 찾는다고 했을 때 지금의 컴퓨터는 50만 번을 확인해야 하지만, 양자컴퓨터는 1000번 만에 찾을 수 있다.

두 알고리듬 모두 비교적 적은 수의 연산이 필요하다는 점에서 양자컴퓨터의 가능성을 보여줬지만, 양자컴퓨터를 써야 하는 결정적인 이유가 되지는 못했다. 배준우 한양대 응용수학과 교수는 “단순히 빨라지는 것이 목적이라면 슈퍼컴퓨터를 사용해도 된다”며 “반드시 양자컴퓨터를 개발해야 한다는 근거가 되려면 지금의 컴퓨터가 풀 수 없는 문제를 다루는 양자 알고리듬이 필요하다”고 말했다.
이런 알고리듬이 쇼어 알고리듬이다. 쇼어 알고리듬은 1994년 미국 매사추세츠공대(MIT) 수학과 피터 윌리스턴 쇼어 교수가 개발한 알고리듬으로 소인수분해를 푸는 알고리듬이다. 소인수분해는 기존의 컴퓨터에서 NP에 속하는 문제다. 13195와 6857이라는 두 소인수를 곱하면 90478115다. 두 소인수를 곱하는 건 쉽지만 90478115를 두 소인수로 분해하는 데엔 오랜 시간이 걸린다. 컴퓨터도 마찬가지다. 다항 시간 안에 소인수를 풀 수 있는 알고리듬이 없는 현재로서는, 컴퓨터에게도 난공불락의 문제다. 이 원리를 보안에 이용해 쉽게 풀리지 않는 암호를 만든게 현재 우리가 쓰는 암호체계(RSA 알고리듬)다.

그러나 양자컴퓨터에는 다항 시간 안에 소인수분해를 할 수 있는 쇼어 알고리듬이 있다. 즉, 양자컴퓨터가 개발되면 현재 RSA 알고리듬으로 구현된 암호는 모두 풀릴 수 있다. 김용수 한국과학기술연구원(KIST) 양자정보연구단 선임연구원은 “이런 이유로 쇼어 알고리듬은 양자컴퓨터 연구의 증폭제 역할을 했다”고 말했다. 다만 현재 양자컴퓨터의 ‘킬러 어플리케이션’은 쇼어 알고리듬이 유일하다. 김 연구원은 “하드웨어가 완성되더라도 이를 활용할 소프트웨어가 없으면 양자컴퓨터는 시장성이 없다”고 말했다.



▼관련기사를 계속 보시려면?

Intro. 디지털 시대의 종말, 5세대 컴퓨터
Patr1. 폰노이만 vs 비(非)폰노이만
Part2. 다시 시작된 아날로그 시대, 5세대 컴퓨터
Part3. ‘살아남은 자’의 슬픔, 뇌를 위협한다

 

글 : 최지원 기자 jwchoi@donga.com
과학동아 2015년 12호


위로