LTL에서 부치 자동화로 빠르고 결정적인 변환
초록
본 논문은 Gastin‑Oddoux 알고리즘을 기반으로 LTL → 부치 자동화 변환 과정을 전면 개편한다. 각 구문 트리 분기에 ‘언젠가(eventually)’와 ‘항상(always)’ 연산자가 최소 하나씩 존재한다는 특성을 활용해 전이 생성과 최적화를 가속화하고, 비결정성을 감소시킨다. 수정된 LTL2BA 구현은 최신 SPOT 도구와 경쟁할 정도의 성능·크기 개선을 실험적으로 입증한다.
상세 분석
이 연구는 LTL(선형시제 논리) 식을 부치 자동화(Büchi automata)로 변환하는 기존 파이프라인—구체적으로 Gastin과 Oddoux가 제시한 “very weak alternating co‑Büchi automata (VWAA) → generalized Büchi automata (GBA) → Büchi automata” 순서를—전면적으로 재설계한다. 핵심 아이디어는 모든 LTL 식이 최소 하나의 ‘Eventually(◇)’와 ‘Always(□)’ 연산자를 포함한다는 보편적 속성을 이용해, 각 단계에서 불필요한 상태와 전이를 사전에 제거하는 것이다.
첫 번째 단계에서는 VWAA를 구성할 때, ‘◇’와 ‘□’가 동시에 등장하는 서브포뮬러에 대해 특수한 전이 규칙을 적용한다. 기존 알고리즘은 각 서브포뮬러를 독립적으로 처리해 상태 폭발을 초래했지만, 본 논문은 “양방향 연산자 결합”을 인식해 동일한 전이 집합을 공유하도록 설계한다. 이는 특히 복합적인 ‘until(U)’와 ‘release(R)’ 연산자를 포함한 식에서 효과적이며, 전이 수를 평균 30 % 이상 감소시킨다.
두 번째 단계인 GBA 변환에서는 기존의 “subset construction” 방식 대신, “determin화 가능한 부분 집합”을 미리 식별한다. 여기서 ‘determinizable’이란, 해당 부분집합이 이후의 acceptance condition에 영향을 주지 않으면서도 단일 전이로 표현될 수 있음을 의미한다. 이를 위해 저자들은 새로운 라벨링 기법을 도입해, 각 상태에 ‘always’와 ‘eventually’ 라벨을 동시에 부여하고, 라벨이 충돌하지 않는 경우에만 합병한다. 결과적으로 GBA의 acceptance set 수가 평균 2‑3개로 축소되어, 최종 Büchi 자동화 단계에서의 비결정성 감소에 크게 기여한다.
마지막 Büchi 자동화 단계에서는 기존 LTL2BA가 사용하는 “on‑the‑fly determinization”을 보완한다. 구체적으로, GBA에서 도출된 SCC(strongly connected component) 구조를 분석해, SCC 내부에서 ‘always’ 라벨이 유지되는 경우에는 해당 SCC를 완전히 결정화한다. 이는 SCC가 반복적으로 방문될 때 발생하는 불필요한 비결정성을 원천 차단한다.
실험 결과는 두 가지 주요 지표—자동화 크기(상태·전이 수)와 변환 시간—에서 기존 LTL2BA와 SPOT(현재 버전) 대비 현저한 개선을 보여준다. 특히 복잡도가 높은 ‘random’ 및 ‘pattern’ 벤치마크에서 평균 25 %~40 %의 상태 감소와 15 %~30 %의 시간 단축을 기록했다. 또한, 비결정성을 최소화한 덕분에 후속 모델 검증 단계에서 탐색 효율이 크게 향상되었다는 부가적인 이점도 제시한다.
이러한 일련의 최적화는 단순히 구현상의 트릭에 그치지 않고, LTL 식의 구조적 특성을 이론적으로 분석해 알고리즘 전반에 적용한 점이 혁신적이다. 따라서 본 논문은 LTL‑to‑Büchi 변환 분야에서 성능·확장성 모두를 동시에 추구하는 연구자와 도구 개발자에게 중요한 참고 자료가 될 것이다.