퍼온~사유..!

[=] DNA로 논리 문제 풀기

온울에 2008. 5. 22. 19:35
2007년 06월호 - 셀프사이언스 나노
DNA로 논리 문제 풀기
이중나선 만드는 과정이 연산 알고리즘
| 글 | 장병탁 서울대 전기컴퓨터공학부 교수 ㆍbtzhang@bi.snu.ac.kr |
DNA 1g에는 염기(A, T, G, C)가 1021개 들어있다. 이를 메모리로 환산하면 10억테라비트(Tb, 1Tb=1012b)에 해당하는 엄청난 정보량이다. DNA 분자는 90℃ 이상 높은 온도에서는 단일가닥으로 존재하지만 40℃ 이하에서는 A-T, G-C의 상보결합이 일어나 이중가닥을 형성한다.

이때 DNA 분자 두 개가 수소결합에 의해 하나의 이중나선 구조를 형성하는 현상은 자기조립 과정이다. 또 DNA 분자는 임의의 서열을 갖도록 화학적으로 합성할 수 있고, 복제도 가능하다. 이런 특징을 잘 활용하면 DNA 분자를 이용해 현재의 실리콘 기술에서는 실현할 수 없는 완전히 새로운 패러다임의 컴퓨터를 개발할 수 있다. 이를 DNA 컴퓨터라 부른다. DNA 컴퓨터는 쉽게 말해 DNA 분자에 정보를 코딩하고 이를 물리화학적으로 조작해 정보를 처리하는 장치다.

최근 DNA 컴퓨터 연구는 크게 3가지 방향으로 진화하고 있다. 우선 DNA 분자의 자기조립 과정을 이용해 나노구조물을 만드는 것이다. 두 번째는 DNA가 생체 분자라는 점을 활용해 바이오 정보를 처리하기 위한 소자로 사용하는 것이다. 마지막으로 DNA 분자의 염기들이 자발적으로 상보결합을 이룬다는 특성을 이용해 새로운 계산 과정의 도구로 활용하는 것이다. 이 중 세 번째는 특히 생체 분자를 논리 연산에 사용한다는 점에서 DNA 컴퓨터의 핵심 연구로 주목받고 있다.


자기조립으로 입력, 연산, 출력
1998년 미국 캘리포니아공대 에릭 윈프리 교수는 DNA가 자기조립한다는 성질을 계산 알고리즘에 이용할 수 있다는 개념을 제시했다. 즉 작은 DNA 분자 조각들이 자기조립돼 큰 분자를 만드는 과정 자체가 연산 알고리즘을 수행하는 과정이라는 것이다. 윈프리 교수는 이를 ‘알고리즘적 자기조립’이라고 불렀다.

2000년 미국 뉴욕대 화학자인 나드리안 시먼 교수와 듀크대 컴퓨터과학자인 존 라이프 교수는 이 개념을 토대로 DNA 분자를 이용해 XOR 연산을 할 수 있음을 증명했다. XOR 연산은 두 개의 입력이 다르면 1을, 같으면 0을 출력하는 이진함수다. 즉 00이 입력되면 0을, 10이 입력되면 1을 출력하는 식이다. 시먼 교수와 라이프 교수는 순차적 XOR 연산을 이용했다. 순차적 XOR 연산이란 입력되는 값이 2개 이상일 때 왼쪽에서 오른쪽으로 가면서 순차적으로 XOR 연산을 수행하는 방법이다. 예를 들어 입력값이 101이라면 먼저 왼쪽의 두 비트 10은 XOR 연산에 따라 1이 된다. 이 결과를 원래 입력값인 101의 세 번째 비트 1과 다시 XOR 연산을 하면 최종 결과는 0이 된다.

두 교수는 세 개의 DNA 가닥으로 구성된 다양한 모양의 ‘DNA 타일’을 만들었다. 그런 다음 이 타일에 순차적 XOR 연산을 적용했다. 이때 이들은 순차적 XOR 연산이 이뤄지는 과정을 DNA 타일이 자기조립되는 과정으로 대체했다. 즉 DNA 타일 하나마다 입력값을 기록한 뒤 DNA 타일이 상보결합으로 자기조립되면서 나타나는 DNA 타일을 출력값으로 얻은 것이다.

이런 계산 방법은 기존의 실리콘 컴퓨터에서도 가능하다. 하지만 이들의 연구는 실리콘 회로보다 더 작은 나노 크기에서 DNA 분자의 자기조립을 이용해 계산할 수 있는 가능성을 보여줬다는 점에서 의의가 있다. 또 DNA 분자의 자기조립을 통해서 입력, 연산, 출력이라는 하나의 완전한 정보처리 과정을 수행할 수 있음을 증명했다는 점에서도 의미가 있다.


DNA 분자 학습시키기
최근 질병 진단에 많이 사용되는 DNA칩. DNA 자기해체 과정을 이용하면 DNA칩처럼 질병 진단용 프로그램 DNA를 만들 수 있다.
최근 필자의 연구팀은 DNA 분자를 이용해 인간의 연상기억 정보처리를 모사하는 DNA 컴퓨팅 모델을 개발했다. 연상기억은 상호 연관 관계가 높은 정보들을 더욱 빨리 기억해낼 수 있는 메모리 구조로 인간의 근본적인 정보처리 특징 중 하나다.

