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

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

Busca com Informação e Exploração “Busca heurística”

Apresentações semelhantes


Apresentação em tema: "Busca com Informação e Exploração “Busca heurística”"— Transcrição da apresentação:

1 Busca com Informação e Exploração “Busca heurística”
Humberto César Brandão de Oliveira

2 Busca heurística - Escopo
Definição Estratégias de busca com Informação Funções heurísticas Algoritmos de busca local e problemas de otimização Busca local em espaço contínuo Agente de busca on-line e ambientes desconhecidos

3 Problema da busca cega Se a combinação de caminhos até o objetivo for exponencial a busca cega dificilmente encontrará a resposta do problema em um tempo polinomial.

4 Instância Como encontrar um barco perdido?
não podemos procurar no oceano inteiro... Informações relevantes: Velocidade do vento; Direção do vento; ...

5 Definição Como na busca cega, utiliza a definição do problema para efetuar a busca. Utiliza conhecimento específico do problema (informações) Não procura a melhor solução do problema, procura uma boa solução, ou simplesmente alguma solução.

6 Busca pela melhor escolha
Estratégia: tenta expandir o nó supostamente mais próximo a origem (heurística), através de uma estimativa; Avalia nós através da função h(n) h(n) depende do problema

7 Exemplo Objetivo: Encontrar um bom caminho de Arad à Bucareste.
h(n) = distância em linha reta do nó n até o objetivo (Bucareste)

8 Busca pela melhor escolha

9 Características da Busca Gulosa pela melhor escolha
Não é ótima (como dado no exemplo anterior); É incompleta;

10 Porque incompleta? Exemplo: Origem: Neamt. Destino: Fagaras

11 A* Avalia a combinação de duas funções: f(n) = g(n) + h(n); onde:
g(n) é o custo real da origem até o nó n; h(n) é a distância em linha reta do objetivo até o nó n.

12 A*: Características Desde que h(n) não superestime o custo para alcançar o objetivo, A* é ótima. Completa. A* expande o nó de menor valor de f na fronteira do espaço de estados. Olha o futuro sem esquecer do passado, armazenando todos os caminhos anteriores.

13 A* Distância em linha reta para Bucharest: 336 + 160 449 75 + 374
220 239 417 393 366 317 447 413 455 418 415 496

14 Comportamento Custo de tempo: exponencial com o comprimento da solução, porém boas funções heurísticas diminuem significativamente esse custo Custo memória: O(bd) guarda todos os nós expandidos na memória para possibilitar o backtracking Eficiência ótima só expande nós com f(n)  f*, onde f* é o custo do caminho ótimo

15 A* de aprofundamento iterativo (AIA*)
igual ao aprofundamento iterativo, sua principal diferença é que seu limite é dado pela função de avaliação (f) (contornos), e não pela profundidade (d).

16 Busca heurística com limite de memória
BRPM – Busca recursiva pelo melhor Semelhante a busca recursiva em profundidade; Diferença: Não desce indefinidamente. Ela controla a recursão pelo valor de f. Se existir algum nó em um dos ancestrais que ofereça melhor estimativa que o nó atual, a recursão retrocede e a busca continua no caminho alternativo.

17 BRPM Arad 366 Arad Sibiu 393 447 Fagaras Oradea R. Vilcea 413 415 526
Pitesti Sibiu 417 553

18 BRPM Arad 366 Arad Sibiu 393 447 Fagaras Oradea R. Vilcea 417 415 526
Bucareste 591 450

19 BRPM Arad 366 Arad Sibiu 393 447 Fagaras Oradea R. Vilcea 417 450 526
Pitesti Sibiu 417 553 Bucareste R. Vilcea 418 607

20 A* Limitado pela memória simplificado (LMSA*)
Utiliza toda a memória disponível; Quando a memória está cheia, ele elimina o pior nó folha (maior custo de f) para continuar a busca.

21 A* Limitado pela memória simplificado (LMSA*)
A atividade constante de paginação causa degradação do desempenho do sistema . É completo, se a profundidade do nó objetivo mais raso for menor que o tamanho da memória. É ótimo se qualquer solução ótima for alcançável.

22 Funções heurísticas O desempenho da busca está totalmente relacionado a qualidade da função heurística utilizada. Como medir a qualidade de uma função heurística?

23 Exatidão heurística Uma maneira de caracterizar a exatidão heurística é através do fator de ramificação efetiva (b*). Considere N o número de nós gerados para alcançar o objetivo, e d a profundidade da solução. Então: N = 1 + b* + (b*) (b*)d Uma boa função heurística terá b* bem próximo de 1.

