Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Busca
Prof. Alexandre Monteiro
Recife
Contatos
E-mail/gtalk: alexandrecordel@gmail.com
greinaldo@fbv.edu.br
Site: http://www.alexandrecordel.com.br/fbv
Buscando Solues
Busca Heurstica = Conhecimento
Busca Heurstica
Heurstica
do grego heuriskein, encontrar, descobrir
introduzida em IA por George Polya em 1957 (livro How to Solve It)
conhecimento e, por isso, marcou quebra da IA com a pesquisa
operacional
Funes Heursticas
Exemplo:
encontrar a rota mais curta entre duas cidades
hdd(n) = distncia direta entre o n n e o n final.
Algoritmo:
Busca Gulosa
Algoritmo:
funo Busca-Gulosa (problema)
retorna uma soluo ou falha
Busca-Melhor-Escolha (problema, h)
Busca Gulosa...
11
Busca Gulosa
Porm no tima:
No completa:
12
Algoritmo A*
Funo de avaliao:
13
Algoritmo A*
Algoritmo A* : exemplo
Ir de Arad a Bucharest
14
Usando A*
17
Custo de tempo:
exponencial com o comprimento da soluo, porm boas funes
heursticas diminuem significativamente esse custo
- o fator de expanso fica prximo de 1
Eficincia tima
s expande ns com f(n) f*, onde f* o custo do caminho timo
- f no decrescente
A* define Contornos
. fator de expanso
prximo de 1
18
19
20
21
22
23
24
Problema Relaxado:
Operadores relaxados:
1 6
7 2 3
26
27
28
29
Heursticas possveis
30
31
32
Na sequencia....
34
35
Idia geral
37
mximo global
- n onde a funo de avaliao atinge seu valor mximo
38
Tmpera Simulada
- Simulated Annealing
- pode fazer modificaes que pioram o estado temporariamente
para fugir de mximos locais
39
40
Subida da Encosta
Problemas
43
Subida da Encosta
Mximos locais
e.g., xadrez:
44
Subida da Encosta
Mximos locais
45
Subida da Encosta
Plats (Plancies)
Subida da Encosta
Encostas e Picos
47
Subida da Encosta
Problemas - soluo
O algoritmo completo?
SIM, para problemas de otimizao
- uma vez que cada n tratado pelo algoritmo sempre um
estado completo (uma soluo)
NO, para problemas onde os ns no so estados completos
- e.g., jogo dos 8-nmeros
- semelhante busca em profundidade
O algoritmo timo?
TALVEZ, para problemas de otimizao
- quando iteraes suficientes forem permitidas...
NO, para problemas onde os ns no so estados completos
49
50
51
Tmpera Simulada
52
Tmpera Simulada
53
atual Faz-N(Estado-Inicial[problema])
for t 1 to do
T mapeamento[t]
Se T = 0
ento retorna atual
prximo um sucessor de atual escolhido aleatoriamente
E Valor[prximo] - Valor[atual]
Se E > 0
ento atual prximo
seno atual prximo com probabilidade = e -E/T
54
Tmpera Simulada
Concluso
com o passar do tempo (diminuio da
temperatura), este algoritmo passa a funcionar
como Subida da Encosta
55
Tmpera Simulada
Implementao (dica)
Gerar nmero aleatrio entre (0,1) e comparar com o valor
da probabilidade
Se nmero sorteado < probabilidade, aceitar movimento para
trs
Anlise
O algoritmo completo
O algoritmo timo se o mapeamento de resfriamento tiver
muitas entradas com variaes suaves
- isto , se o mapeamento diminui T suficientemente
devagar no tempo, o algoritmo vai encontrar um mximo
global timo.
56
57
Referncias
58