상수 선언과 도메인 수준 객체 (Constants Declaration and Domain-Level Objects)

상수 선언과 도메인 수준 객체 (Constants Declaration and Domain-Level Objects)

1. 개요

PDDL의 :constants 절은 도메인 수준에서 존재하는 고정 객체를 선언한다. 상���는 모든 문제 인스턴스에서 ���통으로 사용되는 객체로, 문제 파일의 :objects에�� ��복 선언할 ���요가 없다.

2. ��문

(:constants
  dock - location           ; 도킹 스테이션은 모든 문제에 존재
  charger - location        ; 충전기는 모든 문제에 존재
  default_gripper - tool)   ; 기본 그리퍼는 모든 문제에 존재

3. 상수와 객체의 차이

특성상수 (:constants)객체 (:objects)
선언 위치도메인 파일문제 파일
유효 범위모든 문제 인스턴스특정 문제 인스턴스
변경 가���성도메인 수정 시에만 변경문���마다 다르게 설정
용도도메인에 고유한 고정 객체임무별 가변 객체

4. 활용 예시

4.1 고정 위치

(:constants
  home_base charging_station - location)

모든 임무에서 기지(home_base)와 충전 스테이션은 존재하므로 상수로 선언한다.

4.2 고정 도구

(:constants
  standard_gripper vacuum_gripper - tool)

5. 문제 파일에서의 사용

상수는 문제 파일에서 별도로 선언하지 않아도 자동으로 사용 가능하다.

(:init
  (at robot1 home_base)        ; home_base는 도메인 상수
  (tool_available standard_gripper))

6. 설계 지침

  • 모든 문제에 공통적인 ��체만 상수로 선언한다.
  • 임무���다 변경될 수 있는 객체는 문제 파일의 :objects에 선언한다.
  • 과도한 상수 사용은 도메인의 유연성을 제한한다.

7. 참고 문헌

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

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