디스정합 다탈로그와 존재량자: 의미론·결정가능성·복잡도 종합 고찰
초록
본 논문은 디스정합 다탈로그에 존재량자를 허용한 Datalogexor 언어를 정의하고, 그 구문·의미론을 체계화한다. 기존 Datalogex와 달리 헤드에 동시에 이산 선택과 존재량자를 포함함으로써 온톨로지 기반 지식 표현에 적합한 확장성을 제공한다. 결정가능성이 손실되는 문제를 해결하기 위해 여러 제한된 프래그먼트를 제시하고, 각 프래그먼트의 복잡도 범위를 로그스페이스부터 지수시간까지 상세히 분석한다.
상세 분석
Datalogexor는 전통적인 디스정합 다탈로그(Disjunctive Datalog)의 헤드에 ‘∨’와 ‘∃’를 동시에 허용하는 새로운 규칙 형태를 도입한다. 구문적으로는 규칙을 “∃ y₁…yₖ ( A₁ ∨ … ∨ Aₙ ) ← B₁,…,Bₘ”와 같이 기술하며, 여기서 Aᵢ와 Bⱼ는 원자이며 y₁…yₖ는 헤드에만 나타나는 스키마 없는 변수이다. 의미론은 기존 최소 모델(minimal model) 접근을 확장하여, 존재량자에 의해 생성된 무명 개체를 포함하는 ‘확장 최소 해(extended minimal model)’를 정의한다. 이를 위해 ‘인스턴스화(grounding)’ 과정을 두 단계로 나누어, 먼저 존재량자에 대한 스키마 없는 스키마를 도입하고, 이후 전통적인 그라운딩을 수행한다. 논문은 이 인스턴스화가 원래 규칙 집합과 동치임을 정리와 증명을 통해 보인다.
주요 기술적 난제는 존재량자 도입으로 인해 일반적인 체계적 추론이 비결정적이 되고, 무한히 많은 파생이 가능해지는 점이다. 따라서 전체 언어에 대해 쿼리 응답과 모델 검증이 비결정적이며, 심지어 비결정가능성(undecidability)까지 발생한다. 이를 극복하기 위해 저자들은 ‘선형 체인(linear)’, ‘경계(bound)’, ‘단일 존재량자(single-existential)’ 등 기존 Datalogex에서 알려진 제한 조건을 디스정합 버전으로 일반화한다. 예를 들어, ‘선형 디스정합’ 프래그먼트는 각 규칙의 바디에 하나의 원자만 포함하도록 제한함으로써, 존재량자와 이산 선택이 동시에 존재해도 체인 구조가 유지되어 결정가능성을 확보한다.
복잡도 분석에서는 프래그먼트별로 데이터 복잡도와 프로그램 복잡도를 구분한다. 가장 제한적인 ‘단일 존재량자·비분리’ 프래그먼트는 로그스페이스(L) 내에서 쿼리 응답이 가능하지만, 존재량자가 다중으로 허용되고 헤드에 다수의 디스정합이 포함되는 경우에는 EXPTIME까지 상승한다. 특히, ‘전체 Datalogexor’는 EXPSPACE-완전(complete)임을 보이며, 이는 기존 Datalogex의 EXPTIME-완전보다 한 단계 높은 복잡도를 의미한다. 이러한 결과는 온톨로지 기반 데이터 접근(Ontology-Based Data Access, OBDA)이나 데이터 통합 시나리오에서 필요한 표현력과 계산 비용 사이의 트레이드오프를 명확히 제시한다.
마지막으로, 논문은 실용적인 구현 가능성을 논의한다. 인스턴스화 단계에서 스키마 없는 변수에 대한 ‘스키마 생성(skolemization)’을 적용하고, 이후 전통적인 Datalog 엔진에 매핑함으로써 기존 시스템을 재활용할 수 있음을 제안한다. 다만, 프래그먼트 선택에 따라 메모리와 시간 요구량이 크게 달라지므로, 실제 적용 시에는 도메인 특성에 맞는 제한 조건을 사전에 정의하는 것이 필수적이다.