상세 보기
극대공통부분서열을 찾는 개선된 알고리즘
An Improved Algorithm of Finding a Maximal Common Subsequence
- 신현준;
- 나중채;
- 심정섭
초록
두 문자열의 극대공통부분서열(MCS)은 어떤 문자를 삽입하여도 더 긴 공통부분서열을 만들 수 없는 공통부분서열이다. 최장공통부분서열(LCS)과 달리 MCS의 길이는 다양하고, 가장 긴 MCS가 LCS이다. LCS는 일반적으로 두 서열의 유사도를 비교할 때 사용되지만, 계산하는데 매우 긴 시간이 걸린다. MCS는 LCS보다 빠르게 계산할 수 있으므로 더 긴 MCS를 찾는 문제는 중요하다. 길이의 합이 n인 두 문자열 X와 Y의 MCS 중 하나를 O(n) 공간을 이용하여 시간에 계산하는 알고리즘이 제시되었고 이를 개선한 알고리즘들도 제시되었다. 본 논문에서는 기존의 알고리즘들보다 더 많은 문자를 확인하여, 상수 k가 주어졌을 때 O(kn) 공간을 이용하여 시간에 MCS를 계산하는 알고리즘을 제시한다. 실제 데이터와 무작위로 생성한 데이터를 이용하여 실험을 진행한 결과, 본 논문에서 제시한 알고리즘으로 계산된 MCS의 길이가 기존의 알고리즘으로 계산된 MCS보다, 최대 6.31배 길다.
키워드
maximal common subsequences; longest common subsequences; string comparison; string algorithms; 극대공통부분서열; 최장공통부분서열; 문자열 비교; 문자열 알고리즘
- 제목
- 극대공통부분서열을 찾는 개선된 알고리즘
- 제목 (타언어)
- An Improved Algorithm of Finding a Maximal Common Subsequence
- 저자
- 신현준; 나중채; 심정섭
- 발행일
- 2023-09
- 유형
- Y
- 저널명
- 정보과학회논문지
- 권
- 50
- 호
- 9
- 페이지
- 737 ~ 745