타입 선언과 타입 계층 구조 (Type Declaration and Type Hierarchy)

타입 선언과 타입 계층 구조 (Type Declaration and Type Hierarchy)

1. 개요

PDDL의 타입 시스템(:typing)은 객체를 분류하는 계층적 타입 체계를 제공한다. 타입에 의해 행동의 매개변수에 적용 가능한 객체가 제한되어, 계획기의 인스턴스화 효율이 향상되고 도메인 모델의 의미론적 명확성이 높아진다.

2. 타입 선언 구문

2.1 단순 타입

(:types robot location item)

2.2 계층적 타입 (서브타입)

(:types
  robot location item - object        ; 1단계: object의 하위 타입
  warehouse office corridor - location ; 2단계: location의 하위 타입
  heavy_item light_item - item         ; 2단계: item의 하위 타입
  delivery_robot patrol_robot - robot) ; 2단계: robot의 하위 타입

- 기호 뒤의 타입이 상위 타입(supertype)이다.

2.3 다단계 계층

(:types
  entity - object
  robot human - entity
  ground_robot aerial_robot - robot
  arm_robot mobile_robot - ground_robot)

3. 타입 계층의 상속

하위 타입의 객체는 상위 타입의 매개변수에도 적용 가능하다.

; delivery_robot은 robot의 하위 타입이므로
; ?r - robot 매개변수에 delivery_robot 객체가 대입 가능
(:action move
  :parameters (?r - robot ?from ?to - location)
  ...)

4. 로봇 도메인의 타입 설계 예시

(:types
  ; 물리적 존재
  robot location item tool - object

  ; 로봇 하위 타입
  mobile_robot arm_robot drone - robot

  ; 위치 하위 타입
  room corridor dock charging_station - location

  ; 물품 하위 타입
  box tray package - item

  ; 도구 하위 타입
  gripper vacuum_tool - tool)

5. 설계 지침

지침설명
적절한 세분화과도한 타입 분류는 복잡도 증가
상속 활용공통 행동은 상위 타입에서 정의
명명 일관성일관된 명명 규칙 사용
최소 계층2~3단계 이내의 계층 권장

6. 참고 문헌

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

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