Skip to main content
QUICK REVIEW

[논문 리뷰] Solving Classical String Problems on Compressed Texts

Yury Lifshits|ArXiv.org|2006. 04. 13.
Algorithms and Data Compression참고 문헌 22인용 수 10
한 줄 요약

이 논문은 텍스트 T와 패턴 P가 모두 직선 프로그램(SLPs)으로 표현되는 경우, 압축된 데이터에서 압축을 해제하지 않고도 효율적인 문자열 연산을 수행할 수 있는 O(n²m) 알고리즘을 제안한다. 이 방법은 산술 등차수열을 기반으로 한 동적 프로그래밍을 사용하며, 이전 방법들보다 뚜렷한 성능 향상을 이룬다. 또한, SLP로 압축된 텍스트에서 커버, 주기, 지문 테이블을 계산하는 데 다항시간 알고리즘을 제공하지만, 허밍거니 거리 계산은 NP- 및 coNP-난이도임을 입증한다.

ABSTRACT

Here we study the complexity of string problems as a function of the size of a program that generates input. We consider straight-line programs (SLP), since all algorithms on SLP-generated strings could be applied to processing LZ-compressed texts. The main result is a new algorithm for pattern matching when both a text T and a pattern P are presented by SLPs (so-called fully compressed pattern matching problem). We show how to find a first occurrence, count all occurrences, check whether any given position is an occurrence or not in time O(n^2m). Here m,n are the sizes of straight-line programs generating correspondingly P and T. Then we present polynomial algorithms for computing fingerprint table and compressed representation of all covers (for the first time) and for finding periods of a given compressed string (our algorithm is faster than previously known). On the other hand, we show that computing the Hamming distance between two SLP-generated strings is NP- and coNP-hard.

연구 동기 및 목표

  • 직선 프로그램(SLPs)으로 표현된 압축된 텍스트에서 고전적인 문자열 문제를 전체 해제 없이 효율적으로 해결할 수 있는지 여부를 규명하는 것.
  • 완전 압축 패턴 매칭(FCPM) 문제를 해결하는 것: SLP로 압축된 텍스트에서 패턴의 발생 위치를 찾는 것.
  • FCPM 알고리즘을 확장하여 압축된 문자열에서 모든 커버, 주기, 지문 테이블을 계산하는 데 응용하는 것.
  • 허밍거니 거리 계산이 SLP에 의해 생성된 문자열에서 NP- 및 coNP-난이도임을 증명함으로써 복잡도의 경계를 설정하는 것.
  • 다양한 문자열 문제에 대해 다항시간 알고리즘이 가능할지 탐색하여, 해법이 가능한 경우와 불가능한 경우를 구분하는 것.

제안 방법

  • 핵심 기법은 텍스트 T와 패턴 P를 생성하는 SLP의 크기가 각각 n과 m일 때, n×m 크기의 테이블에서 동적 프로그래밍을 수행하는 것이다.
  • 테이블의 각 항목은 압축된 텍스트에서 패턴 발생 위치를 나타내는 산술 등차수열을 사용하여 잠재적인 매칭을 추적한다.
  • 서브스트링의 접두사와 접미사를 비교하여 유효한 패턴 발생 여부를 검사하는 새로운 局소 패턴 매칭(Local PM) 절차를 도입하여 오진 검출을 줄인다.
  • SLP의 성질을 활용하여 전체 문자열을 해제하지 않고도 중간 문자열 값과 그 구조적 특징(예: 경계, 커버)을 계산한다.
  • 지문 테이블 계산을 위해, SLP의 구조에 대한 귀납법을 활용해 접두사, 접미사, '자르기 포함' 서브스트링의 지문을 순환적으로 계산한다.
  • 난이도 결과는 부분합 문제에서의 축소를 통해 확립되며, HD(P,T) < h이면 해가 존재하도록 하는 SLP P와 T를 구성한다.

실험 결과

연구 질문

  • RQ1압축된 문자열을 SLP로 표현할 때, 전체 해제 없이 SLP 크기의 다항시간 내에 완전 압축 패턴 매칭 문제를 해결할 수 있는가?
  • RQ2SLP 표현을 사용하여 압축된 문자열의 모든 커버와 주기를 다항시간 내에 계산할 수 있는가?
  • RQ3압축된 문자열의 모든 서브스트링에 대한 지문 테이블을 출력 크기가 유한한 범위 내에서 효율적으로 계산할 수 있는가?
  • RQ4두 개의 SLP에 의해 생성된 문자열 간의 허밍거니 거리 계산의 계산 복잡도는 무엇인가?
  • RQ5현재의 O(n²m)보다 더 효율적인 완전 압축 패턴 매칭 알고리즘이 존재하는가, 아니면 이것이 최선의 복잡도인가?

주요 결과

  • 논문은 텍스트와 패턴을 생성하는 SLP의 크기가 각각 n과 m일 때, 이전의 O(n²m²) 및 O((n+m)⁵log³|T|) 방법보다 뚜렷이 향상된 O(n²m) 완전 압축 패턴 매칭 알고리즘을 제시한다.
  • 산술 등차수열을 기반으로 한 동적 프로그래밍과 새로운 Local PM 절차를 사용하여, 각 항목의 계산을 O(n) 시간으로 줄여 패턴 발생의 유효성 검사를 효율적으로 수행한다.
  • 압축된 문자열의 모든 커버와 주기를 계산하는 데 다항시간 알고리즘을 개발하였으며, 시간 복잡도는 O(n³log²|T|)이다.
  • 압축된 문자열의 모든 서브스트링에 대한 지문 테이블은 O(n|Σ|²log n) 시간 내에 계산되며, 출력 크기는 O(n|Σ|²)이다.
  • 두 개의 SLP에 의해 생성된 문자열 간의 허밍거니 거리 계산 문제가 NP- 및 coNP-난이도임을 증명하여, 압축된 문자열에서 해법이 가능한 문제와 불가능한 문제 사이의 날카로운 복잡도 경계를 설정한다.
  • 결과적으로 제안된 FCPM 알고리즘은 SLP 변환을 통해 LZ로 압축된 텍스트에 직접 적용 가능하며, 동일한 시간 복잡도를 유지한다.

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

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

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

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