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 1 a linguagem padrão para expressão de problemas de planejamento Possibilita: 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 Criado em 1998 para a 1 a competição de planejamento Expressividade variável: Expressividade variável: parte de STRIPS como base permite usar qualquer combinação de uma grande variedade de extensões que incluem ADL

3 Expressividade de PDDL: cobre muitas extensões de STRIPS Decomposição hierárquica Decomposição hierárquica Efeitos condicionais Efeitos condicionais Efeitos universalmente quantificados Efeitos universalmente quantificados i.e., as conjunções de literais positivos e negativos que constituam os efeitos podem conter variáveis universalmente quantificadas localmente declaradas Axiomas: 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 1 a ordem, com semântica de mundo fechado ou aberto a escolher, para especificação: Qualquer formula sem função da lógica da 1 a 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 Variáveis tipadas Objetivos a manter durante expansão de uma ação abstrata, ou até processo de planejamento inteiro Objetivos a manter durante expansão de uma ação abstrata, ou até processo de planejamento inteiro Medidas de fluentes e avaliação de expressões aritméticas de cálculo e comparação para representar restrições quantitativas de recursos Medidas de fluentes e avaliação de expressões aritméticas de cálculo e comparação para representar restrições quantitativas de recursos

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 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: 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 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 Decomposição puramente seqüencial ou puramente paralela ::= ( *) ::= (series *) | (parallel *) Decomposição híbrida de ordem parcial 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: Opções explicitamente declaradas: ::= (choice *) Opções implícitas geradas por instanciação de variáveis durante execução: 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 Propriedades invariantes do domínio ::= (:timeless +) ex, (:timeless (on briefcase-tag briefcase)) Objetivo a manter durante plano inteiro 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 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 Representam relações entre objetos do mesmo estado Complementam ações que representam relações entre objetos de estados diferentes 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 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: 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 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))


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