전제 조건의 논리적 표현 (Logical Representation of Preconditions)
1. 개요
PDDL 액션의 :precondition 절은 행동이 실행 가능하기 위해 현재 상태에서 충족되어야 하는 논리적 조건을 정의한다. 사용 가능한 논리 연산자는 :requirements에 선언된 기능 수준에 의해 결정된다.
2. 기본 전제 조건 (:strips)
양의 명제의 결합(conjunction)만 허용한다.
:precondition (and
(at ?r ?from)
(connected ?from ?to)
(gripper_empty ?r))
3. 확장된 전제 조건
3.1 부정 (:negative-preconditions)
:precondition (and
(at ?r ?from)
(not (blocked ?from ?to)))
3.2 분리 (:disjunctive-preconditions)
:precondition (and
(at ?r ?room)
(or (door_open ?room)
(has_key ?r ?room)))
3.3 양화사
; 전칭 양화사: 모든 위치에 대해 조건 확인
:precondition (forall (?l - location) (not (danger ?l)))
; 존재 양화사: 어떤 물체에 대해 조건 확인
:precondition (exists (?o - item) (on ?o ?shelf))
3.4 수치 비교 (:fluents)
:precondition (and
(at ?r ?from)
(>= (battery-level ?r) (distance ?from ?to)))
4. 전제 조건의 평가
현재 상태 s에서 전제 조건 \text{pre}(a)가 충족되면 행동 a가 적용 가능하다.
a \text{ is applicable in } s \iff s \models \text{pre}(a)
참고 문헌
- McDermott, D., et al. (1998). “PDDL — The Planning Domain Definition Language.”
- Ghallab, M., Nau, D., & Traverso, P. (2016). Automated Planning and Acting. Cambridge University Press.
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |