Inteligência Artificial

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

description

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” - PowerPoint PPT Presentation

Transcript of Inteligência Artificial

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 Annealing

A 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*/Repita

i = 1nSucesso = 0/*Loop Interno – Realização de perturbação em uma iteração*/Repita

Si = 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ão

S= SinSucesso = nSucesso + 1

Fim-sei = i + 1

Até (nSucesso ≥ L) ou (i > P)/*Atualização da Temperatura*/T = α.T/*Atualização do Contador de iterações*/j = j + 1

Até (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