SCC Capítulo 6 Planejamento

Documentos relacionados
Inteligência Artificial - IA. Resolução de problemas por meio de busca

SCC Capítulo 12 Aprendizado Probabilístico

SCC Capítulo 10 Métodos de Amostragem e Avaliação de Algoritmos

SCC-501 Introdução à Ciência de Computação II

SCC Capítulo 9 Indução de Árvores de Decisão

Otimização Combinatória - Parte 4

SCC-5832 Teoria da Computação

SCC-201 Introdução à Ciência de Computação II

Teoria dos Grafos Aula 7

SCC Introdução à Teoria da Computação

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos

Inteligência Artificial

SCC Teoria da Computação e Linguagens Formais

SCC Capítulo 3 Análise de Algoritmos - Parte 2

Universidade Metodista de Piracicaba. Trabalho de Inteligência Artificial LABIRINTO

Planejamento & Escalonamento O algoritmo FF-métrico. Aldebaran Perseke 3 de abril de 2003

Planejamento. Capítulo 6

Teoria da Computação Aula 9 Noções de Complexidade

Técnicas de Projeto de Algoritmos

3 Aprendizado por reforço

Seleção de Atributos 1

3. Resolução de problemas por meio de busca

SCC Capítulo 2 Introdução à Linguagem Algorítmica

SCC Capítulo 10 Métodos de Amostragem e Avaliação de Algoritmos

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa

Aprendizado de Máquina (Machine Learning)

Inteligência Artificial

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos

Introdução a Algoritmos Parte 08

Inteligência Artificial IA IV. RACIOCÍNIO BASEADO EM REGRAS

Lógica de Programação

CIC 111 Análise e Projeto de Algoritmos II

Inteligência Computacional

Preliminares. Profa. Sheila Morais de Almeida. agosto

& somadosnumeros = valor

Inteligência Artificial - IA

Conceitos e Princípios Gerais

Algoritmos de Ordenação

Análise e Complexidade de Algoritmos

Análise de Algoritmos. Prof. Sérgio Carlos Portari Júnior

Engenharia de resolução de problemas

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Linguagens Formais e Autômatos

3. Resolução de problemas por meio de busca

Lógica de Programação

ESTRUTURA DE DADOS I AULA I

Universidade Estadual de Maringá Departamento de Informática Disciplina Inteligência Artificial Profa. Josiane

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

Recursividade Exaustiva e Backtracking

Computação I: Representações de Algoritmos

Caminhos de Amizades pelo Facebook:

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Aula 05: - Recursão (parte 1)

Revisão: Tipo Abstrato de Dados Recursividade

Estruturas de Dados Algoritmos

Paradigmas de Projetos de Algoritmos

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Caminhos de Amizades pelo Facebook: Dualidade Computacional entre Curto e Longo

x y Grafo Euleriano Figura 1

IA - Planejamento II

Aula 05: - Recursão (parte 1)

Introdução Paradigmas

I.2 Introdução a Teoria da Computação

SCC Capítulo 2 Recursão

Algoritmos e Programação

Algoritmos e Programação. AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Estruturas de Dados 2

Lógica de Programação

Técnicas de Inteligência Artificial

Análise e Complexidade de Algoritmos

Uma interpretação do algoritmo das eleições proporcionais

Ensinando a Programação

Determinação de vícios refrativos oculares utilizando Support Vector Machines

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas

Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.

Introdução à Lógica de Programação

# Estrutura de Dados # Aula 08 Recursão (conceito, utilização, exemplos) Prof. Leinylson Fontinele Pereira

ANÁLISE DE ALGORITMOS

Ciência da Computação

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Projeto e Análise de Algoritmos

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

5COP096 TeoriadaComputação

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

TCC 00308: Programação de Computadores I Introdução

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Análise de Complexidade para algoritmos iterativos e recursivos