24 Funções heurísticas Se o custo real para alcançar n é 150.
h1(n) = 56; //heurística 1 h2(n) = 140; //heurística 2 h2(n) >= h1(n); Dizemos que h2 domina h1. Isso pode ser traduzido na forma: A heurística 2 é melhor que a heurística 1, pois terá um menor fator de ramificação. Desde que h1 e h2 não superestimem o custo real.

25 Funções heurísticas Como escolher uma boa função heurística h?
h depende de cada problema particular. h deve ser admissível não superestimar o custo real da solução Existem estratégias genéricas para definir h: Relaxar restrições do problema; Resolver subproblemas de maneira exata.

26 Heurísticas de aprendizagem a partir da experiência
Utiliza-se aprendizado indutivo; São utilizadas técnicas como o aprendizado por reforço para diagnosticar o valor de h(n).

27 Busca local Existem problemas, que o caminho até a solução é irrelevante: N-rainhas; Caixeiro Viajante Roteamento de Veículos Timetabling

28 Vantagens de algoritmos de busca local
Utilizam pouquíssima memória (geralmente constante); Freqüentemente encontram boa soluções em espaços de busca infinitos (contínuos) – para os quais, os algoritmos sistemáticos são inadequados. A busca local não estima a distância do estado atual até o objetivo: Em alguns problemas não é trivial (ou impossível) estimar esta distância.

29 Conceitos básicos Máximo global f(x) Planície Máximo local
Máximo local (plano) x

30 Subida na encosta “Hill Climbing”
O algoritmo procura o pico, onde nenhum vizinho tem valor mais alto.

31 Subida na encosta Algoritmo básico
Função SubidaNaEncosta(problema) retorna um ótimo local Entrada: um problema Variáveis: corrente : Nó vizinho: Nó corrente = criarEstadoInicial(problema) Repita vizinho = acharMelhorSucessor(corrente) se vizinho.funcaoObjetivo <= corrente.funcaoObjetivo então retornar corrente; fim se corrente = vizinho; Fim repita

32 Variações da Subida na encosta
Subida de encosta estocástica: gera vários sucessores (vizinhança – N(S)), e escolhe ao acaso, um que ofereça melhora na função objetivo. Subida de encosta pela primeira escolha: O primeiro sucessor de N(S) gerado que oferece melhora, passa a ser o novo estado corrente. É muito utilizada quando cada estado possui milhares de sucessores. Subida de encosta com reinício aleatório: Reinicia a subida várias vezes, até encontra um valor satisfatório. Muito utilizado em redes neurais (técnica para melhor adaptar os pesos sinápticos do backpropagation).

33 Subida na encosta Análise
O algoritmo é completo? SIM, uma vez que cada nó tratado pelo algoritmo é sempre um estado completo (uma solução) O algoritmo é ótimo? TALVEZ, quando iterações suficientes forem permitidas... O sucesso deste método depende muito do formato da superfície do espaço de estados: Se há poucos máximos locais, o reinício aleatório encontra uma boa solução rapidamente

34 Recozimento simulado Meta heurística baseada no resfriamento de metais. Adaptação da Subida na encosta Pode adotar um estado que oferece perda (encosta abaixo). Capaz de fugir de ótimos locais.

35 Quando descer a encosta?
O algoritmo admite descidas desde que estas não sejam ”bruscas demais” (decisão tomada em função do tempo)

36 Busca em feixe local Passo 0: Começa com k estados gerados aleatoriamente. Passo 1: Os sucessores dos k estados são calculados. Passo 2: Caso algum estado seja o objetivo, o algoritmo pára. Passo 3: São selecionados os melhores k sucessores de todos os estados para o próximo passo. Passo 4: Volta ao passo 1.

37 Busca em feixe local Muito parecido com a execução paralela de uma busca local, mas o algoritmo oferece uma vantagem: Ele concentra a busca onde são oferecidas as melhores soluções (onde ele supõe que pode encontrar os melhores valores para o problema).

38 Exemplo: f(k0) = 25 -> N(k0) = S1, S2, S3
f(k1) = 49 -> N(k1) = S4, S5, S6, S7 f(k2) = 52 -> N(k2) = S8, S9 ________________________ f(S1) = 26; f(S2) = 23; f(S3) = 30; f(S4) = 49; f(S5) = 48; f(S6) = 53 ; f(S7) = 56; f(S8) = 50; f(S9) = 55;

39 Algoritmos Genéticos Baseados na teoria da evolução das espécies de Darwin. É uma variação da busca em feixe local.

