IA Estrategias Busca Inf
-
Upload
deonberith -
Category
Documents
-
view
8 -
download
3
description
Transcript of IA Estrategias Busca Inf
![Page 1: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/1.jpg)
Inteligência ArtificialInteligência Artificial
Estratégias de Busca Informada
Huei Diana Lee
![Page 2: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/2.jpg)
2
In which we see how informationabout the state space can
prevent algorithms from blunderingabout in the dark
![Page 3: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/3.jpg)
3
Busca InformadaBusca InformadaBusca exaustiva (cega)
encontram soluções para problemas pela geração sistemática de novos estados, que são comparados ao objetivo;
são ineficientes na maioria dos casos:são capazes de calcular apenas o custo de caminho do nó atual ao nó inicial (função g), para decidir qual o próximo nó da fronteira a ser expandido;essa medida não necessariamente conduz a busca na direção do objetivo.
Como encontrar um barco perdido?não podemos procurar no oceano inteiro...
![Page 4: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/4.jpg)
4
Busca Heurísticautiliza conhecimento específico do problema na escolha do próximo nó a ser expandidofunção de avaliação estima o custo do caminho do nó atual até o objetivo (conhecida como heurística), ie, essa estimativa indica o quanto o nó é promissor com relação a atingir a meta estabelecida
![Page 5: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/5.jpg)
5
Funções HeurísticasFunções HeurísticasFunção heurística h
nome vem do grego heuriskein – arquimedes(heureka)introduzida em IA por George Polya em 1957 (livro How to Solve It)estima o custo do menor caminho do estado atual até o estado final mais próximo
Funções heurísticas são específicas para cada problema
rota mais barata de Corumbá a Campo Grandehdd(n) = distância direta entre n e o nó final
![Page 6: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/6.jpg)
6
Funções HeurísticasFunções Heurísticas
Como escolher uma boa função heurística?ela deve ser admissível (nunca superestimar o custo real da solução)distância direta (hdd) é admissível porque o caminho mais curto entre dois pontos é sempre uma linha reta
![Page 7: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/7.jpg)
7
Funções HeurísticasFunções HeurísticasFunção heurística (h)
estima o custo do caminho mais barato do estado atual até o estado final mais próximo.são específicas para cada problema
Exemplo: encontrar a rota mais curta entre duas cidadeshdd(n) = distância direta entre o nó n e o nó final.
Como escolher uma boa função heurística?ela deve ser admissível, i.e., nunca superestimar o custo real da soluçãoex. distância direta (hdd) é admissível porque o caminho mais curto entre dois pontos é sempre uma linha reta
![Page 8: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/8.jpg)
8
Busca genérica onde o nó de menor custo “aparente” na fronteira do espaço de estados é expandido primeiroA idéia básica é prosseguir com a busca sempre a partir do nó mais promissorDuas abordagens básicas:1. Busca Gulosa (Greedy search) 2. Algoritmo A* e suas variantes
Estratégia Estratégia BestBest--FirstFirst
![Page 9: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/9.jpg)
9
Algoritmo:FunçãoFunção--InsereInsere - ordena nós com base na
FunçãoFunção--AvaliaçãoAvaliação
função BuscaBusca--MelhorMelhor--EscolhaEscolha(problema,FunçãoFunção--AvaliaçãoAvaliação)
retorna uma soluçãoBuscaBusca--GenéricaGenérica (problema, FunçãoFunção--InsereInsere)
Estratégia Estratégia BestBest--FirstFirst
![Page 10: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/10.jpg)
10
Estratégia Estratégia BestBest--FirstFirstA função f(n) será construída como: f(n) = g(n) + h(n)
g(n) é uma estimativa do custo do caminho ótimo de s até nh(n) é uma estimativa do custo do caminho ótimo de n até t
s
n
t
g(n)
h(n)
![Page 11: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/11.jpg)
11
Estratégia Estratégia BestBest--FirstFirstQuando um nó n é encontrado pelo processo de busca temos a seguinte situação
Um caminho de s até n já foi encontrado e seu custo pode ser calculado como a soma dos custos dos arcos no caminho
Este caminho não é necessariamente um caminho ótimo de saté n (pode existir um caminho melhor de s até n ainda não encontrado pela busca) mas seu custo serve como uma estimativa g(n) do custo mínimo de s até n
O outro termo, h(n) é mais problemático pois o “mundo” entre n e t não foi ainda explorado
Portanto, h(n) é tipicamente uma heurística, baseada no conhecimento geral do algoritmo sobre o problema em questãoComo h depende do domínio do problema, não há um método universal para construir h
![Page 12: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/12.jpg)
12
Busca Gulosa (Busca Gulosa (GreedyGreedy SearchSearch))Semelhante à busca em profundidade com backtracking
Tenta expandir o nó mais próximo do nó final com base na estimativa feita pela função heurística h
Tenta minimizar o custo estimado para se atingir o objetivo
Algoritmo:
função BuscaBusca--GulosaGulosa (problema) retorna uma solução ou falha
BuscaBusca--MelhorMelhor--EscolhaEscolha (problema, h)
![Page 13: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/13.jpg)
Busca Gulosa: ExemploBusca Gulosa: ExemploIr deIr de AradArad aa BucharestBucharest
![Page 14: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/14.jpg)
Busca Gulosa...Busca Gulosa...
![Page 15: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/15.jpg)
15
Busca GulosaBusca GulosaCusto de busca mínimo!
No exemplo, não expande nós fora do caminho Porém não é ótima:
No exemplo escolhe o caminho que é mais econômico à primeira vista, via Fagarasporém, existe um caminho mais curto via RimnicuVilcea
Não é completa:pode entrar em loop se não detectar a expansão de estados repetidospode tentar desenvolver um caminho infinito
Custo de tempo e memória: O(bd)
![Page 16: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/16.jpg)
16
Algoritmo A*Algoritmo A*É ainda a técnica de busca mais usada Tenta minimizar o custo total da solução combinando:
Busca Gulosa: econômica, porém não é completa nem ótimaBusca de Custo Uniforme (Djikstra): ineficiente, porém completa e ótima
Função de avaliação:f (n) = g (n) + h (n)g (n) = distância de n ao nó inicialh (n) = distância estimada de n ao nó finalA* expande o nó de menor valor de f na fronteira do espaço de estados.
![Page 17: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/17.jpg)
17
Algoritmo A*Algoritmo A*
Algoritmo:função BuscaBusca--A*A* (problema)
retorna uma solução ou falhaBuscaBusca--MelhorMelhor--EscolhaEscolha (problema, g+h)
![Page 18: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/18.jpg)
18
Algoritmo A* : exemploAlgoritmo A* : exemploIr deIr de AradArad a a BucharestBucharest
![Page 19: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/19.jpg)
Usando A*Usando A*
![Page 20: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/20.jpg)
20
Propriedades do Algoritmo A*Propriedades do Algoritmo A*Se h é admissível, f(n) nunca irá superestimar o custo real da melhor solução através de nA função f(n) sempre cresce analisando os caminhos de cima para baixoPara provar a otimalidade do algoritmo é necessário que a monotonicidade seja garantida
nunca deve ocorrer que f(n’) < f(n), onde n é o pai de n’para evitar pode se utilizar
f(n’) = max ( f(n), g(n’) + h(n’) ) (pathmax equation)
uma vez que todo caminho que passa por n’ passa também por n (seu pai)
![Page 21: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/21.jpg)
21
MonotonicidadeMonotonicidade
Uma heurística é monotônica se e somente se ela obedece a Desigualdade Triangular;Desigualdade Triangular: dois lados de um triângulo não podem somar menos que o terceiro lado.Pearl, J. (1984) Heuristics: Intelligent Search Strategies for Computer Problem Solving. Addison-Wesley, Reading, Massachusetts.
![Page 22: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/22.jpg)
22
A* define ContornosA* define Contornos
. fator de expansão próximo de 1
![Page 23: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/23.jpg)
23
Algoritmo A* : Algoritmo A* : análise do comportamentoanálise do comportamento
A estratégia é completa e ótima
Custo de tempo:exponencial com o comprimento da solução, porém boas funções heurísticas diminuem significativamente esse custo
Custo memória: O (bd)guarda todos os nós expandidos na memória
para possibilitar o backtracking
![Page 24: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/24.jpg)
24
Algoritmo A* : Algoritmo A* : análise do comportamentoanálise do comportamento
Eficiência ótimasó expande nós com f(n) ≤ f*, onde f* é o custo do caminho ótimo
f é não decrescentenenhum outro algoritmo ótimo garante expandir menos nós
![Page 25: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/25.jpg)
25
BestBest--FirstFirst & A*& A*
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
Distância entre duas cidades através de um
caminho (rodovia)
Distância entre a cidade em questão e a cidade destino (t) em
linha reta
![Page 26: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/26.jpg)
26
BestBest--FirstFirst & A*& A*Dado um mapa, o objetivo é encontrar o caminho mais curto entre a cidade inicial s e a cidade destino tPara estimar o custo do caminho restante da cidade X até a cidade t utilizaremos a distância em linha reta denotada por dist(X,t)f(X) = g(X) + h(X) =
= g(X) + dist(X,t)
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
![Page 27: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/27.jpg)
27
BestBest--FirstFirst & A*& A*Neste exemplo, podemos imaginar a busca best-firstconsistindo em dois processos, cada um explorando um dos caminhos alternativosProcesso 1 explora o caminho via aProcesso 2 explora o caminho via e
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
![Page 28: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/28.jpg)
28
BestBest--FirstFirst & A*& A*f(a)=g(a)+dist(a,t)=2+5=7f(e)=g(e)+dist(e,t)=2+7=9Como o valor-f de a é menor do que de e, o processo 1 (busca via a) permanece ativo enquanto o processo 2 (busca via e) fica em estado de espera
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
f(e)=9
f(a)=7
![Page 29: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/29.jpg)
29
BestBest--FirstFirst & A*& A*f(a)=g(a)+dist(a,t)=2+5=7f(e)=g(e)+dist(e,t)=2+7=9Como o valor-f de a é menor do que de e, o processo 1 (busca via a) permanece ativo enquanto o processo 2 (busca via e) fica em estado de esperaf(b)=g(b)+dist(b,t)=4+4=8
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
f(e)=9
f(a)=7
f(b)=8
![Page 30: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/30.jpg)
30
BestBest--FirstFirst & A*& A*f(a)=g(a)+dist(a,t)=2+5=7f(e)=g(e)+dist(e,t)=2+7=9Como o valor-f de a é menor do que de e, o processo 1 (busca via a) permanece ativo enquanto o processo 2 (busca via e) fica em estado de esperaf(b)=g(b)+dist(b,t)=4+4=8f(c)=g(c)+dist(c,t)=6+4=10Como f(e)<f(c) agora o processo 2 prossegue para a cidade f
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
f(c)=10
f(e)=9
f(a)=7
f(b)=8
![Page 31: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/31.jpg)
31
BestBest--FirstFirst & A*& A*f(f)=g(f)+dist(f,t)=7+4=11Como f(f)>f(c) agora o processo 2 espera e o processo 1 prossegue
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
f(c)=10
f(f)=11
f(e)=9
f(a)=7
f(b)=8
![Page 32: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/32.jpg)
32
BestBest--FirstFirst & A*& A*f(f)=g(f)+dist(f,t)=7+4=11Como f(f)>f(c) agora o processo 2 espera e o processo 1 prosseguef(d)=g(d)+dist(d,t)=9+3=12Como f(d)>f(f) o processo 2 reinicia
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
f(c)=10
f(f)=11
f(d)=12
f(e)=9
f(a)=7
f(b)=8
![Page 33: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/33.jpg)
33
BestBest--FirstFirst & A*& A*f(f)=g(f)+dist(f,t)=7+4=11Como f(f)>f(c) agora o processo 2 espera e o processo 1 prosseguef(d)=g(d)+dist(d,t)=9+3=12Como f(d)>f(f) o processo 2 reinicia chegando até o destino tf(g)=g(g)+dist(g,t)=9+2=11
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
f(c)=10
f(f)=11
f(d)=12f(g)=11
f(e)=9
f(a)=7
f(b)=8
![Page 34: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/34.jpg)
34
BestBest--FirstFirst & A*& A*f(f)=g(f)+dist(f,t)=7+4=11Como f(f)>f(c) agora o processo 2 espera e o processo 1 prosseguef(d)=g(d)+dist(d,t)=9+3=12Como f(d)>f(f) o processo 2 reinicia chegando até o destino tf(g)=g(g)+dist(g,t)=9+2=11f(t)=g(t)+dist(t,t)=11+0=11
se
a
bc
d
f
g
2
2
2
2
3
3 2
2
5
7
5
444
32
t
f(c)=10
f(f)=11
f(d)=12f(g)=11
f(e)=9
f(a)=7
f(b)=8
f(t)=11
![Page 35: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/35.jpg)
35
BestBest--FirstFirst & A*& A*
A busca, começando pelo nó inicial continua gerando novos nós sucessores, sempre expandindo na direção mais promissora de acordo com os valores-fDurante este processo, uma árvore de busca é gerada tendo como raiz o nó inicial e o algoritmo best-first continua expandindo a árvore de busca até que uma solução seja encontrada
![Page 36: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/36.jpg)
36
BestBest--FirstFirst & A*& A*s
ea f(e)=9f(a)=7
![Page 37: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/37.jpg)
37
BestBest--FirstFirst & A*& A*s
ea
b
f(e)=9f(a)=7
f(b)=8
![Page 38: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/38.jpg)
38
BestBest--FirstFirst & A*& A*s
ea
b
c
f(e)=9f(a)=7
f(b)=8
f(c)=10
![Page 39: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/39.jpg)
39
BestBest--FirstFirst & A*& A*s
ea
b
c
f
f(e)=9f(a)=7
f(b)=8
f(c)=10
f(f)=11
![Page 40: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/40.jpg)
40
BestBest--FirstFirst & A*& A*s
ea
b
c
d
f
f(e)=9f(a)=7
f(b)=8
f(c)=10
f(f)=11
f(d)=12
![Page 41: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/41.jpg)
41
BestBest--FirstFirst & A*& A*s
ea
b
c
d
f
g
f(e)=9f(a)=7
f(b)=8
f(c)=10
f(f)=11
f(d)=12
f(g)=11
![Page 42: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/42.jpg)
42
BestBest--FirstFirst & A*& A*s
ea
b
c
d
f
g
t
f(e)=9f(a)=7
f(b)=8
f(c)=10
f(f)=11
f(d)=12
f(g)=11
f(t)=11
![Page 43: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/43.jpg)
43
Busca com Limite de Memória Busca com Limite de Memória MemoryMemory BoundedBounded SearchSearch
IDA* (Iterative Deepening A*)extensão do aprofundamento iterativo, porém seu limite é dado pela função de avaliação (f) (contornos), e não pela profundidade (d).necessita de menos memória do que A* mas continua ótima
SMA* (Simplified Memory-Bounded A*) Similar ao A*O número de nós guardados em memória é fixado previamente
conforme vai avançando, descarta os piores nós (embora guarde informações a respeito deles) e atualiza os melhores valores dos caminhos
É completa e ótima se a memória alocada for suficiente
![Page 44: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/44.jpg)
44
IDA*IDA*
IDA* é similar à busca em profundidade iterativa
Na busca em profundidade iterativa as buscas em profundidade são realizadas em limites crescentes de profundidade; em cada iteração a busca em profundidade é limitada pelo limite de profundidade atualEm IDA* as buscas em profundidade são limitadas pelo limite atual representando valores-f dos nós
![Page 45: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/45.jpg)
45
IDA*IDA*procedure ida(Inicio,Solucao)
Limite ← f(Inicio)repeatIniciando no nó Início, realize busca emprofundidade sujeita à condição que um nó N éexpandido apenas se f(N) <= Limiteif busca em profundidade encontrou nó final then
indique ’Solução encontrada’else
Calcule NovoLimite como o mínimo valor-f dos nósalcançados ao ultrapassar Limite, ou seja, NovoLimite ← min{f(N): N gerado pela busca e f(N) > Limite}
endifLimite ← NovoLimite
until Solução encontrada
![Page 46: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/46.jpg)
46
IDA*IDA*s
ea
b
c
d
f
g
t
f(e)=9f(a)=7
f(b)=8
f(c)=10
f(f)=11
f(d)=12
f(g)=11
f(t)=11
f(s)=6
![Page 47: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/47.jpg)
47
IDA*IDA*s
ea
b
c
d
f
g
t
f(e)=9f(a)=7
f(b)=8
f(c)=10
f(f)=11
f(d)=12
f(g)=11
f(t)=11
![Page 48: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/48.jpg)
48
SM
A*
S
MA
* (( S
impl
ified
Sim
plifi
edM
emor
yM
emor
y --B
ound
edB
ound
edA
*)
A*)
![Page 49: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/49.jpg)
49
Inventando Funções HeurísticasInventando Funções HeurísticasComo escolher uma boa função heurística h?h depende de cada problema particular.h deve ser admissível
não superestimar o custo real da solução Existem estratégias genéricas para definir h:1) Relaxar restrições do problema;2) Usar informação estatística;3) Identificar os atributos mais relevantes do
problema
![Page 50: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/50.jpg)
50
Problema Relaxado:versão simplificada do problema original, onde os operadores são menos restritivos
Exemplo: jogo dos 8 números: operador original: um número pode mover-se de A para B se A é adjacente a B e B está vaziobusca exaustiva ≈ 320 estados possíveis
Fator de ramificação ≈ 3 e d ≈ 20 passos
Operadores relaxados:1. um número pode mover-se de A para B (h1)2. um número pode mover-se de A para B se A é adjacente a B (h2)
4 5 81 6
7 32
(1) Relaxando o problema(1) Relaxando o problema
![Page 51: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/51.jpg)
51
Heurísticas possíveish1 = no. de elementos fora do lugar (h1=7)h2 = soma das distâncias de cada número à posição final (h2=2+3+3+2+4+2+0+2=18)
Manhattan Distance d de dois pontos (x,y) e (u,v), d = |x-u| + |y-v|
Heurísticas para jogo 8 númerosHeurísticas para jogo 8 números
![Page 52: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/52.jpg)
52
(2) Usando informação estatística(2) Usando informação estatística
Funções heurísticas podem ser “melhoradas” com informação estatística:
executar a busca com um conjunto de treinamento (e.g., 100 configurações diferentes do jogo), e computar os resultados.se, em 90% dos casos, quando h (n) = 14, a distância real da solução é 18,então, quando o algoritmo encontrar 14 para o resultado da função, vai substituir esse valor por 18.
![Page 53: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/53.jpg)
53
(2) Usando informação estatística(2) Usando informação estatística
Informação estatística expande menos nós, porém elimina admissibilidade:
em 10% dos casos do problema acima, a função de avaliação poderá superestimar o custo da solução, não sendo de grande auxílio para o algoritmo encontrar a solução mais barata.
![Page 54: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/54.jpg)
54
(3) Usando Atributos/características(3) Usando Atributos/características
Características do problema podem ser usadas para mensurar o quão se está próximo da soluçãoex. xadrez
número de peças de cada ladosomatório dos pesos das peças de cada lado (Peão-1, ..., Rainha-9) número de peças sob ataque
Quando não se conhece a importância das características, pode-se aprendê-las (w1f1+w2f2+...+wnfn)
![Page 55: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/55.jpg)
55
Qualidade da função heurísticaQualidade da função heurística
Qualidade da função heurística: medida através do fator de expansão efetivo (b*).
b* é o fator de expansão de uma árvore uniforme com N nós e nível de profundidaded
N = 1 + b* + (b*)2 + ... + (b*)d , onde N = total de nós expandidos para uma instância de
problemad = profundidade da solução;
![Page 56: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/56.jpg)
56
Qualidade da função heurísticaQualidade da função heurística
Mede-se empiricamente a qualidade de h a partir do conjunto de valores experimentais de N e d.
uma boa função heurística terá o b* muito próximo de 1.
Se o custo de execução da função heurística for maior do que expandir nós, então ela não deve ser usada.
uma boa função heurística deve ser eficiente
![Page 57: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/57.jpg)
Experimento com 100 problemasExperimento com 100 problemas88--númerosnúmeros
Uma boa função heurística terá o b* muito próximo de 1.
![Page 58: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/58.jpg)
58
Escolhendo Funções HeurísticasEscolhendo Funções HeurísticasÉ sempre melhor usar uma função heurística com valores mais altos, contanto que ela seja admissível.
ex. h2 melhor que h1hi domina hk ⇒ hi(n) ≥ hk(n) ∀n no espaço de estados
h2 domina h1 no exemplo anteriorCaso existam muitas funções heurísticas para o mesmo problema, e nenhuma delas domine as outras, usa-se uma heurística composta:
h (n) = max (h1 (n), h2 (n),…,hm(n))Assim definida, h é admissível e domina cada função hi individualmente
![Page 59: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/59.jpg)
59
Heurística... por toda IAHeurística... por toda IAA noção de heurística sempre foi além da busca e de uma formalização via função de um estado Heurística
escolha, prioridade, estratégia na busca de uma solução razoável onde não há solução ótima ou recurso para determiná-laNo dia a dia: heurística para dirigir, namorar, estudar,...
Em IA: em todas as áreas como conhecimento de controle
ex. escolha de regras a serem disparadas (SBC)ex. escolha de viés de generalização (aprendizagem)...
![Page 60: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/60.jpg)
60
Qual seria uma boa heurística Qual seria uma boa heurística para o jogo da velha?para o jogo da velha?
X
0
![Page 61: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/61.jpg)
61
Exercício!Exercício!
s
ba c
d e f
h i
gj k
12
7 8 8
6 4 7
4 5
2 0 1
4 21
1 2 1
3 1
12
2
![Page 62: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/62.jpg)
62
s
ba c
d e f
h i
gj k
Busca em Profundidade (com backtracking)
Ordem de visita:s a d
a eas bs c f h j
h g
![Page 63: IA Estrategias Busca Inf](https://reader033.fdocumentos.tips/reader033/viewer/2022052620/557213c8497959fc0b9301d5/html5/thumbnails/63.jpg)
63
ReferênciasReferências
Material Didático Prof. Marcílio Souto –UFRN, 2005Material Didático Prof. José Augusto Baranauskas – USP Ribeirão Preto, 2005Material Didático Prof. Huei Diana Lee –Unioeste, 2002Russel, S. e Norvig, P. Artificial Intelligence: A modern approach, Prentice Hall, 1995Referências indicadas no curso