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.

Slides:



Advertisements
Apresentações semelhantes
Introdução a Algoritmos
Advertisements

Planejamento Viviane Torres da Silva
Planejamento Viviane Torres da Silva
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
O PLANO DE MARKETING.
Projeto Político Pedagógico
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
Prof. Yandre Maldonado e Gomes da Costa
PLANILHA DE CALCULO.
Programação Lógica ProLog
Prof. Miguel Antonio Pelizan
Criando uma Animação.
Metodologias Equipe do Curso de ES para SMA
Busca em Profundidade Para encontrar um caminho de solução Sol, de um dado nó para algum nó objetivo Se N é um nó objetivo, então Sol=[N] Se há um nó N1.
Professora: Aline Vasconcelos IF Fluminense
Recursividade Conceitos e Aplicações.
- Conceitos e termos - Aplicações
Linguagem C Estruturas de Controle de Fluxos
Linguagem de Prog. e Programas
Apresentação Introdução à Programação Genética Título :
5. Processamento de Listas
Luiz A M Palazzo Abril de 2010
Exame de Qualificação Silvio do Lago Pereira
Como articular Ações Estratégicas Elementos básicos.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Processamento da Informação BC-05045
LISTAS Uma lista é uma estrutura de dados muito comum na programação não numérica (com particular destaque na computação simbólica onde representa quase.
Vinicius Ponte Machado
Aula Prática - Prolog Sistemas Inteligentes /~if684
LISTAS Uma lista é uma estrutura de dados muito comum na programação não numérica (com particular destaque na computação simbólica onde representa quase.
Estudos Orientados TI Aula 2 – 2014/1 Prof. Dr. Luís Fernando Garcia Luisffgarcia (Skype e Twitter)
Aula Prática - Prolog Sistemas Inteligentes /~if684
Capítulo 3 Estruturas de Controle
Linguagem C++ - Introdução
Algoritmos e Programação de Computadores
Sistema de Comando em Operações
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Operadores Relacionais, Lógicos e comandos de condição
Sistemas Especialistas
ALGORITMOS.
Estrutura de Decisão e Repetição
Inteligência Artificial
Estrutura de decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições.
Linguagem de Programação JAVA
Lógica Estruturada Aplicada
Sistemas Operacionais
1. Qualitor Módulo Gerenciamento de Problemas Versão 5i Doc oficializado em 08/05/08.
Aula 7 – Planejamento do Levantamento
PCI- Estrutura de Repetição
ADMINISTRAÇÃO DE PROJETOS
Operadores Relacionais e Lógicos
Resolução de Problemas
PUCC 1 Tópicos em Sistemas Inteligentes. PUCC 2 Agenda - Aula 03 Buscas Agentes que Planejam.
Algoritmo.
INF 1771 – Inteligência Artificial
Hardware Description Language Aula 5 -VHDL Prof. Afonso Ferreira Miguel, MSc.
Linguagens de Programação
Resolução de Problemas de Busca
Empreendedor.Está relacionado com a criação de empresas ou produtos novos. Cooperação : Ajudar os outros. Decisão: Decidiras Suas metas. Planejamento.
Resolução de Problemas Sistemas de Produção Prof. Cláudio M. N. A. Pereira.
Etapas : Algoritmo é uma sequência lógica de instruções que podem ser executadas. É importante destacar que qualquer tarefa que siga um certo padrão.
Estrutura de Dados Aula 3 - Listas
Memória Virtual.
ERGONOMIA AULA 6: “O POSTO DE TRABALHO”.
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
P DC A Planejamento Ações corretivas ExecuçãoVerificação 1) Problema 2) Observação 3) Análise de causas 4) Plano de Ação Item de controle Tempo PDCA PARA.
Transcrição da apresentação:

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 Planejamento A C B A C B 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

Sintaxe da descrição de um estado: [,,..., ] 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) 1.Pré-condição - condição que deve ser satisfeita para aplicar a ação pode(Ação, Condição) 1.Lista de adições - relacionamentos que a ação estabelece adições(Ação, ListaAdições) 1.Lista de remoções - relacionamentos que a ação destrói remoções(Ação, ListaRemoções) Planejamento: Representação dos Estados e Ações

pode( mova( Bloco, De, Para), [ livre( Bloco), livre( Para), sobre( Bloco, De)] ) :- é_bloco( Bloco), % Bloco a ser movido é_bloco( Bloco), % Bloco a ser movido objeto( Para), % "Para" é um Bloco ou um lugar objeto( Para), % "Para" é um Bloco ou um lugar Para \== Bloco, % Bloco não pode ser movido para si próprio Para \== Bloco, % Bloco não pode ser movido para si próprio objeto( De), % "De" é um Bloco ou um lugar objeto( De), % "De" é um Bloco ou um lugar De \== Para, % O movimento deve ser feito para uma nova posição De \== Para, % O movimento deve ser feito para uma nova posição Bloco \== De. % Bloco não pode ser movido de si próprio 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 Definição do Espaço de Planejamento em Prolog

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 estado1( [ livre(2), livre(4), livre(b), livre(c), sobre(a,1), sobre(b,3), sobre(c,a) ] ).

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

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).

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).