You are on page 1of 36

BUSCA INFORMADA

(PARTE 3 - RESOLUO DE PROBLEMAS POR MEIO DE BUSCA)

(C)Russell & Norvig

Material

Captulo 4 - Rusell & Norvig

Roteiro
GULOSA pela Melhor Escolha (Greedy best-first)

Busca primeiramente o melhor (Best-first)


A* (minimizar custo total estimado da soluo) - Heursticas admissveis

BUSCA INFORMADA
Busca informada utiliza conhecimento do problema para guiar a busca. Este conhecimento utilizado est alm da prpria definio do problema.
Estado inicial, modelo de transio, custo de step, estado objetivo

Podem encontrar solues de forma mais eficiente do que as buscas cegas.


4

Resoluo de problemas por meio de busca

BUSCA PRIMEIRAMENTE O MELHOR (BEST-FIRST)


5

Busca BEST-FIRST
Best-first uma abordagem geral de busca informada. Pode ser especializada em: Gulosa e A*
Best-first seleciona o n a ser expandido utilizando uma funo de avaliao denominada f(n)

f(n) uma funo de custo, ento o n que apresentar menor f(n) expandido primeiro.
Implementao idntica ao da busca de custo uniforme substituindo-se g(n) por f(n) - busca em largura

Busca Best-first: F(N)


Idia: usar uma funo de avaliao f(n) para cada n estimar o grau em que um n desejvel como caminho expandir os ns mais desejveis

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


g(n) = Custo do caminho do estado inicial at o n n h(n) = Custo estimado de n ao estado objetivo pelo caminho mais barato

Resoluo de problemas por meio de buscas

BUSCA GULOSA (GREEDY-FIRST)


8

Busca Gulosa
A cada passo tenta chegar mais perto do estado objetivo sem se preocupar com os passos futuros. Utiliza somente a componente heurstica da funo f(n) f(n) = g(n) + h(n)
Logo, f(n) = h(n)

Busca em largura que expande os ns mais baratos baseando-se somente em h(n)


9

Exemplo de Busca Gulosa pela Melhor Escolha

10

Exemplo de Busca Gulosa pela Melhor Escolha

h(n)

11

Exemplo de Busca Gulosa pela Melhor Escolha

12

Exemplo de Busca Gulosa pela Melhor Escolha

13

Avaliao da Busca Gulosa


Espacial O(bm)

Tempo Completo

O(bm) Sim, para busca em grafo, se o espao de estados for finito No No completo para em busca em rvore, pois no elimina ciclos No

timo

14

Resoluo de problemas por meio de buscas

A*

15

Busca A*
Idia: evita de antemo expandir caminhos que so caros Funo de avaliao f(n) = g(n) + h(n)
g(n) = custo para chegar ao n n h(n) = custo estimado para ir de n at o objetivo f(n) = custo estimado total do caminho para chegar do estado inicial ao objetivo passando por n

16

Busca A*
f(n) = 99 + 176 = 275
h(n) distncia em linha reta at Bucareste

fronteira

h(n)=0 para o estado objetivo

f(n) = 177 + 100 = 277 Estado inicial: Sibiu Estado objetivo: Bucharest
17

Exemplo de Busca A*

18

Exemplo de Busca A*

19

Exemplo de Busca A*

20

Exemplo de Busca A*

21

Exemplo de Busca A*

22

Exemplo de Busca A*

23

ANLISE DE COMPLEXIDADE DE A*
A otimalidade de A* depende da componente h(n)
Condies para otimalidade:
h(n) deve ser uma heurstica admissvel, isto , nunca superestimar o custo para alcanar o estado objetivo Em outras palavras, ser
ADMISSVEL e CONSISTENTE.

24

Heurstica Admissvel
Uma heurstica h(n) admissvel se para cada n n: h(n) h*(n), onde h*(n) o custo real para se alcanar o estadoobjetivo a partir de n
isto , OTIMISTA!

25

