2017-10-29 4 views
1

, 내가 같은 유형을 선언하는 경우 : 가방의 두 가지 유형, 무거운가 말을하는 것입니다PDDL에서 유형 비교가 가능합니까? 예를 들어

:types 
    bag 
    light heavy - bag 

. 액션 내에서 유형 의 변수가 인데 의 조명이없는 경우에 비교할 수 있습니까?과 비교 하시겠습니까? 두 변수가 아니라 같은 종류보다, 같은 값이있는 경우

(when (= ?light ?bag)) 

하지만 검사 :

가 나는 등의 동등 비교를하는 것이 가능 알고있다.

나는 (when (= light ?bag))을 시도했지만 플래너가 오류를 발생시키지는 않지만 작동하지 않는 것으로 보입니다.

+2

짧은 대답은 아니오입니다. PDDL에는 유형을 비교할 수있는 기본 제공 가능성이 없습니다 (또는 구체적으로 변수가 특정 유형인지 테스트). 이 문제에 대한 해결 방법이 있지만 어쩌면 직접 파생시킬 수 있습니다. 그렇지 않다면, 그렇게 말하면 아마도 설명 할 시간을 찾을 수있을 것입니다. –

+0

감사합니다. 해결 방법을 찾았습니다. – McGuile

답변

2

Chaos 교수님의 의견에 대한 답변으로 이것이 가능하지 않다고 나와 있는데 여기서는 술어 (is_light ?x - light)을 만들고 조치에 (when (is_light ?lightobj) (dosomething))을 사용하는 해결 방법을 도출했습니다. 이 술어는 오브젝트를 초기화 할 때 문제점 파일에서 사용됩니다.