Na aula passada... Introdução à lógica Resolver problemas do code.org Dúvidas? Pergunta: Quem consegue explicar o que fizemos?

Aula de hoje. Programação. Comunicação com computadores. Comunicação com computadores. Comunicação com computadores. Comunicação com computadores

Interpolação polinomial: Diferenças divididas de Newton

método de solução aproximada

3. Resolução de problemas por meio de busca

Complexidade de Tempo e Espaço

Transcrição:

SCC-630 - Capítulo 6 Planejamento João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos joaoluis@icmc.usp.br 2011 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 1/48

Agradecimento Agradeço à Profa. Maria Carolina Monard, que gentilmente permitiu que eu usasse seus slides [2] para preparação deste capítulo. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 2/48

Sumário Conceitos Básicos 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 3/48

Sumário Conceitos Básicos Introdução Conceitos Etapas do Planejamento 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 4/48

Introdução Conceitos Etapas do Planejamento Noção de Planejamento e Aplicações Planejar significa escolher um conjunto de ações antes de agir, ou seja, é o processo de pré-calcular diversas etapas de um procedimento de solução de problema antes de executar qualquer uma delas. Aplicações: Planejamento de robôs: encontrar uma seqüência de movimentos necessários para realização de uma determinada tarefa, Programação automática: encontrar uma seqüência de instruções que realize uma determinada tarefa computacional. Língua natural: encontrar uma seqüência de expressões que satisfaça o processo de comunicação. Outros: planejar experimentos, viagens, etc. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 5/48

Vantagens do Planejamento Introdução Conceitos Etapas do Planejamento Planejamento é uma busca por um conjunto de objetivos dentro de um espaço de estados, tendo por base as ações definidas nesse espaço. A seqüência de ações para alcançar o conjunto de objetivos, partindo de um estado inicial, é chamada plano. Vantagens do Planejamento: Redução de busca, Resolução de objetivos conflitantes. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 6/48

Sumário Conceitos Básicos Introdução Conceitos Etapas do Planejamento 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 7/48

Espaço de Estados Introdução Conceitos Etapas do Planejamento Exemplo: o Mundo dos Blocos Relações: regras gerais sobre as entidades do espaço. Ex: livre(objeto), sobre(bloco,objeto) Relacionamentos: instâncias das relações Ex: livre(v), sobre(a,p), sobre(v,2) João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 8/48

Estado Conceitos Básicos Introdução Conceitos Etapas do Planejamento Estado: é o conjunto de todos os relacionamentos do espaço num dado instante. Estado E1: livre(1) sobre(v,2) livre(v) livre(3) livre(a) sobre(a,p) sobre(p,4) Estado é uma situação global, relacionamento é uma situação particular. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 9/48

Ação Conceitos Básicos Introdução Conceitos Etapas do Planejamento Ação é um acontecimento que altera o estado atual do espaço. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 10/48

Objetivo Conceitos Básicos Introdução Conceitos Etapas do Planejamento Objetivo é um relacionamento que se deseja realizar (alcançar) no espaço de estados. Geralmente, o planejamento é feito tendo em vista um conjunto de objetivos. Um conjunto de objetivos é um subconjunto de um estado. Vários estados diferentes podem satisfazer um mesmo conjunto de objetivos. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 11/48

Planejamento, de novo! Introdução Conceitos Etapas do Planejamento Planejamento é uma busca por um conjunto de objetivos dentro de um espaço de estados, tendo por base as ações definidas nesse espaço. Plano: A1, A2, A3 e A4. Objetivos: sobre(p,a) e sobre(a,v). João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 12/48

Sumário Conceitos Básicos Introdução Conceitos Etapas do Planejamento 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 13/48

Etapas do Planejamento Introdução Conceitos Etapas do Planejamento Escolher as regras (ações) adequadas para que a solução seja encontrada, Aplicar a regra (ação) escolhida para originar um novo estado, Detectar quando uma solução é encontrada, Detectar becos sem saída (dead ends) para que eles sejam abandonados durante o planejamento. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 14/48

