A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PDDL: uma linguagem padrão para especificação de problemas e heurísticas de planejamento Jacques Robin CIn-UFPE.

Apresentações semelhantes


Apresentação em tema: "PDDL: uma linguagem padrão para especificação de problemas e heurísticas de planejamento Jacques Robin CIn-UFPE."— Transcrição da apresentação:

1 PDDL: uma linguagem padrão para especificação de problemas e heurísticas de planejamento Jacques Robin CIn-UFPE

2 PDDL: Planning Domain Definition Language  1 a linguagem padrão para expressão de problemas de planejamento  Possibilita:  interoperabilidade entre planejadores  repositórios de tarefas benchmark pré-codificadas de planejamento  competições de planejamento  Criado em 1998 para a 1 a competição de planejamento  Expressividade variável:  parte de STRIPS como base  permite usar qualquer combinação de uma grande variedade de extensões  que incluem a maioria daquelas descritas no capítulo 12 do AIMA mais algumas outras

3 Expressividade de PDDL: cobre muitas extensões de STRIPS  Decomposição hierárquica (pp. 371-379 do AIMA)  Efeitos condicionais (pp. 381-382 do AIMA)  Efeitos universalmente quantificados (pp. 383 do AIMA)  i.e., as conjunções de literais positivos e negativos que constituam os efeitos podem conter variáveis universalmente quantificadas localmente declaradas  Axiomas:  implicações lógicas, com conclusão restrita a um único literal positivo, que  representam relações sempre verificadas em qualquer situação do domínio  assim permitem que as ações representam apenas as mudanças entre situações

4 Expressividade de PDDL: cobre muitas extensões de STRIPS  Qualquer formula sem função da lógica da 1a ordem, com semântica de mundo fechado ou aberto a escolher, para especificação:  dos estados objetivos  das pré-condições das ações  das condições dos efeitos condicionais  as premissas dos axiomas  Variáveis tipadas (pp. 383-384 do AIMA)  Objetivos a manter durante expansão de uma ação abstrata, ou até processo de planejamento inteiro  Medidas de fluentes (fluents) e avaliação de expressões aritméticas de cálculo e comparação para representar restrições quantitativas de recursos (pp. 386-388 do AIMA)

5 Exemplo introdutório: transporte de objetos em mala (define (domain briefcase-world) (:requirements :strips :equality :typing :conditional-effects) (:types location physobj) (:constants (briefcase –physobj)) (:predicates (at ?O –physobj ?L – location) (in ?O1 ?O2 – physobj)) (:action move-briefcase :parameters (?From ?To – location) :precondition (and (at briefcase ?From) (not (= ?From ?To))) :effect (and (at briefcase ?To) (not (at briefcase ?From)) (forall (?O) (when (and (in ?O briefcase) (not (= ?O briefcase))) (and (at ?O ?To) (not (at ?O ?from)))))))

6 Exemplo introdutório: transporte de objetos em mala (cont.) (:action put-in :parameters (?O –physobj ?L – location) :precondition (not (= ?O briefcase)) :effect (when (and (at ?O ?L) (at briefcase ?L)) (in ?O briefcase))) (:action take-out :paramenters (?O –physobj) :precondition (not (= ?O briefcase)) :effect (not (in ?X briefcase)))) (define (problem get-paid) (:domain briefcase-world) (:init (location home) (location office) (physobj paycheck) (physobj dictionary) (at briefcase home) (at paycheck home) (at dictionary home) (in paycheck briefcase)) (:goal (and (at briefcase office) (at dictionary office) (at paycheck home)))

7 Definição de domínios  ::= (define (domain ) [ ] [ ] [ ] [ ] *)  ::= (:extends +)  ex, (:extends briefcase-world block-world)  causa herança de requirements, types, constants, actions, axioms e timeless entre domínios  ::= (:requirements +)  ::= (:types )  ::= (:constants )  ::= (:domain-variables )  ::= |  ::= (:predicates +)  ::= ( )  ::=  ::= ?  ::= |

8 Ações  ::= (:action :parameters )  ::= [:vars ] [:precondition ] [:expansion ] [:maintain ] [:effect ]  parâmetros x variáveis:  parâmetros universalmente quantificados na precondição e no efeito  variáveis quantificadas existencialmente na precondição, mas universalmente no efeito  ex, (:action spray-paint :parameters (?C –color) :vars (?L –location) :precondition (at robot ?L) :effect (forall (?O –physobj) (when (at ?O ?L) (color ?O ?C)))  a cor pode variar, mas, em um ponto dados da execução do plano, o robô pode estar apenas em uma única locação

9 Fórmulas sem funções da lógica da 1a ordem  Autorizadas como:  pré-condição de ação  condição de efeito condicional de ação  premissa de axioma  objetivo de problema  ::= | (and *) | (or *) | (not ) | (imply ) ::= (exists ) ::= (forall ) ::= | (not ) ::= (predicate term*) ::= |

10 Fórmulas sem funções da lógica da 1a ordem: exemplo de uso :precondition (and (lift-at ?f) (imply (exists (?p - conflict_A) (or (and (not (served ?p)) (origin ?p ?f)) (and (boarded ?p) (not (destin ?p ?f))))) (forall (?q - conflict_B) (and (or (destin ?q ?f) (not (boarded ?q))) (or (served ?q)))))) (not (origin ?q ?f)))))))

