inteligência artificial nadilma c. v. n. pereira aula 4 – resolvendo problemas

39
Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Upload: sara-maria-laura-pais-terra

Post on 07-Apr-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Inteligência ArtificialNadilma C. V. N. PereiraAula 4 – Resolvendo Problemas

Page 2: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Agente solucionador de problemas (guiado por objetivo)•O agente reativo

▫Escolhe suas ações com base apenas nas percepções atuais Não tem estado interno Não pode pensar no futuro, não sabe “aonde

vai”•O agente solucionador de problemas

▫Busca uma sequência que leve a estados DESEJÁVEIS (objetivos)

Page 3: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Agentes solucionadores de problemas•O que é um problema em I.A.?•Como formulá-lo?•Como buscar a solução do problema?

▫Busca cega▫Busca Heurística

•Quais são os tipos de problemas?•Quais são as aplicações?

Page 4: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Solução de problemas: definições•Um problema em IA é definido em termos

de...▫Um espaço de estados possíveis, incluindo:

Um estado inicial Um (ou mais) estado final = objetivo Exemplo: dirigir de Recife a Cajazeiras

Espaço de estados: todas as cidades da região▫Um conjunto de ações (ou operadores)

que permitem passar de um estado a outro

Page 5: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Solução de problemas: definições•Definição do objetivo

▫Conjunto de estados finais do mundo Ex. estar em Cajazeiras

•Solução▫Caminho (sequência de ações ou operadores)

que leva do estado inicial a um estado final (0bjetivo).

•Espaço de Estados▫Conjunto de todos os estados alcançáveis a

partir do estado inicial por qualquer sequência de ações.

Page 6: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Solucionando o problema: formulação, busca e execução•Formulação do problema e do objetivo:

▫Quais são os estados e as ações a considerar?▫Qual é (e como representar) o objetivo?

•Busca (solução do problema):▫ Processo que gera/analisa sequências de ações para

alcançar um objetivo▫ Solução = caminho entre estado inicial e estado final▫ Custo do caminho = qualidade da solução

•Execução:▫ Executar a solução completa encontrada. Ou▫ Intercalar a solução com busca: planejamento

Page 7: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Exemplo de formulação de problemas•Ida para Cajazeiras

▫Estados = cada possível cidade do mapa▫Estado inicial = Jeremoabo▫Teste de término = estar em Cajazeiras▫Operadores = dirigir de uma cidade para

outra▫Custo do caminho = número de cidades

visitadas, distância percorrida, tempo de viagem, grau de divertimento, etc.

Page 8: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Jeremoabo - Cajazeiras

Page 9: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Medida de Desempenho na busca•Desempenho de um algoritmo de busca:

▫O algoritmo encontrou alguma solução?▫É uma boa solução?

Custo de caminho (qualidade da solução)▫É uma solução computacionalmente barata?

Custo da busca (tempo e memória)•Custo total:

▫Custo do caminho + custo da busca•Espaço de estados grande

▫Compromisso (conflito) entre a melhor solução e a solução mais barata

Page 10: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Custo diferente => Solução diferente•Função de custo de caminho

▫Número de cidades visitadas▫Distância entre as cidades▫Tempo de viagem, etc.

•Solução mais barata:▫Canudos, Belém do S. Francisco,

Salgueiro, ....▫Canudos, Belém do S. Francisco, Cabrobó, ....▫Canudos, Juazeiro, Petrolina, Cabrobó.

Salgueiro, ....

Page 11: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Tipos de problema•Existem 4 tipos

▫Problemas de estado único (o mais tratado por busca)

▫Problemas de múltiplos estados▫Problemas contingenciais▫Problemas exploratórios

Tudo depende do conhecimento do agente!!!!

Page 12: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Tipo 1: Problemas de estado único•Conhecimento do agente

▫Sabe em que estado está (mundo totalmente acessível)

▫Sabe o efeito de cada uma de suas ações Sabe onde está depois de uma sequência

qualquer de ações•Cada ação leva um único estado

Page 13: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Tipo 2: Problemas de múltiplos estados•Conhecimento do agente

