busca heurisica

Upload: cesc21

Post on 06-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 busca heurisica

    1/35

    Mtodos de Busca Heurstica

    Prof. Eliane Pozzebon

    UNIVASF

  • 8/2/2019 busca heurisica

    2/35

    2

    Introduo Os mtodos de busca so aplicados em

    diversos campos na resoluo deproblemas.

    A busca um processo importante na

    soluo de problemas difceis para os quaisno h tcnicas mais diretas disponveis.

    As estratgias de busca dividem-se em: Busca sem informao (busca cega) Busca com informao (busca heurstica)

  • 8/2/2019 busca heurisica

    3/35

  • 8/2/2019 busca heurisica

    4/35

    4

    Busca Heurstica Heurstica: palavra originada do Grego

    heuriskein (descobrir). No garante encontrar a melhor resposta,

    mas quase sempre encontra uma respostamuito boa.

    Consiste em uma funo de avaliao (f(n))que mede a distncia at o objetivo, E uma funo heurstica (h(n)) utilizada

    para estimar o custo do caminho maiseconmico do n n at o n objetivo. Se n um n objetivo, ento h(n) = 0.

  • 8/2/2019 busca heurisica

    5/35

    5

    Busca Heurstica A informao que pode compor uma informao

    heurstica o custo do caminho. O custo do caminho pode ser composto pelosomatrio de dois outros custos:1. O custo do caminho do estado inicial at o estado

    atual que est sendo expandido (funo g).2. Uma estimativa do custo do caminho do estado atual

    at o estado meta (funo heurstica h). A filosofia geral que move a busca heurstica : O

    MELHOR PRIMEIRO. Isto , no processo de busca

    deve-se primeiro expandir o n mais desejvelsegundo uma funo de avaliao.

  • 8/2/2019 busca heurisica

    6/35

    6

    Funes Heursticas Uma funo heurstica deve ser admissvel,

    ou seja, no deve superestimar o custopara alcanar o objetivo. Sempre melhor usar funes heursticas

    com valores mais altos desde que no

    superestime o custo e que o tempo decomputao seja muito grande. O propsito de uma funo heurstica

    guiar o processo de busca na direo mais

    promissora, sugerindo que caminho seguirprimeiro, quando houver mais de umdisponvel.

  • 8/2/2019 busca heurisica

    7/35

    7

    Funes Heursticas Exemplo:

    Quebra-cabea de 8 peas.

    Estado inicial Estado objetivo

  • 8/2/2019 busca heurisica

    8/35

    8

    Funes Heursticas Funes heursticas que podem ser

    utilizadas para o quebra-cabea de 8peas: h1 = nmero de blocos em posies erradas.

    h1 = 6 blocos. h2 = soma das distncias dos blocos de suas

    posies objetivo. (distncia Manhatan)

    h2 = 4 + 0 + 3 + 3 + 1 + 0 + 2 + 1 = 14

  • 8/2/2019 busca heurisica

    9/35

    9

    Mtodos de Busca Heurstica Estratgias de busca com informao:

    Busca Gulosa pela melhor escolha. A*

    Algoritmos de busca local: Busca de Subida da Encosta Busca de Tmpera Simulada

    Busca em Feixe Local Algoritmos Genticos

  • 8/2/2019 busca heurisica

    10/35

    10

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Tenta expandir o n que aparece mais prximoao n meta. Avalia os ns usando apenas a funo heurstica

    f(n) = h(n). Exemplo:

    Localizao de rotas na Romnia Ir de Arad aBucareste.

    Usar heurstica de distncia em linha reta hDLR. h(n) a distncia em linha reta de n atbucareste.

    hDLR(in(Arad)) = 366Km.

  • 8/2/2019 busca heurisica

    11/35

    11

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Exemplo: Caminho entre Arad e Bucareste.

  • 8/2/2019 busca heurisica

    12/35

    12

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Exemplo: Estado inicial

  • 8/2/2019 busca heurisica

    13/35

    13

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Exemplo: Aps expandir Arad

  • 8/2/2019 busca heurisica

    14/35

    14

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Exemplo: Aps expandir Sibiu

  • 8/2/2019 busca heurisica

    15/35

    15

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Exemplo: Aps expandir Fagaras

  • 8/2/2019 busca heurisica

    16/35

    16

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Exemplo: Custo de busca foi mnimo pois nenhum n que

    no esteja no caminho da soluo foiexpandido.

    O caminho at Bucareste passando por Sibiu eFagaras 32Km mais longo que o caminho porRimnicu Vilcea e Pitesti (otimizao).

    Algoritmo dito guloso pois em cada passotenta chegar o mais perto possvel do objetivo.

  • 8/2/2019 busca heurisica

    17/35

    17

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Observaes: Semelhante busca e profundidade por

    preferir seguir um nico caminho at o

    objetivo, mas voltar ao encontrar um becosem sada (backtracking). No timo e incompleta.

    Pode entrar em um caminho infinito e nuncaretornar para experimentar outraspossibilidades.

  • 8/2/2019 busca heurisica

    18/35

    18

    Mtodos de Busca Heurstica Busca Gulosa (Greedy Search)

    Anlise de complexidade completa se no admitir estados

    repetidos.

    Tempo: uma boa heurstica pode reduzirdrasticamente o tempo.

    Espao: todos os ns so matidos na

    memria. No garante a soluo tima.

  • 8/2/2019 busca heurisica

    19/35

    19

    Mtodos de Busca Heurstica A* (A estrela)

    Procura evitar expandir ns que j socustosos. um mtodo de busca que procura otimizar a

    soluo, considerando todas as informaesdisponveis at aquele instante, no apenas as

    da ltima expanso. Todos os estados abertos at determinado

    instante so candidatos expanso. Combina, de certa forma, as vantagens tanto da

    busca em largura como em profundidade. Busca onde o n de menor custo aparente nafronteira de espao de estados expandidoprimeiro.

  • 8/2/2019 busca heurisica

    20/35

    20

    Mtodos de Busca Heurstica A* (A estrela)

    f(n) = g(n) + h(n)

    onde: f(n) = custo do caminho do n inicial at o

    n n. g(n) = custo do caminho estimado do n n

    at o n final.

    h(n) = custo do caminho total estimado.

  • 8/2/2019 busca heurisica

    21/35

    21

    Mtodos de Busca Heurstica A* (A estrela)

    A* expande o n de menor valor de fa cada instante. A* deve usar uma heurstica admissvel, isto , h(n)

    h*(n), onde h*(n) o custo real para ir de n at on final.

    Admissibilidade de A* Um mtodo de busca admissvel se ele sempreencontra uma soluo e se esta soluo a de menorcusto.

    A busca em largura admissvel. O mesmo no ocorre

    com a busca em profundidade. Teorema da admissibilidade de A* A busca A* tima, isto , sempre encontra o caminho

    de menor custo at a meta.

  • 8/2/2019 busca heurisica

    22/35

    22

    Mtodos de Busca Heurstica A* (A estrela)

    Exemplo: Caminho entre Arad e Bucareste.

  • 8/2/2019 busca heurisica

    23/35

    23

    Busca Heurstica

    Busca A* (A estrela)Arad

    366= 0+366

    Sibiu393 = 140+253

    Timisoara447 = 118+329

    Zerind449 = 75+374

    Arad646=280+366

    Fagaras415=239+176

    Rimniciu Vicea413=220+193

    Oradea671=291+380

    Buchareste450=450+0

    Sibiu591=338+253

    Arad

    Sibiu

    Rimnicu Vicea

    Craiova526=366+160

    Pitesti417=317+100

    Sibiu553=300+253

    Fagaras

    Pitesti

    Bucareste418=418+0

    Craiova615=455+160

    Rimnicu Vicea615=455+160

    Bucareste

  • 8/2/2019 busca heurisica

    24/35

    24

    Mtodos de Busca Heurstica A* (A estrela)

    Exemplo: Estado inicial

  • 8/2/2019 busca heurisica

    25/35

    25

    Mtodos de Busca Heurstica A* (A estrela)

    Exemplo: Aps expandir Arad

  • 8/2/2019 busca heurisica

    26/35

    26

    Mtodos de Busca Heurstica A* (A estrela)

    Exemplo: Aps expandir Sibiu

  • 8/2/2019 busca heurisica

    27/35

    27

    Mtodos de Busca Heurstica A* (A estrela)

    Exemplo: Aps expandir Rimnieu Vilcea

  • 8/2/2019 busca heurisica

    28/35

    28

    Mtodos de Busca Heurstica A* (A estrela)

    Exemplo: Aps expandir Fagaras

  • 8/2/2019 busca heurisica

    29/35

    29

    Mtodos de Busca Heurstica A* (A estrela)

    Exemplo: Aps expandir Pitesti

  • 8/2/2019 busca heurisica

    30/35

    30

    Mtodos de Busca Heurstica A* (A estrela)

    Observaes: Quando utilizada com busca em rvore, A*

    ser tima se h(n) for uma heursticaadmissvel.

    h(n) admissvel se nunca superestimar ocusto para alcanar o objetivo.

    Se g(n) o custo exato para alcanar n,

    como conseqncia, f(n) nunca irsuperestimar o custo verdadeiro de umasoluo passando por n.

  • 8/2/2019 busca heurisica

    31/35

    31

    Mtodos de Busca Heurstica A* (A estrela)

    Observaes: A* ser tima se o espao de busca for um

    grafo e h(h) for uma heurstica consistente(monotnica).

    Uma heurstica h(h) consistente se paratodo n n e todo sucessor n de n geradopor qualquer ao a, o custo estimado dealcanar o objetivo a partir de n no maior que o custo do passo de se chegar an somado ao custo estimado de alcanar oobjetivo a partir de n, ou seja:

  • 8/2/2019 busca heurisica

    32/35

    32

    Mtodos de Busca Heurstica A* (A estrela)

    Observaes: Para todo n

    n:h(n) c(n,a,n) + h(n)

    Toda heurstica consistente

    admissvel. Freqentemente quando h(n)

    admissvel, tambm consistente.

  • 8/2/2019 busca heurisica

    33/35

    33

    Mtodos de Busca Heurstica A* (A estrela)

    Avaliao: Estratgia de busca completa. tima. Por manter todos os ns gerados em

    memria, esgota o espao bem antes deesgotar o tempo.

  • 8/2/2019 busca heurisica

    34/35

    34

    Mtodos de Busca Heurstica EXERCCIO

    Algoritmo A*g(n): mede o cumprimento real do caminho de um

    estado n qualquer at o estado inicialh(n): estimativa heuristica da distncia entre o estado

    n e o objetivof(n):funo de avaliao f(n)=g(n)+h(n)

    Jogo do 8

    g(n) = nvel do n (custo real) h(n) = nmero de peas fora do lugar (estimativa)

    h = (1+1+1+1+0+1+1+1)=7

  • 8/2/2019 busca heurisica

    35/35

    35

    Exerccio

    Estado inicial Estado objetivo