Skip to main content
QUICK REVIEW

[논문 리뷰] Linear Time Construction of Cover Suffix Tree and Applications

Jakub Radoszewski|arXiv (Cornell University)|2023. 01. 01.
Algorithms and Data Compression인용 수 2
한 줄 요약

이 논문은 정수 알파벳 위의 문자열에 대해 커버 서피크스 트리(CST)를 선형 시간에 구성하는 최초의 알고리즘을 제시한다. 이는 연속된 부분문자열의 겹치는 발생을 문자열의 런(run, 최대 반복)과 연결하는 새로운 조합적 특성화를 활용한다. 이 방법은 CST의 최적 O(n) 구성과 함께, 모든 시드 및 가장 짧은 α-부분 커버 계산과 같은 쿼지퍼리오디시티 문제에 대해 선형 시간 알고리즘을 가능하게 하며, O(m + output) 시간에 겹치는 연속 발생을 보고하는 O(n)-공간 색인도 제공한다.

ABSTRACT

The Cover Suffix Tree (CST) of a string $T$ is the suffix tree of $T$ with additional explicit nodes corresponding to halves of square substrings of $T$. In the CST an explicit node corresponding to a substring $C$ of $T$ is annotated with two numbers: the number of non-overlapping consecutive occurrences of $C$ and the total number of positions in $T$ that are covered by occurrences of $C$ in $T$. Kociumaka et al. (Algorithmica, 2015) have shown how to compute the CST of a length-$n$ string in $O(n \log n)$ time. We show how to compute the CST in $O(n)$ time assuming that $T$ is over an integer alphabet. Kociumaka et al. (Algorithmica, 2015; Theor. Comput. Sci., 2018) have shown that knowing the CST of a length-$n$ string $T$, one can compute a linear-sized representation of all seeds of $T$ as well as all shortest $α$-partial covers and seeds in $T$ for a given $α$ in $O(n)$ time. Thus our result implies linear-time algorithms computing these notions of quasiperiodicity. The resulting algorithm computing seeds is substantially different from the previous one (Kociumaka et al., SODA 2012, ACM Trans. Algorithms, 2020). Kociumaka et al. (Algorithmica, 2015) proposed an $O(n \log n)$-time algorithm for computing a shortest $α$-partial cover for each $α=1,\ldots,n$; we improve this complexity to $O(n)$. Our results are based on a new characterization of consecutive overlapping occurrences of a substring $S$ of $T$ in terms of the set of runs (see Kolpakov and Kucherov, FOCS 1999) in $T$. This new insight also leads to an $O(n)$-sized index for reporting overlapping consecutive occurrences of a given pattern $P$ of length $m$ in $O(m+output)$ time, where $output$ is the number of occurrences reported. In comparison, a general index for reporting bounded-gap consecutive occurrences of Navarro and Thankachan (Theor. Comput. Sci., 2016) uses $O(n \log n)$ space.

연구 동기 및 목표

  • 정수 알파벳 위의 문자열에 대해 커버 서피크스 트리(CST)를 구성하는 선형 시간 알고리즘을 설계하기.
  • Kociumaka 등(2015)의 O(n log n)-시간 CST 구성 방식을 개선하여 최적의 O(n) 시간 복잡도를 달성하기.
  • 모든 시드와 가장 짧은 α-부분 커버와 같은 쿼지퍼리오디시티 측정치를 선형 시간 내에서 효율적으로 계산할 수 있도록 하기.
  • 패턴의 겹치는 연속 발생을 O(m + output) 시간에 보고할 수 있는 O(n)-크기 색인을 개발하기. 이는 이전의 O(n log n)-공간 솔루션을 향상시킨다.

제안 방법

  • 문자열의 런(최대 반복)과 부분문자열의 겹치는 연속 발생을 연결하는 새로운 조합적 특성화를 도입하기.
  • 단일 런에 의해 유도되는 겹치는 연속 발생을 가진 부분문자열의 집합은 '삼각형 구조'를 가짐을 보여주기.
  • 서피크스 트리의 서피크스 링크를 따라가는 하나의 하향식 순회와 CST를 따라가는 다른 하나의 하향식 순회를 사용하여, 명시적 노드에 대해 cv(v)와 nov(v) 값을 계산하기.
  • 가중치가 있는 조상 쿼리와 범위 최소값 쿼리(RMQ)를 사용하여, 겹치는 연속 발생의 범위 간격을 고려한 O(n)-공간 색인을 구성하기.
  • 정수 알파벳에서 선형 시간 구성 유지를 위해 정확한 해싱과 버킷 정렬을 활용하기.
  • 패턴 발생 보고 중 범위 쿼리를 O(1) 시간에 가능하게 하기 위해 배열 MB와 ML에 대해 RMQ 사전 처리를 수행하기.

실험 결과

연구 질문

  • RQ1정수 알파벳 위의 문자열에 대해 커버 서피크스 트리가 O(n) 시간에 구성될 수 있는가?
  • RQ2겹치는 연속 발생의 새로운 런 기반 특성화가 쿼지퍼리오디시티 측정치의 빠른 계산을 가능하게 하는가?
  • RQ3O(n)-크기 색인을 구축하여, 길이 m인 패턴의 겹치는 연속 발생을 O(m + output) 시간 내에 보고할 수 있는가?
  • RQ4CST를 사용하여 모든 시드와 가장 짧은 α-부분 커버를 선형 시간 내에 계산할 수 있는가?
  • RQ5제안된 접근법을 확장하여 최대 확장 서피크스 트리(MAST)의 구성 시간을 향상시킬 수 있는가?

주요 결과

  • 정수 알파벳 위의 길이 n인 문자열에 대해 커버 서피크스 트리가 O(n) 시간에 구성 가능하며, 최적의 선형 시간 복잡도를 달성한다.
  • 알고리즘은 O(n) 시간 내에 모든 시드를 계산하며, 이는 이전의 O(n log n) 접근 방식보다 크게 향상된 것이다.
  • 모든 α = 1, ..., n에 대해 가장 짧은 α-부분 커버를 O(n) 시간 내에 계산하며, 이는 이전의 O(n log n) bound를 개선한 것이다.
  • O(n)-크기 색인이 구성되어 있으며, 길이 m인 패턴의 모든 겹치는 연속 발생을 O(m + output) 시간 내에 보고한다. 정수 알파벳 기반으로 O(n)의 구성 시간을 확보한다.
  • 핵심 통찰은 부분문자열의 겹치는 연속 발생이 문자열의 런에 의해 완전히 특성화되며, 이는 삼각형 구조를 이끌어내어 효율적인 계산을 가능하게 한다.
  • RMQ와 가중치 기반 조상 쿼리를 사용하여 서피크스 트리와 CST를 각각 하향식 순회함으로써, cv(v)와 nov(v) 값의 효율적 계산이 가능해진다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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