A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Inteligência Artificial

Apresentações semelhantes


Apresentação em tema: "Inteligência Artificial"— Transcrição da apresentação:

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

2 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)

3 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?

4 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

5 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.

6 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

7 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.

8 Jeremoabo - Cajazeiras

9 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

10 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, ....

11 Tudo depende do conhecimento do agente!!!!
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!!!!

12 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

13 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

14 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.

15 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.

16 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

17 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)

18 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

19 Exemplo: Jeremoabo a Cajazeiras

20 Busca em espaço de estados

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

22 Métodos de busca

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

24 Heurísticas

25 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.

26 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

27 Algoritmo Padrão Hill Climbing

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

29 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. Tópico:.... Tópico: no processo de annealing ou recozimento, para obtenção de estados de baixa energia num sólido. Na primeira etapa a temperatura do sólido é aumentada para um valor máximo no qual ele se funde; Na segunda o resfriamento deve ser realizado lentamente até que o material se solidifique, sendo acompanhado e controlado esse arrefecimento. Nesta segunda fase, executada lentamente, os átomos que compõem o material organizam-se numa estrutura uniforme com energia mínima. Isto provoca que os átomos desse material ganhem energia para se movimentarem livremente e, ao arrefecer(tornar frio) de forma controlada 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.

30 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.

31 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. De forma semelhante o SA uma vez tendo todos os dados, faz-se um recozimento a fim de fazer um espalhamento entre os bons e ruins em seguida um arrefecimento crendo que os melhores estão colocados nos melhores locais reduzindo assim as falhas anteriores, ou seja substitui a solução atual por uma solução próxima De forma análoga, o algoritmo de arrefecimento simulado substitui a solução atual por uma solução próxima (i.e., na sua vizinhança no espaço de soluções), 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.

32 Figura 1 Ilustração de mínimos locais e mínimo global
Simulated Annealing O parâmetro T (temperatura) é reduzido após algumas iterações (arrefecimento). Figura 1 Ilustração de mínimos locais e mínimo global Tópico:O parâmetro T, chamado de temperatura e esta temperatura é reduzida após algumas iterações simulando o processo de resfriamento. Ou seja, O processo de iniciar o algoritmo começa com uma elevada temperatura e ao passar do tempo irá resfriando lentamente, quando a temperatura está elevada possibilita que o Simulated Annealing aceite vizinhos que levem a movimentos de piora. Agindo desta forma, o SA possui um mecanismo para escapar dos mínimos locais. Ao passar do tempo, quando a temperatura diminui, a probabilidade de se aceitar um vizinho de maior energia diminui. A Figura 1 apresenta uma ilustração de mínimos locais e mínimo global.

33 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 Esta técnica começa sua busca a partir de uma solução inicial qualquer, o procedimento principal consiste em um loop ou laço que gera aleatoriamente, em cada iteração, um único vizinho s’ da solução corrente s. A cada geração de um novo vizinho s’ de s, é testada a variação ∆ do valor da função objetivo, isto é, ∆ = f (s’) – f (s), onde temos as seguintes situações ∆ < 0: Há uma redução de energia, a qual implica que a nova solução é melhor que a anterior. O método aceita a solução e s’ passa a ser a nova solução corrente. ∆ = 0: Caso de estabilidade, não havendo redução de energia. Na verdade, situação pouco provável de acontecer na prática. A aceitação da solução é, portanto, indiferente. ∆ ≥ 0: Houve um aumento do estado de energia. A aceitação desse tipo de solução é mais provável a altas temperaturas e bastante improvável a temperaturas reduzidas. OBS: Pode comentar se quiser essa parte abaixo No caso de ∆ ≥ 0: Para reproduzir essas características, geralmente usa-se, para calcular a probabilidade de se aceitar a nova solução, uma função conhecida por fator de Boltzmann, que é dada por e-∆/T, onde T é um parâmetro do método, chamado de temperatura e que regula a probabilidade de soluções com pior custo. Por exemplo, esta poderá ser: Gera-se um número aleatório retirado de uma distribuição uniforme no intervalo [0, 1]. Se este número for menor ou igual a “p”, aceita-se a solução. Se for maior que “p”, rejeita-se a solução.

34 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 A temperatura T assume inicialmente um valor elevado, T0. Nisso o sistema fica em loop (conforme mencionado) daí Após um número fixo de iterações (o qual representa o número de iterações para o sistema atingir o equilíbrio térmico em uma dada temperatura), a temperatura é gradativamente diminuída por uma razão de resfriamento α, tal que Tn ← α * Tn -1, sendo 0 < α < 1 (α Factor de redução da temperatura (Entrada)). Como esse procedimento se dá no início, há uma chance maior de se escapar de mínimos locais e, à medida que T se aproxima de zero, o algoritmo se comporta como o método de descida, uma vez que diminui a probabilidade de se aceitar movimentos que possa piorar (T → 0 => e-∆/T → 0).

35 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 O procedimento é finalizado quando a temperatura chega a um valor próximo de zero E nenhuma solução que piore o valor da melhor solução seja mais aceita, ou seja, quando o sistema estiver estável. A solução obtida quando o sistema encontra-se nesta situação evidencia o encontro de um mínimo local. Obs: se achar necessário comentar:Algoritmos baseados em Simulated Annealing geralmente incluem reaquecimento seguido de um novo processo de resfriamento, utilizado quando a quantidade de movimentos consecutivamente rejeitados é alta. É também comum trabalhar nas temperaturas mais altas com taxa de resfriamento menor e aumentá-la quando a temperatura reduzir.

36 Simulated Annealing Identificadores 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. Antes de apresentar o algoritmo vejamos os identificadores neles utilizados:

37 Simulated Annealing Funçõ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; Além dos indicadores acima, consideremos as seguintes funções: 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;

38 Simulated Annealing Pseudo-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 = 1 nSucesso = 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= Si nSucesso = nSucesso Fim-se i = i 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)

39 Simulated Annealing O problema
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 Para utilizar o SA para resolver problemas de otimização, é necessário definir a representação do problema, o mecanismo de geração de uma nova vizinhança, a função objetivo, a forma de resfriamento da temperatura e o critério de parada


Carregar ppt "Inteligência Artificial"

Apresentações semelhantes


Anúncios Google