작은 순서수의 유한 자동화 표현
이 논문은 정규 언어의 사전식 순서가 잘 정렬된 경우, 해당 언어를 인식하는 DFA로부터 순서수의 칸토 정규형을 다항 시간에 계산하는 알고리즘을 제시한다. 이를 통해 ω^ω 미만의 모든 순서수에 대해 최소 자동화 크기의 상한을 제시하고, 순서수를 자동화로 변환하는 절차도 제공한다. 결과적으로 두 DFA가 나타내는 잘 정렬된 정규 언어가 동형인지 여부를 다항
초록
이 논문은 정규 언어의 사전식 순서가 잘 정렬된 경우, 해당 언어를 인식하는 DFA로부터 순서수의 칸토 정규형을 다항 시간에 계산하는 알고리즘을 제시한다. 이를 통해 ω^ω 미만의 모든 순서수에 대해 최소 자동화 크기의 상한을 제시하고, 순서수를 자동화로 변환하는 절차도 제공한다. 결과적으로 두 DFA가 나타내는 잘 정렬된 정규 언어가 동형인지 여부를 다항 시간에 판정할 수 있다.
상세 요약
정규 언어와 순서수 사이의 관계는 오래전부터 이론 컴퓨터 과학에서 중요한 연구 주제였다. 특히 사전식(lexicographic) 순서에 의해 정렬된 정규 언어가 나타낼 수 있는 순서수는 ω^ω보다 작다는 사실이 알려져 있다(바르트와 라우프, 1970년대). 이 논문은 그 결과를 한 단계 끌어올려, 주어진 DFA가 인식하는 잘 정렬된 정규 언어 L의 순서형을 정확히 식별하고, 그 순서형을 칸토 정규형(CNF)으로 변환하는 효율적인 절차를 제시한다. 핵심 아이디어는 DFA의 구조를 분석해 “반복 구간”(loop)과 “분기 구간”(branch)으로 분해하고, 각 구간이 기여하는 순서수 항을 재귀적으로 계산하는 것이다. 반복 구간은 ω^k 형태의 항을, 분기 구간은 합집합 연산에 해당하는 덧셈을 의미한다. 논문은 이러한 분해가 DFA의 상태 수 n에 대해 O(n^3) 시간 안에 수행될 수 있음을 증명하고, 실제 구현에서는 O(n^2) 정도의 실험적 복잡도를 보인다.
알고리즘의 주요 단계는 다음과 같다. 첫째, DFA를 최소화하고, 사전식 순서에 따라 상태를 위상 순서(topological order)로 정렬한다. 둘째, 각 상태에 대해 “높이”(height)를 정의하는데, 이는 해당 상태에서 시작되는 부분 언어가 나타내는 순서수의 최고 차수 ω^k를 의미한다. 높이는 역방향 탐색으로 동적 프로그래밍 방식으로 계산된다. 셋째, 각 전이(edge)에 대해 기여하는 순서수 항을 구하고, 이를 합산해 전체 언어의 CNF를 구성한다. 이 과정에서 중복 항을 정리하고, 계수와 지수를 정규화하는 절차가 포함된다.
또한 논문은 ω^ω 미만의 임의의 순서수 α에 대해, α를 인식하는 최소 DFA의 상태 수가 α의 CNF 표현에 나타나는 지수와 계수에 의해 상한이 존재함을 보인다. 구체적으로, α = ω^{k_1}·c_1 + … + ω^{k_m}·c_m (k_1 > … > k_m)라면, α를 구현하는 DFA는 O(∑_{i=1}^m (k_i·c_i))개의 상태를 필요로 한다. 반대로, 주어진 DFA의 크기 n에 대해 표현 가능한 최대 순서수는 ω^{O(n)} 이하임을 증명한다.
마지막으로, 두 DFA가 인식하는 언어가 동형인지 판정하는 문제는 각 DFA에서 CNF를 추출하고, 이를 문자열 형태로 비교하면 된다. CNF 비교는 선형 시간에 가능하므로, 전체 동형 판정 알고리즘은 다항 시간 복잡도를 가진다. 이 결과는 기존에 PSPACE 수준으로 알려졌던 문제를 크게 낮춘 것으로, 자동화 이론과 순서수 이론 사이의 교량 역할을 한다.
📜 논문 원문 (영문)
🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...