[논문 리뷰] Fully dynamic data structure for LCE queries in compressed space
이 논문은 압축된 공간에서 작동하는 첫 번째 완전 동적 LCE(가장 긴 공통 접두사) 데이터 구조를 제안한다. 이는 크기가 w = O(min(z log N log∗M, N))인 서명 인코딩 G를 사용하며, LCE 쿼리 시간은 O(log N + log ℓ log∗M), 업데이트(삽입/삭제) 시간은 O((y + log N log∗M)fA로, 여기서 z는 LZ77 분해 크기, ℓ는 LCE 결과, fA는 선조 쿼리 시간이다. 이 구조는 압축된 문맥 기반 문자열 처리에 대해 향상된 구축 및 쿼리 성능을 제공한다.
A Longest Common Extension (LCE) query on a text $T$ of length $N$ asks for the length of the longest common prefix of suffixes starting at given two positions. We show that the signature encoding $\mathcal{G}$ of size $w = O(\min(z \log N \log^* M, N))$ [Mehlhorn et al., Algorithmica 17(2):183-198, 1997] of $T$, which can be seen as a compressed representation of $T$, has a capability to support LCE queries in $O(\log N + \log \ell \log^* M)$ time, where $\ell$ is the answer to the query, $z$ is the size of the Lempel-Ziv77 (LZ77) factorization of $T$, and $M \geq 4N$ is an integer that can be handled in constant time under word RAM model. In compressed space, this is the fastest deterministic LCE data structure in many cases. Moreover, $\mathcal{G}$ can be enhanced to support efficient update operations: After processing $\mathcal{G}$ in $O(w f_{\mathcal{A}})$ time, we can insert/delete any (sub)string of length $y$ into/from an arbitrary position of $T$ in $O((y+ \log N\log^* M) f_{\mathcal{A}})$ time, where $f_{\mathcal{A}} = O(\min \{ \frac{\log\log M \log\log w}{\log\log\log M}, \sqrt{\frac{\log w}{\log\log w}} \})$. This yields the first fully dynamic LCE data structure. We also present efficient construction algorithms from various types of inputs: We can construct $\mathcal{G}$ in $O(N f_{\mathcal{A}})$ time from uncompressed string $T$; in $O(n \log\log n \log N \log^* M)$ time from grammar-compressed string $T$ represented by a straight-line program of size $n$; and in $O(z f_{\mathcal{A}} \log N \log^* M)$ time from LZ77-compressed string $T$ with $z$ factors. On top of the above contributions, we show several applications of our data structures which improve previous best known results on grammar-compressed string processing.
연구 동기 및 목표
- 정적 또는 압축되지 않은 동적 구조의 한계를 극복하고, 압축된 공간에서 작동하는 완전 동적 LCE 데이터 구조를 설계하는 것.
- 서명 인코딩을 통해 표현된 매우 압축 가능한 문자열에서 효율적인 LCE 쿼리 및 업데이트 연산(삽입/삭제)을 지원하는 것.
- 서명 인코딩을 활용하여 문맥 기반 압축 및 LZ77 기반 압축 문자열의 구축 시간과 공간 효율성을 향상시키는 것.
- 패턴 매칭 및 팰린드롬 탐지와 같은 압축 문자열 처리의 실용적 응용 분야에서 시간 복잡도를 향상시키는 것.
제안 방법
- 논문은 T의 압축 표현으로서의 서명 인코딩 G를 사용하며, 이는 LZ77 분해 또는 직선 프로그램(SLPs)에서 유도되며 크기 w = O(min(z log N log∗M, N))이다.
- G 위의 선조/후속자 데이터 구조를 활용하여 LCE 쿼리를 지원하며, 역순 문자열에 대한 LCP 및 LCS 쿼리의 조합을 통해 O(log N + log ℓ log∗M)의 쿼리 시간을 달성한다.
- 삽입 및 삭제를 서명 인코딩 상의 편집 연산으로 간주하고, 쿼리 시간이 fA인 동적 선조 데이터 구조를 사용하여 업데이트를 지원한다.
- 구축 과정은 SLP 및 그 역순 문자열에 대한 LCP 및 LCS 쿼리의 조합을 사용하며, lcp 배열에 상수 시간 RMQ 구조를 사전 처리하여 수행한다.
- 패턴 매칭을 지원하기 위해 패턴들로부터 압축된 트라이(PTree)를 구축하고, 레벨 조상 및 이진 탐색을 보강하여 효율적인 접두사 쿼리를 지원한다.
- 알고리즘은 스트리밍 방식으로 T를 처리하며, T[1..j]의 가장 긴 접미사를 추적하기 위해 서명 p와 길이 l을 유지한다. 이는 p와의 LCE를 통해 패턴 접두사를 비교함으로써 수행된다.
실험 결과
연구 질문
- RQ1효율적인 쿼리 및 업데이트를 지원하면서 압축된 공간에서 작동하는 완전 동적 LCE 데이터 구조를 설계할 수 있는가?
- RQ2기존의 랜덤화 또는 압축되지 않은 구조보다 더 빠른 결정론적 LCE 쿼리를 달성하기 위해 서명 인코딩을 어떻게 활용할 수 있는가?
- RQ3SLPs 및 LZ77을 포함한 다양한 압축 문자열 표현으로부터 서명 인코딩을 구축하는 데 최적의 구축 시간은 무엇인가?
- RQ4서명 인코딩 프레임워크를 동적 패턴 매칭에 확장하여 패턴의 발생 위치를 효율적으로 출력할 수 있는가?
- RQ5압축된 동적 데이터 구조에서 동적 업데이트 중 발생하는 쓰레기 수집 문제를 효과적으로 관리할 수 있는가?
주요 결과
- 서명 인코딩 G는 O(log N + log ℓ log∗M)의 시간 복잡도로 LCE 쿼리를 지원하며, log∗M = o(log ℓ인 경우 Bille 등 [6]의 최적 랜덤화된 데이터 구조보다 빠르다. 이 조건은 많은 실용적 경우에서 성립한다.
- 이 논문은 압축된 공간에서 작동하는 첫 번째 완전 동적 LCE 데이터 구조를 제시한다. 길이 y인 부분문자열을 삽입/삭제하는 데 O((y + log N log∗M)fA)의 시간 복잡도를 가진다.
- 길이 N인 압축되지 않은 문자열 T로부터의 구축은 O(NfA) 시간과 O(w) 공간을 요구하며, 이는 이전 방법들이 O(N) 이상의 시간이 필요로 했던 것에 비해 크게 향상된 것이다.
- 크기 z인 LZ77 압축 문자열로부터의 구축은 O(zfA log N log∗M) 시간이며, 크기 n인 SLP로부터의 구축은 O(n log log(n log∗M) log N log∗M) 시간, O(n log∗M + w) 공간을 소요한다.
- 이 프레임워크는 향상된 패턴 매칭을 가능하게 하며, 모든 패턴 발생 위치를 보고하는 데 O(|T| log m log N log∗M + occ)의 시간 복잡도를 가지며, 각 위치당 O(log m + occ)의 시간 복잡도를 가진다.
- 역순 패턴 트라이(RPTree)를 통해 패턴의 종료 위치를 출력할 수 있으며, 원래 알고리즘과 동일한 시간 및 공간 복잡도를 유지한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.