Post on 07-Apr-2016
Inteligência ArtificialNadilma C. V. N. PereiraAula 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)
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?
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
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.
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
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.
Jeremoabo - Cajazeiras
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
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, ....
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!!!!
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
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
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.
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.
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
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)
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
Exemplo: Jeremoabo a Cajazeiras
Busca em espaço de estados
Busca em espaço de estados: Implementação
Métodos de busca
Critérios de Avaliação das Estratégias de Busca
Heurísticas
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.
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
Algoritmo Padrão Hill Climbing
Interpretação da Terminologia do Sistema Físico para o Domínio Computacional
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.
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.
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.
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
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
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
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
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.
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;
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)
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