PDDL 1.2와 PDDL 2.1의 주요 차이 (Key Differences Between PDDL 1.2 and PDDL 2.1)
1. 개요
PDDL 2.1(Fox & Long, 2003)은 PDDL 1.2에 수치 함수(numeric fluents)와 듀레이티브 액션(durative actions)을 추가하여, 시간적 제약과 자원 관리가 필요한 로봇 공학 도메인의 표현력을 크게 확장하였다.
2. 핵심 차이
| 기능 | PDDL 1.2 | PDDL 2.1 |
|---|---|---|
| 행동 지속 시간 | 미지원 (순간적) | 듀레이티브 액션 지원 |
| 수치적 상태 | 미지원 | 수치 함수 지원 |
| 시간적 계획 | 미지원 | 시작/종료/진행 조건 |
| 병렬 행동 | 미지원 | 동시 실행 가능 |
| 비용 모델링 | 미지원 | 함수를 통한 비용 표현 |
| 자원 관리 | 미지원 | 수치 함수로 자원 추적 |
3. 수치 함수 (Numeric Fluents)
PDDL 2.1에서 추가된 수치 함수는 거리, 배터리 잔량, 속도 등의 연속적 상태 변수를 표현한다.
(:functions
(battery-level ?r - robot) - number
(distance ?l1 ?l2 - location) - number
(speed ?r - robot) - number)
효과에서 수치 함수를 변경할 수 있다.
:effect (decrease (battery-level ?r) (distance ?from ?to))
4. 듀레이티브 액션 (Durative Actions)
행동의 시작, 진행, 종료 시점에서 별도의 조건과 효과를 정의한다.
(:durative-action navigate
:parameters (?r - robot ?from ?to - location)
:duration (= ?duration (/ (distance ?from ?to) (speed ?r)))
:condition (and
(at start (at ?r ?from))
(over all (not (blocked ?from ?to))))
:effect (and
(at start (not (at ?r ?from)))
(at end (at ?r ?to))
(at end (decrease (battery-level ?r) (distance ?from ?to)))))
5. 로봇 공학에서의 의의
PDDL 2.1의 확장에 의해 로봇 임무에서의 핵심 요소(이동 시간, 배터리 소모, 작업 지속 시간)를 형식적으로 모델링할 수 있게 되었다. PlanSys2에서 POPF 계획기가 PDDL 2.1을 지원하는 것은 이러한 이유이다.
6. 참고 문헌
- Fox, M., & Long, D. (2003). “PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains.” JAIR, 20, 61-124.
- McDermott, D., et al. (1998). “PDDL — The Planning Domain Definition Language.”
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |