초기 상태와 목표 상태의 명세 (Specification of Initial and Goal States)
1. 개요
초기 상태(initial state)와 목표 상태(goal state)의 명세는 계획 문제를 완성하는 핵심 요소이다. 초기 상태는 현재 세계의 상황을 기술하며, 목표 상태는 달성하여야 할 조건을 기술한다. 이 두 명세의 정확성과 완전성이 유효한 계획 생성의 전제 조건이다.
2. 초기 상태의 명세
2.1 정의
초기 상태 s_0는 계획 시작 시점의 세계 상태를 완전히 기술하는 명제의 집합이다.
s_0 = \{p_1, p_2, \ldots, p_k\}
폐쇄 세계 가정 (CWA)
s_0에 명시적으로 포함되지 않은 모든 명제는 거짓으로 간주된다. 이를 폐쇄 세계 가정(Closed World Assumption)이라 한다.
PDDL에서의 표현
(:init
(at robot1 dock)
(on box1 shelf_A)
(on box2 shelf_B)
(connected dock corridor)
(connected corridor room_1)
(connected corridor room_2)
(gripper_empty robot1))
로봇 공학에서의 초기 상태 구성
실제 로봇 시스템에서 초기 상태는 센서 데이터와 지식 기반(knowledge base)으로부터 자동으로 구성된다.
| 정보 소스 | 제공하는 상태 정보 |
|---|---|
| 위치 추정 (AMCL) | at(robot, room_A) |
| 센서 데이터 | door_open(room_B) |
| 객체 인식 | on(box1, table) |
| 시스템 상태 | battery_ok(robot) |
| 지도 데이터 | connected(room_A, room_B) |
목표 상태의 명세
정의
목표 G는 달성하여야 할 상태 조건을 기술하는 명제의 집합이다.
G = \{g_1, g_2, \ldots, g_m\}
상태 s가 목표를 충족하려면 G \subseteq s이어야 한다.
2.2 부분 명세
목표는 상태의 전체가 아닌 일부 조건만을 명시한다. 목표에 언급되지 않은 명제의 값은 무관(don’t care)하다.
(:goal
(and (on box1 room_1)
(on box2 room_2)))
위 목표에서 로봇의 최종 위치는 명시되지 않았으므로, 로봇이 어디에 있든 상관없다.
2.3 목표의 유형
| 유형 | 설명 | 예시 |
|---|---|---|
| 달성 목표 (Achievement) | 특정 조건을 참으로 만들기 | on(box, shelf) |
| 유지 목표 (Maintenance) | 특정 조건을 계속 참으로 유지 | battery_ok(robot) |
| 최적화 목표 (Optimization) | 비용 함수를 최소화 | 총 이동 거리 최소화 |
| 선호 목표 (Preference) | 가능하면 달성 (선택적) | PDDL 3.0 이상 |
2.4 복합 목표
(:goal
(and (delivered package1 office_A)
(delivered package2 office_B)
(delivered package3 office_C)
(at robot dock)))
3개의 배달과 로봇 귀환을 포함하는 복합 목표이다.
3. 초기 상태와 목표의 일관성
계획기가 유효한 계획을 생성하려면, 초기 상태에서 목표에 도달할 수 있는 행동 경로가 존재하여야 한다. 초기 상태와 목표가 모순되거나, 도메인에 필요한 행동이 정의되지 않은 경우 계획 생성이 실패한다.
4. 참고 문헌
- Ghallab, M., Nau, D., & Traverso, P. (2016). Automated Planning and Acting. Cambridge University Press.
- Fox, M., & Long, D. (2003). “PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains.” JAIR, 20, 61-124.
| 버전 | 날짜 | 변경 사항 |
|---|---|---|
| v0.1 | 2026-04-05 | 초안 작성 |