• 제목/요약/키워드: 최장 공통 부분문자열

검색결과 4건 처리시간 0.023초

문자열의 최장 공통 부분문자열과 최대 반복자를 구하기 위한 상수시간 RMESH 알고리즘 (Constant Time RMESH Algorithm for Computing Longest Common Substring and Maximal Repeat of String)

  • 한선미;우진운
    • 정보처리학회논문지A
    • /
    • 제16A권5호
    • /
    • pp.319-326
    • /
    • 2009
  • 문자열 연산이 계산 생물학 분야에 응용되면서 효율적인 문자열 연산을 위한 다양한 자료구조와 알고리즘이 연구되고 있다. 최장 공통 부분 문자열 문제는 두 개 이상의 문자열에서 가장 길게 일치하는 부분문자열을 찾는 연산이며, 최대 반복자 문제는 하나의 문자열에서 두 번 이상 반복되는 부분문자열을 찾는 연산이다. 이 연산은 패턴 매칭, 유사도 측정 등의 문자열 처리 분야에서 중요하게 사용되고 있다. 본 논문에서는 RMESH(Reconfigurable MESH) 구조에서 3-차원 $n{\times}n{\times}n$ 프로세서를 사용하여 두 문자열의 최장 공통 부분문자열을 구하는 알고리즘과 주어진 문자열의 최대 반복자를 찾는 알고리즘을 제안하며, 이 알고리즘들은 모두 O(1) 시간 복잡도를 갖는다.

최장 공통 부분 서열과 극대 공통 부분 서열의 길이 비교 및 분석 (Comparison and Analysis of Lengths of Longest Common Subsequence and Maximal Common Subsequence)

  • 이동엽;나중채
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2021년도 추계학술발표대회
    • /
    • pp.15-18
    • /
    • 2021
  • 최장 공통 부분 서열(Longest Common Subsequence, LCS)은 서열 유사도(Similarity)를 측정하기 위한 주요 지표 중 하나로 특별한 가정이 없는 한 두 문자열의 LCS 를 계산하기 위해서는 두 문자열의 길이의 곱에 비례하는 시간이 필요하다. 최근 최장(longest)이라는 조건을 극대(maximal)로 완화한 극대 공통 부분 서열(Maximal Common Subsequence, MCS)이 제시되었고, 두 문자열의 MCS 를 선형에 가까운 시간에 찾는 알고리즘이 개발되었다. 극대는 최장을 보장하지 않기 때문에 두 문자열의 MCS 길이는 LCS 길이와 달리 유일하지 않을 수 있고, LCS 길이가 매우 길어도 길이가 1인 MCS가 존재할 수도 있다. 본 논문에서는 기존 알고리즘에 의해 계산되는 MCS 의 효용성을 알아보기 위해, DNA 등 여러 종류의 실제 데이터와 랜덤 생성된 데이터에 대해 LCS 와 MCS 의 길이를 비교했다. MCS 길이는 LCS 길이 대비 실제 데이터에서 32.1 ~ 60.2%, 랜덤 데이터에서는 27.5 ~ 62.9%로 나타났다. 이 비율은 문자열을 이루고 있는 알파벳 수가 많을수록, 문자열의 길이가 길어질수록 감소했다.

써픽스 배열 합병을 이용한 일반화된 써픽스 배열의 효율적인 구축 알고리즘 (Efficient Construction of Generalized Suffix Arrays by Merging Suffix Arrays)

  • 전정은;박희진;김동규
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제32권6호
    • /
    • pp.268-278
    • /
    • 2005
  • 본 논문에서는 A와 B의 써픽스 배열이 주어졌을 때 두 배열을 합병하여 이들의 일반화된 써픽스 배열을 구축하는 방법을 연구하였다. 흘수 써픽스와 짝수 써픽스같이 특별한 경우의 두 써픽스를 합병하는 알고리즘은 이미 발표되었지만, A와 』가 임의의 문자열인 일반적인 경우 두 써픽스 배열을 합병하는 효율적인 알고리즘은 아직 개발되지 않았다. 따라서 현재까지는 A와 B의 써픽스 배열을 합병하기 위해서 A와 B의 써픽스 배열이 이미 주어져 있음에도 불구하고 A$\#$B$\$$라는 문자열에 대한 써픽스 배열을 다시 구축해야했다. 본 논문에서는 상수 문자집합이나 정수 문자집합에서 정의된 임의의 두 문자열 A와 B에 대한 써픽스 배열을 합병하는 효율적인 알고리즘을 제시한다. 실험결과 상수문자집합의 경우 A$\#$B$\$$에대한 써픽스 배열을 다시 구축하는 것보다 합병하는 것이 5배 정도 빨랐다. 여기서 제시한 알고리즘은 써픽스 배열 A에서 스트링 B의 모든 써픽스를 검색하여야 한다. 이를 위해 써픽스 배열에서 정의한 써픽스 링크를 사용하였고, 또 써픽스 링크를 계산하는 효율적인 알고리즘도 개발하였다. 써픽스 링크는 생물정보학에서 사용되는 매칭 통계나 최장 공통 부분 문자열 검색처럼 다른 스트링의 써픽스 배열에서 주어진 스트링의 모든 써픽스를 찾는 데 이용할 수 있으므로, 이를 계산하는 효율적인 방법을 제시한 것 역시 많은 의미를 가진다. 실험을 통해 여기서 제시한 방법이 기존 알고리즘 중 가장 빠른 방법보다 3$\~$4배 정도 빠르다는 것을 보였다.

점 계열 유사도에 기반한 모션 대응 알고리즘 (A Motion Correspondence Algorithm based on Point Series Similarity)

  • 엄기열;정재영;김문현
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권4호
    • /
    • pp.305-310
    • /
    • 2010
  • 본 논문에서는 점 계열 유사도에 기반하여 모션 대응에 대한 휴리스틱 알고리즘을 제안한다. 점 계열은 x좌표를 기준으로 하여 오름 차순으로 정렬된 일련의 점 들의 리스트이다. 본 연구에서는 국부근접성에 기반하여 현재 프레임 전 프레임의 점들을 클러스터링 하고, 각 그룹에 있는 점 들의 순서를 변경해 가면서 여러 개의 가상 점 계열들을 구성하며, 가상 점 계열은 근접 제약조건에 근거한 유사도를 이용하여 현재 프레임의 점 계열과 정합한다. 국부적 애매함을 해결하기 위해 두 개 점 계열간의 가장 긴부분 문자열을 찾는 방법이 전체적인 정보로 사용된다. PETS2009과 CAVIAR데이터 집합들과 같은 다양한 영상 이미지 시퀀스에 대해 본 연구의 모션 대응 알고리즘은 90%이상의 정확도를 보여준다.