요구사항 정의와 :requirements 절 (Requirement Definition and the :requirements Clause)
1. 개요
PDDL의 :requirements 절은 도메인이 사용하는 PDDL 기능을 명시적으로 선언하는 메커니즘이다. 이 선언에 의해 계획기가 해당 기능을 지원하는지를 사전에 확인할 수 있으며, 불필요한 기능을 제외하여 계획기의 효율성을 높일 수 있다.
2. 구문
(:requirements :req1 :req2 :req3 ...)
:requirements 키워드 뒤에 사용하는 기능에 해당하는 요구사항 플래그를 나열한다.
3. 표준 요구사항 플래그
3.1 기본 기능 (PDDL 1.2)
| 플래그 | 기능 | 설명 |
:strips | STRIPS 표현 | 양의 전제 조건, 무조건적 효과 |
:typing | 타입 시스템 | 객체의 타입 분류 |
:equality | 등호 | (= ?x ?y) 비교 |
:negative-preconditions | 부정 전제 조건 | (not (p ?x)) 전제 조건 |
:disjunctive-preconditions | 분리 전제 조건 | (or ...) 전제 조건 |
:conditional-effects | 조건부 효과 | (when ...) 효과 |
:universal-preconditions | 전칭 양화사 | (forall ...) |
:existential-preconditions | 존재 양화사 | (exists ...) |
:adl | ADL 전체 | 위 기능 모두 포함 |
3.2 확장 기능 (PDDL 2.1+)
| 플래그 | 기능 | 버전 |
:fluents / :numeric-fluents | 수치 함수 | 2.1 |
:durative-actions | 시간적 행동 | 2.1 |
:timed-initial-literals | 시간 종속 사실 | 2.1 |
:derived-predicates | 파생 술어 | 2.2 |
:preferences | 선호도 | 3.0 |
:constraints | 경로 제약 | 3.0 |
:action-costs | 행동 비용 | IPC 확장 |
4. 로봇 도메인에서의 일반적 요구사항
; 기본 이동 로봇 도메인
(:requirements :strips :typing)
; 시간적 배달 로봇 도메인
(:requirements :strips :typing :durative-actions :fluents)
; 고급 서비스 로봇 도메인
(:requirements :strips :typing :durative-actions :fluents
:negative-preconditions :conditional-effects)
5. 설계 지침
- 최소 요구사항 원칙: 필요한 기능만 선언하여 계획기의 호환성과 성능을 최적화한다.
- 계획기 호환성 확인: 사용하는 계획기가 선언된 요구사항을 모두 지원하는지 확인한다.
- 점진적 확장: 기본
:strips :typing에서 시작하여 필요에 따라 기능을 추가한다.
6. 참고 문헌
- McDermott, D., et al. (1998). “PDDL — The Planning Domain Definition Language.”
- Fox, M., & Long, D. (2003). “PDDL2.1.” JAIR, 20, 61-124.
| 버전 | 날짜 | 변경 사항 |
| v0.1 | 2026-04-05 | 초안 작성 |