Sumário Conceitos Básicos 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 15/48

: Representando Para representar uma ação, usa-se três campos descritivos: 1 Pré-condições (PC): são todos os relacionamentos que devem existir em um estado (ou conjunto de estados) para que a ação seja realizada. 2 Adiciona-fatos (AF): são todos os relacionamentos que passam a fazer parte do estado, após a ação. 3 Remove-fatos (RF): são todos os relacionamentos existentes no estado, que deixam de fazer parte do mesmo, depois da ação. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 16/48

: Representando João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 17/48

Sumário Conceitos Básicos 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 18/48

: Para resolver um conjunto de objetivos Objetivos a partir de um estado Estado, chegando a um estado EstadoFinal, faça: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 19/48

: Se todos os relacionamentos em Objetivos são verdadeiros em Estado então EstadoFinal=Estado: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 20/48

: Se todos os relacionamentos em Objetivos são verdadeiros em Estado então EstadoFinal=Estado: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 21/48

: Senão siga os passos: 1 Selecione um relacionamento Objetivo ainda não resolvido em Objetivos: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 22/48

: 2 Encontre uma ação Ação que adicione Objetivo ao estado atual: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 23/48

: 3 Habilite Ação realizando as precondições Condição da Ação, resultando EstInt1: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 24/48

: 3 Execute recursivamente o algoritmo tendo Condição como Objetivos. O plano resultante é PrePlano: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 25/48

: 4 Aplique a Ação ao EstInt1, resultando em EstInt2 (em EstInt2, Objetivo é atendido): João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 26/48

: 5 Resolva Objetivos em EstInt2, levando a EstadoFinal. Esse é outro passo recursivo, cujo plano resultante é PosPlano: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 27/48

Sumário Conceitos Básicos 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 28/48

: Completo Para resolver um conjunto de objetivos Objetivos a partir de um estado Estado, chegando a um estado EstadoFinal, faça: Se todos os relacionamentos em Objetivos são verdadeiros em Estado então EstadoFinal=Estado, Senão siga os passos: 1 Selecione um relacionamento Objetivo ainda não resolvido em Objetivos, 2 Encontre uma ação Ação que adicione Objetivo ao estado atual, 3 Habilite Ação realizando as precondições Condição da Ação, resultando EstInt1, 4 Aplique a Ação ao EstInt1, resultando em EstInt2 (em EstInt2, Objetivo é atendido), 5 Resolva Objetivos em EstInt2, levando a EstadoFinal. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 29/48

Sumário Conceitos Básicos 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 30/48

Ainda que o mundo dos blocos (MB) aparente ser um problema simples, isso não é verdade. A grande dificuldade do MB está na sua alta complexidade devido ao grande número de possíveis combinações. Freqüentemente, no MB, o planejador tem várias possibilidades de escolha entre diversas ações, e qualquer dessas ações válidas poderia ser escolhida pelo algoritmo de AMF. Essa grande variedade de escolha é responsável pelos defeitos do planejador. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 31/48

A execução do algoritmo de, tendo Partida como estado inicial e sobre(v,p), sobre(p,a) como objetivos, leva ao seguinte plano: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 32/48

Proteção de Objetivos: Soluções para AMF O problema está no fato de algumas ações desfazerem objetivos já alcançados. Percebe-se que a ordem dos objetivos influencia o plano. Uma solução é tentar alcançar os objetivos com diversas ordenações. Outra solução é criar uma lista de objetivos já alcançados e no momento de escolher a ação, evitar escolher ações que destruam algum objetivo da lista. Essa técnica é conhecida como com Proteção de Objetivos. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 33/48

Sumário Conceitos Básicos 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 34/48

Escolhendo uma ação que não desfaz um objetivo alcançado: João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 35/48

