액션 매개변수의 정의 (Definition of Action Parameters)
1. 개요
PDDL 액션의 :parameters 절은 행동이 참조하는 객체를 나타내는 타입이 지정된 변수의 목록을 정의한다. 매개변수는 행동의 전제 조건과 효과에서 참조되어, 행동이 어떤 객체에 적용되는지를 결정한다.
2. 구문
:parameters (?변수1 - 타입1 ?변수2 - 타입2 ...)
3. 매개변수 설계 원칙
3.1 필요한 매개변수만 포함
행동에 실제로 관여하는 객체만 매개변수로 포함한다. 불필요한 매개변수는 인스턴스화 수를 증가시킨다.
; 올바름: 필요한 매개변수만
(:action move
:parameters (?r - robot ?from ?to - location)
...)
; 비권장: 불필요한 매개변수 포함
(:action move
:parameters (?r - robot ?from ?to - location ?unused - item)
...)
3.2 모든 매개변수에 타입 지정
; 권장: 타입 지정
:parameters (?r - robot ?l - location)
; 비권장: 타입 미지정 (모든 객체에 대입됨)
:parameters (?r ?l)
3.3 의미 있는 변수 이름
; 권장: 의미를 전달하는 이름
:parameters (?robot - robot ?from - location ?to - location)
; 비권장: 의미 없는 이름
:parameters (?x - robot ?y - location ?z - location)
4. 매개변수 수에 따른 인스턴스화
| 매개변수 수 | 타입별 객체 수 | 인스턴스 수 |
|---|---|---|
| 2 (r, l) | 3 로봇, 5 위치 | 3 \times 5 = 15 |
| 3 (r, l_1, l_2) | 3 로봇, 5 위치 | 3 \times 5 \times 5 = 75 |
| 4 (r, o, l_1, l_2) | 3, 4, 5, 5 | 3 \times 4 \times 5 \times 5 = 300 |
매개변수 수가 증가하면 인스턴스 수가 지수적으로 증가하므로, 최소한의 매개변수를 사용한다.
5. 참고 문헌
- McDermott, D., et al. (1998). “PDDL — The Planning Domain Definition Language.”
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |