유한 문자열에서 팰린드롬의 특성
초록
본 논문은 De Bruijn 단어를 이용해 주어진 길이의 모든 팰린드롬을 효율적으로 열거하는 방법과, 길이 n의 팰린드롬 집합으로부터 길이 n+1의 팰린드롬을 재귀적으로 생성하는 알고리즘을 제시한다. 또한 팰린드롬 복잡도 함수의 형태가 일반적인 부분문자열 복잡도와 다름을 보이고, 길이 n인 모든 단어에 포함된 팰린드롬의 평균 개수에 대한 상한을 구한다. 마지막으로 길이 1·2인 팰린드롬이 모든 길이 n 단어에 얼마나 등장하는지 정확한 식을 도출한다.
상세 분석
이 연구는 유한 문자열에서 팰린드롬이 차지하는 구조적 위치를 정량적으로 파악하고자 한다. 먼저 저자들은 De Bruijn 단어(길이 k = σⁿ인 순환 문자열, σ는 알파벳 크기) 를 활용해 특정 차수의 De Bruijn 그래프에서 모든 길이 ℓ의 팰린드롬을 한 번에 추출하는 방법을 고안한다. 핵심 아이디어는 팰린드롬이 그래프의 대칭 경로와 일대일 대응한다는 점이다. 이를 통해 O(σⁿ) 시간 내에 모든 팰린드롬을 열거할 수 있으며, 기존에 브루트포스 방식으로 진행하던 방법보다 메모리와 시간 효율성이 크게 향상된다.
다음으로 제시된 재귀적 구성법은 길이 n 의 팰린드롬 집합 Pₙ을 입력으로 받아, 양쪽에 동일한 문자 a∈Σ를 붙여 a Pₙ a 형태의 문자열을 생성함으로써 길이 n+2 의 팰린드롬을 만든다. 이때 중복을 방지하기 위해 a가 Pₙ의 양끝 문자와 일치하는 경우를 제외한다. 결과적으로 Pₙ₊₁은 Pₙ에 비해 알파벳 크기만큼 선형적으로 증가하며, 이 과정은 모든 가능한 팰린드롬을 완전하게 커버한다는 증명이 제공된다.
복잡도 측면에서 저자들은 ‘팰린드롬 복잡도 함수’ Pal(w,ℓ) = |{팰린드롬 길이 ℓ 의 부분문자열}| 를 정의하고, 전통적인 ‘부분문자열 복잡도 함수’ C(w,ℓ)와 비교한다. Pal(w,ℓ)은 ℓ이 짝수일 때 급격히 감소하고, 홀수일 때는 일정 구간에서 평탄한 plateau를 형성한다는 실험적 관찰을 제시한다. 이는 팰린드롬이 대칭성 제약을 받기 때문에 가능한 조합 수가 급격히 제한됨을 의미한다.
또한 평균 팰린드롬 개수에 대한 상한을 구하기 위해 모든 길이 n 단어에 대해 기대값 E
댓글 및 학술 토론
Loading comments...
의견 남기기