Você está na página 1de 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

O(bm)

Completo

Sim, para busca em grafo, se


o espao de estados for finito

No completo para em busca em


rvore, pois no elimina ciclos

timo

No

No

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

fronteira

h(n) distncia em linha reta at


Bucareste

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

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.

Da f(G2) > f(n), e A* nunca


selecionar G2 para ser expandido
1.
2.
3.
4.

fronteira
sub-timo

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

Você também pode gostar