결정적 정규표현식과 백레퍼런스의 조화
초록
이 논문은 백레퍼런스를 허용하면서도 결정적(Deterministic) 특성을 유지하는 정규표현식(DRX)을 정의한다. 새로운 자동자 모델인 트랩‑상태 메모리 자동자(TMFA)와 그 결정적 변형(DTMFA)를 기반으로 Glushkov‑구조를 확장하고, DRX가 기존 결정적 정규표현식보다 높은 표현력을 가지면서도 멤버십 문제를 다항식 시간에 해결할 수 있음을 보인다.
상세 분석
논문은 먼저 전통적인 정규표현식(Regex)과 백레퍼런스가 결합된 확장 모델을 소개한다. 백레퍼런스는 변수에 매칭된 문자열을 저장하고 이후에 재사용함으로써 비정규 언어까지 기술할 수 있게 하지만, 그 대가로 멤버십 검증이 NP‑complete가 된다. 반면, XML DTD와 XML Schema에서 사용되는 결정적 정규표현식(Deterministic Regular Expressions, DRE)은 Glushkov 자동자를 통해 각 심볼 위치를 상태로 매핑하고, 이 자동자가 결정적이면 전체 식도 결정적이라고 정의한다. 이러한 결정성은 멤버십을 선형 시간에 해결하게 해준다.
저자들은 이 두 개념을 결합해 DRX(Deterministic Regex)라는 새로운 클래스를 정의한다. 핵심은 기존 메모리 자동자(MFA)를 약간 변형한 TMFA를 도입하고, 이를 결정적으로 제한한 DTMFA를 사용해 Glushkov‑구조를 일반화하는 것이다. TMFA는 변수 바인딩을 상태 전이와 함께 관리하며, 트랩‑상태를 도입해 변수 참조가 불가능한 상황을 명시적으로 표시한다. DTMFA는 이러한 트랩‑상태를 포함해 완전 결정성을 보장하므로, 자동자를 보완 없이 보완 연산(예: 보완, 교집합)에도 활용할 수 있다.
알고리즘적 결과로는 다음을 제시한다. (1) 정규식 α가 k개의 변수와 |Σ|개의 알파벳을 가질 때, α가 결정적인지 O(|Σ|·|α|·k) 시간에 판별하고 동시에 Glushkov 자동자를 구축한다. (2) 입력 문자열 w에 대해, α∈DRX가 w를 생성하는지 O(|Σ|·|α|·n + k·|w|) 시간에 확인한다. 여기서 n은 α 내 터미널·변수 참조의 총 발생 횟수이다. (3) 일반적인 DRX의 교집합 공백성 문제는 불가능하지만, 변수‑스타‑프리(variable‑star‑free) DRX에 대해서는 PSPACE‑complete임을 보이며, 포함·동등성 문제도 같은 복잡도에 속한다. 변수‑스타‑프리란 Kleene 스타 내부에 변수가 등장하지 않는 서브식만 허용하는 제약이다.
표현력 측면에서는 DRX가 순수 정규 언어를 모두 포함하면서도, 기존 결정적 정규표현식이 다룰 수 없는 언어들을 포괄한다. 예를 들어, 변수 바인딩과 백레퍼런스를 이용해 {ww | w∈{a,b}+}와 같은 복제 언어를 기술한다. 또한 모든 단항 정규언어를 포함하지만, 일반적인 정규언어 중 일부는 DRX에 속하지 않는다(예: 특정 비결정적 정규언어). DRX는 합, 연결, 역전, 보완, 동형사상 등 대부분의 언어 연산에 대해 닫혀 있지 않으며, 이는 결정성 유지와 표현력 확대 사이의 트레이드오프를 보여준다.
마지막으로, 저자들은 DRX의 결정성을 보다 완화한 개념(상수 룩어헤드만 허용)도 제안하고, 이 경우에도 결정성 검증이 가산(특히 변수‑스타‑프리 경우)임을 증명한다. 전체적으로 논문은 백레퍼런스와 결정성을 동시에 만족하는 정규표현식의 이론적 기반을 마련하고, 자동자 기반의 효율적인 분석 기법을 제공함으로써 실무와 이론 양쪽에 의미 있는 기여를 한다.
댓글 및 학술 토론
Loading comments...
의견 남기기