resolvendo problemas de comunicação em equipes distribuídas com bdd
Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.
-
Upload
sara-maria-laura-pais-terra -
Category
Documents
-
view
218 -
download
3
Transcript of Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.
![Page 1: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/1.jpg)
Inteligência ArtificialNadilma C. V. N. PereiraAula 4 – Resolvendo Problemas
![Page 2: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/2.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/3.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/4.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/5.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/6.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/7.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/8.jpg)
Jeremoabo - Cajazeiras
![Page 9: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/9.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/10.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/11.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/12.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/13.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/14.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/15.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/16.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/17.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/18.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/19.jpg)
Exemplo: Jeremoabo a Cajazeiras
![Page 20: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/20.jpg)
Busca em espaço de estados
![Page 21: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/21.jpg)
Busca em espaço de estados: Implementação
![Page 22: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/22.jpg)
Métodos de busca
![Page 23: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/23.jpg)
Critérios de Avaliação das Estratégias de Busca
![Page 24: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/24.jpg)
Heurísticas
![Page 25: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/25.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/26.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/27.jpg)
Algoritmo Padrão Hill Climbing
![Page 28: Inteligência Artificial Nadilma C. V. N. Pereira Aula 4 – Resolvendo Problemas.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/28.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/29.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/30.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/31.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/32.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/33.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/34.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/35.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/36.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/37.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/38.jpg)
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.](https://reader035.fdocumentos.com/reader035/viewer/2022081520/5706385a1a28abb8238fd931/html5/thumbnails/39.jpg)
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