Skip to main content
QUICK REVIEW

[논문 리뷰] A simple linear space algorithm for computing a longest common increasing subsequence

Daxin Zhu, Lei Wang|arXiv (Cornell University)|2016. 08. 25.
Algorithms and Data Compression참고 문헌 11인용 수 6
한 줄 요약

이 논문은 새로운 재귀 공식을 사용하여 두 수열의 가장 긴 증가 부분 수열(LCIS)을 계산하는 간단한 선형 공간 알고리즘을 제시한다. O(nm) 시간 복잡도를 달성하면서도 오직 min{n,m}+1의 공간만을 사용하여 이전 방법들에 비해 크게 단순화되었지만 최적의 시간 효율성을 유지한다.

ABSTRACT

This paper reformulates the problem of finding a longest common increasing subsequence of the two given input sequences in a very succinct way. An extremely simple linear space algorithm based on the new formula can find a longest common increasing subsequence of sizes $n$ and $m$ respectively, in time $O(nm)$ using additional $\min\{n,m\}+1$ space.

연구 동기 및 목표

  • 두 수열의 가장 긴 증가 부분 수열(LCIS)을 계산하기 위한 공간 효율적인 알고리즘을 개발하는 것.
  • 기존의 분할 정복 방법보다 더 단순한 동적 프로그래밍 계산을 가능하게 하는 새로운 재귀 공식을 사용해 LCIS 문제를 재정의하는 것.
  • 공간 복잡도를 O(nm)에서 O(min{n,m}+1)로 감소시키되 시간 효율성을 훼손하지 않는 것.
  • 이전의 분할 정복 방법보다 더 단순하고 실용적이며 구현 가능한 선형 공간 알고리즘을 제공하는 것.
  • 추가로 O(m) 시간 내에 실제 LCIS 수열을 효율적으로 복원하는 것.

제안 방법

  • X의 i번째 원소를 처리할 때, Y의 j번째 위치에서 끝나는 LCIS의 길이인 f(i,j)에 대한 새로운 재귀 공식을 제안한다.
  • x_i = y_j일 때를 감지하기 위해 매칭 함수 δ(i,j)를 사용하며, 이 경우 f(i,j) = 1 + max_{t ∈ β(i,j)} f(i-1,t)로 갱신된다.
  • 현재 및 이전 행의 값을 저장하기 위해 크기가 m+1인 윈도우 배열 L을 사용하여 공간을 min{n,m}+1으로 감소시킨다.
  • 증가 부분 수열 연장에 대한 최적의 이전 값을 효율적으로 추적하기 위해 러닝 최댓값 θ(배열 L[0]에 저장)을 유지한다.
  • 역방향 스캔 함수 Next(j,v,len)를 사용한 백트래킹을 통해 실제 LCIS 수열을 복원한다.
  • 복원 단계를 주 알고리즘에 통합하여 추가로 O(m)의 시간 비용만 발생시킨다.

실험 결과

연구 질문

  • RQ1기존의 분할 정복 방법보다 더 단순한 동적 프로그래밍 공식을 사용하여 LCIS 문제를 선형 공간으로 해결할 수 있는가?
  • RQ2LCIS 문제에서 시간 복잡도를 O(nm)로 유지하면서도 공간 사용량을 O(min{n,m}+1)로 줄일 수 있는가?
  • RQ3시간 복잡도나 구현 복잡도를 증가시키지 않으면서도 실제 LCIS 수열을 효율적으로 복원할 수 있는 공간 효율적 알고리즘을 설계할 수 있는가?
  • RQ4새로운 재귀 공식은 기존 접근 방식에 비해 더 직관적이고 구현이 쉬운 알고리즘을 가능하게 하는가?
  • RQ5시간 복잡도를 증가시키거나 구현을 복잡하게 하지 않고도 공간 감소를 달성할 수 있는가?

주요 결과

  • 제안된 알고리즘은 O(nm) 시간에만 소요되며 min{n,m}+1의 공간만을 사용하여 최적의 공간 효율성을 달성한다.
  • 기존의 Hirschberg의 분할 정복 방법에 기반한 선형 공간 접근 방식보다 더 단순하다.
  • 역방향 스캔 절차를 통해 추가로 O(m) 시간 내에 실제 LCIS 수열을 복원할 수 있다.
  • 새로운 재귀 공식은 복잡한 재귀나 상태 추적 없이도 깔끔하고 효율적인 구현을 가능하게 한다.
  • 공간 사용은 O(min{n,m}+1)로 최소화되었으며, 이는 이 문제에 대해 점근적으로 최적이다.
  • 표준 동적 프로그래밍 해법과 동일한 시간 복잡도를 유지하면서도 메모리 소비를 극적으로 줄였다.

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

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

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

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