1315.9 PDDL 함수의 개념과 정의

1. PDDL 함수의 개념

PDDL 함수(function)는 PDDL 2.1에서 도입된 수치 플루언트(numeric fluent)를 정의하는 구성 요소이다(Fox & Long, 2003). 고전적 PDDL의 술어가 참/거짓의 이진 상태만을 표현하는 것과 달리, 함수는 실수 값을 상태 변수에 부여할 수 있게 한다. 이를 통해 에너지 잔량, 이동 거리, 비용, 시간 등의 정량적 속성을 도메인에서 직접 모델링할 수 있다.

PDDL 함수의 사용에는 :numeric-fluents 또는 :fluents 요구사항의 활성화가 필요하다:

(:requirements :strips :typing :numeric-fluents)

2. 함수의 형식적 정의

PDDL 함수는 매개변수화된 수치 변수로서, 형식적으로 다음과 같이 정의된다:

f: \mathcal{O}^k \rightarrow \mathbb{R}

여기서 \mathcal{O}는 도메인의 객체 집합이고, k는 함수의 인수(arity) 수이다. 함수는 k개의 객체 튜플을 실수 값에 사상하는 전함수이다.

상태 s에서 함수 인스턴스 (f \ o_1 \ \ldots \ o_k)의 값을 s[f(o_1, \ldots, o_k)]로 표기한다.

3. 함수 선언의 구문

함수는 도메인 파일의 :functions 절에서 선언된다:

(:functions
    (battery_level ?r - robot)
    (distance ?from - waypoint ?to - waypoint)
    (speed ?r - robot)
    (weight ?obj - object)
    (total_cost)
    (fuel_capacity ?v - vehicle)
)

각 함수 선언은 함수 이름과 매개변수 목록으로 구성된다. 매개변수에는 술어와 마찬가지로 타입이 지정될 수 있다.

3.1 무매개변수 함수

매개변수가 없는 함수는 전역 수치 변수로 기능한다:

(:functions
    (total_cost)
    (total_distance)
    (mission_time)
)

이러한 함수는 계획 전체의 누적 비용이나 메트릭을 추적하는 데 사용된다.

3.2 다항 함수

두 개 이상의 매개변수를 가진 함수는 객체 쌍(또는 튜플) 간의 수치적 관계를 표현한다:

(:functions
    (distance ?from - waypoint ?to - waypoint)      ;; 2항: 두 위치 간 거리
    (travel_cost ?from - waypoint ?to - waypoint ?r - robot)  ;; 3항: 로봇별 이동 비용
)

4. 함수와 술어의 비교

특성술어 (Predicate)함수 (Function)
값 범위{참, 거짓}\mathbb{R} (실수)
상태 표현집합의 멤버십수치 값 할당
변경 방법추가/삭제increase, decrease, assign
전제 조건에서의 사용논리적 평가수치 비교 연산
PDDL 버전1.0 이상2.1 이상
요구사항:strips:numeric-fluents

5. 함수의 상태 표현에서의 위치

PDDL 2.1에서 상태는 두 가지 구성 요소로 이루어진다:

  1. 논리적 상태: 참인 술어 인스턴스의 집합 s_L \subseteq \mathcal{P}
  2. 수치적 상태: 함수 인스턴스에서 실수 값으로의 사상 s_N: \mathcal{F} \rightarrow \mathbb{R}

여기서 \mathcal{P}는 가능한 술어 인스턴스의 전체 집합, \mathcal{F}는 가능한 함수 인스턴스의 전체 집합이다. 전체 상태는 이 두 구성 요소의 쌍으로 표현된다:

s = (s_L, s_N)

6. 로봇 도메인에서의 함수 활용 범주

로봇 도메인에서 PDDL 함수가 모델링하는 주요 범주는 다음과 같다:

범주함수 예시설명
에너지(battery_level ?r)배터리 잔량
거리/공간(distance ?from ?to)두 지점 간 거리
시간(travel_time ?from ?to)이동 소요 시간
비용(total_cost)누적 실행 비용
용량(current_load ?r), (max_load ?r)적재 현황과 한계
속도(speed ?r)로봇의 이동 속도
품질(quality_score)임무 수행 품질

7. 참고 문헌

  • Fox, M. & Long, D. (2003). “PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains.” Journal of Artificial Intelligence Research, 20, 61–124.
  • Hoffmann, J. (2003). “The Metric-FF Planning System: Translating ‘Ignoring Delete Lists’ to Numeric State Variables.” Journal of Artificial Intelligence Research, 20, 291–341.
  • Haslum, P., Lipovetzky, N., Magazzeni, D., & Muise, C. (2019). An Introduction to the Planning Domain Definition Language. Morgan & Claypool Publishers.
  • Ghallab, M., Nau, D., & Traverso, P. (2004). Automated Planning: Theory and Practice. Morgan Kaufmann.