1315.50 PDDL 고급 기능 활용을 위한 설계 가이드라인
1. 가이드라인 개요
PDDL의 고급 기능(타입, 함수, 파생 술어, 선호도, 제약)을 효과적으로 활용하기 위한 설계 가이드라인을 종합적으로 제시한다. 이 가이드라인은 도메인의 정확성, 플래닝 효율성, 유지 보수성, 플래너 호환성을 균형 있게 달성하는 데 목적이 있다.
2. 가이드라인 1: 점진적 복잡도 증가
도메인 설계는 단순한 수준에서 시작하여 점진적으로 고급 기능을 추가하는 방식으로 진행한다:
단계 1: STRIPS + typing → 기본 동작 확인
단계 2: + numeric-fluents → 자원 관리 추가
단계 3: + durative-actions → 시간적 모델링 추가
단계 4: + derived-predicates → 복합 조건 추상화
단계 5: + preferences/constraints → 품질 평가 추가
각 단계에서 플래너 호환성과 계획 생성의 정확성을 검증한 후 다음 단계로 진행한다.
3. 가이드라인 2: 기능 선택의 필요성 원칙
고급 기능은 진정으로 필요한 경우에만 도입한다:
| 기능 | 도입 기준 | 도입 불필요 시 |
|---|---|---|
| 타입 시스템 | 항상 사용 (강력 권장) | — |
| 수치 함수 | 정량적 자원 관리가 필요할 때 | 이진 술어로 충분할 때 |
| 파생 술어 | 복합 조건이 3+ 액션에서 반복될 때 | 단일 액션에서만 사용 시 |
| 듀레이티브 액션 | 시간적 병렬화가 중요할 때 | 순차 실행으로 충분할 때 |
| 선호도/제약 | 연성 목표가 존재할 때 | 경성 목표만 있을 때 |
4. 가이드라인 3: 타입 시스템 설계 원칙
- 모든 도메인에서
:typing을 사용하라. 타입 미사용의 비용(그라운딩 폭발, 가독성 저하)이 항상 크다. - is-a 관계에 충실한 계층을 설계하라. 2~3 수준의 계층이 적절하다.
- 액션에서 실제로 구분이 필요한 수준으로만 타입을 세분화하라.
- 향후 확장을 고려한 중간 계층을 포함하라.
5. 가이드라인 4: 수치 함수 설계 원칙
- 필요한 정량적 속성만 함수로 모델링하라. 불필요한 함수는 상태 공간을 불필요하게 확장한다.
- 함수 매개변수 수를 최소화하라. 2항 이하를 권장한다.
- 모든 함수를 초기화하라. 미초기화 함수의 참조는 정의되지 않은 동작을 야기한다.
- 음수 방지를 전제 조건으로 보장하라.
decrease적용 전 충분한 잔량을 확인한다. - 메트릭 함수는 0으로 초기화하고
increase만 사용하라.
6. 가이드라인 5: 파생 술어 설계 원칙
- 반복되는 복합 조건만 파생 술어로 추출하라. 단일 사용 조건은 인라인으로 유지한다.
- 의미적 단위로 명명하라.
robot_operational,zone_safe등 의미가 명확한 이름을 사용한다. - 재귀적 정의는 정적 그래프에서만 사용하라. 동적 그래프에서는 기반 술어로 사전 계산한다.
- 계층 깊이를 3~4 수준으로 제한하라.
- 플래너 호환성을 확인하라. 파생 술어를 지원하지 않는 플래너에서는 전제 조건에 인라인한다.
7. 가이드라인 6: 플래너 호환성 관리
- 대상 플래너를 먼저 결정하고 도메인을 설계하라.
:requirements절을 정확히 선언하라.- 최소 공통 기능 집합으로 시작하라. PlanSys2의 기본 권장:
:strips :typing :durative-actions :numeric-fluents - 호환성 미확인 기능은 대안적 모델링을 준비하라.
8. 가이드라인 7: 도메인 검증 절차
고급 기능을 활용한 도메인의 검증 절차:
- 구문 검증: PDDL 파서 또는 VAL 도구로 구문적 정확성 확인
- 타입 정합성 검증: 술어/함수의 매개변수 타입과 액션의 매개변수 타입 일치 확인
- 함수 초기화 검증: 모든 참조 가능 함수 인스턴스의 초기화 완료 확인
- 파생 술어 정확성 검증: 다양한 상태에서 파생 술어의 값이 예상과 일치하는지 확인
- 소규모 테스트: 최소 객체 세트로 계획 생성 및 시뮬레이션
- 규모 확장 테스트: 실제 규모의 객체 세트로 플래닝 성능 확인
- PlanSys2 통합 테스트: 시뮬레이션 환경에서 계획 실행 확인
9. 가이드라인 8: 문서화
고급 기능을 활용한 도메인은 다음을 문서화한다:
- 타입 계층 다이어그램: 시각적 타입 구조
- 함수 목록과 단위: 각 함수의 의미, 단위, 유효 범위
- 파생 술어 의존 그래프: 파생 술어 간 참조 관계
- 메트릭 정의와 가중치 근거: 최적화 목표의 설계 의도
- 플래너 호환성 매트릭스: 테스트된 플래너와 지원 수준
10. 참고 문헌
- Ghallab, M., Nau, D., & Traverso, P. (2004). Automated Planning: Theory and Practice. Morgan Kaufmann.
- Haslum, P., Lipovetzky, N., Magazzeni, D., & Muise, C. (2019). An Introduction to the Planning Domain Definition Language. Morgan & Claypool Publishers.
- Fox, M. & Long, D. (2003). “PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains.” Journal of Artificial Intelligence Research, 20, 61–124.
- Gonzalez, F., Martin, F., Matellán, V., & Rodriguez, F. J. (2021). “PlanSys2: A Planning System Framework for ROS2.” IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC).