다항 술어와 단항 술어의 설계 (Design of N-ary and Unary Predicates)
1. 개요
PDDL 술어는 매개변수의 수(arity)에 따라 단항(unary), 이항(binary), 다항(n-ary) 술어로 분류된다. 술어의 인자 수 선택은 도메인 모델의 표현력, 계획기 성능, 인스턴스화 효율에 직접적인 영향을 미친다.
2. 술어 유형별 특성
| 유형 | 인자 수 | 예시 | 용도 |
|---|---|---|---|
| 영항 | 0 | (emergency) | 전역 상태 플래그 |
| 단항 | 1 | (charged ?r) | 객체의 속성 |
| 이항 | 2 | (at ?r ?l) | 두 객체 간의 관계 |
| 삼항 | 3 | (between ?l ?l1 ?l2) | 세 객체 간의 관계 |
3. 단항 술어의 설계
단항 술어는 단일 객체의 속성(property)을 표현한다.
(charged ?r - robot) ; 충전 상태
(gripper_empty ?r - robot) ; 그리퍼 상태
(fragile ?o - item) ; 깨지기 쉬움
(visited ?l - location) ; 방문 여부
3.1 장점
- 인스턴스 수가 객체 수에 비례: O(n)
- 의미가 명확
- 계획기의 휴리스틱에 유리
4. 이항 술어의 설계
이항 술어는 두 객체 간의 관계(relation)를 표현한다.
(at ?r - robot ?l - location) ; 위치 관계
(connected ?l1 ?l2 - location) ; 연결 관계
(holding ?r - robot ?o - item) ; 파지 관계
(on ?o - item ?l - location) ; 물체 위치
4.1 인스턴스 수
n_1 \times n_2 (두 타입의 객체 수의 곱)
5. 다항 술어의 설계 지침
| 지침 | 설명 |
|---|---|
| 인자 수 최소화 | 가능한 한 적은 인자 사용 (인스턴스 수 축소) |
| 3인자 이상 지양 | 3인자 이상은 인스턴스 수가 급증 |
| 분해 고려 | 다항 술어를 복수의 단항/이항 술어로 분해 |
| 의미론적 명확성 | 각 인자의 역할이 명확하여야 함 |
6. 참고 문헌
- Ghallab, M., Nau, D., & Traverso, P. (2016). Automated Planning and Acting. Cambridge University Press.
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |