2015년 12월 27일 일요일

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











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

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

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

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

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

두 알고리듬 모두 비교적 적은 수의 연산이 필요하다는 점에서 양자컴퓨터의 가능성을 보여줬지만, 양자컴퓨터를 써야 하는 결정적인 이유가 되지는 못했다. 배준우 한양대 응용수학과 교수는 “단순히 빨라지는 것이 목적이라면 슈퍼컴퓨터를 사용해도 된다”며 “반드시 양자컴퓨터를 개발해야 한다는 근거가 되려면 지금의 컴퓨터가 풀 수 없는 문제를 다루는 양자 알고리듬이 필요하다”고 말했다.





이런 알고리듬이 쇼어 알고리듬이다. 쇼어 알고리듬은 1994년 미국 매사추세츠공대(MIT) 수학과 피터 윌리스턴 쇼어 교수가 개발한 알고리듬으로 소인수분해를 푸는 알고리듬이다. 소인수분해는 기존의 컴퓨터에서 NP에 속하는 문제다. 13195와 6857이라는 두 소인수를 곱하면 90478115다. 두 소인수를 곱하는 건 쉽지만 90478115를 두 소인수로 분해하는 데엔 오랜 시간이 걸린다. 컴퓨터도 마찬가지다. 다항 시간 안에 소인수를 풀 수 있는 알고리듬이 없는 현재로서는, 컴퓨터에게도 난공불락의 문제다. 이 원리를 보안에 이용해 쉽게 풀리지 않는 암호를 만든게 현재 우리가 쓰는 암호체계(RSA 알고리듬)다.

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



댓글 없음: