Você está na página 1de 44

Inteligncia Artificial(IA)

Mtodos de Busca Informada

Erivan Alves de Andrade


1

Contedo programtico
n

A de Andrade 2011

Mtodos de busca informada

Erivan

Busca O Melhor Primeiro


Funes heursticas
Busca limitada pela memria
Algoritmos de melhoramento iterativo

Busca o melhor primeiro


n

A de Andrade 2011

Mtodos de busca informada

Erivan

Funo de avaliao(FA)
q Retorna um nmero propondo descrever a (desirability)
utilidade(ou falta dela) de expandir o prximo n de uma
arvore de busca
Um FA usa conhecimento especfico sobre o problema
Busca o melhor primeiro
q Se os ns so ordenado e os com melhor avaliao so
expandidos primeiro
A estratgia de buscar o melhor primeiro venervel mas
imprecisa
q Se pudssemos de fato expandir o melhor primeiro iramos
direto soluo
q Ele permite apenas escolher o que parece ser melhor,
segundo a FA utilizada
q Uma FA onisciente pode de fato expandir o melhor primeiro

Busca o melhor primeiro


n

Existem vrios algoritmos de busca o melhor


primeiro com diferentes FA

A de Andrade 2011

Para focar a busca a medida deve incorporar


alguma estimativa de proximidade de um n em
relao ao n meta
Consideremos duas abordagens bsicas
q

Tipicamente esta FA usam alguma medida do custo da


soluo e tentam minimiz-la

Primeiro tentar expandir o n mais prximo da


meta(busca gulosa)
Tentar expandir o n no caminho da soluo de custo
mnimo (busca A*)

Mtodos de busca informada

Erivan

Busca o melhor primeiro


n

Minimizar o custo estimado para atingir a meta


busca gulosa

A de Andrade 2011

O n julgado estar mais prximo da meta e expandido


primeiro
Para muitos problemas o custo de atingir a meta a
partir de um determinado n pode ser estimado, mas
no determinado com exatido
Uma funo que calcula tal custo estimado chamada
de funo heurstica
Funo heurstica
n

h(n) = custo estimado do caminho mais barato do estado


do n n ao estado meta

Mtodos de busca informada

Erivan

Busca o melhor primeiro


n

Minimizar o custo estimado para atingir a meta


busca gulosa (cont...)
Na busca gulosa a h pode ser qualquer funo desde
que

A de Andrade 2011

Uma funo heurstica especfica para cada


problema
q

h(n)=0 se n o estado meta

Ex: para encontrar uma rota que leve de Arad a


Bucharest pode se utilizar a distncia em linha reta
entre as cidade como funo heurstica

Mtodos de busca informada

Erivan

Busca o melhor primeiro

A de Andrade 2011

Mtodos de busca informada

Erivan

Busca gulosa
n

Busca o melhor primeiro

A de Andrade 2011

Mtodos de busca informada

Erivan

Busca gulosa
n

Busca o melhor primeiro


n

n
q

A de Andrade 2011

q
q

Algoritmos gulosos com freqncia produz bons resultados


Nem sempre encontra a soluo tima
suscetvel a falsos comeos(false starts)
n

Ex: ir de Iasi a Fagaras

Lembra a busca em profundidade primeiro


n

No se preocupa com as conseqncias disto a longo tempo

Sofre dos mesmos problemas: no tima nem completa


Complexidade de tempo no pior caso O(bm) m profundidade
mxima
Complexidade de espao igual a de tempo

Uma boa heurstica pode reduzir ambas as complexidades

Mtodos de busca informada

Erivan

Busca gulosa
q A estratgia se preocupa em abocanhar o mximo possvel
do caminho restante para tingir a meta

Busca o melhor primeiro


n

Minimizar o custo do caminho total: busca A*


q

A de Andrade 2011

A busca de custo uniforme minimiza o custo do


caminho at n g(n)
n
n

q
q

No tima nem completa

tima e completa
Pode ser muito ineficiente

Idia bsica: combinar as vantagens de h(n) e g(n)


Essa combinao e representada por f(n)

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

f(n) d o custo estimado do caminho mais barato da


soluo passando por n

Mtodos de busca informada

Erivan

10

Busca gulosa minimiza o custo estimado de n at a


meta- h(n)

Busca o melhor primeiro


n

Busca A* (cont...)
q

A de Andrade 2011

Heurstica admissvel
n

q
q

11

Funo heurstica h que nunca superestima o custo para


atingir a meta

Heursticas admissveis so otimistas por natureza


O otimismo da heurstica h e transferido pra f
n

Se a funo heurstica utilizada for uma heurstica


admissvel

Se h admissvel, f(n) nunca superestima o custo atual


da melhor soluo passando por n

A busca melhor primeiro utilizando f como FA e uma


funo h admissvel conhecido como busca A*

Mtodos de busca informada

Erivan

Para encontrar a soluo mais barato razovel


expandir primeiro o n com o menor valor de f
Pode-se provar que esta estratgia tima e completa

Busca o melhor primeiro


n

Comportamento da Busca A*
q

A de Andrade 2011

n
q

Maioria das heursticas admissveis so montonas

Pode se fazer uma correo para se restaurar a


monotonicidade se ela no ocorre

Seja os ns n e n com n sendo o pai de n


n Se f(n) < f(n) ento h no montona
n Usa se uma equao que garante que o custo de f nunca
decresce
f(n)= max(f(n), g(n)+h(n)) equao pathmax
n

Mtodos de busca informada

Erivan

12

Se na rvore de busca ao longo de qualquer caminho,


a partir da raiz, o custo de f nunca decresce a
heurstica montona

Busca o melhor primeiro


n

Comportamento da Busca A*
q

A de Andrade 2011

Seja f* o custo do caminho da soluo tima


n
n

n
n
q

13

Pode-se conceitualmente desenhar contornos no espao


de estados
A* expande todos os ns com f(n)<f*
A* pode ento expandir alguns dos ns no contorno do no
meta, para qual f(n)=f*, ante de escolher o n meta
A primeira soluo encontrada ser uma tima
A* tambm completa

A otimalidade e completude de A* j foi provada


matematicamente

Mtodos de busca informada

Erivan

Usando a equao pathmax f ser sempre crescente


ao longo de qualquer caminho a partir da raiz

Busca o melhor primeiro


n

Comportamento da Busca A*

A de Andrade 2011

14

Usando a equao pathmax f ser sempre


crescente ao longo de qualquer caminho a
partir da raiz
A otimalidade e completude de A* j foi
provada matematicamente
Nenhum outro algoritmo timo expande menos
ns que A*
A* possui problemas quanto a sua
complexidade de tempo e espao

Mtodos de busca informada

Erivan

Busca o melhor primeiro


n

Comportamento da Busca A*
q

A de Andrade 2011

Mtodos de busca informada

Erivan

15

Nenhum outro algoritmo timo expande menos ns que


A*
A* possui problemas quanto a sua complexidade de
tempo e espao

Busca o melhor primeiro


n

Busca A*: Exemplo


Ver mapa

A de Andrade 2011

Mtodos de busca informada

Erivan

16

Busca o melhor primeiro

A de Andrade 2011

Mtodos de busca informada

Erivan

17

Busca A*: Contornos


n

Funes Heursticas
n

A de Andrade 2011

no superestimar o custo real da soluo

Existem estratgias genricas para definir


h:
1) Relaxar restries do problema;
n

2) Usar informao estatstica;


18

3) Identificar os atributos mais relevantes do


problema (exige aprendizagem).

Mtodos de busca informada

Erivan

Como escolher uma boa funo heurstica


h?
h depende de cada problema particular.
h deve ser admissvel

Funes Heursticas: relaxando o problema


n

Problema Relaxado:
q

Exemplo: jogo dos 8 nmeros - operador original

A de Andrade 2011

Um nmero pode mover-se de A para B se A


adjacente a B e B est vazio
busca exaustiva 320 estados possveis

Operadores relaxados:

4 5 8
1 6
7 2 3

1. um nmero pode mover-se de A para B se A


adjacente a B (h2)
2. um nmero pode mover-se de A para B se B est vazio
3. um nmero pode mover-se de A para B (h1)

Mtodos de busca informada

Erivan

19

verso simplificada do problema original, onde os


operadores so menos restritivos

Heursticas para jogo 8 nmeros

A de Andrade 2011

Mtodos de busca informada

Erivan

20

Heursticas possveis
h1 = no. de elementos fora do lugar (h1=7)
h2 = soma das distncias de cada nmero posio final
(h2=2+3+3+2+4+2+0+2=18)

Espao de Estados jogo dos 8-nmeros


3

A de Andrade 2011

21

3
4

Mtodos de busca informada

Erivan

4
2

Funes Heursticas: Usando informao


estatstica
n Funes heursticas podem ser melhoradas com

A de Andrade 2011

em 10% dos casos do problema acima, a funo de


avaliao poder superestimar o custo da soluo, no
sendo de grande auxlio para o algoritmo encontrar a soluo
mais barata.

Mtodos de busca informada

Erivan

22

informao estatstica:
q executar a busca com um conjunto de treinamento (e.g., 100
configuraes diferentes do jogo), e computar os resultados.
q se, em 90% dos casos, quando h (n) = 14, a distncia real
da soluo 18,
q ento, quando o algoritmo encontrar 14 para o resultado da
funo, substituir-se esse valor por 18.
Informao estatstica expande menos ns, porm elimina
admissibilidade:

Funes Heursticas: Escolhendo Funes Heursticas


n

A de Andrade 2011

hi domina hk hi(n) hk(n) "n no espao de


estados
q

23

h2 domina h1 no exemplo anterior

Caso existam muitas funes heursticas para o


mesmo problema, e nenhuma delas domine as
outras, usa-se uma heurstica composta:
q

ex. h2 melhor que h1

h (n) = max (h1 (n), h2 (n),,hm(n))

Assim definida, h admissvel e domina cada


funo hi individualmente

Mtodos de busca informada

Erivan

sempre melhor usar uma funo heurstica


com valores mais altos, contanto que ela seja
admissvel.

Funes Heursticas: Escolhendo Funes Heursticas


n

A de Andrade 2011

b* o fator de expanso de uma rvore uniforme com N ns


e nvel de profundidade d

N = 1 + b* + (b*)2 + ... + (b*)d , onde

Mede-se empiricamente a qualidade de h a partir do conjunto


de valores experimentais de N e d.
q uma boa funo heurstica ter o b* muito prximo de 1.
Se o custo de execuo da funo heurstica for maior do
que expandir ns, ento ela no deve ser usada.
q uma boa funo heurstica deve ser eficiente e econmica.

Mtodos de busca informada

Erivan

N = total de ns expandidos para uma instncia de problema


d = profundidade da soluo;

24

A qualidade da funo heurstica: medida atravs do fator


de expanso efetivo (b*).

Funes Heursticas: Experimento com 100 problemas

Uma boa funo heurstica ter o b* muito prximo de 1.

Algoritmos de Melhoramento Iterativo(AMI)

A de Andrade 2011

A idia comear com o estado inicial (configurao


completa, soluo aceitvel), e melhor-lo iterativamente.
q Imagem da TV

Os estados esto representados sobre uma superfcie


(grfico)
q a altura de qualquer ponto na superfcie corresponde
funo de avaliao do estado naquele ponto

O algoritmo se move pela superfcie em busca de pontos


mais altos (objetivos)
q o ponto mais alto (mximo global) corresponde soluo
tima
n

26

n onde a funo de avaliao atinge seu valor mximo

Aplicaes: problemas de otimizao


q por exemplo, linha de montagem

Mtodos de busca informada

Erivan

Algoritmos de Melhoramento Iterativo

Exemplo de Espao de Estados


A de Andrade 2011

Mtodos de busca informada

Erivan

27

Algoritmos de Melhoramento Iterativo

A de Andrade 2011

Esses algoritmos guardam apenas o estado


atual, e no vem alm dos vizinhos imediatos
do estado.

Contudo, muitas vezes so os melhores mtodos


para tratar problemas reais muito complexos.

Duas classes de algoritmos:


q

Subida de Encosta(Hill-Climbing ou Gradiente


Ascendente ou busca gulosa local)
n

Anelamento Simulado(Simulated Annealing ou


tmpera simulada)
n

28

s faz modificaes que melhoram o estado atual.

pode fazer modificaes que pioram o estado atual


temporariamente, para possivelmente melhor-lo no
futuro.

Mtodos de busca informada

Erivan

Algoritmos de Melhoramento Iterativo


n

O algoritmo no mantm uma rvore de


busca:
n

A de Andrade 2011

