액션 매개변수의 정의 (Definition of Action Parameters)

액션 매개변수의 정의 (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, 53 \times 4 \times 5 \times 5 = 300

매개변수 수가 증가하면 인스턴스 수가 지수적으로 증가하므로, 최소한의 매개변수를 사용한다.

5. 참고 문헌

  • McDermott, D., et al. (1998). “PDDL — The Planning Domain Definition Language.”

버전날짜변경 사항
v0.12026-04-05초안 작성