문제 파일의 구조와 역할 (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.1 | 2026-04-05 | 초안 작성 |