전제 조건과 효과의 논리적 표현 (Logical Representation of Preconditions and Effects)

전제 조건과 효과의 논리적 표현 (Logical Representation of Preconditions and Effects)

1. 개요

전제 조건(precondition)과 효과(effect)의 논리적 표현은 AI 플래닝에서 행동의 적용 가능성과 결과를 형식적으로 기술하는 핵심 메커니즘이다. 논���적 표현의 정밀도와 표현력이 도메인 모델의 품질을 결정하며, 결과적으로 계획기의 성능에 직접적인 영향을 미친다.

2. 전제 조건의 논리적 표현

2.1 기본 형태

전제 조건은 행동이 실행 가능하기 위해 현재 상태에서 충족되어야 하는 논리식이다.

\text{pre}(a) = \phi_1 \wedge \phi_2 \wedge \ldots \wedge \phi_k

STRIPS 수준

STRIPS에서 전제 조건은 양의 명제(positive literal)의 결합(conjunction)으로만 구성된다.

:precondition (and (at ?robot ?from)
                   (connected ?from ?to))

ADL 수준

ADL(Action Description Language)에서는 부정(negation), 분리(disjunction), 양화사(quantifier)를 허용한다.

:precondition (and (at ?robot ?from)
                   (not (blocked ?from ?to))
                   (or (has_key ?robot) (door_open ?from ?to)))

전제 조건의 유형

유형PDDL 표현설명
양의 조건(at ?r ?l)명제가 참이어야 함
부정 조건(not (blocked ?a ?b))명제가 거짓이어야 함
결합 조건(and ...)모든 조건이 참
분리 조건(or ...)하나 이상 참 (ADL)
전칭 조건(forall ...)모든 객체에 대해 참 (ADL)
존재 조건(exists ...)어�� 객체에 대해 참 (ADL)

효과의 논리적 표현

기본 형태

효과는 행동 실행 후 상태에 적용되는 변화이다.

\text{eff}(a) = \text{eff}^+(a) \cup \text{eff}^-(a)

2.2 추가 효과와 삭제 효과

:effect (and (at ?robot ?to)           ; 추가 효과
             (not (at ?robot ?from)))  ; 삭제 효과

2.3 조건부 효과 (Conditional Effects)

특정 조건에서만 적용되는 효과이다.

:effect (and (on ?obj ?dest)
             (not (holding ?robot ?obj))
             (when (fragile ?obj) (damaged ?obj)))

fragile(?obj)가 참인 경우에만 damaged(?obj)가 추가된다.

2.4 전칭 효과 (Universal Effects)

모든 해당 객체에 대해 효과가 적용된다.

:effect (forall (?x - item)
         (when (in ?x ?container)
               (not (in ?x ?container))))

3. 프레임 문제 (Frame Problem)

3.1 정의

프레임 문제는 “행동에 의해 변하지 않는 것은 무엇���가?“라는 질문이다. 행동의 효과에 명시적으로 포함되지 않은 명제는 변하지 않는다는 프레임 공리(frame axiom)에 의해 해결된다.

3.2 STRIPS의 프레임 공리

p \in s \wedge p \notin \text{eff}^-(a) \Rightarrow p \in \gamma(s, a)

상태 s에서 참인 명제 p가 삭제 효과에 포함되지 않으면, 행동 후에도 참으로 유지된다.

수치적 효과 (Numeric Effects)

PDDL 2.1 이상에서는 수치 함수(numeric function)의 값을 변경하는 효과를 지원한다.

(:functions (battery-level ?r - robot)
            (distance ?from ?to - location))

:effect (and (decrease (battery-level ?robot) (distance ?from ?to)))

참고 문헌

  • Ghallab, M., Nau, D., & Traverso, P. (2016). Automated Planning and Acting. Cambridge University Press.
  • Pednault, E. (1989). “ADL: Exploring the Middle Ground Between STRIPS and the Situation Calculus.” KR 1989.

버전날짜변경 사항
v0.12026-04-05초안 작성