1 / 7

Planejamento

Planejamento. A. C. B. B. C. A. 2 3 4. 2 3 4. Objetivo Raciocinar sobre: os efeitos de ações; o seqüenciamento de ações para atingir um efeito cumulativo desejado. Exemplo de uma Tarefa no Mundo dos Blocos. As ações alteram o estado corrente do “mundo” localmente.

barid
Télécharger la présentation

Planejamento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planejamento A C B B C A • 2 3 4 • 2 3 4 • Objetivo Raciocinar sobre: • os efeitos de ações; • o seqüenciamento de ações para atingir um efeito cumulativo desejado. • Exemplo de uma Tarefa no Mundo dos Blocos As ações alteram o estado corrente do “mundo” localmente. Uma boa representação deve levar em conta esta “localidade” do efeito das ações. Estado Lista de relacionamentos correntemente verdadeiros

  2. Planejamento: Representação dos Estados e Ações • Sintaxe da descrição de um estado: [ <relacionamento 1>, <relacionamento 2>, . . . , <relacionamento n> ] • Relações para o mundo dos blocos: sobre(Bloco, Objeto) Objeto: bloco ou lugar livre(Objeto) • Descrição do Estado Inicial: [ sobre(a,1), sobre(c,a), livre(c), livre(2), sobre(b,3), livre(b), livre(4) ] • Definição das Ações: mova(Bloco, De, Para) • Pré-condição - condição que deve ser satisfeita para aplicar a ação pode(Ação, Condição) • Lista de adições - relacionamentos que a ação estabelece adições(Ação, ListaAdições) • Lista de remoções - relacionamentos que a ação destrói remoções(Ação, ListaRemoções)

  3. Definição do Espaço de Planejamento em Prolog pode( mova( Bloco, De, Para), [ livre( Bloco), livre( Para), sobre( Bloco, De)] ) :- é_bloco( Bloco), % Bloco a ser movido objeto( Para), % "Para" é um Bloco ou um lugar Para \== Bloco, % Bloco não pode ser movido para si próprio objeto( De), % "De" é um Bloco ou um lugar De \== Para, % O movimento deve ser feito para uma nova posição Bloco \== De. % Bloco não pode ser movido de si próprio adições( mova(X,De,Para), [ sobre(X,Para), livre(De)]). remoções( mova(X,De,Para), [ sobre(X,De), livre(Para)]). objeto( X) :- % X é um objeto se lugar( X) % X é um lugar ; % ou é_bloco( X). % X é um bloco

  4. Definição do Espaço de Planej. em Prolog – Cont. é_bloco( a). é_bloco( b). é_bloco( c). lugar( 1). lugar( 2). lugar( 3). lugar( 4). % Um estado no mundo dos blocos % % c % a b % = = = = % lugar 1 2 3 4 estado1( [ livre(2), livre(4), livre(b), livre(c), sobre(a,1), sobre(b,3), sobre(c,a) ] ).

  5. Análise Meios-Fins: Implementação em Prolog 1 % planeja( Estado, Objetivos, Plano, EstadoFinal) planeja( Estado, Objetivos, [], Estado) :- % Plano está vazio satisfeito( Estado, Objetivos). % Objetivos satisfeitos em Estado planeja( Estado, Objetivos, Plano, EstadoFinal) :- conc( PréPlano, [Ação | PostPlano], Plano), % Divide plano seleciona( Estado, Objetivos, Objetivo), % Seleciona um Objetivo atinge( Ação, Objetivo), % Ação relevante pode( Ação, Condição), planeja( Estado, Condição, PréPlano, EstadoIntermediário1), % Permite Ação aplica( EstadoIntermediário1, Ação, EstadoIntermediário2), % Aplica Ação planeja( EstadoIntermediário2, Objetivos, PostPlano, EstadoFinal). % Atinge % objetivos % restantes

  6. Análise Meios-Fins: Implementação em Prolog 2 % satisfeito( Estado, Objetivos): Objetivos são válidos no Estado satisfeito( Estado, []). satisfeito( Estado, [Objetivo | Objetivos]) :- member( Objetivo, Estado), satisfeito( Estado, Objetivos). seleciona( Estado, Objetivos, Objetivo) :- member( Objetivo, Objetivos), not member( Objetivo, Estado). % Objetivo ainda não satisfeito % atinge( Ação, Objetivo): Objetivo são as adições da Ação  atinge( Ação, Objetivo) :- adições( Ação, Objetivos), member( Objetivo, Objetivos).

  7. Análise Meios-Fins: Implementação em Prolog 3 % aplica( Estado, Ação, NovoEstado): Ação executada em Estado produz NovoEstado  aplica( Estado, Ação, NovoEstado) :- remoções( Ação, ListaRemoções), removeTodas( Estado, ListaRemoções, Estado1), !, adições( Ação, ListaAdições), conc( ListaAdições, Estado1, NovoEstado). % removeTodas( L1, L2, Diferenças) se Diferenças são as diferenças de L1 e L2 removeTodas( [], _, []). removeTodas( [X | L1], L2, Diferenças) :- member( X, L2), !, removeTodas( L1, L2, Diferenças). removeTodas( [X | L1], L2, [X | Diferenças]) :- removeTodas( L1, L2, Diferenças). 

More Related