Skip to main content
QUICK REVIEW

[논문 리뷰] Computing Abelian regularities on RLE strings

Shiho Sugimoto, Naoki Noda|arXiv (Cornell University)|2017. 01. 11.
Algorithms and Data Compression참고 문헌 10인용 수 5
한 줄 요약

이 논문은 러닝 길이 인코딩(RLE)으로 압축된 문자열에서 아벨 정규성—아벨 제곱, 정규 아벨 주기, 최장 공통 아벨 부분문자열—을 효율적으로 계산하는 알고리즘을 제시한다. RLE의 구조적 특성을 활용하여, 아벨 제곱과 정규 아벨 주기 계산은 O(mn) 시간에, 최장 공통 아벨 부분문자열 계산은 O(m²n) 시간에 수행한다. 여기서 m은 RLE 크기이고 n은 원본 문자열 길이이다. 이는 기존의 O(n²) 방법에 비해 압축 가능한 문자열에서 성능을 크게 향상시킨다.

ABSTRACT

Two strings x and y are said to be Abelian equivalent if x is a permutation of y, or vice versa. If a string z satisfies z = xy with x and y being Abelian equivalent, then z is said to be an Abelian square. If a string w can be factorized into a sequence v_1,...,v_s of strings such that v_1 ,..., v_{s-1} are all Abelian equivalent and vs is a substring of a permutation of v_1, then w is said to have a regular Abelian period (p,t) where p = |v_1| and t = |v_s|. If a substring w_1[i..i+l-1] of a string w_1 and a substring w_2[j..j+l-1] of another string w_2 are Abelian equivalent, then the substrings are said to be a common Abelian factor of w_1 and w_2 and if the length l is the maximum of such then the substrings are said to be a longest common Abelian factor of w_1 and w_2. We propose efficient algorithms which compute these Abelian regularities using the run length encoding (RLE) of strings. For a given string w of length n whose RLE is of size m, we propose algorithms which compute all Abelian squares occurring in w in O(mn) time, and all regular Abelian periods of w in O(mn) time. For two given strings w_1 and w_2 of total length n and of total RLE size m, we propose an algorithm which computes all longest common Abelian factors in O(m^2n) time.

연구 동기 및 목표

  • 런닝 길이 인코딩(RLE)을 활용하여 문자열의 구조적 압축을 이용해 아벨 정규성 계산을 가속화하는 것.
  • 압축되지 않은 문자열에서 기존의 O(n²) 알고리즘으로 인한 계산 비효율성을 해결하는 것.
  • 특히 고도로 압축 가능한 입력에 대해 원본 문자열 길이 n이 아닌 RLE 크기 m에 따라 확장되는 알고리즘 개발.
  • RLE 기반 기법을 사용하여 아벨 제곱, 정규 아벨 주기, 최장 공통 아벨 부분문자열을 통합된 프레임워크로 계산하는 것.

제안 방법

  • 입력 문자열을 러닝 길이 인코딩(RLE)으로 표현하여 입력 크기를 n에서 m으로 줄이며, 여기서 m ≤ n이다.
  • 서브스트링 간의 문자 빈도를 효율적으로 비교하고 아벨 동치성을 탐지하기 위해 파리크 벡터를 사용한다.
  • 런(Run) 간의 빈도 균형을 검사함으로써 RLE 요소 위에서 슬라이딩 윈도우 기법을 적용하여 아벨 제곱과 정규 아벨 주기를 탐지한다.
  • 비생산적인 윈도우 이동을 건너뛰기 위해 경계 포인터(bp₁, bp₂)를 활용하여 중복 검사를 줄인다.
  • 파리크 벡터 차이에서 유도된 케이스 기반 조건을 사용하여 두 개의 RLE 압축 문자열 간의 공통 아벨 부분문자열을 탐지한다.
  • 최장 공통 아벨 부분문자열의 출력을 O(m²) 크기로 표현하여 압축되고 효율적인 출력 표현을 보장한다.

실험 결과

연구 질문

  • RQ1압축되지 않은 문자열에서 O(n²) 시간에 비해 RLE 압축 문자열에서 아벨 제곱 탐지가 빠를 수 있는가?
  • RQ2특히 높은 압축 가능성을 지닌 문자열에서 RLE를 사용해 정규 아벨 주기를 더 효율적으로 계산할 수 있는가?
  • RQ3RLE 압축 문자열에서 최장 공통 아벨 부분문자열을 계산하는 최적의 시간 복잡도는 무엇인가?
  • RQ4아벨 동치성을 효율적으로 탐지하기 위해 파리크 벡터 비교를 RLE 세그먼트 간에 어떻게 최적화할 수 있는가?
  • RQ5아벨 정규성의 출력 크기를 원본 문자열 길이 n이 아닌 RLE 크기 m에 따라 유 bounds할 수 있는가?

주요 결과

  • 알고리즘은 모든 아벨 제곱을 O(mn) 시간에 계산하며, m ≪ n일 경우 기존 방법의 O(n²) 시간에 비해 점근적으로 빠르다.
  • 알고리즘은 모든 정규 아벨 주기를 O(mn) 시간에 계산하며, 고도로 압축 가능한 문자열에서 Kociumaka 등이 제시한 O(n(log log n + log σ)) 시간에 비해 향상된다.
  • 총 RLE 크기가 m이고 총 길이가 n인 두 문자열에 대해, 알고리즘은 O(m²n) 시간에 모든 최장 공통 아벨 부분문자열을 계산하며, O(σ)의 작업 공간을 사용한다.
  • 최장 공통 아벨 부분문자열의 출력 표현은 크기가 O(m²) 이내로 유 bounds되어 있으며, 압축된 저장과 효율적인 검색을 가능하게 한다.
  • RLE를 통해 입력 크기를 n에서 m으로 줄임으로써, 특히 m이 n보다 훨씬 작을 경우 압축 가능한 문자열에서 뚜렷한 성능 향상을 달성한다.
  • 파리크 벡터 산술과 경계 포인터(bp₁, bp₂)의 사용으로 RLE 세그먼트 간 아벨 동치성에 대한 상수 시간 검사를 가능하게 하여 효율적인 슬라이딩 윈도우 처리를 실현한다.

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

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

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

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