PDDL 1.2와 PDDL 2.1의 주요 차이 (Key Differences Between PDDL 1.2 and PDDL 2.1)

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.2PDDL 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.12026-04-05초안 작성