ontologies reasoning components agents simulations busca heurística jacques robin humberto césar...

26
Ontologi es Reasonin g Component s Agents Simulatio ns Busca Heurística Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Upload: manoela-canal

Post on 07-Apr-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

OntologiesReasoningComponentsAgentsSimulations

Busca HeurísticaBusca Heurística

Jacques RobinHumberto César Brandão de Oliveira

Page 2: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

RoteiroRoteiro

Definição Algoritmos de busca heurística global

Busca gulosa A* RBFS SMA*

Projeto de funções heurísticas Algoritmos de busca heurística local

Subida em encosta Recozimento simulado Busca focada local Algoritmos genéticos Busca local em espaço contínuo

Agente de busca on-line e ambientes desconhecidos

Page 3: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca cega: motivação e definiçãoBusca cega: motivação e definição

Motivação: busca cega exponencial na profundidade da solução ou do espaço de estados

Definição: Busca não exaustiva do espaço de estados, utilizando atalhos para

sua exploração que descartam sub-espaços sem explorá-los Muitas vezes sem garantia de encontrar sempre a melhor solução

ou até uma solução em todas as instâncias do problema

Page 4: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca gulosa pela melhor escolhaBusca gulosa pela melhor escolha

Estratégia: Expandir primeiro nó que parece mais próximo do objetivo de

menor custo Distância do nó a expandir para esse objetivo estimado através de

uma função heurística h(n) Avalia nós através da função h(n)

h(n) depende do problema Exemplo:

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

Page 5: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: exemploexemplo

Page 6: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: exemploexemplo

Page 7: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: exemploexemplo

Page 8: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: exemploexemplo

Page 9: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: característicascaracterísticas

Explora árvore de busca em profundidade primeira Sofre dos mesmos problemas da busca cega em profundidade

Completa? Não. ex, ao buscar melhor caminho Iasi Bucharest,

entra em loop Iasi Neamt, Neamt Iasi pode se perder um tempão em caminhos que são impasses

Ótima? Não ex, não encontra melhor caminho Arad Sibiu Riminicu Pitesti

Bucharest Pior caso tempo e espaço: O(bm)

Porque?

Page 10: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

A*A*

Sempre expande no minimizando f(n) = g(n) + h(n), onde g(n) custo real da origem até n, utilizada na busca cega de custo

uniforme f(n) heurística estimando custo de n até o objetivo, utilizada na

busca heurística gulosa pela melhor escolha Ex:

g(n) distância na pista da origem até n f(n) distância em linha reta de n até o objetivo

Page 11: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

A*: exemploA*: exemplo

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 12: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

A*: característicasA*: características

Explora árvore de busca em largura primeira Vantagens e limitações semelhante a busca cega de custo uniforme Custo uniforme procede desenhando contornos crescentes circulares

A* procede desenhando contornos crescentes elípticos Melhor h(n), mais alongados os contornos h(n) perfeita, elipse contém apenas o melhor caminho

Completa? Sim, para heurísticas h(n) admissíveis i.e., que sempre sub-estima o custo real n, h(n) c(n) ex, distância em linha reta distância na pista

Ótima? Sim, para heurísticas h(n) admissíveis Garantido mais eficiente do que qualquer outro algoritmo completo

e ótimo usando a mesma heurística Pior caso tempo e espaço: O(bd)

Porque?

Page 13: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Extensões de A*Extensões de A*

Objetivo: limitar números de nos guardados na memória A* guarda todos os nós expandidos durante toda a busca Torna uso inviável para problema de tamanho reais

IDA*: A cada iteração i, busca A* com expansão limitada a nós com f(n)

li Vantagens e limitações semelhantes as de busca em

aprofundamento iterativo Busca recursiva pela melhor escolha MA* SMA*

Page 14: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca Recursiva pela Melhor Escolha Busca Recursiva pela Melhor Escolha (BRM)(BRM)

Expande a árvore de busca em profundidade primeira Desempata nós de profundidade p minimizando fp(n) de A* Guarda no nó expandido n lembrete de fp(n’), aonde n’ é o no

com o segundo menor custo estimado em uma profundidade p’ p

Quando todos os nós da fronteira tem custo estimado f(n’): retrocesso até a profundidade p e expande n’ atualiza fp(n) com fp+k(n’’), aonde n’’ é o descendente de n

expandido na ida com menor custo estimado

Page 15: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

BRM: exemploBRM: exemplo

Arad

Sibiu Timisoara

Fagaras Oradea R. Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

447

415

Page 16: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Arad

Sibiu Timisoara

Fagaras Oradea R. Vilcea

366

393

415

526

447

Sibiu Bucareste

591

450

BRM: exemploBRM: exemplo

