결정적 크리프키 구조 최소화의 로그선형 알고리즘

결정적 크리프키 구조 최소화의 로그선형 알고리즘

초록

본 논문은 결정적 크리프키 구조를 최소화하기 위한 O(k·n·log₂ n) 시간 복잡도의 알고리즘을 제시한다. 파티션 정제 기법을 기반으로 하여 기존의 Hopcroft 알고리즘을 크리프키 구조의 라벨링 특성에 맞게 확장하고, 알고리즘의 정합성과 복잡도에 대한 형식적 증명을 제공한다. 실험 결과는 제안 방법이 기존 O(k·n²) 접근법에 비해 현저히 빠른 실행 시간을 보임을 확인한다.

상세 분석

이 논문은 형식 검증 및 모델 검증 분야에서 핵심적인 역할을 하는 결정적 크리프키 구조(Deterministic Kripke Structure, DKS)의 최소화 문제에 집중한다. DKS는 상태 전이 그래프에 각 상태가 원자 명제 집합을 라벨링하는 형태로, 전통적인 DFA와 달리 라벨이 전이와 독립적으로 존재한다는 점이 특징이다. 이러한 라벨링은 동등성 관계 정의에 복잡성을 추가하므로, 기존 DFA 최소화 알고리즘을 그대로 적용할 수 없었다. 저자들은 이 문제를 해결하기 위해 두 단계로 구성된 접근법을 설계한다. 첫 번째 단계는 초기 파티션을 “라벨 동등성”에 따라 구분하는 것으로, 동일한 라벨 집합을 가진 상태들을 하나의 블록으로 묶는다. 두 번째 단계에서는 전이 기반 파티션 정제(partition refinement)를 수행한다. 여기서 핵심은 Hopcroft의 O(k·n·log n) 알고리즘을 차용하되, 전이 전후의 라벨 정보를 동시에 고려하도록 수정한 점이다. 구체적으로, 각 입력 심볼 a∈Σ에 대해 역전이(predecessor) 집합을 계산하고, 이를 이용해 현재 파티션을 세분화한다. 이 과정에서 “분할자(splitter)”는 라벨과 전이 두 가지 조건을 만족하는 상태 집합으로 정의된다.

알고리즘의 복잡도 분석은 두 부분으로 나뉜다. 첫 번째 라벨 기반 초기 파티션 구성은 O(n·k) 시간에 수행되며, 여기서 k는 원자 명제의 수이다. 두 번째 전이 기반 정제 단계는 Hopcroft 알고리즘과 동일한 논리를 따르므로, 각 분할자가 전체 파티션을 최소 O(log n) 번만 방문하게 된다. 따라서 전체 복잡도는 O(k·n·log₂ n)으로, 기존 O(k·n²) 방식에 비해 로그 선형적인 효율성을 확보한다.

정합성 증명에서는 두 가지 주요 정리를 제시한다. 첫 번째 정리는 알고리즘이 생성한 파티션이 “언어 동등성”(language equivalence) 즉, 모든 입력 문자열에 대해 동일한 라벨 집합을 도출하는 상태들의 집합과 정확히 일치함을 보인다. 두 번째 정리는 파티션이 더 이상 정제될 수 없을 때, 즉 모든 블록이 서로 구별 가능한 경우, 해당 파티션이 최소화된 DKS를 정의한다는 것을 증명한다. 증명 과정에서 사용된 불변식(invariant)과 귀류법은 전통적인 DFA 최소화 증명과 유사하지만, 라벨 정보가 추가된 점이 차별점이다.

실험 섹션에서는 무작위로 생성된 대규모 DKS(상태 수 10⁴ 이상, 라벨 수 10~50)를 대상으로 기존 O(k·n²) 알고리즘과 제안 알고리즘을 비교한다. 결과는 평균 15배 이상의 실행 시간 감소와 메모리 사용량 감소를 보여준다. 특히 라벨 수가 많아질수록 제안 방법의 상대적 이점이 커지는 경향을 확인하였다.

마지막으로 논문은 현재 알고리즘이 결정적 구조에만 적용 가능하다는 제한점을 인정하고, 비결정적 크리프키 구조(Nondeterministic Kripke Structure) 최소화와 동시 라벨·전이 최적화 문제에 대한 향후 연구 방향을 제시한다. 전체적으로 이 연구는 모델 검증 도구와 형식 검증 파이프라인에서 상태 폭발 문제를 완화시키는 실용적인 기여를 제공한다.