1315.48 고급 PDDL 기능의 플래너 호환성 검토
1. 호환성 검토의 필요성
PDDL의 고급 기능은 도메인의 표현력을 향상시키지만, 모든 플래너가 모든 기능을 지원하는 것은 아니다. 도메인 설계 시 대상 플래너의 PDDL 지원 범위를 사전에 확인하지 않으면, 플래너가 도메인을 처리하지 못하거나 예상과 다른 결과를 산출할 수 있다.
2. 주요 플래너의 PDDL 기능 지원 현황
| 기능 | Fast Downward | LAMA | FF / Metric-FF | POPF | TFD |
|---|---|---|---|---|---|
:typing | 지원 | 지원 | 지원 | 지원 | 지원 |
:numeric-fluents | 지원 | 지원 | 지원 (Metric-FF) | 지원 | 지원 |
:derived-predicates | 지원 | 지원 | 미지원 | 제한적 | 제한적 |
:durative-actions | 미지원 | 미지원 | 미지원 | 지원 | 지원 |
:adl | 지원 | 지원 | 부분 지원 | 부분 지원 | 부분 지원 |
:preferences | 제한적 | 제한적 | 미지원 | 미지원 | 미지원 |
:constraints | 제한적 | 제한적 | 미지원 | 미지원 | 미지원 |
| 비선형 수치 | 미지원 | 미지원 | 제한적 | 지원 | 지원 |
3. 기능별 호환성 분석
3.1 타입 시스템 (:typing)
가장 널리 지원되는 기능이다. 현대의 거의 모든 PDDL 플래너가 타입 시스템을 지원한다. 타입 미사용 시에도 기능적으로는 동등하지만, 타입 사용이 플래닝 효율성을 크게 향상시킨다.
3.2 수치 함수 (:numeric-fluents)
대부분의 주요 플래너가 기본적인 수치 함수를 지원한다. 그러나 지원 수준에 차이가 있다:
- 선형 수치:
increase,decrease,assign은 대부분 지원 - 비선형 수치: 곱셈, 나눗셈이 포함된 표현식은 일부 플래너에서 제한적
scale-up/scale-down: 지원 범위가 상대적으로 좁음
3.3 파생 술어 (:derived-predicates)
Fast Downward 계열 플래너(Fast Downward, LAMA, Scorpion 등)에서 잘 지원된다. FF 계열 플래너에서는 미지원이다. POPF 등의 시간 플래너에서의 지원은 제한적이다.
3.4 듀레이티브 액션 (:durative-actions)
시간 플래너(POPF, TFD, OPTIC, SMTPlan 등)��서만 지원된다. Fast Downward, FF 등의 고전적 플래너에서는 미지원이다. PlanSys2는 기본적으로 POPF를 사용하므로 듀레이티브 액션이 지원된다.
3.5 선호도와 제약 (:preferences, :constraints)
가장 지원 범위가 좁은 기능이다. IPC의 선호도 트랙에 참여한 특화 플래너(SGPlan, HPlan-P 등)에서 주로 지원되며, 범용 플래너에서는 대부분 미지원이다.
4. PlanSys2에서의 지원 현황
PlanSys2가 사용하는 플래너에 따라 지원되는 PDDL 기능이 결정된다:
| PlanSys2 플래너 | 지원 기능 |
|---|---|
| POPF (기본) | :strips, :typing, :numeric-fluents, :durative-actions |
| TFD | 위와 동일 |
| Fast Downward (커스텀) | :strips, :typing, :numeric-fluents, :derived-predicates, :adl |
파생 술어를 PlanSys2에서 사용하려면 Fast Downward를 플래너로 설정해야 하며, 듀레이티브 액션과 파생 술어를 동시에 사용하려면 양쪽 모두를 지원하는 플래너가 필요하다.
5. 호환성 확보 전략
5.1 기능 수준 선택
도메인의 모든 기능이 대상 플래너에서 지원되는지 확인하고, 미지원 기능은 대안적 모델링으로 대체한다:
| 미지원 기능 | 대안적 모델링 |
|---|---|
| 파생 술어 | 전제 조건에 복합 논리식 인라인 |
ADL (or, exists) | 액션 분할 |
| 수치 함수 | 이산 술어로 근사 |
| ���호도 | 메트릭의 수치 함수로 근사 |
| 듀레이티브 액션 | 순간적 액션 + 시간 함수 |
5.2 요구사항 선언의 정확성
도메인 파일의 :requirements 절에 실제 사용하는 기능만을 정확히 선언한다. 사용하지 않는 요구사항을 선언하면 불필요한 처리가 발생하고, 필요한 요구사항을 누락하면 파싱 오류가 발생한다.
5.3 점진적 복잡도 증가
단순한 STRIPS 수준에서 시작하여, 플래너 호환성을 확인하면서 점진적으로 고급 기능을 추가하는 전략이 안전하다.
6. 참고 문헌
- Helmert, M. (2006). “The Fast Downward Planning System.” Journal of Artificial Intelligence Research, 26, 191–246.
- Coles, A. J., Coles, A. I., Fox, M., & Long, D. (2010). “Forward-Chaining Partial-Order Planning.” Proceedings of ICAPS, 42–49.
- Hoffmann, J. (2003). “The Metric-FF Planning System.” 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.