ASP에서 유사·다양한 해 찾기
이 논문은 답집합 프로그래밍(ASP) 기반 문제에 대해, 주어진 거리 함수에 따라 ‘유사’하거나 ‘다양한’ 해들의 집합을 효율적으로 구하는 여러 결정·최적화 모델과 알고리즘을 제시한다. 오프라인 방식(전체 해를 미리 구하고 클러스터링)과 세 가지 온라인 방식(문제 재작성, 반복적 탐색, 탐색 알고리즘 수정)을 제안하고, 마지막 온라인 방식은 Clasp를 변형한 Clasp‑NK 구현으로 C++‑레벨 거리 함수를 지원한다. 복잡도 분석, 인도유럽어…
저자: Thomas Eiter, Esra Erdem, Halit Erdogan
본 논문은 답집합 프로그래밍(Answer Set Programming, ASP)이라는 선언적 문제 해결 패러다임을 기반으로, “유사한 해” 혹은 “다양한 해”를 동시에 다수 제공해야 하는 실용적 요구를 정형화하고 해결 방법을 제시한다. 서론에서는 제품 구성, 플래닝, 진단, 질의 응답, 계통수 재구성 등 다양한 응용 분야에서 단일 최적해보다 여러 후보 해를 제시하는 것이 의사결정에 도움이 된다는 동기를 제시한다. 이를 위해 두 가지 기본 문제를 정의한다. 첫 번째는 크기 n 인 해 집합 S 가 주어졌을 때, 거리 함수 Δ(S) 가 k 이하(유사) 혹은 k 이상(다양)인지 판단하는 결정 문제이며, 두 번째는 기존 집합 S 에 새로운 해 s 를 추가했을 때 동일한 거리 제한을 만족하는지 여부를 묻는 확장 문제이다. 이 정의는 n, k 을 파라미터화함으로써 “k‑similar n‑set”, “k‑diverse n‑set”, “k‑close solution”, “k‑distant solution” 등 다양한 최적화 변형을 자연스럽게 도출한다.
복잡도 분석(§4)에서는 거리 함수가 다항 시간에 계산 가능하고 그 값의 범위가 다항적으로 제한될 경우, 전체 문제는 Σ₂^P‑complete 혹은 Π₂^P‑complete에 속함을 증명한다. 이는 기존 ASP 기반 단일 해 탐색이 NP‑complete인 것보다 한 단계 높은 복잡도이며, 거리 함수가 비다항적이거나 무한 범위를 가질 경우 더욱 높은 복잡도로 상승한다는 점을 강조한다.
알고리즘적 접근은 크게 오프라인 방식과 세 가지 온라인 방식으로 나뉜다.
1. **오프라인 방식**(§5.1.1) : 문제를 ASP 프로그램으로 인코딩하고, 기존 ASP 솔버(예: Clasp)를 이용해 모든 해를 미리 열거한다. 이후 거리 기반 클러스터링(예: k‑means, 계층적 군집) 혹은 ASP 내부에서 추가 제약을 두어 원하는 유사·다양 집합을 추출한다. 이 방법은 완전하고 정확하지만, 해의 수가 폭발적으로 늘어날 경우 메모리·시간 부담이 크다.
2. **온라인 방법 1**(§5.1.2) : 기존 문제 프로그램에 “다중 해 생성” 규칙과 거리 함수의 ASP 정의를 추가해, 하나의 SAT‑like 탐색으로 n개의 해를 동시에 산출한다. 이 방식은 완전하지만 거리 함수가 ASP로 표현 가능해야 한다는 제약이 있다.
3. **온라인 방법 2**(§5.1.3) : 기존 프로그램을 그대로 두고, 현재까지 얻은 해 하나와 거리 함수 ASP 정의를 결합해 새로운 k‑close 혹은 k‑distant 해를 하나씩 순차적으로 구한다. 이렇게 반복하면 n개의 해를 얻을 수 있지만, 초기 해 선택에 따라 전체 집합의 품질이 크게 달라지며 완전성을 보장하지 못한다.
4. **온라인 방법 3**(§5.1.4) : 탐색 엔진 자체를 수정한다. 저자들은 Clasp의 충돌‑전파·백트래킹 메커니즘에 거리 제한 검사를 삽입해, 해를 찾는 도중에 현재까지 선택된 해들과의 거리 조건을 실시간으로 검사한다. 거리 함수는 C++ 로 구현되어 ASP 표현의 제한을 피할 수 있다. 이 방식은 메모리 사용을 최소화하고, 실험적으로 가장 빠른 성능을 보였으며, 거리 함수가 복잡한 수학 연산을 포함할 경우 ASP‑기반 표현이 불가능함을 보여준다.
실험은 두 가지 도메인에서 수행되었다.
- **계통수 재구성**(§6) : 인도유럽어 계통수를 대상으로 새롭게 정의한 “분할 거리”와 “트리 구조 거리”를 적용하였다. 오프라인 방식과 온라인 방법 3(Clasp‑NK)가 특히 큰 해 공간에서도 10~20배 빠른 실행 시간을 기록했으며, 유사·다양한 계통수를 효과적으로 구해 전문가가 직접 비교·선택할 수 있게 했다. 또한, 기존 계통수 시스템이 제공하지 못하는 “유사·다양한 해 집합” 분석 기능을 제공함으로써 분야적 기여가 크다.
- **블록스 월드 플래닝**(§7) : 행동 기반 해밍 거리를 사용해 여러 플랜을 유사·다양하게 생성하였다. 여기서도 Clasp‑NK가 가장 효율적이었으며, 거리 함수가 복잡한 수학 연산을 포함할 경우 ASP‑기반 표현이 불가능함을 보여준다.
관련 연구(§8)와 비교했을 때, 기존에는 주로 명제 논리, 제약 프로그래밍, 플래닝 전용 알고리즘에서 Hamming 거리와 같은 단순 거리만을 다루었으며, 거리 함수가 다항 시간·다항 범위에 제한되는 경우가 대부분이었다. 본 논문은 이러한 제한을 넘어, 비다항적·무한 범위 거리 함수까지 포괄하고, ASP의 선언적 표현력과 최신 솔버의 효율성을 결합한 점에서 차별성을 가진다.
결론적으로, 이 연구는 ASP 기반 문제 해결에 “다중 해 탐색”이라는 새로운 차원을 도입하고, 이론적 복잡도 분석, 오프라인·온라인 알고리즘 설계, 실제 시스템 구현(Clasp‑NK) 및 두 도메인 실험을 통해 방법론의 타당성과 실용성을 입증하였다. 향후 복잡한 거리 함수가 필요한 설계 최적화, 생물학적 네트워크 분석, 대규모 제품 구성 등 다양한 분야에 적용 가능성이 높다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기