액션 스키마의 기본 구조 (Basic Structure of Action Schemas)
1. 개요
PDDL의 액션 스키마(action schema)는 로봇이 수행할 수 있는 행동을 이름, 매개변수, 전제 조건, 효과의 네 구성 요소로 정의한다. 액션 스키마는 변수를 포함하는 일반화된 행동 정의이며, 구체적 객체로 인스턴스화되면 실행 가능한 행동이 된다.
2. 구조
(:action 행동이름
:parameters (매개변수 목록)
:precondition (전제 조건)
:effect (효과))
2.1 구성 요소
| 요소 | 키워드 | 역할 |
|---|---|---|
| 이름 | :action 이름 | 행동의 고유 식별자 |
| 매개변수 | :parameters | 행동이 참조하는 객체 변수 |
| 전제 조건 | :precondition | 행동 실행을 위해 충족되어야 하는 조건 |
| 효과 | :effect | 행동 실행 후 세계에 적용되는 변화 |
3. 완전한 예시
(:action move
:parameters (?r - robot ?from ?to - location)
:precondition (and
(at ?r ?from)
(connected ?from ?to)
(not (blocked ?from ?to)))
:effect (and
(at ?r ?to)
(not (at ?r ?from))))
(:action pick
:parameters (?r - robot ?o - item ?l - location)
:precondition (and
(at ?r ?l)
(on ?o ?l)
(gripper_empty ?r))
:effect (and
(holding ?r ?o)
(not (on ?o ?l))
(not (gripper_empty ?r))))
(:action place
:parameters (?r - robot ?o - item ?l - location)
:precondition (and
(at ?r ?l)
(holding ?r ?o))
:effect (and
(on ?o ?l)
(gripper_empty ?r)
(not (holding ?r ?o))))
4. 인스턴스화
액션 스키마의 변수를 구체적 객체로 대치한다.
스키마: move(?r - robot, ?from - location, ?to - location)
인스턴스: move(robot1, room_A, room_B)
인스턴스화된 행동의 전제 조건과 효과는 구체적 명제가 된다.
5. 설계 지침
| 지침 | 설명 |
|---|---|
| 원자적 행동 | 각 액션은 하나의 의미 있는 동작을 표현 |
| 완전한 전제 조건 | 행동 실행에 필요한 모든 조건을 명시 |
| 정확한 효과 | 행동의 모든 상태 변화를 반영 |
| 프레임 공리 준수 | 효과에 포함되지 않은 명제는 변하지 않음 |
6. 참고 문헌
- 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 | 초안 작성 |