초·다중 복잡도: 단어의 새로운 서브워드 계량법
초록
본 논문은 문자열에서 인접 문자 사이의 거리 제한을 두고 정의한 ‘슈퍼‑d‑서브워드’를 이용해 새로운 복잡도 지표인 슈퍼‑d‑복잡도를 제안한다. 레인보우(모든 문자 서로 다름) 단어에 대해 재귀식, 폐쇄형 수식, 그래프 알고리즘으로 복잡도를 정확히 계산하고, 일반 알파벳에서는 최대 복잡도 값을 탐구한다.
상세 분석
논문은 먼저 기존의 d‑복잡도(인접 문자 간 거리가 ≤ d)와 대비되는 개념으로, 인접 문자 사이의 거리 ≥ d인 산발 서브워드인 ‘슈퍼‑d‑서브워드’를 정의한다. d = 1이면 연속 부분문자열, d = 2이면 전통적인 산발 서브워드와 동일함을 확인한다. 레인보우 단어(문자 중복 없음)에서는 복잡도가 단어 길이 n과 파라미터 d만에 의존하므로 S(n,d)라는 함수를 도입한다.
핵심은 시작 위치 i에서 시작하는 슈퍼‑d‑서브워드의 개수 bₙ,₍d₎(i)에 대한 재귀식
bₙ,₍d₎(i)=1+∑{k=i+d}^{n} bₙ,₍d₎(k) (n>d, 1≤i≤n−d)
와 전체 복잡도 S(n,d)=∑{i=1}^{n} bₙ,₍d₎(i)이다. 이 식을 이용해 동적 프로그래밍 형태의 알고리즘을 제시하고, bₙ,₍d₎(1) 를 Mₙ,₍d₎라 두면 Mₙ,₍d₎=Mₙ₋₁,₍d₎+Mₙ₋₍d₎,₍d₎ (n≥d≥2)라는 ‘d‑미들 시퀀스’를 얻는다. d=2인 경우 Mₙ,₂는 피보나치 수열과 동일하므로 S(n,2)=F_{n+2}−1이라는 간단한 폐쇄형 결과가 도출된다. 일반 d에 대해서는 생성함수 M_d(z)=z/(1−z−z^{d})를 이용해
S(n,d)=∑_{k≥0} \binom{n-(d-1)k}{k+1}
라는 조합적 표현을 얻는다.
그래프적 해석에서는 정점 i와 j 사이에 j−i≥d이면 방향 간선 (i→j)을 두어 DAG를 만든다. 이 그래프의 모든 경로 수를 합산하면 바로 S(n,d)와 일치한다. 무사이클 특성을 이용해 Warshall 알고리즘을 변형한 행렬 누적법으로 복잡도를 O(n³) 시간에 계산할 수 있다. 또한, 각 행렬 원소에 실제 서브워드 집합을 저장하도록 확장하면 모든 슈퍼‑d‑서브워드를 열거할 수도 있다.
일반 단어에 대해서는 최소값이 |w|d (모든 문자 동일)이고, 최대값이 레인보우 경우와 동일함을 보인다. 특히 이진 알파벳에 대해 f(m,n,d)=max{|w|=n} S_w(d) 를 정의하고, d=n−1, n−2, 그리고 d가 n/2 이상인 경우 등에 대한 정확한 값들을 표로 제시한다. 이러한 결과는 복잡도 상한을 추정하거나, 문자열 설계 시 목표 복잡도를 달성하는 데 활용될 수 있다.
전체적으로 논문은 재귀, 조합, 그리고 그래프 이론을 융합해 새로운 문자열 복잡도 척도를 체계적으로 분석하고, 계산 방법을 다양하게 제공함으로써 이론적 연구와 실용적 알고리즘 구현 사이의 다리를 놓는다.
댓글 및 학술 토론
Loading comments...
의견 남기기