우선순위 자동자와 언어

우선순위 자동자와 언어
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

연산자 우선순위 문법이 정의하는 플로이드 언어(FL)는 가시적 푸시다운 언어를 포함하면서도 동일한 닫힘 성질을 갖는다. 본 논문은 FL을 동등하게 표현할 수 있는 새로운 자동자 모델인 Floyd 자동자를 제시하고, 이를 무한 문자열까지 확장하여 모델 검증에 활용할 수 있음을 보인다.

상세 분석

연산자 우선순위 문법은 1960년대 Floyd이 제안한 클래식한 결정적 문맥 자유 언어 계열로, 토큰 사이에 정의된 세 종류의 관계(우선, 동등, 뒤따름)를 이용해 파싱 과정을 전적으로 로컬하게 결정한다. 이러한 구조는 가시적 푸시다운 언어(VPL)보다 엄격히 넓은 언어 클래스를 형성하면서도, VPL이 갖는 ‘입력 심볼에 따라 스택 동작이 결정된다’는 특성을 그대로 유지한다는 점에서 흥미롭다. 기존 연구는 주로 문법적 관점에서 FL의 닫힘성(합집합, 교집합, 여집합, 연결, 별연산 등)과 결정성, 그리고 파싱 효율성을 강조했지만, 운영적 모델이 부재해 자동화 도구와 형식 검증에 적용하기 어려웠다.

본 논문은 이러한 공백을 메우기 위해 Floyd 자동자(Floyd Automaton, FA)를 정의한다. FA는 전통적인 푸시다운 자동자와 달리 상태 전이와 스택 조작을 동시에 수행하는 ‘우선순위 전이’와 ‘스택 복구 전이’ 두 종류의 전이 규칙을 도입한다. 전이는 현재 입력 심볼과 스택 최상위 심볼 사이의 우선순위 관계에 따라 선택되며, 이때 스택은 필요에 따라 여러 심볼을 한 번에 팝하거나 푸시한다. 이러한 설계는 연산자 우선순위 문법이 요구하는 ‘다중 심볼 팝’ 동작을 자연스럽게 모델링한다는 점에서 기존 푸시다운 자동자와 차별화된다.

또한 논문은 FA와 기존 FL 사이의 등가성을 정리한다. 구문적으로는 모든 FL을 생성하는 연산자 우선순위 문법이 존재함을 보이고, 운영적으로는 해당 문법을 기반으로 구성된 FA가 동일한 언어를 인식함을 증명한다. 이 과정에서 ‘우선순위 매트릭스’를 활용해 문법 규칙을 전이 함수로 변환하는 알고리즘을 제시하고, 복잡도 분석을 통해 변환이 선형 시간에 수행될 수 있음을 확인한다.

특히 중요한 확장은 무한 문자열(ω-문자열) 처리이다. 기존 FL은 유한 문자열에만 정의되었으나, FA의 전이 구조는 무한 입력 스트림에 대해 수용 조건을 ‘Büchi’ 혹은 ‘Muller’ 형태로 정의할 수 있다. 이를 통해 FL 기반 모델 검증, 예를 들어 프로그램의 무한 실행 경로나 프로토콜의 지속적 행동을 검증하는데 필요한 ω-언어 인식 능력을 확보한다. 논문은 ω-FL의 닫힘성(교집합, 합집합, 보완)과 결정성을 유지함을 보이며, 기존 VPL 기반 ω-자동자와 비교해 표현력에서 엄격히 우위임을 논증한다.

마지막으로 구현 가능성을 논의하며, FA 기반 파서와 모델 체커의 프로토타입을 제시한다. 실험 결과는 전통적인 LR 파서 대비 파싱 속도는 비슷하면서도, 무한 문자열 검증에서는 기존 VPA 기반 도구보다 높은 정확도와 효율성을 보였다. 전체적으로 이 논문은 FL을 운영적 모델과 무한 문자열까지 확장함으로써, 이론적 언어학과 실용적 형식 검증 사이의 격차를 크게 줄인 중요한 기여를 한다.


댓글 및 학술 토론

Loading comments...

의견 남기기