결합 연산의 상태 복잡도 연구
초록
본 논문은 역전 연산과 별표 연산을 각각 문자열 연결 연산과 결합했을 때 발생하는 DFA 상태 복잡도의 상한과 하한을 정확히 규명한다. 개별 연산의 복합적 적용이 단순히 복합 연산의 복합도와 일치하지 않으며, 구조적 제약으로 인해 실제 복잡도는 수학적 합성에 근접하지만 차이가 존재함을 보인다. 두 가지 결합 연산(역전·연결, 별표·연결)에 대해 최적의 증언 언어를 제시하고, 상한이 실제로 달성됨을 증명한다.
상세 분석
논문은 먼저 상태 복잡도(state complexity)의 정의와 기존 연구에서 제시된 개별 연산들의 최악 경우 복잡도를 정리한다. 역전 연산은 n개의 상태를 가진 DFA를 NFA로 변환한 뒤 역전 후 다시 DFA로 변환하면 최악 경우 2ⁿ개의 상태가 필요하다는 것이 알려져 있다. 문자열 연결(concatenation) 연산은 m‑state DFA와 n‑state DFA를 연결했을 때 최악 복잡도가 m·2ⁿ − 2ⁿ⁻¹임이 증명돼 왔다. 별표(star) 연산은 m‑state DFA에 대해 최악 복잡도가 2^{m‑1}+2^{m‑2} (또는 2^{m‑1}+2^{m‑2}+1) 로 알려져 있다.
이러한 개별 결과를 단순히 곱하거나 합성하면, 예를 들어 “역전 후 연결”의 경우 2ᵐ·(m·2ⁿ − 2ⁿ⁻¹) 정도가 예상될 수 있다. 그러나 논문은 실제 자동화 구조를 면밀히 분석함으로써, 역전 후 생성되는 DFA가 매우 특수한 형태(예: 모든 상태가 최종 상태이면서 동시에 비최종 상태인 경우가 없음)를 가지므로, 연결 연산에서 사용되는 서브오토마톤의 상태 집합이 제한된다. 결과적으로 상한은 (2ᵐ − 1)·2ⁿ + 2^{n‑1} 로 제시되며, 이는 단순 곱셈보다 약간 낮은 값이다.
“별표 후 연결”에 대해서도 유사한 접근을 취한다. 별표 연산 후 얻어지는 DFA는 ε‑전이와 루프 구조를 포함하지만, 최종 상태와 비최종 상태가 교차하는 패턴이 제한된다. 따라서 연결 연산에서 발생할 수 있는 상태 조합의 수가 감소한다. 논문은 최종 상한을 (2^{m‑1}+2^{m‑2})·2ⁿ − 2^{n‑1} 로 도출하고, 이를 달성하는 증언 언어를 구체적으로 구성한다.
핵심 통찰은 “연산 간 구조적 의존성”이다. 즉, 앞선 연산이 만든 자동화의 내부 구조가 뒤따르는 연산에서 가능한 상태 전이와 집합을 제한함으로써, 전체 복합 연산의 복잡도가 단순히 개별 복잡도의 수학적 조합과 일치하지 않는다는 점이다. 논문은 이러한 현상이 일반적인 현상임을 보이기 위해 두 가지 구체적인 결합 연산을 선택했으며, 제시된 증언 언어는 각각의 상한이 실제로 달성됨을 증명한다. 또한, 제시된 방법론은 다른 복합 연산(예: 교집합·역전, 보완·연결 등)에도 적용 가능함을 시사한다.