▫Não sabe seu estado inicial (percepção deficiente), mas sabe o efeito de suas ações, OU

▫Não sabe o efeito das ações (execução deficiente), mas sabe seu estado inicial Lei de Murphy: faz o que tem que tem que fazer e ao

mesmo tempo realiza a tarefa contrária• O agente deve raciocinar sobre os conjuntos de

estados aos quais ele pode chegar pelas ações.• Nestes casos, sempre existe uma sequência de ações

que leva a um estado final.• Técnica a aplicar: Busca

Page 14: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Tipo 3: Problema de contingências•Conhecimento do agente:

▫O agente não enxerga o ambiente inteiro OU▫O agente não sabe precisar o efeito das ações

•Não há sequência prévia de ações que garanta a solução do problema

•O agente precisa intercarlar busca e execução

•Técnica a aplicar: Planejamento▫O agente constrói uma árvore de ações, onde

cada ramo lida com uma possível contingência.

Page 15: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Tipo 4: Problemas exploratórios•Conhecimento agente:

▫O agente não conhece seus possíveis estados E▫O agente não sabe o efeito de suas ações

•O agente deve explorar seu ambiente, descobrindo gradualmente o resultado de suas ações e os estados existentes.▫Se o agente “sobreviver”, terá aprendido um

mapa do ambiente, que poderá ser reutilizado em problemas subsequentes.

•Técnica a aplicar: Aprendizagem.

Page 16: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Aplicações: Problemas Reais•Cálculo de rotas

▫Rotas em redes de computadores▫Sistemas de planejamento de viagens▫Planejamento de rotas de aviões▫Caixeiro viajante

Page 17: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Busca em espaço de estados•Uma vez o problema bem formulado... O

estado final deve ser “buscado”•Em outras palavras, deve-se usar um

método de busca para saber a ordem correta de aplicação dos operadores que levará do estado inicial ao final

•Uma vez a busca terminada com sucesso, é só executar a solução (=conjunto ordenado de operadores a aplicar)

Page 18: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Busca em espaço de estados: Geração e Teste•Fronteira do espaço de estados

▫Nós (estados) a serem expandidos no momento

•Algoritmo▫Obs: o algoritmo começa com a fronteira

contendo o estado inicial do problema

Page 19: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Exemplo: Jeremoabo a Cajazeiras

Page 20: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Busca em espaço de estados

Page 21: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Busca em espaço de estados: Implementação

Page 22: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Métodos de busca

Page 23: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Critérios de Avaliação das Estratégias de Busca

Page 24: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Heurísticas

Page 25: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Problema do caixeiro viajante•É um problema clássico de otimização

combinatória;• Suponha que um caixeiro tenha de visitar n

cidades diferentes, iniciando e encerrando sua viagem na primeira cidade. A ordem de visita às cidades não importa e cada uma delas pode ir diretamente a qualquer outra. Resumindo, o problema do caixeiro viajante consiste em descobrir a rota que torna mínima a viagem total.

Page 26: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Hill Climbing (Subida na Montanha)•É um método de busca (local) que utiliza

um procedimento de melhora iterativa (iterative improvement).

•A estratégia é aplicada a um único ponto x (solução candidata) no espaço de busca

Page 27: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Algoritmo Padrão Hill Climbing

Page 28: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Interpretação da Terminologia do Sistema Físico para o Domínio Computacional

Page 29: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated Annealing• Arrefecimento simulado ou simulated annealing é uma meta-

heurística  para otimização que consiste numa técnica de busca local probabilística, e se fundamenta numa analogia com a termodinâmica.

• É análogo ao processo térmico devido a duas etapas utilizada na metalúrgica no processo de annealing:▫ A temperatura é aumentada a fim de fundir o sólido▫ Resfriamento realizado lentamente e o material se solidifica. Nesta fase,

os átomos organizam-se numa estrutura uniforme com energia mínima, provocando que os átomos ganhem energia para se movimentarem livremente e arrefecer (tornar frio) de forma controlada.

Page 30: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated AnnealingA grande sacada nisso é que esse processo dar uma