예를 들어 ‘커피’라는 단어를 주고 연상되는 단어를 말하라고 할 때 ‘머핀’이라고 대답할 확률이 ‘고양이’라고 대답할 확률보다 일반적으로 높다. ‘커피’와 ‘머핀’의 연관관계가 ‘커피’와 ‘고양이’ 보다는 크기 때문이다. 이런 연상기억 정보처리는 현재 실리콘 컴퓨터가 ‘A면 B’라는 정보처리 방식을 갖고 있는 것과 대조적이다. 특히 언어를 처리하거나 시각 패턴을 인식하는 인공지능 컴퓨터에는 연상기억 정보처리 능력이 필수다. 필자의 연구팀은 연상기억 장치에 ‘DNA 하이퍼망’(DNA hypernetwork)이라는 이름을 붙였다.

DNA 하이퍼망은 DNA 분자 조각들로 메모리 조각을 표현하고, 아주 많은 수의 메모리 조각들이 상보결합(자기조립)하는 과정을 통해 기억을 인출해낸다. DNA 1나노몰(nmol, 1nmol=10-9mol)에는 약 1015개의 DNA 분자가 들어있기 때문에 많은 수의 메모리 조각을 표현하는데 유리하다. 지금까지 DNA 하이퍼망을 여러 가지 패턴 인식 문제에 적용해 시뮬레이션한 결과 기존의 실리콘 컴퓨터 모델보다 인식 능력이 뛰어나다는 사실을 발견했다.

따라서 대규모의 하이퍼망을 DNA 컴퓨터로 실현한다면 인공지능 연구에 새로운 장을 열 것으로 보인다. 2004년 이스라엘 와이즈만공대 연구팀은 흥미롭게도 DNA 자기조립의 반대 과정인 DNA 자기해체(disassembly) 과정을 이용해 정보처리가 가능하다는 사실을 밝혔다. 특히 이를 질병진단에 응용할 수 있음을 보여 주목을 받았다.

연구팀은 DNA 분자를 합성한 뒤 이를 이용해 유전자 진단 규칙을 코딩한 ‘프로그램 DNA’로 만들었다. 프로그램 DNA는 끝 부분 일부가 단일가닥으로 존재하는 이중가닥 구조다. 환자에게서 추출한 데이터 DNA의 일부가 이 프로그램 DNA의 단일가닥과 일치하면 완전한 이중가닥 구조를 만들 것이다. 그러면 이 이중가닥을 인식하는 특수한 효소가 이중가닥을 잘라내고 환자의 데이터 DNA는 다시 프로그램 DNA의 다음 부분과 반응한다. 이렇게 프로그램 DNA의 이중가닥이 잘려나가는 해체과정이 반복되면서 마지막에 남는 프로그램 DNA가 환자의 진단 결과를 표시한다. 최종 진단 결과에 치료 약물에 해당하는 염기서열을 저장하고 있으면 이 프로그램 DNA는 약물 전달체와 같은 효과를 가질 수 있다. 이 방식은 DNA 컴퓨터로 분자 진단과 약물 전달을 할 수 있다는 사실을 보였다는 점에서 의의가 크다. 또 중간에 외부의 간섭 없이 자율적으로 움직이는 자율적 컴퓨팅의 개념을 제시했다는 점에서도 중요하다.


DNA 염기 합성이 공짜
순차적인 정보처리를 토대로 한 전통적인 폰 노이만 방식으로부터 벗어나 새로운 컴퓨터를 개발하려는 시도는 오래전부터 있었다. 폰 노이만 자신도 이미 1956년 병석에서 집필한 책 ‘뇌와 컴퓨터’에서 새로운 패러다임의 컴퓨터를 고민했다. DNA 컴퓨터는 양자 컴퓨터, 신경망 컴퓨터 등과 함께 새로운 형태의 컴퓨터로 눈길을 끌고 있다. 특히 DNA 컴퓨터는 최근 나노기술, 바이오기술, 정보기술과 만나 새로운 융합기술로 발전하고 있다. 여기에는 기존 실리콘 기술의 개입 없이 DNA나 RNA, 단백질 같은 바이오 정보와 직접 반응해 정보를 빨리 처리할 수 있을 뿐만 아니라 화학적으로 DNA를 대량 합성하기 쉽다는 이점이 있다. 머지않아 DNA 염기 1개를 합성하는데 돈이 거의 들지 않는 시대가 올 것이다. 무엇보다 DNA의 자기조립 특성은 새로운 컴퓨터 패러다임을 실현하는 초석이 될 것이다.

P r o f i l e
장병탁 교수는 서울대 컴퓨터공학과를 졸업한 뒤 독일 본대에서 컴퓨터과학으로 박사학위를 받았다. 독일 국립정보기술연구소 연구원을 거쳐 1997년부터 서울대에 재직하고 있다. DNA 컴퓨터를 이용한 바이오 인텔리전스 연구에서 국내의 독보적인 기술력을 인정받고 있다. 인공지능과 기계학습을 위한 새로운 모델 개발에 관심이 많다.


[...] :  http://cafe.naver.com/phclhs.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=624