최장 공통 확장 문제의 시간·공간 절충 연구
초록
이 논문은 문자열 T에 대한 LCE(Longest Common Extension) 자료구조를 설계하고, 파라미터 τ(1≤τ≤n)를 이용해 공간 O(n/√τ)와 시간 O(τ) 혹은 공간 O(n/τ)와 시간 O(τ·log(|LCE(i,j)|/τ)) 사이의 부드러운 절충을 제공한다. 또한 두 문자열 간 LCE를 하나의 문자열로 변환하는 기법과 비균일 셀 프로브 모델에서의 시간·공간 곱 하한을 제시한다. 이 결과는 근사 문자열 매칭·팰린드롬 탐색 등 LCE가 병목인 여러 응용에서 성능 향상을 가능하게 한다.
상세 분석
본 연구는 LCE(Longest Common Extension) 문제, 즉 문자열 T의 두 위치 i와 j에서 시작하는 접미사의 최장 공통 접두사를 빠르게 반환하는 자료구조를 설계하는 데 초점을 맞춘다. 기존에는 최적의 최악시간 O(1)과 선형 공간 O(n) 혹은 최소 공간 O(1)과 선형 시간 O(n) 사이에서만 절충이 알려져 있었다. 저자들은 파라미터 τ를 도입해 “공간 O(n/√τ)·시간 O(τ)”와 “공간 O(n/τ)·시간 O(τ·log(|LCE|/τ))”라는 두 가지 연속적인 절충 곡선을 제시한다. 첫 번째 절충은 τ가 커질수록 공간을 크게 절감하면서도 질의 시간을 선형적으로 늘리는 형태이며, 두 번째 절충은 τ가 작을 때 공간을 크게 절감하고, 질의 시간은 LCE 길이에 비례해 로그 스케일로 증가한다는 점이 특징이다.
핵심 아이디어는 문자열을 일정 간격(τ)으로 샘플링하고, 샘플 포인트 사이에 존재하는 접미사들의 LCP 정보를 압축 저장하는 것이다. 이를 위해 저자들은 “스킵 리스트”와 “레벨 별 해시”를 결합한 계층적 인덱스를 구축한다. 각 레벨은 서로 다른 샘플링 간격을 갖고, 상위 레벨에서는 더 큰 간격을, 하위 레벨에서는 더 작은 간격을 사용한다. 질의 시에는 먼저 큰 간격의 레벨에서 대략적인 일치를 찾고, 점차 작은 간격으로 내려가며 정확한 LCE 길이를 이진 탐색한다. 이 과정에서 로그 |LCE|/τ 만큼의 비교가 필요하므로 두 번째 절충식에 로그 항이 등장한다.
또한 두 문자열 A와 B에 대한 LCE를 하나의 문자열 T에 대한 LCE로 변환하는 “문자열 결합 기법”을 제안한다. A와 B 사이에 고유 구분자를 삽입하고, 각각을 역순으로 복제한 뒤 T에 연결함으로써, A와 B의 접미사 비교를 T의 접미사 비교로 치환한다. 이 변환은 추가적인 선형 공간만을 요구하고, 기존 LCE 자료구조를 그대로 재사용할 수 있게 한다.
비균일 셀 프로브 모델에서 저자들은 시간·공간 곱에 대한 하한을 증명한다. 구체적으로, 어떤 LCE 자료구조라도 S 개의 셀을 사용한다면, 최악 질의 시간 T는 Ω(n²/(S·log n)) 이하일 수 없음을 보인다. 이는 제시된 두 번째 절충이 거의 최적임을 이론적으로 뒷받침한다.
마지막으로, 이 절충을 실제 알고리즘에 적용한 사례를 제시한다. 근사 문자열 매칭에서는 LCE를 이용해 패턴과 텍스트 사이의 최대 매칭 길이를 빠르게 계산할 수 있으며, 제안된 절충을 사용하면 메모리 제한이 있는 환경에서도 O(k·τ)·시간(여기서 k는 허용 오류 수) 내에 매칭을 수행한다. 팰린드롬 탐색에서는 각 중심점에 대해 LCE를 두 번 호출해 가장 긴 팰린드롬을 찾는데, 공간을 절감하면서도 실시간에 가까운 응답을 얻을 수 있다. 전체적으로 이 논문은 LCE 문제에 대한 이론적 한계와 실용적 구현 사이의 격차를 메우는 중요한 기여를 한다.