술어의 매개변수와 타입 제약 (Predicate Parameters and Type Constraints)

술어의 매개변수와 타입 제약 (Predicate Parameters and Type Constraints)

1. 개요

PDDL 술어의 매개변수(parameter)는 술어가 참조하는 객체를 나타내는 변수이며, 타입 제약(type constraint)에 의해 특정 타입의 객체만 해당 위치에 대입될 수 있도록 제한한다.

2. 매개변수 구문

(술어이름 ?변수1 - 타입1 ?변수2 - 타입2)

2.1 단일 타입 매개변수

(at ?r - robot ?l - location)

?r에는 robot 타입의 객체만, ?l에는 location 타입의 객체만 대입 가능하다.

2.2 동일 타입의 복수 매개변수

(connected ?l1 ?l2 - location)

?l1?l2 모두 location 타입이다. 동일 타입의 변수를 - 앞에 나열하여 간결하게 표현한다.

2.3 상위 타입 매개변수

(near ?e1 ?e2 - object)

object는 모든 타입의 상위 타입이므로, 어떤 객체든 대입 가능하다.

3. 타입 제약의 효과

3.1 인스턴스화 축소

3개의 robot 객체, 5개의 location 객체, 4개의 item 객체가 있을 때:

술어타입 없음타입 있음
(at ?r ?l)12^2 = 144개 인스턴스3 \times 5 = 15
(holding ?r ?o)12^2 = 1443 \times 4 = 12
(connected ?l1 ?l2)12^2 = 1445 \times 5 = 25

타입에 의해 인스턴스 수가 현저히 감소한다.

3.2 의미론적 오류 방지

타입 제약이 없으면 (at room_A robot1)과 같은 의미론적으로 무효한 인스턴스가 생성될 수 있다. 타입에 의해 이러한 오류가 사전에 방지된다.

4. 설계 지침

  • 모든 매개변수에 타입을 명시한다.
  • 과도하게 일반적인 타입(object)을 피하고, 의미에 맞는 구체적 타입을 사용한다.
  • 동일 타입의 ��수 매개변수는 의미를 구분할 수 있는 변수 이름을 사용한다 (예: ?from, ?to).

5. 참고 문헌

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

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