guarda apenas o estado atual e sua avaliao


simplesmente um loop que se move na direo
crescente (para maximizar) ou decrescente (para
minimizar) da funo de avaliao.

Mtodos de busca informada

Erivan

29

Subida da Encosta: algoritmo

Algoritmos de Melhoramento Iterativo


n

Subida da Encosta: Exemplo


q

Clculo da menor rotas com 5 ns:

estado inicial = (N1, N2, N3, N4, N5)

f = soma das distncias diretas entre cada n, na ordem


escolhida (admissvel!)

A de Andrade 2011

operadores = permutar dois ns quaisquer do caminho

restrio = somente caminhos conectados so estados vlidos

estado final = n onde valor de f mnimo

e1 = {N1, N2, N3, N4, N5}

f(N1, N2, N3, N4, N5) = 10


n

e2 = {N2, N1, N3, N4, N5}

f(N2, N1, N3, N4, N5) = 14


n

e3 = {N2, N1, N4, N3, N5}

f(N2, N1, N3, N4, N5) = 9!!!

30

Mtodos de busca informada

Erivan

Algoritmos de Melhoramento Iterativo


n

Subida da Encosta
q

A de Andrade 2011

1. Mximos locais
2. Plancies (plats)
3. Encostas e picos

Mtodos de busca informada

Erivan

31

O algoritmo move-se sempre na direo que apresenta


maior taxa de variao para f
Isso pode acarretar em 3 problemas:

Algoritmos de Melhoramento Iterativo


n

A de Andrade 2011

Em contraste com mximos globais, so picos mais


baixos do que o pico mais alto no espao de estados
(soluo tima)

A funo de avaliao leva a um valor mximo


para o caminho sendo percorrido
n

a funo de avaliao menor para todos os estados


filhos do estado atual, apesar de o objetivo estar em
um ponto mais alto
q

32

essa funo utiliza informao local

e.g., xadrez: eliminar a Rainha do adversrio pode


levar o jogador a perder o jogo.

Mtodos de busca informada

Erivan

Mximos locais
q Definio

Algoritmos de Melhoramento Iterativo


n

O algoritmo pra no mximo local


n

pois s pode mover-se com taxa crescente de


variao

A de Andrade 2011

q
n

restrio do algoritmo

e.g., 8-nmeros: mover uma pea para fora da sua


posio correta para dar passagem a outra pea que
est fora do lugar tem taxa de variao negativa!!!

Mtodos de busca informada

Erivan

33

Mximos locais

Algoritmos de Melhoramento Iterativo


n

Uma regio do espao de estados onde a funo de


avaliao d o mesmo resultado
n

A de Andrade 2011

todos os movimentos locais so iguais (taxa de variao


zero)
q

o algoritmo pra depois de algumas tentativas


q

f(n) = f(filhos(n))

restrio do algoritmo

ex. jogo 8-nmeros: nenhum movimento possvel vai


influenciar no valor de f, pois nenhum nmero vai chegar ao
seu local objetivo.

Mtodos de busca informada

Erivan

34

Plats (Plancies)

Algoritmos de Melhoramento Iterativo


n

A de Andrade 2011

Apesar de estar em uma direo que leva ao


pico, nenhum dos operadores vlidos conduz o
algoritmo nessa direo
n

os movimentos possveis tm taxa de variao zero


ou negativa
q

restrio do problema e do algoritmo

ex. rotas: quando permutar dois pontos e o caminho


resultante no est conectado.

Mtodos de busca informada

Erivan

35

Encostas e Picos

Algoritmos de Melhoramento Iterativo


n

Subida da Encosta
q

A de Andrade 2011

Cada busca executada


n

at que um nmero mximo estipulado de iteraes seja


atingido, ou
at que os resultados encontrados no apresentem melhora
significativa.

O algoritmo escolhe o melhor resultado obtido com as


diferentes buscas.
n

36

O algoritmo realiza uma srie de buscas a partir de estados


iniciais gerados aleatoriamente.

Objetivo!!!

Mtodos de busca informada

Erivan

Nos casos acima, o algoritmo chega a um ponto de onde


no faz mais progresso.
Soluo: reincio aleatrio (random restart)

Algoritmos de Melhoramento Iterativo


n

Subida da Encosta: anlise


q

O algoritmo completo?
SIM, para problemas de otimizao
q

