D0L 궁극적 주기성 결정 문제의 새로운 증명
초록
본 논문은 D0L 시스템에서 생성되는 무한 단어가 궁극적으로 주기성을 갖는지 여부를 결정하는 문제를, 최근에 증명된 p‑주기성 결정 결과를 활용하여 보다 간결하게 증명한다. 기존의 Harju‑Linna 증명과 달리, p‑주기성 알고리즘을 핵심 도구로 삼아 결정 가능성을 보이며, 필요한 알고리즘적 절차를 명시한다.
상세 분석
논문은 먼저 D0L 시스템을 (h, u) 형태로 정의하고, h가 u에 대해 연장가능(prolongable)하다는 가정 하에 무한 단어 h^ω(u)=u y h(y) h²(y)…을 고려한다. 여기서 궁극적 주기성은 무한 단어가 uv^ω 형태로 표현될 수 있음을 의미한다. 저자는 문자들을 ‘유한 문자’, ‘무한 문자’, ‘반복 문자’로 구분하고, 각각의 집합 A_F, A_I, A_R, 그리고 A₁=A_I∩A_R을 효과적으로 구성하는 방법을 제시한다. 특히, 사망 문자(Mortal)와 비소멸 문자(non‑erasing) 변환을 통해 A_F와 A_I를 구분하고, 그래프 G(정점은 알파벳, 간선은 h(b) 안에 나타나는 문자)를 이용해 반복 문자를 판별한다.
다음으로 p‑주기성 문제를 다룬다. p≥1에 대해 무한 단어 x의 k‑집합(0≤k<p)을 정의하고, h^ω(u)에서 이러한 k‑집합을 효율적으로 구할 수 있음을 보인다. 핵심은 행렬 M(핵심은 h의 발생 행렬)의 거듭제곱을 모듈로 p로 계산하면 열 합이 결국 주기성을 갖는다는 사실이다. 이를 이용해 그래프 G_h를 구성하고, (문자, 위치 모듈로 p) 쌍을 정점으로 하여 경로 탐색을 통해 k‑집합을 결정한다. 결과적으로, 주어진 코딩 g와 모프 h에 대해 g(h^ω(a))가 궁극적으로 p‑주기적인지 여부를 “같은 k‑집합에 속한 모든 문자에 대해 g(b)=g(c)인지” 검사함으로써 결정 가능함을 정리한다(정리 1).
정리 2는 두 단어 u, v에 대해 hⁿ(u)=hⁿ(v)인 n이 존재하면, 제한된 알파벳 A|에 대해 h|A|(u)=h|A|(v)임을 보이며, 이는 ‘초기 동형성’과 ‘초기 사상’의 성질을 귀납적으로 이용한다. 이 정리는 이후 단계에서 ‘동시 교환’ 관계를 확인할 때 핵심적인 역할을 한다.
최종적으로 정리 3에서는 위 두 정리를 조합해 D0L 궁극적 주기성 문제의 결정 가능성을 증명한다. 알고리즘은 다음과 같이 흐른다. (1) 모든 문자가 h^ω(a)에 무한히 나타나는지 확인하고, 그렇지 않다면 즉시 ‘주기성 없음’으로 판단한다. (2) A₁이 비어 있으면 무한 단어는 유한 접두사 뒤에 유한 문자만 남으므로 자동으로 궁극적 주기성을 가진다. (3) A₁이 하나뿐이면 h(a)=a y 형태가 되며, y에 대해 hⁿ(y)=hⁿ⁺ᵖ(y)인 n, p를 찾으면 주기성을 결정한다. (4) A₁에 두 개 이상의 문자 b가 존재하면, b를 기준으로 단어를 u₀ b u₁ b u₂… 형태로 분해하고, 집합 U={u_i}가 무한한지 여부를 검사한다. U가 무한하면 주기성은 불가능하고, 유한하면 각 u_i에 대해 충분히 큰 m(예: |A|)을 잡아 h^m(b u_i b u_j)=h^m(b u_j b u_i)임을 확인한다. 정리 2를 이용해 이러한 동등성이 전체에 확대되면, 모든 h^ℓ(b u_i) 가 동일한 원시 단어 z의 거듭제곱에 포함됨을 알 수 있다. 마지막으로 정리 1을 적용해 z‑주기성을 검사함으로써 최종 결정을 내린다.
이 증명은 기존 Harju‑Linna 증명에서 복잡하게 다루던 ‘문자 블록의 교환’과 ‘동시 순환’ 논리를 p‑주기성 알고리즘으로 대체함으로써 구조를 단순화한다. 또한, 모든 단계가 유한 자동화 절차(문자 집합 분류, 그래프 탐색, 행렬 모듈러 연산)로 구현 가능하므로 실제 알고리즘 구현에 유리하다.
댓글 및 학술 토론
Loading comments...
의견 남기기