melhor hipótese de que o material se organize numa configuração com menor energia interna, para ter, como resultado prático, uma redução dos

defeitos do material.

Page 31: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated Annealing• Substitui uma solução atual por uma solução próxima

(no espaço de soluções) através de:▫ De forma análoga, o algoritmo de arrefecimento simulado

substitui a solução atual por uma solução próxima, escolhida de acordo com uma função objetivo e com uma variável T (dita Temperatura, por analogia). Quanto maior for T, maior a componente aleatória que será incluída na próxima solução escolhida.

▫ À medida que o algoritmo progride, o valor de T é decrementado, começando o algoritmo a converter para uma solução ótima, necessariamente local.

▫ Uma das principais vantagens deste algoritmo é permitir testar soluções mais distantes da solução atual e dar mais independência do ponto inicial da pesquisa.

Page 32: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated AnnealingO parâmetro T (temperatura) é reduzido após algumas

iterações (arrefecimento).

Figura 1 Ilustração de mínimos locais e mínimo global

Page 33: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated Annealing•Procedimento:

▫Busca a partir de uma solução inicial qualquer▫O procedimento principal é um loop que gera UM

ÚNICO vizinho s’ da solução s▫A Cada s’ é testado a variação do ∆ do valor da função

objetivo, ∆ = f (s’) – f (s) ∆ < 0 Redução de energia ∆ = 0 Caso de estabilidade ∆ ≥ 0 Aumento do estado de energia

Page 34: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated Annealing•T assume valor elevado inicialmente (T0)•Quando o sistema atinge o equilíbrio térmico em uma

dada temperatura, ela é diminuída▫Tn ← α * Tn -1, sendo 0 < α < 1

•Com esse procedimento inicial há uma chance maior de se escapar de mínimos locais

Page 35: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated Annealing

•Quando a temperatura chega a um valor próximo de zero (mínimo local)

•Quando o sistema encontra-se nesta situação evidencia o encontro de um mínimo local

Page 36: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated AnnealingIdentificadores utilizados:

S0 → Configuração Inicial (Entrada); Si → Configuração da Iteração i; S → Configuração Final; T0 → Temperatura Inicial; Ti → Temperatura na Iteração i; M → Número máximo de iterações (Entrada); P → Número máximo de Perturbações por iteração (Entrada); L → Número máximo de sucessos por iteração (Entrada); α → Factor de redução da temperatura (Entrada); f(Si) → Valor da função objetivo correspondente á configuração Si; nSucesso → Contador de sucesso em uma iteração; i e j → Variáveis de controle de Loops.

Page 37: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated AnnealingFunções utilizadas:

Pertuba(S) → Função que realiza uma perturbação na Solução S;

Randomiza() → Função que gera um número aleatório no intervalo [0,1];

TempInicial() → Função que calcula a temperatura inicial;

Page 38: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated AnnealingPseudo-Código Simulated Annealing Inicio

/* Entradas do Algoritmo */ Ler (S0, M, P, L, α) /* Inicialização das variáveis */ S = S0 T0 = TempInicial() T = T0 j = 1 /*Loop principal – Verifica se foram atendidas as condições de termino do algoritmo*/Repitai = 1nSucesso = 0/*Loop Interno – Realização de perturbação em uma iteração*/RepitaSi = Pertuba(S)∆Fi = f(Si) – f(S)/*Teste de aceitação de uma nova solução*/Se (∆fi ≤ 0) ou (exp(-∆fi/T) > Randomiza()) entãoS= SinSucesso = nSucesso + 1Fim-sei = i + 1Até (nSucesso ≥ L) ou (i > P)/*Atualização da Temperatura*/T = α.T/*Atualização do Contador de iterações*/j = j + 1Até (nSucesso = 0) ou (j > M)/*Saída do Algoritmo*/Imprima(S)

Page 39: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas

Simulated Annealing•Para usar SA é necessário definir:

▫O problema▫O mecanismo da geração de uma nova

vizinhança▫Função Objetivo▫Forma de resfriamento da temperatura▫Critério de Parada