문맥 자유 문법과 푸시다운 자동자를 이용한 하노이 탑 해결
초록
본 논문은 하노이 탑 문제를 문맥 자유 문법(CFG)과 결정적 푸시다운 자동자(DPDA)로 모델링한다. N개의 원판에 대해 하나의 고유한 문자열을 생성하는 CFG를 정의하고, 해당 문자열이 2^N‑1 번의 이동을 기술함을 증명한다. 또한, 같은 논리를 바탕으로 DPDA를 설계해 스택 연산만으로 원판 이동 과정을 시뮬레이션한다.
상세 분석
논문은 먼저 하노이 탑 문제를 전통적인 재귀 알고리즘으로 서술한 뒤, 이를 형식 언어 이론의 관점에서 재해석한다. 핵심 아이디어는 원판 이동을 ‘pᵢⱼ’라는 터미널 심볼로 표현하고, ‘hᵢⱼ(n)’이라는 비터미널을 통해 “n개의 원판을 i에서 j로 옮기고, k를 보조 기둥으로 사용한다”는 의미를 부여하는 것이다. 이때 i, j, k는 {1,2,3}의 서로 다른 인덱스이며, n은 원판 개수를 나타낸다. 문법의 생산 규칙은 두 가지 형태로 구성된다. 첫째, 기본 경우 n=1에 대해 hᵢⱼ(1) → pᵢⱼ 로 정의하여 단일 원판 이동을 직접 기술한다. 둘째, 재귀 경우 n≥2에 대해 hᵢⱼ(n) → hᵢₖ(n‑1) pᵢⱼ hₖⱼ(n‑1) 로 정의함으로써 전통적인 재귀 알고리즘과 동일한 이동 순서를 문자열로 전개한다. 이 규칙은 문맥 자유 문법의 정의에 부합하며, 모든 비터미널이 하나의 비터미널만을 좌측에 두는 형태이므로 CFG임이 명백하다.
증명 부분에서는 귀납법을 통해 L(Γ_N) 가 비어 있지 않음을 보이고, 실제로 생성되는 문자열의 길이가 |ω| = 2^N‑1 임을 확인한다. 특히, 각 단계에서 파생 길이가 1인 경우는 N=1일 때만 발생하고, 그 외의 경우는 재귀적으로 두 개의 하위 파생을 결합하는 구조임을 강조한다. 이 과정에서 ‘hᵢⱼ(n)’가 실제로 n개의 원판을 i→j 로 옮기는 알고리즘을 정확히 기술한다는 점을 논리적으로 설득한다.
다음으로 푸시다운 자동자 설계에 들어가며, 논문은 비결정적 PDA의 정의를 복습한 뒤, 결정적 PDA(M_N)를 제시한다. 스택 심볼 집합 W 에는 위에서 정의한 터미널 pᵢⱼ와 비터미널 hᵢⱼ(n) (n=1…N‑1) 그리고 초기 심볼 z₀가 포함된다. 전이 함수 δ는 네 가지 규칙으로 구성된다. (1) 초기 스택 심볼을 h₁₂(N‑1) p₁₃ h₂₃(N‑1) 로 교체, (2) hᵢⱼ(1) 를 pᵢⱼ 로 교체, (3) hᵢⱼ(n) (n≥2) 를 hᵢₖ(n‑1) pᵢⱼ hₖⱼ(n‑1) 로 교체, (4) pᵢⱼ 를 ε 로 팝한다. 이 전이들은 모두 ε-전이이며, 입력 알파벳 V 가 비어 있기 때문에 자동자는 입력 없이 스택만을 조작한다. 스택이 완전히 비워질 때까지 진행되는 과정을 귀납적으로 분석하면, 각 hᵢⱼ(s) 가 s개의 원판을 올바른 순서대로 이동시키는 과정을 정확히 모방함을 확인할 수 있다. 특히, 스택의 최상위 심볼이 pᵢⱼ 일 때 이를 팝함으로써 실제 원판을 옮기는 동작을 시뮬레이션한다. 따라서 M_N 은 하노이 탑 문제를 완전하게 해결하는 결정적 푸시다운 자동자임이 증명된다.
핵심 통찰은 두 가지이다. 첫째, 하노이 탑의 재귀적 구조가 문맥 자유 언어의 파생 규칙과 일대일 대응한다는 점이다. 이는 전통적인 알고리즘을 형식 언어 이론으로 옮겨 놓음으로써 언어의 길이와 이동 횟수 사이의 정확한 수학적 관계를 드러낸다. 둘째, 스택 기반 자동자를 이용해 입력 없이도 동일한 재귀 과정을 구현할 수 있다는 점이다. 이는 푸시다운 자동자의 계산 능력이 재귀적 문제 해결에 충분함을 실증적으로 보여준다. 이러한 접근은 교육용으로도 유용하며, 형식 언어와 자동자 이론을 실제 알고리즘에 적용하는 좋은 사례가 된다.
댓글 및 학술 토론
Loading comments...
의견 남기기