Skip to main content
QUICK REVIEW

[논문 리뷰] Order-Preserving Suffix Trees and Their Algorithmic Applications

Maxime Crochemore, Costas S. Iliopoulos|arXiv (Cornell University)|2013. 03. 27.
Algorithms and Data Compression인용 수 7
한 줄 요약

이 논문은 순서 동형성 하에서 시간 시리즈의 효율적 패턴 매칭과 반복성 탐지가 가능한 데이터 구조인 순서를 유지하는 접미사 트리(opSufTree)를 소개한다. $O(n/\log n)/\log\log n$ 시간 복잡도를 가지는 랜덤화된 알고리즘을 제안하여 opSufTree를 구성함으로써 선형 시간 내의 순서를 유지하는 패턴 매칭과 op-정사각형(반복 패턴)의 효율적 탐지를 가능하게 하며, 주식 추세 및 멜로디 매칭에의 적용 가능성을 제시한다.

ABSTRACT

Recently Kubica et al. (Inf. Process. Let., 2013) and Kim et al. (submitted to Theor. Comp. Sci.) introduced order-preserving pattern matching. In this problem we are looking for consecutive substrings of the text that have the same "shape" as a given pattern. These results include a linear-time order-preserving pattern matching algorithm for polynomially-bounded alphabet and an extension of this result to pattern matching with multiple patterns. We make one step forward in the analysis and give an $O(\frac{n\log{n}}{\log\log{n}})$ time randomized algorithm constructing suffix trees in the order-preserving setting. We show a number of applications of order-preserving suffix trees to identify patterns and repetitions in time series.

연구 동기 및 목표

  • 정확한 문자 일치가 아닌 상대적 순서에 기반한 패턴 정의에 기반한 순서를 유지하는 패턴 매칭을 위한 효율적 알고리즘의 필요성을 해결하기 위해.
  • 기존의 접미사 트리 응용을 순서를 유지하는 설정으로 일반화하여 주식 가격과 음악 점수와 같은 시간 시리즈 데이터를 분석하기 위한 새로운 도구를 제공하기 위해.
  • 순서 동형성 하에서 효율적인 쿼리 연산을 지원하는 데이터 구조인 순서를 유지하는 접미사 트리(opSufTree)를 개발하기 위해.
  • 다항식으로 유한한 알파벳에 대해 이전의 선형 시간 솔루션보다 향상된 근사 최적의 시간 복잡도를 가지는 랜덤화된 구축 알고리즘을 제공하기 위해.
  • 기본 반복 패턴인 op-정사각형을 탐지하기 위한 프레임워크를 확장하여 시간 시리즈 내의 반복적 추세를 표현하기 위해.

제안 방법

  • 문자열 간의 순서 동형성은 위치 기반 상대 순서를 사용하여 정의한다: 두 문자열이 서로의 문자 비교 결과를 유지하면 순서 동형이다.
  • 문자열의 코드를 이전 문자들과의 상대 순서를 기록한 쌍 (prev_<, prev_=)의 순서로 정의한다.
  • 입력 문자열의 코드 순서에 기반한 접미사 트리를 구성함으로써 순서를 유지하는 접미사 트리(opSufTree)를 구축한다. 이는 효율적인 순서 동형성 쿼리에 기여한다.
  • 코드 값을 명시적으로 저장하지 않고도 액세스를 시뮬레이션하기 위해 직교 영역 카운팅 기반의 오프라인 문자 오라클을 사용한다.
  • Cole와 Hariharan(또는 Lee, Na, and Park)의 프레임워크를 활용하여 $O(n\log n/\log\log n)$ 시간 복잡도를 가지는 랜덤화된 구축 알고리즘을 설계한다.
  • opSufTree 구조와 코드 기반 비교를 활용하여, 정사각형 탐지 및 LCA 쿼리와 같은 고전적 접미사 트리 알고리즘을 순서를 유지하는 설정으로 적응시킨다.

실험 결과

연구 질문

  • RQ1정확한 문자 시퀀스가 아닌 상대적 순서에 기반한 패턴 정의를 지원하는 접미사 트리 데이터 구조를 구성할 수 있는가?
  • RQ2이러한 데이터 구조의 최적 시간 복잡도는 무엇이며, 랜덤화된 알고리즘으로 이를 달성할 수 있는가?
  • RQ3순서를 유지하는 접미사 트리는 시간 시리즈에서 op-정사각형과 같은 기본 반복 패턴을 탐지하는 데 어떻게 활용될 수 있는가?
  • RQ4정사각형 탐지나 LCA 기반 쿼리와 같은 고전적 접미사 트리 응용은 최소한의 오버헤드로 순서를 유지하는 설정에 어떻게 적응시킬 수 있는가?
  • RQ5작은 크기이면서 효율적으로 구축 가능한 데이터 구조를 통해 순서 동형 부분문자열에 대한 효율적 온라인 쿼리를 지원할 수 있는가?

주요 결과

  • 다항식으로 유한한 알파벳에 대해 이전의 선형 시간 구축 솔루션보다 향상된 $O(n\log n/\log\log n)$ 시간 복잡도를 가지는 랜덤화된 알고리즘을 제안한다.
  • opSufTree를 통해 각 쿼리당 $O(m\log n/\log\log n)$ 시간 복잡도로 순서를 유지하는 패턴 매칭을 수행할 수 있다. 여기서 $m$은 패턴 길이다.
  • 주어진 순서 동형 패턴의 모든 발생 위치는 opSufTree 내 해당 룩서스의 서브트리를 순회하여 효율적으로 보고할 수 있다.
  • opSufTree와 LCA 쿼리를 활용하여 주어진 길이의 op-정사각형을 포함하고 있는지 여부를 선형 시간 내에 확인하는 알고리즘을 제시한다.
  • 모든 op-정사각형을 보고하기 위한 $O(n\log n + \mathit{Occ})$ 시간 복잡도 알고리즘을 개발하였으며, 여기서 $\mathit{Occ}$는 총 발생 수이다.
  • 핵심 통찰은 부분문자열 $w[i..i+2k-1]$이 op-정사각형임과 동시에 $\mathit{suf}_i$와 $\mathit{suf}_{i+k}$의 리프에 대응하는 LCA의 깊이가 $k$ 이상이어야 한다는 점이며, 이는 LCA 데이터 구조를 활용한 효율적 탐지를 가능하게 한다.

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

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

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

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