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