공간 분할 방법을 이용한 최적 서열정렬 알고리즘

Optimal Sequence Alignment Algorithm Using Space Division Technique
  • 안희국
  • 노희영

초록

서열 A와 B간의 최적정렬을 찾는 문제는 동적프로그래밍 알고리즘을 사용하여 효과적으로 해결 될 수 있다. 하지만, 길이가 각각 m, n인 두 서열, S1, S2를 정렬하기 위해서는 O(m*n)의 시간과 공간 복잡도를 갖기 때문에 서열의 길이가 길어질 경우에는 시간과 공간 비용 문제로 인해 적용 할 수 없게 된다. 실제 계산상에 제한요소로 작용하는 공간비용 문제를 해결하기 위해 Hirschberg에 의해 제시된 선형공간 알고리즘은 이 문제를 O(n*m)의 시간복잡도와 O(n+m)의 공간복잡도로서 해결하였다. 컴퓨터 기술의 발전으로 CPU의 처리속도가 향상되고, 사용가능한 주기억장치의 공간이 확대됨에 따라, 기억공간은 더 사용하더라도 처리속도는 높일 수 있는 방법이 필요하다. 이를 위해, 본 논문에서는 공간 분할 방법을 통하여 공간 소모는 선형공간 알고리즘보다 많지만, 처리 속도는 빠른 O(n*m)의 시간과 O(n+m)의 공간 비용을 갖는 알고리즘을 제안한다. 또한 분할 시 서열의 길이변화에 따른 분할 수(d) 문제를 일반화하고, 입/출구 노드 개념을 이용하여 불필요한 연산을 제거하였다. 선형공간 알고리즘이 (m+n)의 공간으로 2*m*n에 가까운 속도를 갖는데 비해, 본 알고리즘은 (m+n)*d의 공간으로 m*n에 가까운 결과를 보임을 증명과 실험결과로부터 확인한다.

키워드

Sequence Optimal AlignmentDynamic Programming AlgorithmLinear Space AlgorithmDivision Generalization서열 최적정렬동적프로그래밍 알고리즘선형공간 알고리즘분할일반화
제목
공간 분할 방법을 이용한 최적 서열정렬 알고리즘
제목 (타언어)
Optimal Sequence Alignment Algorithm Using Space Division Technique
저자
안희국노희영
발행일
2007-05
유형
Y
저널명
정보과학회논문지 : 소프트웨어 및 응용
34
5
페이지
397 ~ 406