40 Algoritmos Genéticos Conceitos básicos
População Inicial Gerada Randomicamente – tamanho m. Direcionada: Em alguns problemas, encontrar um indivíduo válido é uma problema de otimização, portanto necessitam de heurísticas para gera-lo. Exemplos: Problema de Roteamento de Veículos com Janela de Tempo, Timetabling (horários escolares).

41 Algoritmos Genéticos Conceitos básicos
Seleção dos Pais: Inclui o passo de avaliação dos indivíduos: Fitness (mensura o quanto cada indivíduo está adaptado ao ambiente). Pode ter executada por diferentes técnicas: Roleta (probabilístico) Torneio entre indivíduos

42 Algoritmos Genéticos Seleção dos Pais: Adaptabilidade

43 Algoritmos Genéticos Conceitos básicos
Recombinação (cruzamento) Merge entre dois ou mais indivíduos (n:1): r(i1, i2, ...) = ix A maneira com que é feito depende da representação dos indivíduos: Binária Inteira Ponto flutuante Objetos Compostos Acrescenta indivíduos na população

44 Recombinação Exemplo:
+ =

45 Algoritmos Genéticos Conceitos básicos
Mutação Ocorre na relação de 1:1 m(i1) = ix A maneira com que é feito depende da representação dos indivíduos: Binária Inteira Ponto flutuante Objetos Compostos Não afeta no tamanho da população

46 Mutação Exemplo:

47 Seleção dos sobreviventes Exemplo
Nova população: S1 -> f(S1) = 12; S2 -> f(S2) = 13; S3 -> f(S3) = 10; População S1 -> f(S1) = 10; S2 -> f(S2) = 12; S3 -> f(S3) = 11; NS1 -> f(NS1) = 13; NS1 -> f(NS2) = 9;

48 Algoritmos Genéticos Resumo

49 Característica de sucesso para o algoritmo genético: Diferencial
A recombinação eleva a qualidade da busca, pois oferece uma maior diversidade para a população de indivíduos.

50 Busca local em espaço contínuo
Origem no século XVII (Newton e Leibniz). Função sucessor gera infinitos novos estados

51 Busca local em espaço contínuo. Exemplo:
Problema: Objetivo: Construir 3 aeroportos no estado de modo a minimizar a distância de todas as cidades ao aeroporto mais próximo. Espaço de busca: R2 Encontrar os melhores (x1, y1)(x2, y2)(x3, y3) segundo o objetivo

52 Exemplo: Aeroportos Para solucionar o problema, é utilizado o gradiente da função, onde é fornecido a direção e a magnitude da inclinação mais íngreme do problema. Solução corrente = solução corrente + alfa * gradiente, onde alfa é uma constante suficientemente pequena, para obter precisão no resultado.

53 Busca local em espaço contínuo Exemplo bidimensional
Como encontrar o máximo? f(x) = y; y’ = 0 Igualando a tangente a 0, podemos obter TODOS os pontos de máximo e mínimo da função y=f(x). f(x) x

54 Busca local em espaço contínuo – outra solução
Em problemas de espaços de busca contínuos podemos tornar o ambiente discreto e aplicar algoritmos como a subida na encosta, recozimento simulado ou algoritmos genéticos, para fugir de ótimos locais.

55 Busca on-line Algoritmos de busca on-line não podem calcular a vizinhança de um estado. Eles só conhecem um estado quando estão nele. São baseados em ações. Primeiro executa uma ação, depois observa o ambiente.

56 Analogia – Busca on-line
Bebê Pode tomar várias ações, conhece algumas conseqüências. Está em estado de exploração do mundo.

57 Busca on-line Visão do agente:
Ações(n): Retorna todas as ações que o agente pode tomar a partir do estado n; custo(n,a,n’): apenas pode ser utilizado quando o agente já tomou a ação a no estado n anteriormente;

58 Busca on-line Em uma busca off-line, o sistema para retroceder apenas retira elementos da fila ou desempilha nós para explorar outras ramificações da busca; Na busca on-line, o agente necessita retroceder fisicamente até o estado desejado.

59 Busca on-line Voltando a busca local....
A busca local já é um agente de busca on-line, pois “enxerga” apenas o seu estado atual (não possui memória);

60 Aprendizado em busca on-line
O agente pode armazenar um mapa do ambiente (como no mundo de Wumpus); O aprendizado deve considerar se o mundo é determinístico ou não;

61 Potencial de agentes de busca on-line
Fatores aumentam a qualidade dos agentes de busca on-line: Conhecimento; Raciocínio; Tais artefatos fazem o agente capaz de prever a função sucessora de cada estado.

62 Busca heurística Dúvidas?


Carregar ppt "Busca com Informação e Exploração “Busca heurística”"

Apresentações semelhantes


Anúncios Google