Skip to main content
QUICK REVIEW

[논문 리뷰] Alphabet-Dependent String Searching with Wexponential Search Trees

Johannes Fischer, Paweł Gawrychowski|arXiv (Cornell University)|2013. 02. 14.
Algorithms and Data Compression참고 문헌 12인용 수 5
한 줄 요약

이 논문은 정적 트리의 경우 $O(m + \lg\lg\sigma)$의 결정론적 최악의 경우 시간 복잡도를 보장하고, 동적 트리의 경우 $O(m + \frac{\lg^2\lg\sigma}{\lg\lg\lg\sigma})$의 시간 복잡도를 달성하는 데이터 구조인 Wexponential Search Trees를 제안한다. 이는 가중치가 부여된 지수 탐색 트리와 가상의 분기 노드, 그리고 점진적인 업데이트를 조합하여 알파벳 크기 $\sigma$에 대한 로그적 의존도를 향상시켜 이전의 $O(m + \lg\sigma)$ bound를 뛰어넘는다.

ABSTRACT

It is widely assumed that $O(m+\lg σ)$ is the best one can do for finding a pattern of length $m$ in a compacted trie storing strings over an alphabet of size $σ$, if one insists on linear-size data structures and deterministic worst-case running times [Cole et al., ICALP'06]. In this article, we first show that a rather straightforward combination of well-known ideas yields $O(m+\lg\lg σ)$ deterministic worst-case searching time for static tries. Then we move on to dynamic tries, where we achieve a worst-case bound of $O(m+\frac{\lg^{2}\lgσ}{\lg\lg\lgσ})$ per query or update, which should again be compared to the previously known $O(m+\lgσ)$ deterministic worst-case bounds [Cole et al., ICALP'06], and to the alphabet \emph{in}dependent $O(m+\sqrt{\lg n/\lg\lg n})$ deterministic worst-case bounds [Andersson and Thorup, SODA'01], where $n$ is the number of nodes in the trie. The basis of our update procedure is a weighted variant of exponential search trees which, while simple, might be of independent interest. As one particular application, the above bounds (static and dynamic) apply to suffix trees. There, an update corresponds to pre- or appending a letter to the text, and an additional goal is to do the updates quicker than rematching entire suffixes. We show how to do this in $O(\lg\lg n + \frac{\lg^{2}\lgσ}{\lg\lg\lgσ})$ time, which improves the previously known $O(\lg n)$ bound [Amir et al., SPIRE'05].

연구 동기 및 목표

  • 이전에 최적으로 여겨졌던 결정론적 선형 공간 트리에서의 $O(m + \lg\sigma)$ 최악의 경우 탐색 시간 복잡도를 극복하고자 한다.
  • 알파벳 크기 $\sigma$에 대한 개선된 의존도를 유지하면서도 효율적인 업데이트와 쿼리를 지원하는 동적 데이터 구조를 설계하고자 한다.
  • 문자열 탐색과 접미사 트리 업데이트의 최악의 경우 시간 복잡도를 $O(\lg n)$에서 $O(\lg\lg n + \frac{\lg^2\lg\sigma}{\lg\lg\lg\sigma})$로 감소시켜 더 빠른 성능을 달성하고자 한다.
  • 가중치가 부여된 지수 탐색 트리의 변형을 도입하여 점진적이고 결정론적인 업데이트를 가능하게 하며, 최악의 경우 오버헤드를 통제하고자 한다.

제안 방법

  • 가중치가 부여된 지수 탐색 트리의 변형을 도입하여, 간선 길이를 제어하기 위해 동적으로 가상의 분기 노드를 삽입함으로써 균형을 유지한다.
  • 각 간선당 마스터 프로세스를 운영하여 $\frac{s}{4}$개의 업데이트 동안 점진적으로 긴 간선을 분할하고 노드를 분기 노드로 전환함으로써 $O(\sigma)$의 시간 복잡도로 분할을 보장한다.
  • 업데이트 중 각 노드에서 이중 포인터(이전 간선 및 새로운 간선)를 유지하고, 연결 리스트를 사용해 소프트 링크를 추적함으로써 점진적인 배열 구축을 가능하게 한다.
  • 노드 순회 순서의 역순으로 문자를 반복하면서 새로운 간선의 배열을 점진적으로 구성함으로써 일관성을 유지한다.
  • 텍스트 확장이 문자열 삽입으로 간주되는 방식으로 접미사 트리에 구조를 적용하여, 업데이트 후에 온라인 패턴 매칭을 효율적으로 지원한다.
  • 간선 길이가 임계값 $s$를 초과할 경우 이를 감지하기 위해 큐 기반 시스템을 사용하고, 성능 한계를 유지하기 위해 간선 분할 및 노드 분기를 유도한다.

실험 결과

연구 질문

  • RQ1선형 공간에서 정적 압축 트리에서 $O(m + \lg\lg\sigma)$의 결정론적 최악의 경우 탐색 시간 복잡도를 달성할 수 있는가?
  • RQ2선형 공간을 유지하면서도 동적 트리의 업데이트 시간 복잡도를 $O(m + \lg\sigma)$에서 $O(m + \frac{\lg^2\lg\sigma}{\lg\lg\lg\sigma})$로 줄일 수 있는가?
  • RQ3제안된 데이터 구조는 접미사 트리에 적용되어 더 빠른 텍스트 확장과 쿼리 검색을 지원할 수 있는가?
  • RQ4완전한 접미사 재처리 없이도 점진적 업데이트를 통해 결정론적 최악의 경우 성능을 유지할 수 있는가?

주요 결과

  • 논문은 정적 압축 트리에서 접두사 및 전행자 쿼리에 대해 $O(m + \lg\lg\sigma)$의 결정론적 최악의 경우 시간 복잡도를 달성하여 이전의 $O(m + \lg\sigma)$ bound를 향상시켰다.
  • 동적 트리의 경우 제안된 구조는 $O(m + \frac{\lg^2\lg\sigma}{\lg\lg\lg\sigma})$의 결정론적 최악의 경우 시간 복잡도로 업데이트와 쿼리를 지원하며, 이는 이전의 $O(m + \lg\sigma)$ bound를 뛰어넘는다.
  • 문자 하나를 접두사로 추가할 경우 접미사 트리의 최악의 경우 업데이트 비용을 $O(\lg n)$에서 $O(\lg\lg n + \frac{\lg^2\lg\sigma}{\lg\lg\lg\sigma})$로 감소시켰다.
  • 가상의 분기 노드와 점진적 간선 분할을 통해 어떤 간선의 길이도 $\frac{3}{2}s$를 초과하지 않도록 보장하여 효율적인 탐색 및 업데이트 성능을 유지한다.
  • 마스터 프로세스 메커니즘은 각 노드가 경량 서브트리의 $\frac{s}{2}$개 이내의 업데이트 이내에 분기 노드로 전환되도록 보장하여 분할된 시간 복잡도의 효율성을 보장한다.
  • 이 데이터 구조는 선형 공간 저장을 지원하며, $\sigma = n^{O(1)}$인 정적 트리에 대해 $O(n)$ 시간 내에 결정론적 구성이 가능하다.

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

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

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

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