1315.50 PDDL 고급 기능 활용을 위한 설계 가이드라인

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: 타입 시스템 설계 원칙

  1. 모든 도메인에서 :typing을 사용하라. 타입 미사용의 비용(그라운딩 폭발, 가독성 저하)이 항상 크다.
  2. is-a 관계에 충실한 계층을 설계하라. 2~3 수준의 계층이 적절하다.
  3. 액션에서 실제로 구분이 필요한 수준으로만 타입을 세분화하라.
  4. 향후 확장을 고려한 중간 계층을 포함하라.

5. 가이드라인 4: 수치 함수 설계 원칙

  1. 필요한 정량적 속성만 함수로 모델링하라. 불필요한 함수는 상태 공간을 불필요하게 확장한다.
  2. 함수 매개변수 수를 최소화하라. 2항 이하를 권장한다.
  3. 모든 함수를 초기화하라. 미초기화 함수의 참조는 정의되지 않은 동작을 야기한다.
  4. 음수 방지를 전제 조건으로 보장하라. decrease 적용 전 충분한 잔량을 확인한다.
  5. 메트릭 함수는 0으로 초기화하고 increase만 사용하라.

6. 가이드라인 5: 파생 술어 설계 원칙

  1. 반복되는 복합 조건만 파생 술어로 추출하라. 단일 사용 조건은 인라인으로 유지한다.
  2. 의미적 단위로 명명하라. robot_operational, zone_safe 등 의미가 명확한 이름을 사용한다.
  3. 재귀적 정의는 정적 그래프에서만 사용하라. 동적 그래프에서는 기반 술어로 사전 계산한다.
  4. 계층 깊이를 3~4 수준으로 제한하라.
  5. 플래너 호환성을 확인하라. 파생 술어를 지원하지 않는 플래너에서는 전제 조건에 인라인한다.

7. 가이드라인 6: 플래너 호환성 관리

  1. 대상 플래너를 먼저 결정하고 도메인을 설계하라.
  2. :requirements 절을 정확히 선언하라.
  3. 최소 공통 기능 집합으로 시작하라. PlanSys2의 기본 권장: :strips :typing :durative-actions :numeric-fluents
  4. 호환성 미확인 기능은 대안적 모델링을 준비하라.

8. 가이드라인 7: 도메인 검증 절차

고급 기능을 활용한 도메인의 검증 절차:

  1. 구문 검증: PDDL 파서 또는 VAL 도구로 구문적 정확성 확인
  2. 타입 정합성 검증: 술어/함수의 매개변수 타입과 액션의 매개변수 타입 일치 확인
  3. 함수 초기화 검증: 모든 참조 가능 함수 인스턴스의 초기화 완료 확인
  4. 파생 술어 정확성 검증: 다양한 상태에서 파생 술어의 값이 예상과 일치하는지 확인
  5. 소규모 테스트: 최소 객체 세트로 계획 생성 및 시뮬레이션
  6. 규모 확장 테스트: 실제 규모의 객체 세트로 플래닝 성능 확인
  7. PlanSys2 통합 테스트: 시뮬레이션 환경에서 계획 실행 확인

9. 가이드라인 8: 문서화

고급 기능을 활용한 도메인은 다음을 문서화한다:

  1. 타입 계층 다이어그램: 시각적 타입 구조
  2. 함수 목록과 단위: 각 함수의 의미, 단위, 유효 범위
  3. 파생 술어 의존 그래프: 파생 술어 간 참조 관계
  4. 메트릭 정의와 가중치 근거: 최적화 목표의 설계 의도
  5. 플래너 호환성 매트릭스: 테스트된 플래너와 지원 수준

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).