413417

447

417

Page 17: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

BRM: exemploBRM: exemplo

Arad

Sibiu Timisoara

Fagaras Oradea R. Vilcea

Pitesti Sibiu

366

393

415450

526

417

447

413417

553

Bucareste R. Vilcea418

607

447

447

447

Page 18: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

BRM: característicasBRM: características

Completo e ótimo: se heurística h é admissível Espaço: O(bd) no pior caso

Não aproveita de toda a memória disponível Tempo: difícil de se estimar

Page 19: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

SMA* (Simple limited Memory A*)SMA* (Simple limited Memory A*)

Enquanto tem memória disponível segue A* Quando a memória acaba:

Ele retira nó n folha que maximiza f(n) Como BRMP, propaga lembrete de f(n) para os pai de n

Completo se profundidade do nó objetivo menor que limite de memória

Ótimo se profundidade da solução ótima menor que limite de memória

Page 20: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Projeto de função heurísticaProjeto de função heurística

Propriedades desejáveis: Admissibilidade Alta precisão (qualidade da estimativa da distância entre nó

corrente e nó objetivo) Medida de precisão:

Fator de ramificação efetivo b* 1definido por: N + 1 = 1 + b* + (b*)2 + ... + (b*)d onde,

N = numero de nós gerado por A* na árvore de busca d = profundidade do objetivo na árvore de busca

b – 1 boa medida de precisão Estratégias genéricas de projeto de heurística:

Custo real de um problema menos restrito (relaxed) do que o tratado

Custo real de um sub-problema do problema tratado

Page 21: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Projeto de função heurística: Projeto de função heurística: retirar restriçõesretirar restrições

Restrições:1. Rótulo se move apenas em local

horizontalmente ou verticalmente adjacente

2. Rótulo se move apenas em local livre

Problema menos restrito 1: Retirar as restrições 1 e 2

h1: Número de rótulos fora do

objetivo Problema menos restrito 2:

Retirar apenas restição 2 h2:

Somas das distâncias de Manhattan entre cada rótulo e seu objetivo

h1 domina h2

hd(n) = max{h1(n), .., hk(n)} sempre domina h1(n), .., hk(n)

Page 22: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Projeto de função heurísticaProjeto de função heurística

Sub-problemas: Mover rótulo {1-4} Mover rótulo {5-8}

Resolver variedades de problemas pequenos de antemão Contar número de passos totais para resolvê-los Dividir problema grande em sub-problemas pequenos Estimar custo do cada nó pelo numero de passos dos sub-problemas Funciona apenas para problemas no qual cada passo envolve apenas

um subproblema

Page 23: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca heurística localBusca heurística local

Aplica-se apenas para problemas pelos quais só importa o nó solução, não importa o caminho desde a raiz até esse nó.

ex: Distribuição espacial de equipamentos (8 rainhas, VLSI, plano de

usina) Roteamento (veículos, pacotes de redes, etc.) Escalonamento de tarefas

Requer formulação de estado completo Geralmente bem mas eficiente do que busca global Permite otimização (i.e., encontrar nó de menor custo)

Page 24: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca em encosta (hill-climbing)Busca em encosta (hill-climbing) Sempre expandir nó vizinho que maximiza função de objetivo (gulosa) Vantagens:

Guarda apenas um nó em memória Funciona sem modificação com conhecimento parcial e online

Limitações: Incompleto e não ótimo Eficiência depende da topologia do espaço de estados

Page 25: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca em encosta: exemploBusca em encosta: exemplo

Estado inicial: colocação aleatória de umarainha por coluna

Operador: mudar um rainha de posição h = número de pares de rainha que se atacam Taxa de sucesso em encontrar

solução ótima: 14% O que fazer quando não há melhor

vizinho Passos “laterais” Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94%

O que fazer quando há muitosvizinhos igualmente melhor Seleção aleatória

Page 26: Ontologies Reasoning Components Agents Simulations Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Melhoras da busca em encostaMelhoras da busca em encosta

Busca em encosta repetitiva a partir de pontos iniciais aleatórios Recozimento simulado

Alternar passos de gradiente crescentes (hill-climbing) com passos aleatórios de gradiente descente

Taxa de passos aleatórios diminuem com o tempo Outro parâmetro importante em buscas locais:

Amplitude dos passos Pode também diminuir com o tempo

Busca em feixe local (local beam search) Fronteira de k estados (no lugar de apenas um) A cada passo, seleciona k estados sucessores de f mais alto

Busca em feixe local estocástica: A cada passo, seleciona k estados semi-aleatoriamente com

probabilidade de ser escolhido crescente com f Forma de busca genética com partenogenesa (reprodução asexuada)