Post on 06-Apr-2018
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