:disjunctive-preconditions 요구사항 (:disjunctive-preconditions Requirement)

:disjunctive-preconditions 요구사항 (:disjunctive-preconditions Requirement)

1. 개요

:disjunctive-preconditions 요구사항은 행동의 전제 조건에서 분리(disjunction, OR) 표현을 허용한다. 이에 의해 “조건 A 또는 조건 B가 충족되면“이라는 대안적 전제 조건을 표현할 수 있다.

2. 구문

(:requirements :strips :typing :disjunctive-preconditions)

3. 분리 전제 조건의 사용

(:action enter_room
  :parameters (?r - robot ?room - location)
  :precondition (and
    (adjacent ?r ?room)
    (or (door_open ?room)       ; 문이 열려 있거나
        (has_key ?r ?room)))    ; 열쇠를 가지고 있는 경우
  :effect (at ?r ?room))

(or ...) 표현에 의해 두 조건 중 하나만 충족되어도 행동이 적용 가능하다.

4. 로봇 도메인에서의 활용

분리 전제 조건의미
(or (door_open ?r) (has_key ?r))문이 열려 있거나 열쇠가 있음
(or (charged ?r) (near_charger ?r))충전되었거나 충전기 근처
(or (gripper_empty ?r) (can_dual_hold ?r))그리퍼가 비었거나 이중 파지 가능

5. 계획기 호환성

대부분의 현대 계획기(FF, Fast Downward, LAMA, POPF)가 :disjunctive-preconditions를 지원한다. 그러나 분리 전제 조건은 계획기의 휴리스틱 정확도를 저하시킬 수 있으므로, 가능하면 별도의 행동으로 분리하는 것이 효율적일 수 있다.

6. 참고 문헌

  • McDermott, D., et al. (1998). “PDDL — The Planning Domain Definition Language.”

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