11 Efeitos  ::= literal | (and *) | (when ) ::= (forall ) ::= (change )  Pré-condição P de ação x condição C de efeito condicional E  Se P é falso a ação não é executada  Se C é falso a ação é executada, sem o efeito E

12 Decomposição hierárquica: ordenamento dos sub-passos  Decomposição puramente seqüencial ou puramente paralela  ::= ( *)  ::= (series *) | (parallel *)  Decomposição híbrida de ordem parcial  ::= (constrained ( +) * ::= (series *) | (parallel ) ::= (tag ) ::= | ( ) | (> )  ex, (constrained ((series (tag (A) (> end-a)) (B)) (series (C) (tag ( end-d)))) (in-context (series end-a end-d) :maintain (P)))  ex, (constrained (tag (parallel (tag (act1) (> end-act1)) (act2)... (actN)) (> alldone)) (in-context (series end-act1 alldone) :maintain (condition)))

13 Decomposição hierárquica: opções múltiplas de expansão  Opções explicitamente declaradas: ::= (choice *)  Opções implícitas geradas por instanciação de variáveis durante execução:  ::= (forsome ) um opção por cada instanciação válida da lista de variáveis  ::= (foreach ) um opção por cada instanciação válida da lista de variáveis que tornam verdadeiro

14 Decomposição hierárquica: exemplo (:action unload :parameters (?P –package ?V –vehicle ?L –location) :expansion (choice... (forsome (?C –crane) (in-context (constrained (series (tag (pick-up-package-vehicle ?P ?C ?V ?L) (> end-n1)) (tag (< beg-n2) (put-down-package-ground) ?P ?C ?L))) (in-context (series end-n1 beg-n2) :maintain (and (at-package ?P ?C) (at-equipment ?C ?L))) :precondition (and (flatbed ?V) (empty ?C) (at-package ?P ?V) (at-vehicle ?V ?L) (at-equipment ?C ?L))))))

15 Invariantes e manutenção de objetivos  Propriedades invariantes do domínio  ::= (:timeless +)  ex, (:timeless (on briefcase-tag briefcase))  Objetivo a manter durante plano inteiro  ::= (:safety )  ex, (:safety (forall (?F) (or (file ?F) (written-to-tape ?F))))  Objetivo a manter durante passo de uma expansão  ::= (in-context )  :maintain declara objetivo a manter durante passo especificado por de uma expansão  :pré-condição declara pré-condição adicional para uma ação do contexto durante o passo especificado por de uma expansão  ex, (series (clear ?Area) (in-context (shell ?Area) :precondition (not (exists (?U -unit) (and (friendly ?U) (in ?U ?Area))))))

16 Axiomas  Representam relações entre objetos do mesmo estado  Complementam ações que representam relações entre objetos de estados diferentes  Permite fatorar do código das ações conseqüências comuns, próprias a um estado é não a uma transição dada

17 Axiomas  ::= (:axiom :vars :context :implies )  Um axioma é uma regra dedutiva da 1 a ordem:  :vars contém variáveis implicitamente universalmente quantificadas  :context indica premissa da regra  :implies codifica conclusão da regras  Planejadores implementando axiomas devem embutir motor de inferência  pelo sub-conjunto da lógica da 1a ordem formado pelas fórmulas implicativas  mais expressivo do que Prolog e sistemas de produção  ex, (:axiom :vars (?O1 ?O2 -physobj) :context (on ?O1 ?O2) :implies (above ?O1 ?O2)) (:axiom :vars (?O1 ?O2 -physobj) :context (exists (?O3 -physobj) (and (on ?O1 ?O3) (above ?O3 ?O2)) :implies (above ?O1 ?O3))

18 Fluentes e expressões aritméticas (:action pour :parameters (?Source ?Dest -container) :vars (?Sfl ?Dfl -(fluent number) ?Dcap -number) :precondition (and (content ?Source ?Slf) (content ?Dtest ?Dfl) (capacity ?Dest ?Dcap) (fluent-test (<= (+ ?Sfl ?Dfl) ?Dcap))) :effect (when (and (contents ?Source ?Sfl) (contents ?Dest ?Dfl)) (and (change ?Sfl 0) (change ?Dfl (+ ?Dfl ?Sfl))))) (fluent-eval (sum (?P -person ?W -number) (and (aboard ?P ?Elevator) (weight ?P ?W)) ?W))

19 Definição de problemas

20 Heurísticas de planejamento


Carregar ppt "PDDL: uma linguagem padrão para especificação de problemas e heurísticas de planejamento Jacques Robin CIn-UFPE."

Apresentações semelhantes


Anúncios Google