Você está na página 1de 26

Inteligncia Artificial

Resoluo de problemas Busca informada Carla Delgado DCCDCC -UFRJ

IA - Carla Delgado - 2011

Como agem os agentes?


Como construir agentes que sejam capazes de agir com autonomia para realizar as tarefas delegadas a eles?
Agente orientado a objetivo: Estabelecendo objetivos e considerando sequncias de aes que podem viabilizar o objetivo
Agentes que resolvem problemas

IA - Carla Delgado - 2011

Resoluo de problemas
Um problema um objetivo e um conjunto de meios para atingir o objetivo.
Objetivo Aes Estados

Busca o processo de explorar os meios de se atingir o objetivo


Considerando sistematicamente os resultados de vrias sequncias de aes Entradas de um algoritmo de busca: um problema; Sada do algoritmo de busca: uma soluo na forma de uma sequncia de aes;
IA - Carla Delgado - 2011 3

Resoluo de problemas usando Busca


Formulao do problema Estado incial, Objetivo Objetivo, , estados e aes. Algoritmo be busca Parte da formulao do problema e busca sistematicamente uma soluo.

IA - Carla Delgado - 2011

Mtodos de busca informados


funo BUSCA BUSCA-GENRICA(problema GENRICA(problema, , estratgia) estratgia) retorna soluo ou falha inicialize a rvore de busca com o estado inicial do problema repita se no h candidatos para expanso ento retorne falha. escolha um n folha para expanso de acordo com a estratgia se o n contm um estado soluo ento retorne a soluo seno expanda o n e adicione os ns resultantes na rvore de busca fim

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

IA - Carla Delgado - 2011

Busca informada: Heurstica


A heurstica pode ser vista como:
uma estimativa da distncia do n n at um n objetivo uma sub sub-estimativa se ele menor ou igual ao custo real do caminho mais curto do n n at um objetivo. objetivo .

IA - Carla Delgado - 2011

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.

IA - Carla Delgado - 2011

Busca Gulosa
Exemplo

IA - Carla Delgado - 2011

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.

Custo = 450 Custo = 418

IA - Carla Delgado - 2011

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.

IA - Carla Delgado - 2011

11

Busca A*
Exemplo

IA - Carla Delgado - 2011

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

Heurstica admissvel : h(n) h*(n), onde h*(n) o custo real a partir de n.

IA - Carla Delgado - 2011

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.

IA - Carla Delgado - 2011

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

IA - Carla Delgado - 2011

15

Busca A*
Observe que o custo de f nunca decresce. Ocorre para quase todas as heursticas admissveis. Monotonicidade.

IA - Carla Delgado - 2011

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.

IA - Carla Delgado - 2011

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.

IA - Carla Delgado - 2011

18

Busca Heurstica com Memria Limitada


IDA* (Iterative Deepening A*) Semelhante a profundidade limitada: A cada interao feita uma busca em profundidade. Ao invs do limite l de profundidade, usamos um limite de custo f. - Completa e tima : como A*. - Espao : proporcional ao maior caminho explorado. - Tempo : depende do nmero de valores que a funo heurstica pode assumir.

IA - Carla Delgado - 2011

19

Busca Heurstica com Memria Limitada

Problema da IDA* Utiliza pouca memria mesmo que exista mais disponibilidade. disponibilidade. SMA* (Simplified Memory-Bounded A*) )

Utiliza toda a memria disponvel


- Completa: Se a memria disponvel
suficiente para armazenar o caminho mais raso. - tima: Se existe soluo tima alcanvel dentro da memria disponvel. Caso contrrio, fornecer a melhor soluo (caminho) que caiba na memria.
IA - Carla Delgado - 2011 20

Busca Heurstica com Memria Limitada


SMA*

IA - Carla Delgado - 2011

21

Heursticas Admissveis
Exemplo 8-puzzle h1(n) = nmero de peas fora do lugar h2(n) = distncia Manhattan

h1(Start State) = 7 h2(Start State) = 2 + 3 + 3 + 2 + 4 + 2 + 0 + 2 = 18

IA - Carla Delgado - 2011

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.

IA - Carla Delgado - 2011

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
-

E f fe c t i v e B r a n c h i n g F a c t o r A * (h 2) 6 12 18 25 39 73 113 221 363 676 1219 1641 ID S 2 .4 5 2 .8 7 2 .7 3 2 .8 0 2 .7 9 2 .7 8 2 .8 3 A * (h 1) 1 .7 9 1 .4 8 1 .3 4 1 .3 3 1 .3 8 1 .4 2 1 .4 4 1 .4 5 1 .4 6 1 .4 7 1 .4 8 1 .4 8 A * (h 2) 1 .7 9 1 .4 5 1 .3 0 1 .2 4 1 .2 2 1 .2 4 1 .2 3 1 .2 5 1 .2 6 1 .2 7 1 .2 8 1 .2 6

ID S 10 112 680 6384 47127 364404 3473941 -

A * (h 1) 6 13 20 39 93 227 539 1301 3056 7276 18094 39135

IA - Carla Delgado - 2011

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

IA - Carla Delgado - 2011

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.

IA - Carla Delgado - 2011

26

Você também pode gostar