Skip to main content
QUICK REVIEW

[논문 리뷰] Streaming Algorithms For Computing Edit Distance Without Exploiting Suffix Trees

Diptarka Chakraborty, Elazar Goldenberg|arXiv (Cornell University)|2016. 07. 13.
Algorithms and Data Compression참고 문헌 21인용 수 9
한 줄 요약

이 논문은 접미사 트리에 의존하지 않고 에디트 거리를 스트리밍 방식으로 계산하는 두 가지 알고리즘을 제안한다. 시간 복잡도는 거의 최적에 가깝다. 주요 기여는 O(n + k³)-시간, O(k)-공간 알고리즘으로, 문자열을 한 번의 스캔으로 처리하며, 알파벳 크기와 무관하게 작동하여 작은 에디트 거리 k ≪ n의 경우 실용적이고 효율적이다.

ABSTRACT

The edit distance is a way of quantifying how similar two strings are to one another by counting the minimum number of character insertions, deletions, and substitutions required to transform one string into the other. In this paper we study the computational problem of computing the edit distance between a pair of strings where their distance is bounded by a parameter $k\ll n$. We present two streaming algorithms for computing edit distance: One runs in time $O(n+k^2)$ and the other $n+O(k^3)$. By writing $n+O(k^3)$ we want to emphasize that the number of operations per an input symbol is a small constant. In particular, the running time does not depend on the alphabet size, and the algorithm should be easy to implement. Previously a streaming algorithm with running time $O(n+k^4)$ was given in the paper by the current authors (STOC'16). The best off-line algorithm runs in time $O(n+k^2)$ (Landau et al., 1998) which is known to be optimal under the Strong Exponential Time Hypothesis.

연구 동기 및 목표

  • 에디트 거리 k가 문자열 길이 n보다 훨씬 작은 상황에서 효율적이고 스트리밍 방식의 에디트 거리 계산이 필요한 요구사항를 충족시키기 위해.
  • 특히 큰 알파벳 크기에 대해 높은 상수 요소와 알파벳 크기 의존성을 가지는 접미사 트리 기반 방법의 문제점을 해결하기 위해.
  • 접미사 트리를 피하면서도 가장 잘 알려진 오프라인 시간 복잡도에 근접하거나 이를 향상시키는 실용적인 일회 스트리밍 알고리즘을 설계하기 위해.
  • 알파벳 크기와 무관하게 입력 문자 하나당 상수 개의 연산을 수행하는 단순한 구현이 가능하도록 보장하기 위해.

제안 방법

  • 에디트 거리 행렬에 대한 동적 프로그래밍 접근을 사용하여, 일치하는 문자의 대각선 슬라이드를 추적한다.
  • 일정 주기마다 일관성을 검사하고, 4k개 이상의 연속 일치를 초과하면 '성숙한 대각선'으로 간주하여 성숙 리스트로 이관한다.
  • 활동 중인 대각선 슬라이드를 위한 리스트 L_i와 장기간 일관된 일치를 보이는 대각선을 위한 성숙리스트를 유지하여 안정된 영역에서의 계산을 줄인다.
  • 주기성 성질을 활용: 여러 대각선이 성숙해지면 그들의 차이의 최대공약수(GCD)를 통해 공통 주기를 계산함으로써 효율적인 패턴 탐지가 가능하다.
  • 매칭 수와 활성 대각선 항목에 대한 포인터를 각각 C(d,h)와 D(d,h) 배열로 추적한다.
  • 성숙한 대각선 또는 활성 슬라이딩 리스트에 속한 대각선들만 처리하는 새로운 업데이트 메커니즘을 적용하여 부과적인 계산을 최소화한다.

실험 결과

연구 질문

  • RQ1알파벳 크기와 무관하게 O(n + k³) 시간과 O(k) 공간에서 스트리밍 방식으로 에디트 거리를 계산할 수 있는가?
  • RQ2작은 k에 대해 거의 최적의 시간 복잡도를 달성하면서도 접미사 트리를 피할 수 있는가?
  • RQ3일치하는 부분문자열의 주기성을 어떻게 활용하여 입력 문자 하나당 연산 수를 줄일 수 있는가?
  • RQ4일회 스트리밍 알고리즘이 이론적으로 효율적이면서도 실용적으로 간단하게 구현 가능할 수 있는가?
  • RQ5알파벳 크기가 스트리밍 에디트 거리 알고리즘 성능에 미치는 영향은 무엇이며, 이를 시간 복잡도에서 제거할 수 있는가?

주요 결과

  • 제안된 알고리즘은 O(n + k³) 시간에 작동하고 O(k) 공간을 사용하며, 입력 문자 하나당 상수 개의 연산을 수행한다. 이는 알파벳 크기와 무관하다.
  • 알고리즘은 접미사 트리를 완전히 피함으로써, 높은 상수 요소와 큰 알파벳 크기에 따른 초선형 비용을 제거한다.
  • 강한 지수 시간 가설(Strong Exponential Time Hypothesis) 하에, 가장 잘 알려진 오프라인 알고리즘(O(n + k²))의 시간 복잡도에 k 요소를 제외하고 근접한다.
  • 성숙한 대각선과 주기성 탐지의 활용으로 중복 검사를 건너뛸 수 있어, 장기간 일치하는 세그먼트에서의 계산을 크게 줄였다.
  • 이 알고리즘은 작은 k에 대해 진정으로 선형 시간을 달성한 최초의 알고리즘이며, k가 작지만 n이 큰 생물학적 시퀀스 비교와 같은 응용 분야에서 실용적이다.
  • 실제 효율성은 입력 문자 하나를 처리할 때 소수의 상수 연산만 수행하며, O(k³) 항은 주로 활성 대각선 슬라이드와 성숙 리스트 유지 관리에서 발생한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.