문제 파일의 구조와 역할 (Structure and Role of the Problem File)

문제 파일의 구조와 역할 (Structure and Role of the Problem File)

1. 개요

PDDL 문제 파일은 특정 임무 인스턴스의 초기 상태, 목표, 객체를 정의한다. 도메인 파일과 분리되어 동일한 도메인에 대해 다양한 문제 인스턴스를 독립적으로 정의할 수 있다.

2. 구조

(define (problem 문제이름)
  (:domain 도메인이름)
  (:objects 객체선언)
  (:init 초기상태)
  (:goal 목표조건)
  (:metric 최적화기준))    ; 선택

3. 각 요소의 역할

요소역할
:domain참조할 도메인 지정
:objects이 문제에 존재하는 객체 선언
:init현재 세계의 상태 (참인 명제와 함수 값)
:goal달성할 조건
:metric비용 최소화/최대화 기준

4. 예시

(define (problem delivery-1)
  (:domain robot-delivery)
  (:objects
    robot1 - robot
    kitchen room_301 corridor - location
    tray1 - item)
  (:init
    (at robot1 dock)
    (on tray1 kitchen)
    (gripper_empty robot1)
    (connected dock corridor)
    (connected corridor kitchen)
    (connected corridor room_301)
    (= (battery-level robot1) 100)
    (= (distance dock corridor) 5))
  (:goal (on tray1 room_301))
  (:metric minimize (total-time)))

5. 참고 문헌

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

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