Heurstica Consistente
Para A* com BUSCA-EM-GRAFO h uma condio adicional:
ser CONSISTENTE ou MONOTNICO;
i.e. a f(n) deve ser no-decrescente

Deve respeitar o teorema da DESIGUALDADE TRIANGULAR

A O caminho AB sempre mais curto do que a soma dos caminhos AC e CB C B

26

Heurstica Consistente (MONOTONICIDADE)


Uma heurstica consistente se para cada n n, cada sucessor n' de n gerado por qualquer ao a, h(n) c(n, a, n') + h(n') Se h consistente, ento f(n) f(n) (n o sucessor de n)

f(n') = g(n') + h(n') = g(n) + c(n, a, n') + h(n') g(n) + h(n) i.e., f(n) no-decrescente ao longo de qualquer caminho.
Teorema: Se h(n) consistente, A* tima (para busca em grafo)
27

Otimalidade de A* (prova)
Provar que mesmo que haja um objetivo subtimo G2 na fronteira, A* buscar pelo objetivo timo G, pois f(G2) > f(G)
Seja n um n no expandido na fronteira tal que n est no caminho mais curto para chegar a um objetivo timo G.

fronteira

sub-timo
1. f(G2) = g(G2) como h(G2) = 0 2. f(G) = g(G) como h(G) = 0

3. g(G2) > g(G) 4. f(G2) > f(G)

como G2 sub-timo como conseqncia


28

Otimalidade de A* (prova)
Prova: mesmo que um objetivo subtimo (G2) esteja na fronteira, ele no ser expandido se houver um n num caminho mais barato para atingir o objetivo timo.

fronteira sub-timo

Da f(G2) > f(n), e A* nunca selecionar G2 para ser expandido


1. 2. 3. 4.

f(G2) > f(G) do exposto anteriormente h(n) h*(n) dado que h admissvel; h*(n) = custo real (sem aproximao) g(n) + h(n) g(n) + h*(n) = f(G) de 2 f(n) f(G) < f(G2) de 3 e 1

29

Otimalidade de A*
A* expande ns em ordem de valores decrescentes de f Gradualmente vo sendo adicionados os "f-contornos" dos ns O Contorno i possui todos os ns com f=fi, onde fi < fi+1

30

Propriedades de A*
Completa?
Sim, a menos que existam infinitos ns com f(n) f(G)

Tempo?
Exponencial

Espao?
Guarda todos os ns na memria

tima?
Sim

31

Soluo de problemas por meio de busca

HEURSTICAS ADMISSVEIS

32

Heursticas Admissveis
E.g., para o quebra-cabea de 8 peas h1(n) = nmero de pedras fora do lugar h2(n) = distncia total la Manhattan (i.e., nmero de quadrados da localizao desejada de cada pedra)

h1(S) = ? h2(S) = ?
33

Heursticas Admissveis
E.g., para o quebra-cabea de 8 peas h1(n) = nmero de pedras fora do lugar h2(n) = distncia total la Manhattan (i.e., nmero de quadrados da localizao desejada de cada pedra)

h1(S) = ? 8 h2(S) = ? 3+1+2+2+2+3+3+2 = 18


34

Dominncia
Se h2(n) h1(n) para todo n (ambas admissveis)
ento h2 domina h1 h2 melhor para busca

Custos de busca tpicos (nmero mdio de ns expandidos): d=12 BAI = 3.644.035 ns


Busca por Aprofundamento Iterativo

A*(h1) = 227 ns A*(h2) = 73 ns

d=24

BAI = muitos ns!!!

A*(h1) = 39.135 ns A*(h2) = 1.641 ns

35

Problemas com menos restries


Um problema com menos restries nas aes chamado de problema relaxado O custo da soluo tima para um problema relaxado uma heurstica admissvel para o problema original Se as regras do quebra-cabeas com 8 peas so relaxadas tal que uma pedra possa ser movimentada para qualquer posio, ento h1(n) fornece a soluo mais curta

Se as regras so relaxadas para que as pedras possam ir para qualquer quadrado adjacente, ento h2(n) fornece a soluo mais curta

36