요구사항 정의와 :requirements 절 (Requirement Definition and the :requirements Clause)

요구사항 정의와 :requirements 절 (Requirement Definition and the :requirements Clause)

1. 개요

PDDL의 :requirements 절은 도메인이 사용하는 PDDL 기능을 명시적으로 선언하는 메커니즘이다. 이 선언에 의해 계획기가 해당 기능을 지원하는지를 사전에 확인할 수 있으며, 불필요한 기능을 제외하여 계획기의 효율성을 높일 수 있다.

2. 구문

(:requirements :req1 :req2 :req3 ...)

:requirements 키워드 뒤에 사용하는 기능에 해당하는 요구사항 플래그를 나열한다.

3. 표준 요구사항 플래그

3.1 기본 기능 (PDDL 1.2)

플래그기능설명
:stripsSTRIPS 표현양의 전제 조건, 무조건적 효과
:typing타입 시스템객체의 타입 분류
:equality등호(= ?x ?y) 비교
:negative-preconditions부정 전제 조건(not (p ?x)) 전제 조건
:disjunctive-preconditions분리 전제 조건(or ...) 전제 조건
:conditional-effects조건부 효과(when ...) 효과
:universal-preconditions전칭 양화사(forall ...)
:existential-preconditions존재 양화사(exists ...)
:adlADL 전체위 기능 모두 포함

3.2 확장 기능 (PDDL 2.1+)

플래그기능버전
:fluents / :numeric-fluents수치 함수2.1
:durative-actions시간적 행동2.1
:timed-initial-literals시간 종속 사실2.1
:derived-predicates파생 술어2.2
:preferences선호도3.0
:constraints경로 제약3.0
:action-costs행동 비용IPC 확장

4. 로봇 도메인에서의 일반적 요구사항

; 기본 이동 로봇 도메인
(:requirements :strips :typing)

; 시간적 배달 로봇 도메인
(:requirements :strips :typing :durative-actions :fluents)

; 고급 서비스 로봇 도메인
(:requirements :strips :typing :durative-actions :fluents
               :negative-preconditions :conditional-effects)

5. 설계 지침

  1. 최소 요구사항 원칙: 필요한 기능만 선언하여 계획기의 호환성과 성능을 최적화한다.
  2. 계획기 호환성 확인: 사용하는 계획기가 선언된 요구사항을 모두 지원하는지 확인한다.
  3. 점진적 확장: 기본 :strips :typing에서 시작하여 필요에 따라 기능을 추가한다.

6. 참고 문헌

  • McDermott, D., et al. (1998). “PDDL — The Planning Domain Definition Language.”
  • Fox, M., & Long, D. (2003). “PDDL2.1.” JAIR, 20, 61-124.

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