[논문 리뷰] Extending the Burrows-Wheeler Transform for Cartesian Tree Matching and Constructing It
이 논문은 카르테시안 트리 매칭을 위한 버러스-위러러 변환 기반 데이터 구조인 cBWT 인덱스를 위한 컴팩트한 구축 알고리즘을 제안한다. 이는 다수의 텍스트를 효율적으로 인덱싱할 수 있게 하며, O(n lg σ lg n / lg lg n)의 구축 시간과 O(n lg σ)의 공간 복잡도를 달성한다. 동적 확장 기능을 통해 로그 시간 오버헤드를 가지며, 작고 효율적인 작업 공간을 유지하여, 시간 시리즈 및 음악 점수에서 모티프 탐지와 같은 응용 분야에 매우 중요하다.
Cartesian tree matching is a form of generalized pattern matching where a substring of the text matches with the pattern if they share the same Cartesian tree. This form of matching finds application for time series of stock prices and can be of interest for melody matching between musical scores. For the indexing problem, the state-of-the-art data structure is a Burrows-Wheeler transform based solution due to [Kim and Cho, CPM'21], which uses nearly succinct space and can count the number of substrings that Cartesian tree match with a pattern in time linear in the pattern length. The authors address the construction of their data structure with a straight-forward solution that, however, requires pointer-based data structures, resulting in O(n lg n) bits of space, where n is the text length [Kim and Cho, CPM'21, Section A.4]. We address this bottleneck by a construction that requires O(n lg σ) bits of space and has a time complexity of O(n (lg σ lg n)/(lg lg n)), where σ is alphabet size. Additionally, we can extend this index for indexing multiple circular texts in the spirit of the extended Burrows-Wheeler transform without sacrificing the time and space complexities. We present this index in a dynamic variant, where we pay a logarithmic slowdown and need space linear in the input texts in bits for the extra functionality that we can incrementally add texts. Our extended setting is of interest for finding repetitive motifs common in the aforementioned applications, independent of offsets and scaling.
연구 동기 및 목표
- 이전에 포인터 기반 구조로 인해 O(n lg n)의 추가 공간이 필요로 했던 cBWT 인덱스에 대한 컴팩트한 구축 알고리즘의 부재를 보완한다.
- 카르테시안 트리 매칭을 위한 다수의 원형 텍스트를 효율적으로 인덱싱할 수 있도록 하여, 오프셋과 스케일링에 관계없이 반복적인 모티프를 탐지할 수 있도록 한다.
- 새로운 텍스트를 점진적으로 추가할 수 있도록 하는 cBWT 인덱스의 동적 버전을 설계하여, 컴팩트한 공간과 로그 시간 오버헤드를 유지한다.
- 확장된 버러스-위러러 변환을 사용하여 FM-인덱스 프레임워크를 카르테시안 트리 매칭으로 확장함으로써, 최적의 시간 및 공간 복잡도를 유지한다.
- 시간 시리즈 및 음악 데이터에서 모티프 탐지에 필수적인, 인덱싱된 텍스트의 원형 회전에 대한 효율적인 카운팅, LCP, 그리고 서피스 어레이 쿼리 지원
제안 방법
- 다수의 원형 텍스트를 지원하기 위해 확장된 버러스-위러러 변환 기법을 활용해 cBWT 인덱스를 확장한다.
- 점진적 구축 중 수정된 영역를 표시하기 위해 동적 비트스트링 E를 도입하여 업데이트 중에도 인덱스의 기능을 유지한다.
- 새로운 문자열 S의 각 회전 i에 대해, cBWT 인덱스에서의 백워드 서치를 사용해 cntR(Rot(S,i)), plcp∞R(Rot(S,i)), 및 slcp∞R(Rot(S,i))를 계산한다.
- 레마 4.6을 활용해 E 위의 랭크 및 세lecet 연산을 사용하여, 회전된 서피스에서의 질의 값을 재귀적으로 계산한다.
- 레마 2.1의 랭크/세lecet 데이터 구조를 사용하여 cntR 값을 사전순서로 저장함으로써, 컴팩트한 공간과 효율적인 업데이트를 유지한다.
- 반복적 구축을 적용: 첫 번째 텍스트로 시작하여, 각 후속 텍스트를 Lemma 4.7을 사용해 점진적으로 인덱스에 확장하며, 각 확장 전후에 E가 0으로 초기화되는 인variant를 유지한다.
실험 결과
연구 질문
- RQ1포인터 기반 데이터 구조에 의존하지 않고 cBWT 인덱스를 컴팩트한 공간에서 구축할 수 있는가?
- RQ2최적의 시간 및 공간 복잡도를 유지하면서 cBWT 인덱스를 다수의 원형 텍스트로 확장할 수 있는가?
- RQ3새로운 텍스트로 cBWT 인덱스를 동적으로 확장할 때의 시간 및 공간 복잡도는 무엇이며, 로그 시간 오버헤드로 수행할 수 있는가?
- RQ4다수의 텍스트에 걸쳐 패턴의 모든 회전에 대해 효율적인 카운팅 및 LCP 쿼리를 지원할 수 있는가?
- RQ5단지 컴팩트한 보조 데이터 구조만을 사용하여 점진적 구축 중에도 cBWT 인덱스의 기능을 유지할 수 있는가?
주요 결과
- cBWT 인덱스는 O(n lg σ lg n / lg lg n)의 시간과 O(n lg σ) 비트의 공간에서 구축될 수 있으며, 이는 이전의 O(n lg n) 추가 공간 솔루션에 비해 크게 향상된 것이다.
- 이 구축 알고리즘은 새로운 텍스트를 추가하는 동적 확장을 지원하며, 각 확장에 대해 O((λ + ρ) lg σ lg(λ+ρ) / lg lg(λ+ρ))의 시간과 O((λ + ρ) lg σ) 비트의 공간을 소비한다.
- 동적 버전은 길이 m인 패턴에 대해 O(m) 시간 내에 카운팅 쿼리를 수행할 수 있으며, 원래 cBWT 인덱스의 성능을 그대로 유지한다.
- 동적 비트스트링 E의 사용은 오직 로그 시간 오버헤드만을 가지며, 컴팩트하고 점진적인 업데이트를 가능하게 하여, 구축 중에도 인덱스가 기능을 유지한다.
- 확장된 인덱스는 새로운 문자열의 모든 회전에 대해 plcp∞R 및 slcp∞R를 효율적으로 계산할 수 있으며, 오프셋이나 스케일링에 관계없이 다수의 텍스트에서 반복적인 모티프를 탐지할 수 있다.
- 총 길이가 n인 d개의 텍스트에 대해 cBWT 인덱스의 최종 구축은 O(n lg σ lg n / lg lg n) 시간과 O(n lg σ) 공간을 요구하며, 이는 텍스트 길이가 비감소하는 조건에서 성립한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.