앞으로 컴퓨터는 얼마나 더 빨라지고, 얼마나 더 작아질까? 현재 기존의 실리콘 기반 컴퓨터의 소형화와 고속화는 점차 물리적 한계에 직면하고 있다. 그 돌파구로서 제안되는 것 중 하나가 DNA 생물 컴퓨터이다. 특히 최근에 컬럼비아 대학의 스트로자노빅(Strojanovic) 교수와 그의 동료가, 인간의 도움없이도 삼목(三目) 놓기 게임(tic-tac-toe)을 수행할 수 있는 마야(MAYA)라는 이름의 DNA 컴퓨터를 개발하여, DNA 생물 컴퓨터가 다시 한번 주목을 받고 있다.
2. DNA 생물 컴퓨터의 개념
DNA 컴퓨터의 핵심은, DNA를 정보처리의 기본 단위로 사용하는 것이다. DNA는 사다리를 비틀어서 꼬아 놓은 것처럼 생긴 이중 나선 구조를 가지고 있다. DNA 사다리를 이루고 있는 두 가닥의 줄은 각기 ‘뉴클레오티드’라고 하는 수많은 작은 물질로 이루어져 있는데, 뉴클레오티드는 다음의 네 가지 중 한 가지로, 즉 아데닌(A), 구아닌(G), 시토신(C), 티민(T)으로 존재한다. 그런데 A는 T와만, 그리고 G는 C와만 짝을 이루어서 배열되고, 그 글자들의 배열이 바로 DNA의 “정보”를 형성한다.
DNA 생물 컴퓨터는, 입력된 정보를 A, G, C, T의 4글자로 코딩한 후, DNA 법칙에 따라 DNA 이중가닥을 기어처럼 맞물려 정보를 처리한다. 이해를 돕기 위해, DNA 컴퓨터가 어떻게 “해밀톤 경로” 문제를 푸는 데 사용될 수 있는지 살펴보자. 해밀톤 경로 문제란, 시작점과 도착점이 주어진 그래프 구조에서, 모든 점을 정확히 한번씩만 지나는 경로가 있는지를 결정하는 문제이다. 즉 어떤 여행자가, 각 도시들 을 단 한 번씩만 지나고도 모든 도시들을 다 방문할 수 있는지를 결정하는 문제이다. 1994년 남가주 대학의 아들레만(Adleman) 교수는 각각의 도시들에 20 분자 길이의 단일 DNA 가닥들을 임의로 할당하였다. 그리고 각 도시들을 연결하는 도로들에도 역시 20 분자 길이의 DNA 가닥들을 할당하였는데, 그 DNA가닥의 10개의 분자들은 도로의 한쪽 도시와, 그리고 나머지 10개의 분자들은 그 도로가 연결하는 다른 쪽 도시와 결합할 수 있도록 할당하였다. (A는 T와만, G는 C와만 결합하기 때문에 이러한 할당이 가능하다.) 그런 다음, 이러한 DNA 가닥들을 다량 만들어낸 뒤 한꺼번에 반응시키면, 가능한 모든 경로에 해당하는 DNA 이중 가닥들이 생성되는데, 생성된 경로들 중에 문제의 조건과 일치하는 DNA가 있는 지를 확인하면, 해밀턴 경로 문제를 해결하는 것이 된다.
만약에 이 문제를 기존의 컴퓨터로 푼다면, 가능한 모든 경로들을 일일이 찾아내고 비교해야 하므로 시간이 매우 많이 걸린다. 문제가 더 복잡해질수록 (즉, 도시와 도로들의 개수가 더 많아질수록) 시간은 더욱 더 오래 걸린다. 그러나, 이 경로들을 DNA 용액 상에서 생성하게 되면 비교적 짧은 시간 내에 초병렬적으로 계산이 가능하다. 즉 DNA 생물 컴퓨터는, 문제가 더 커지고 복잡해지더라도 계산 시간이 일정하다는 특징을 가지고 있다. 물론 문제가 복잡해지면 필요한 DNA분자 수가 증가하겠지만, 계산에 걸리는 시간 자체는 일정하게 된다. 다만, 현재의 기술 여건상 DNA 종류를 무한정 다양하게 하거나, DNA 길이를 무한정 늘일 수는 없다는 한계가 있다.
3. 개발 정도와 관련 연구 분야의 현황
사람들이 본격적으로 DNA 생물 컴퓨터를 연구하기 시작한 것은, 앞에 기술한 해밀톤 경로 문제에 대한 아들레만 교수의 실험 결과가 1994년에 <사이어스>지에 발표된 때부터이다. 현재는 세계적으로 프린스턴대, 칼텍대, 듀크대, 죠지아텍, 위스콘신대, 독일의 푸라운호퍼연구소(Fraunhofer Institut), 이스라엘의 히브리대 등의 여러 대학과 연구소, 그리고 세계의 여러 벤처기업들이 활발하게 이 주제를 연구하고 있다. 가까운 일본의 동경대도 1997년부터 이 분야의 연구를 시작하여, <사이언스>지에 DNA 컴퓨터에 대한 논문을 발표하기도 하였다. 그리고 작년에는 광학기기회사로 잘 알려진 올림푸스가 동경대의 기술을 이전 받아 최초의 진단용 DNA 컴퓨터를 개발하였다고 발표하였다.
그러나 DNA 컴퓨터에 관한 연구는 아직 시작 단계라고 말할 수 있다. 이제 겨우 개념을 확립한 정도이다. 아직 입출력 장치도, 운영체제도 프로그래밍 언어도 없다. 잘 정리된 알고리즘의 목록도 없다. 현재 로서는 아주 초보적인 수준의 문제들, 가령 중고등학교 학생들도 종이와 연필만 있으면 쉽게 풀 수 있는 문제들만을 풀고 있는 단계이다. 해결해야 할 과제들도 아직 많다는 의미다. DNA 분자는 매우 다루기 어렵다. 항상 DNA는 기대치 않은 방식으로 반응한다. 전사 오류(transcription errors)도 많이 일어난다. 분자들이 올바르지 않은 반응을 하지 못하도록 하는 DNA 코드를 설계하는 일이 매우 중요한 일이지만, 현재의 기술 수준에서는 쉽지 않은 일이다. 게다가 속도도 느리다. 사실, DNA 화학반응은 전자회로의 수행속도보다 느릴 수밖에 없다. 물론, DNA 조각들의 실제 반응 단계에서는 분자의 초병렬적 연산 특성을 활용할 수 있으나, 각 단계간의 작업은 수작업으로 하게 되므로 전체적으로는 연산 시간이 매우 오래 걸린다. 간단한 문제를 푸는 데 수일 심지어 수주가 걸리기도 한다.
한국도 DNA 컴퓨터 관련 연구는 국제적인 수준에서 볼 때 그 중에서도 초보 단계라고 할 수 있다. 특히 이론적인 부분은 매우 취약하다. 그러나 많은 바이오 벤처들이 가지고 있는 자체 기술들을 생각해볼때, DNA 컴퓨터 개발에 관련된 여러 요소 기술들 중의 일부는 국내에 상당한 잠재력이 있다고 말할 수 있다. 서울대학교 바이오정보기술연구센터(CBIT)의 장병탁 교수 연구팀이 DNA 컴퓨터에 관련된 연구들을 매우 활발히 하고 있어 이 분야에 발전이 예상된다.
4. 의의와 파급 효과
현재로서는 DNA 생물 컴퓨터에 한계들이 많지만, 기술이 발전하면서 이러한 모든 문제들이 다 해결될 날이 오리라고 낙관하는 사람들이 많다. 그렇게 되면, 매우 획기적인 일이 될 것이다. 약 1g의 DNA는 10억 테라비트(Terabit)의 정보저장 능력을 지닌다. 말하자면 1조개의 CD를 담을 수 있을 정도의 정보량을 지닌다. 또한 DNA 컴퓨터는 에너지 효율도 매우 좋다. 이러한 것들은 기존의 컴퓨터를 개량시키는 것으로는 불가능한 일이다. 그러나 많은 전문가들은 DNA 컴퓨터가 현재의 실리콘 PC를 대체하기보다는 재래식 컴퓨터로 처리할 수 없는 영역에 사용될 것으로 예상한다. 예를 들면, DNA 생물 컴퓨터가 초미세 생체 컴퓨터로서 우리 몸 속에서 활동하면서 건강을 체크하고 치료한다든지 하는 일에 사용될 수 있을 것이라고 기대하고 있다. 일부 낙관론자들은 5~10년 안에 DNA 생물 컴퓨터가 현실적으로 응용될 것이라고 전망하기도 한다.