Escolar Documentos
Profissional Documentos
Cultura Documentos
Resoluo de problemas
Um problema um objetivo e um conjunto de meios para atingir o objetivo.
Objetivo Aes Estados
Os mtodos anteriores no levam em conta o objetivo at que um n soluo seja atingido. Freqentemente existe conhecimento extra, especfico do problema formulado, que pode ser utilizado para guiar a busca
heurstica heur stica
Busca informada
Idia: Expandir o nna fronteira que estima-se estar mais prximo da soluo
funcion BEST BEST-FIRST FIRST-SEARCH(problem, Eval Eval-Fn) returns a solution sequence inputs: problem, a problem EvalEval -Fn, an evaluation function Queueing-Fn = a function that orders nodes by Eval_Fn Queueingreturn GENERAL GENERAL-SEARCH(problem, QueueingQueueing-Fn)
Estratgias
Gulosa, A*, IDA*, SMA*
IA - Carla Delgado - 2011 7
Busca Gulosa
Funo de Avaliao h(n) (heurstica) = estimativa do custo de n at objetivo. Exemplo hSLD(n) = distncia em linha reta de n at Bucareste.
Busca Gulosa
Exemplo
Busca Gulosa
- Completa : No, pode ficar em loop (Iasi Neamt Iasi Neamt ). Completa para espao finito com verificao de estados repetidos. - Tempo : O(bm) , mas uma boa heurstica pode melhorar muito. - Espao : O(bm) , i.e. mantm todos os ns na memria. - tima : No.
10
Busca A*
Idia : evitar expandir caminhos que j esto caros. Funo de Avaliao f(n) = g(n) + h(n), onde : g(n) : custo para chegar a n h(n) : custo estimado de n at objetivo. f(n) : custo total estimado do caminho mais barato at objetivo e que passa por n.
11
Busca A*
Exemplo
12
Busca A*
N n A S R P B g(n) 0 140 220 317 418 h(n) 366 253 193 100 0 f(n) 366 393 413 417 418 g(n) 0 140 220 317 418 h*(n) 418 278 198 101 0 f*(n) 418 418 418 418 418
13
Busca A*
Teorema : A busca A* tima. Prova : Suponha que algum objetivo subsub-timo G2 foi gerado e est na lista. Seja n um n nono-expandido em um caminho mais curto para um objetivo timo G.
0 g(G2) > g(G) , pois G2 subsub-timo Para todo n soluo : f(soluo) = g(soluo) + h(soluo) = g(soluo)
Logo: f(G2) = g(G2) e f(G) = g(G) f(G2) > f(G) Como h admissvel : h(n) h*(n) g(n) + h(n) g(n) + h*(n) = f*(n) = f(G) Ou seja, f(n) f(G) < f(G f(G2) Qualquer n n sempre selecionado antes de G2.
14
Busca A*
Teorema : A busca A* tima. Prova : Lema : A* expande os ns em ordem crescente do valor de f. Gradualmente acrescente ff-contornos dos ns (como busca em largura acrescenta nveis). Contorno i possui todos os ns com f = fi , onde fi < fi+1
15
Busca A*
Observe que o custo de f nunca decresce. Ocorre para quase todas as heursticas admissveis. Monotonicidade.
16
Busca A*
Prova do Lema : Pathmax Para alguma heurstica admissvel, f pode decrescer ao longo do caminho. Suponha n um sucessor de n :
Perdemos informao : f(n) = 9 custo real de um caminho atravs de n 9, donde o custo real de um caminho atravs de n tambm 9. Modificao pathmax para A* : Ao invs de f(n ) = g(n ) + h(n ), use f(n ) = max (g(n ) + h(n ), f(n)). Com pathmax, f sempre nono-decrescente ao longo do caminho.
17
Busca A*
Propriedades - Completa : Sim, a menos que exista um nmero infinito de ns com f f(G). - Tempo : Exponencial (muitos ns no contorno). - Espao : Mantm todos os ns na memria. - tima : Sim, no expande fi+1 at que fi esteja terminado.
18
19
Problema da IDA* Utiliza pouca memria mesmo que exista mais disponibilidade. disponibilidade. SMA* (Simplified Memory-Bounded A*) )
21
Heursticas Admissveis
Exemplo 8-puzzle h1(n) = nmero de peas fora do lugar h2(n) = distncia Manhattan
22
Heursticas Admissveis
Heursticas admissveis podem ser derivadas a partir do custo real da soluo de uma verso relaxada do problema. Se as regras do 88-puzzle forem relaxadas de modo que uma pea pode se mover para qualquer posio, ento h1(n) fornece a soluo mais curta. Se as regras forem relaxadas de modo que uma pea pode se mover para qualquer quadrado adjacente, ento h2(n) fornece a soluo mais curta.
23
Heursticas Admissveis
Dominncia: Se h2(n) h1(n) para todo n (ambas admissveis)
ento h2 domina h1 e melhor para a busca.
S e a rc h C o s t d 2 4 6 8 10 12 14 16 18 20 22 24
-
24
Heursticas Admissveis
-
Dada uma coleo de heursticas admissveis h1, h2, ..., hn, como escolher a melhor ? Defina : h(n) = max{h max{h1, h2, ..., hn}. Pergunta : h(n) admissvel ?
Sub-problemas de um dado Problema SubO custo da soluo tima de um subsub-problema um limite inferior do custo do problema como um todo
25
Heursticas Admissveis
-
Subproblemas de um dado Problema Pattern Databases : Armazena os custos da soluo a partir de todas as instncias possveis do subsub-problema.
26