Sumário Conceitos Básicos 1 Conceitos Básicos Introdução Conceitos Etapas do Planejamento 2 3 João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 36/48

: Introdução Dados: uma lista de objetivos Objetivos, válida em algum estado S, um estado S0 imediatamente anterior a S, uma ação A que leva de S0 em S. Pergunta-se: quais objetivos Objetivos0 devem ser válidos em S0 para fazer Objetivos válidos em S? João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 37/48

: Processo Objetivos0 deve ter as seguintes propriedades: 1 Possibilitar a ação A, ou seja, satisfazer as pré-condições de A, 2 Para cada objetivo M em Objetivos ou a ação A adiciona M, ou M está em Objetivos0 e a ação A não remove M. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 38/48

: Processo Objetivos0 deve ter as seguintes propriedades: 1 Possibilitar a ação A, ou seja, satisfazer as pré-condições de A, 2 Para cada objetivo M em Objetivos ou a ação A adiciona M, ou M está em Objetivos0 e a ação A não remove M. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 39/48

: Processo Objetivos0 deve ter as seguintes propriedades: 1 Possibilitar a ação A, ou seja, satisfazer as pré-condições de A, 2 Para cada objetivo M em Objetivos ou a ação A adiciona M, ou M está em Objetivos0 e a ação A não remove M. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 40/48

: Processo Objetivos0 deve ter as seguintes propriedades: 1 Possibilitar a ação A, ou seja, satisfazer as pré-condições de A, 2 Para cada objetivo M em Objetivos ou a ação A adiciona M, ou M está em Objetivos0 e a ação A não remove M. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 41/48

: Processo Objetivos0 deve ter as seguintes propriedades: 1 Possibilitar a ação A, ou seja, satisfazer as pré-condições de A, 2 Para cada objetivo M em Objetivos ou a ação A adiciona M, ou M está em Objetivos0 e a ação A não remove M. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 42/48

: Processo Objetivos0 deve ter as seguintes propriedades: 1 Possibilitar a ação A, ou seja, satisfazer as pré-condições de A, 2 Para cada objetivo M em Objetivos ou a ação A adiciona M, ou M está em Objetivos0 e a ação A não remove M. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 43/48

: Definição Dado um conjunto de objetivos Objetivos e uma ação A que resulta em Objetivos, o processo para determinar o conjunto de objetivos Objetivos0 (tal como definido anteriormente) é chamado regressão de Objetivos através de A. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 44/48

: Para resolver um conjunto de objetivos Objetivos a partir de um estado EstadoInicial, faça: Se Objetivos são verdadeiros em EstadoInicial então um plano vazio resolve, Senão siga os passos: 1 Selecione um relacionamento Objetivo ainda não resolvido em Objetivos, 2 Encontre uma ação Ação que adicione Objetivo, 3 Faça a regressão de Objetivos através de A, obtendo NovosObjetivos, 4 Ache um plano para chegar a NovosObjetivos a partir de EstadoInicial. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 45/48

: Observações Uma forma de otimizar o algoritmo é não escolher ações que levem a situações impossíveis. Exemplo de situações impossíveis: sobre(v,p) e livre(p). João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 46/48

Considerações Finais Foram apresentadas idéias básicas de algumas técnicas de planejamento clássico. Técnicas de planejamento podem ser combinadas com outras técnicas de busca. Problemas de planejamento têm, em geral, alta complexidade. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 47/48

Apêndice Bibliografia Referências I [1] Freitas, R. L. Planejamento Apoiado em Inteligência Artificial: Sistemas e Abordagens. Dissertação de Mestrado, ICMSC-USP, 1991. [2] Monard, M. C. Planejamento Clássico. Slides da disciplina SCC630 - Inteligência Artificial. ICMC - USP, 2010. [3] Rich, E. & Knight, K. Inteligência Artificial. 2a edição, McGraw-Hill, 1994. João Luís G. Rosa c 2011 - SCC-630: VI. Planejamento 48/48