A de Andrade 2011

NO, para problemas onde os ns no so estados


completos
q
q

e.g., jogo dos 8-nmeros


semelhante busca em profundidade

O algoritmo timo?
n

TALVEZ, para problemas de otimizao


q

37

uma vez que cada n tratado pelo algoritmo sempre um


estado completo (uma soluo)

quando iteraes suficientes forem permitidas...

NO, para problemas onde os ns no so estados


completos

Mtodos de busca informada

Erivan

Algoritmos de Melhoramento Iterativo


n

O sucesso deste mtodo depende muito do


formato da superfcie do espao de estados:

A de Andrade 2011

se h poucos mximos locais, o reincio aleatrio


encontra uma boa soluo rapidamente
caso contrrio, o custo de tempo exponencial.

Mtodos de busca informada

Erivan

38

Subida da Encosta: anlise

Algoritmos de Melhoramento Iterativo


n

Tmpera Simulado
q

A de Andrade 2011

n
n
q

quando a busca fica presa em um mximo local, o algoritmo no


reinicia a busca aleatoriamente
ele retrocede para escapar desse mximo local
esses retrocessos so chamados de passos indiretos

Apesar de aumentar o tempo de busca, essa estratgia


consegue escapar dos mximos locais
Analogia com cozimento de vidros ou metais:
n

processo de resfriar um lquido gradualmente at ele se solidificar

Mtodos de busca informada

Erivan

39

Este algoritmo semelhante Subida da Encosta, porm


oferece meios para se escapar de mximos locais.

Algoritmos de Melhoramento Iterativo


n

Tmpera Simulado
q

A de Andrade 2011

se a situao melhorar, esse movimento ser sempre


escolhido posteriormente;
caso contrrio, associa a esse movimento uma
probabilidade de escolha menor do que 1.

Essa probabilidade depende de dois parmetros, e


decresce exponencialmente com a piora causada pelo
movimento, e-DE/T, onde:

DE = Valor[prximo-n] - Valor[n-atual]
T = Temperatura

40

Mtodos de busca informada

Erivan

O algoritmo utiliza um mapeamento de resfriamento de


instantes de tempo (t) em temperaturas (T).
Nas iteraes iniciais, no escolhe necessariamente o
melhor passo, e sim um movimento aleatrio:

Algoritmos de Melhoramento Iterativo


n

Tmpera Simulado:Algoritmo
q

A de Andrade 2011

variveis locais: corrente, prximo, T (temperatura que controla a


probabilidade de passos para trs)
corrente Faz-N(Estado-Inicial[problema])
Inicial
for t 1 to do
T mapeamento[t]
Se T = 0
ento retorna corrente
prximo um sucessor de corrente escolhido aleatoriamente
DE Valor[prximo]
- Valor[corrente]
Valor
Valor
Se DE > 0
ento corrente prximo
seno corrente prximo com probabilidade = e-DE/T

Mtodos de busca informada

Erivan

41

funo Anelamento-Simulado (problema,mapeamento)


retorna uma soluo

Algoritmos de Melhoramento Iterativo


Tmpera Simulado

A de Andrade 2011

Com o tempo (diminuio da temperatura), este algoritmo


passa a funcionar como Subida da Encosta.

O algoritmo timo e completo se o mapeamento de


resfriamento tiver muitas entradas com variaes suaves
n

isto , se o mapeamento diminui T suficientemente devagar


no tempo, o algoritmo vai encontrar um mximo global
timo.

Mtodos de busca informada

Erivan

42

Crticas Busca Heurstica


n

q
q

A de Andrade 2011

Funo de avaliao: compromisso (conflito) entre


q
q

dificuldades em definir e usar a funo de avaliao


no consideram conhecimento genrico do mundo (ou
senso comum)
tempo gasto na seleo de um n e
reduo do espao de busca

Achar o melhor n a ser expandido a cada passo


pode ser to difcil quanto o problema da busca em
geral.

Mtodos de busca informada

Erivan

43

Soluo de problemas usando tcnicas de busca


heurstica:

Fontes de consulta

A de Andrade 2011

www.di.ufpe.br/~compint/aulas-IAS
Stuart Russel e Peter Norvig. Artificial
Intelligence: A modern approach

Mtodos de busca informada

Erivan

44