Skip to main content
QUICK REVIEW

[논문 리뷰] Optimal Time and Space Construction of Suffix Arrays and LCP Arrays for Integer Alphabets

Keisuke Goto|arXiv (Cornell University)|2017. 03. 03.
Algorithms and Data Compression참고 문헌 22인용 수 11
한 줄 요약

이 논문은 정수 알파벳을 위한 접미사 배열(SA)과 가장 긴 공통 접두사(LCP) 배열을 구축하기 위한 최초의 인-place, 선형 시간 알고리즘을 제시한다. 입력과 출력을 제외한 추가 단어를 O(1)로 사용하며, 유형 배열과 보조 데이터 구조를 출력 공간에 압축하여 저장함으로써, SA 및 LCP 구축에 대해 최적의 시간 및 공간 복잡도를 달성한다. 이는 문자열 알고리즘 분야에서 오랫동안 열려있던 문제를 해결한다.

ABSTRACT

Suffix arrays and LCP arrays are one of the most fundamental data structures widely used for various kinds of string processing. We consider two problems for a read-only string of length $N$ over an integer alphabet $[1, \dots, σ]$ for $1 \leq σ\leq N$, the string contains $σ$ distinct characters, the construction of the suffix array, and a simultaneous construction of both the suffix array and LCP array. For the word RAM model, we propose algorithms to solve both of the problems in $O(N)$ time by using $O(1)$ extra words, which are optimal in time and space. Extra words means the required space except for the space of the input string and output suffix array and LCP array. Our contribution improves the previous most efficient algorithms, $O(N)$ time using $σ+O(1)$ extra words by [Nong, TOIS 2013] and $O(N \log N)$ time using $O(1)$ extra words by [Franceschini and Muthukrishnan, ICALP 2007], for constructing suffix arrays, and it improves the previous most efficient solution that runs in $O(N)$ time using $σ+ O(1)$ extra words for constructing both suffix arrays and LCP arrays through a combination of [Nong, TOIS 2013] and [Manzini, SWAT 2004].

연구 동기 및 목표

  • 정수 알파벳을 위한 접미사 배열을 선형 시간 및 인-place로 구축하는 열린 문제를 해결하기 위해.
  • 최적의 시간 및 공간에서 접미사 배열과 LCP 배열을 동시에 구축하기 위해.
  • 기존의 선형 시간 알고리즘의 공간 복잡도를 O(σ)에서 O(1)의 추가 단어로 줄이기 위해.
  • ψ 배열의 인-place 변환을 통해 LCP 배열을 효율적으로 인-place로 계산하기 위해.
  • 향상된 접미사 배열이 필요한 문자열 처리 워크로드를 위한 실용적이고 공간 효율적인 솔루션을 제공하기 위해.

제안 방법

  • 알고리즘은 유도 정렬 프레임워크를 사용하며, 출력 접미사 배열 공간에 유형 배열과 LCP 보조 배열을 저장하여 O(1)의 추가 단어를 달성한다.
  • 출력 배열의 가장 상위 비트(MSB)를 사용하여 접미사와 LE 배열의 요소를 압축 표현한다.
  • 두 가지 핵심 성질을 활용한다: (1) 접미사의 첫 번째 문자는 해당 저장 인덱스에 해당하며, (2) L-접미사와 LMS-접미사의 경우 이전 문자는 현재 문자와 다름.
  • 역 접미사 배열(ISA)을 왼쪽에서 오른쪽으로 스캔하여 ψ 배열(순위 다음 배열)을 인-place로 계산한 후, 이를 인-place로 LCP 배열로 변환한다.
  • 안정적 병합을 피하기 위해 LMS-접미사 정렬 과정의 구조를 재사용함으로써 공간 및 시간 오버헤드를 감소시킨다.
  • 재귀적 부분배열 경계를 저장하는 단순화된 인-place 기법을 사용하여 O(log N)에서 O(1)의 액세스 시간을 달성한다.

실험 결과

연구 질문

  • RQ1정수 알파벳을 위한 접미사 배열을 O(N) 시간과 O(1)의 추가 공간에서 구축할 수 있는가?
  • RQ2접미사 배열과 LCP 배열을 동시에 최적의 시간 및 공간에서 구축할 수 있는가?
  • RQ3추가 메모리 증가 없이 유형 배열과 보조 데이터 구조를 출력 공간 내에 저장할 수 있는가?
  • RQ4O(1)의 추가 단어만을 사용하여 접미사 배열에서 LCP 배열을 인-place로 계산할 수 있는가?
  • RQ5제안된 방법이 이전의 인-place 알고리즘보다 시간 및 공간 효율성 측면에서 뛰어나게 성능을 발휘하는가?

주요 결과

  • 논문은 정수 알파벳을 위한 접미사 배열을 O(N) 시간과 O(1)의 추가 단어로 구축하는 최초의 알고리즘을 제시하며, 최적의 시간 및 공간 복잡도를 달성한다.
  • 사용되지 않는 비트를 활용하여 출력 접미사 배열 공간 내에 유형 배열과 보조 데이터 구조(예: LE 배열)를 저장함으로써 인-place 동작을 가능하게 한다.
  • 역 접미사 배열을 왼쪽에서 오른쪽으로 스캔하여 ψ 배열을 인-place로 변환함으로써 LCP 배열을 인-place로 계산하며, 추가 공간이 필요 없다.
  • Nong(TOIS 2013)의 이전 작업은 σ + O(1)의 추가 단어가 필요했고, Franceschini와 Muthukrishnan(ICALP 2007)의 작업은 O(N log N)의 시간 복잡도를 가졌지만, 본 방법은 이를 초월한다.
  • 본 방법은 SA 및 LCP 구축에 대해 최적의 시간 및 공간 복잡도를 달성하며, 문자열 알고리즘 분야의 오랜 열린 문제를 해결한다.
  • 재귀적 부분배열 경계를 저장하는 단순화된 인-place 기법을 제안하여 O(log N)에서 O(1)의 액세스 시간을 달성한다.

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

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

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

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