PDDL 3.0과 PDDL 3.1의 확장 기능 (Extended Features of PDDL 3.0 and PDDL 3.1)
1. 개요
PDDL 3.0(Gerevini & Long, 2006)은 선호도(preferences)와 경로 제약(trajectory constraints)을 도입하여, 최적화 목표와 연성 제약(soft constraints)의 표현을 가능하게 하였다. PDDL 3.1(2008)은 객체 함수(object fluents)를 추가하였다.
2. PDDL 3.0의 핵심 기능
2.1 선호도 (Preferences)
“가능하면” 충족하기를 원하는 연성 목표이다. 필수 목표와 달리 충족되지 않아도 계획은 유효하나, 충족 시 더 높은 품질로 평가된다.
(:goal (and
(delivered package1 office_A) ; 필수 목표
(preference pref1 (at robot dock)))) ; 선호 목표
2.2 경로 제약 (Trajectory Constraints)
계획 실행 경로 전체에 걸친 제약을 표현한다.
(:constraints
(always (not (at robot danger_zone))) ; 항상 위험 구역 회피
(sometime (charged robot)) ; 언젠가 충전 수행
(at-most-once (at robot charging_station))) ; 충전소 최대 1회 방문
2.3 측정 기준 (Metric)
계획의 품질을 평가하는 측정 기준을 정의한다.
(:metric minimize (+ (total-time)
(* 10 (is-violated pref1))))
3. PDDL 3.1의 추가 기능
3.1 객체 함수 (Object Fluents)
수치 값이 아닌 객체를 값으로 가지는 함수이다.
(:functions
(current-tool ?r - robot) - tool)
:effect (assign (current-tool ?r) ?t)
4. 로봇 공학에서의 활용
| 기능 | 로봇 활용 |
|---|---|
| 선호도 | “가능하면 최단 경로”, “가능하면 충전 후 귀환” |
| 경로 제약 | “절대 위험 구역 진입 금지”, “반드시 한 번은 점검” |
| 측정 기준 | 이동 거리 + 선호 위반 패널티 최소화 |
5. PlanSys2에서의 지원
PlanSys2의 기본 계획기(POPF)는 PDDL 2.1 수준을 주로 지원하며, PDDL 3.0의 선호도와 제약은 제한적으로 지원된다.
6. 참고 문헌
- Gerevini, A., & Long, D. (2006). “Preferences and Soft Constraints in PDDL3.” ICAPS 2006 Workshop.
- Fox, M., & Long, D. (2003). “PDDL2.1.” JAIR, 20, 61-124.
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |