도메인 파일의 구조와 역할 (Structure and Role of the Domain File)

도메인 파일의 구조와 역할 (Structure and Role of the Domain File)

1. 개요

PDDL 도메인 파일은 로봇이 수행할 수 있는 행동(actions)과 세계의 구조(types, predicates, functions)를 기술하는 파일이다. 특정 문제 인스턴스에 독립적이며, 다양한 문제에 재사용된다.

2. 도메인 파일의 완전한 구조

(define (domain 도메인이름)
  ; 1. 요구사항 선언
  (:requirements :strips :typing :durative-actions :fluents)

  ; 2. 타입 선언
  (:types
    robot - object
    location - object
    item - object)

  ; 3. 상수 선언 (선택)
  (:constants
    dock - location)

  ; 4. 술어 선언
  (:predicates
    (at ?r - robot ?l - location)
    (on ?i - item ?l - location)
    (holding ?r - robot ?i - item)
    (gripper_empty ?r - robot)
    (connected ?l1 ?l2 - location))

  ; 5. 함수 선언 (선택)
  (:functions
    (battery-level ?r - robot)
    (distance ?l1 ?l2 - location))

  ; 6. 행동 선언
  (:action move ...)
  (:action pick ...)
  (:action place ...)

  ; 7. 듀레이티브 행동 (선택)
  (:durative-action navigate ...))

3. 각 구성 요소의 역할

3.1 :requirements

도메인이 사용하는 PDDL 기능을 선언한다. 계획기가 해당 기능을 지원하는지를 사전에 확인하는 역할을 한다.

3.2 :types

객체의 분류 체계를 정의한다. 타입에 의해 행동의 매개변수가 어떤 종류의 객체에 적용 가능한지를 제한한다.

(:types
  robot location item - object    ; 상위 타입: object
  warehouse office - location)     ; location의 하위 타입

3.3 :predicates

세계 상태를 기술하는 명제 스키마(proposition schema)를 정의한다. 각 술어는 이름과 타입이 지정된 매개변수를 가진다.

3.4 :functions

수치적 상태 변수를 정의한다. 거리, 배터리 잔량, 속도 등을 표현한다.

3.5 :action / :durative-action

로봇이 수행할 수 있는 행동을 전제 조건과 효과로 정의한다.

4. 도메인 파일의 역할

역할설명
능력 기술로봇이 “무엇을 할 수 있는가“를 정의
물리학 인코딩행동의 전제 조건과 효과로 세계의 규칙을 표현
재사용 단위동일 도메인을 다양한 문제에 적용
계획기 입력계획기가 유효한 행동을 탐색하는 기반

5. 참고 문헌

  • 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.12026-04-05초안 작성