busca com informação e exploração “busca heurística” humberto césar brandão de oliveira...

62
Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira [email protected]

Upload: natan-portanova

Post on 07-Apr-2016

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Busca com Informação e Exploração

“Busca heurística”

Humberto César Brandão de [email protected]

Page 2: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 3: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 4: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Instância Como encontrar um barco perdido?

não podemos procurar no oceano inteiro...

Informações relevantes: Velocidade do vento; Direção do vento; ...

Page 5: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 6: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 7: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Exemplo Objetivo: Encontrar um bom

caminho de Arad à Bucareste.

h(n) = distância em linha reta do nó n até o objetivo (Bucareste)

Page 8: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Busca pela melhor escolha

Page 9: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Características da Busca Gulosa pela melhor escolha

Não é ótima (como dado no exemplo anterior);

É incompleta;

Page 10: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 11: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 12: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 13: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

A*A*

Distância em linha reta para Bucharest:

75 + 374374449449

140 + 253253

393393118 + 329329447447

220

239 239 + 178178

417417

220 + 193193

413413

366

317 317 + 9898

415415

336 + 160160496496

455

418

Page 14: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 15: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 16: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 17: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

BRPM Arad

Sibiu Arad

Fagaras Oradea R. Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

Page 18: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

BRPM Arad

Sibiu Arad

Fagaras Oradea R. Vilcea

366

393

415

526

447

417

Sibiu Bucareste591

450

Page 19: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

BRPM Arad

Sibiu Arad

Fagaras Oradea R. Vilcea

Pitesti Sibiu

366

393

450

526

417

447

417

553

Bucareste R. Vilcea418

607

Page 20: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 21: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 22: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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?

Page 23: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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*)2 + ... + (b*)d

Uma boa função heurística terá b* bem próximo de 1.

Page 24: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 25: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 26: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 27: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Busca local Existem problemas, que o caminho

até a solução é irrelevante: N-rainhas; Caixeiro Viajante Roteamento de Veículos Timetabling

Page 28: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 29: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Conceitos básicos

x

f(x)

Máximo global

Planície Máximo local

Máximo local (plano)

Page 30: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Subida na encosta“Hill Climbing” O algoritmo procura o pico, onde

nenhum vizinho tem valor mais alto.

Page 31: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Subida na encostaAlgoritmo básico

Função SubidaNaEncosta(problema) retorna um ótimo localEntrada: um problemaVariáveis: corrente : Nó

vizinho: Nócorrente = criarEstadoInicial(problema)Repita

vizinho = acharMelhorSucessor(corrente)se vizinho.funcaoObjetivo <= corrente.funcaoObjetivo entãoretornar corrente;fim secorrente = vizinho;

Fim repita

Page 32: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 33: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Subida na encostaAná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

Page 34: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 35: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Quando descer a encosta? O algoritmo admite descidas desde

que estas não sejam ”bruscas demais” (decisão tomada em função do tempo)

Page 36: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 37: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 38: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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;

Page 39: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Algoritmos Genéticos

Baseados na teoria da evolução das espécies de Darwin.

É uma variação da busca em feixe local.

Page 40: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Algoritmos GenéticosConceitos 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).

Page 41: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Algoritmos GenéticosConceitos 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

Page 43: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Algoritmos GenéticosConceitos 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

Page 44: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

RecombinaçãoExemplo:

+ =

Page 45: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Algoritmos GenéticosConceitos 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

Page 46: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

MutaçãoExemplo:

Page 47: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Seleção dos sobreviventesExemplo

População S1 -> f(S1) = 10; S2 -> f(S2) = 12; S3 -> f(S3) = 11; NS1 -> f(NS1) =

13; NS1 -> f(NS2) = 9;

Nova população:S1 -> f(S1) = 12;S2 -> f(S2) = 13;S3 -> f(S3) = 10;

Page 48: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Algoritmos GenéticosResumo

Page 49: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 50: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Busca local em espaço contínuo

Origem no século XVII (Newton e Leibniz).

Função sucessor gera infinitos novos estados

Page 51: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 52: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 53: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Busca local em espaço contínuoExemplo bidimensional

x

f(x)

Como encontrar o máximo?f(x) = y;y’ = 0Igualando a tangente a 0, podemos obter TODOS os pontos de máximo e mínimo da função y=f(x).

Page 54: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 55: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 56: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Analogia – Busca on-line Bebê

Pode tomar várias ações, conhece algumas conseqüências. Está em estado de exploração do mundo.

Page 57: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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;

Page 58: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 59: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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

Page 60: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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;

Page 61: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

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.

Page 62: Busca com Informação e Exploração “Busca heurística” Humberto César Brandão de Oliveira hcbo@cin.ufpe.br

Busca heurística

Dúvidas?