SAT 솔버를 이용한 부분 결정 자동화 동기화 문제 해결
초록
본 논문은 부분 결정 자동화(PFA)의 신중 동기화(careful synchronization) 문제를 최소 길이의 동기화 단어를 찾는 형태로 정의하고, 이를 부울 만족 문제(SAT)로 인코딩한 뒤 최신 SAT 솔버를 활용하여 실험적으로 100 상태 이하의 자동화에 대해 효율적인 해결책을 제시한다.
상세 분석
논문은 먼저 동기화 문제를 세 가지 기존 정의(D₁, D₂, D₃)와 신중 동기화(C)로 구분하고, 부분 결정 자동화(PFA)에서는 이 네 정의가 서로 동등하게 작동한다는 이론적 근거를 제시한다. 특히 신중 동기화는 모든 단계에서 정의되지 않은 전이가 없어야 하므로, 실제 시스템(예: 로봇 피더, 오류 복구 코덱)에서 안전성을 보장하는 데 필수적이다. 저자들은 신중 동기화 문제를 “CSW(길이 ℓ인 신중 동기화 단어 존재 여부)”라는 결정 문제로 정형화하고, ℓ을 유니터리 형태로 입력받을 경우 NP‑complete 수준으로 귀결됨을 보인다. 이를 바탕으로 SAT 인코딩을 설계한다.
인코딩은 두 종류의 변수 집합으로 구성된다. 첫 번째는 길이 ℓ의 후보 단어 각 위치에 어떤 알파벳이 사용되는지를 나타내는 m·ℓ개의 문자 변수 xᵢ,ₜ이며, 두 번째는 각 단계 t(0≤t≤ℓ)에서 자동화의 어느 상태가 활성화될 수 있는지를 나타내는 n·(ℓ+1)개의 상태 변수 yⱼ,ₜ이다. 초기 조건(I)에서는 모든 상태가 t=0에서 활성화됨을 보장하고, 문자 제약(L)에서는 각 위치에 정확히 하나의 알파벳만 선택되도록 전형적인 “exactly‑one” 절을 만든다. 전이 제약(T)에서는 자동화의 전이 관계를 논리식 ¬yⱼ,ₜ₋₁ ∨ ¬xᵢ,ₜ ∨ yₖ,ₜ 로 표현해, 현재 활성 상태와 선택된 문자에 따라 다음 단계의 활성 상태가 결정되도록 한다. 정의되지 않은 전이에 대해서는 ¬yⱼ,ₜ₋₁ ∨ ¬xᵢ,ₜ 로 금지한다. 마지막으로 동기화 제약(S)에서는 최종 단계 t=ℓ에서 두 개 이상의 상태가 동시에 활성화되지 않도록 ¬yᵣ,ℓ ∨ ¬yₛ,ℓ (r<s) 형태의 절을 추가한다.
이러한 인코딩은 변수 수가 (m+n)ℓ+n 정도이며, 절 수는 ℓ·m·(m−1)/2 + mn·ℓ + n·(n−1)/2 + O(n) 로, 기존 연구보다 훨씬 압축된 형태다. 특히 알파벳 크기 m이 상수라면 절 수는 Θ(ℓ·n) 수준에 머물러, ℓ과 n이 커져도 SAT 솔버가 효율적으로 처리할 수 있다. 실험에서는 MiniSat, Glucose 등 최신 솔버를 사용해 100 상태 이하의 PFA에 대해 최적 길이의 신중 동기화 단어를 찾아냈으며, 평균 실행 시간은 수 초 이하, 메모리 사용량도 수십 메가바이트 수준에 그쳤다. 이는 기존 휴리스틱 기반 방법이 보장하지 못하는 최적성을 확보하면서도 실용적인 계산 자원을 요구한다는 점에서 큰 의미가 있다.
또한 논문은 신중 동기화가 PSPACE‑complete인 일반 NFA 문제와 달리, ℓ을 유니터리로 제한함으로써 NP‑complete 문제로 전환함을 강조한다. 이는 SAT 기반 접근법이 이론적 복잡도 경계를 활용해 실제 문제에 적용 가능한 틈새를 찾은 사례라 할 수 있다. 마지막으로 저자들은 현재 인코딩이 부분 결정 자동화에 최적화돼 있지만, 완전 결정 자동화(CFA)나 비결정적 자동화(NFA)에도 확장 가능성을 제시하고, 더 큰 자동화에 대한 스케일링 연구와 SAT 솔버의 최신 기술(예: 포트폴리오, 증강 학습 기반 변수 선택)과의 결합을 향후 과제로 남긴다.
댓글 및 학술 토론
Loading comments...
의견 남기기