You are on page 1of 15

INF 1771 Inteligncia Artificial

Aula 02 Busca Cega

Edirlei Soares de Lima

LOGO

Busca Cega

Algoritmos de Busca Cega:


Busca
Busca
Busca
Busca

em largura;
de custo uniforme;
em profundidade;
com aprofundamento iterativo;

LOGO

Busca em Largura

Estratgia:
O n raiz expandido, em seguida todos os ns
sucessores so expandidos, ento todos prximos
ns sucessores, e assim em diante.
A

LOGO

Busca em Largura

Pode ser implementado com base no pseudocdigo da


funo BuscaEmArvore apresentado anteriormente.
Utiliza-se uma estrutura de fila (first-in-first-out (FIFO))
para armazenar os ns das fronteira.
Complexidade: O (b

d 1

Profundidade (d)

Ns

Tempo

Memria

1100

0.11 ms

107 KB

111,100

11 ms

10.6 MB

10 7

1.1 seg

1 GB

10 9

2 min

103 GB

10

10 11

3 horas

10 TB

12

10 13

13 dias

1 PB

14

10 15

3.5 anos

99 PB

* Considerando o numero de folhas b = 10 e cada n ocupando 1KB de memria

LOGO

Busca de Custo Uniforme

Estratgia:
Expande sempre o n de menor custo de caminho.
Se o custo de todos os passos for o mesmo, o
algoritmo acaba sendo o mesmo que a busca em
largura.
A
75

118

170
B
75

C
71

99
G

111

LOGO

Busca de Custo Uniforme

A primeira soluo encontrada a soluo tima se


custo do caminho sempre aumentar ao logo do
caminho, ou seja no existirem operadores com custo
negativo.
Implementao semelhante a busca em largura.
Adiciona-se uma condio de seleo dos ns a serem
expandidos.
Complexidade: O (b1 ( C / ) )
Onde:
C = custo da soluo tima;
= custo mnimo de uma ao;

LOGO

Busca em Profundidade

Estratgia:
Expande os ns da vizinhana at o n mais
profundo.
A

LOGO

Busca em Profundidade

Pode ser implementado com base no pseudocdigo da


funo BuscaEmArvore apresentado anteriormente.
Utiliza-se uma estrutura de pilha last-in-first-out
(LIFO) para armazenar os ns das fronteira.
Pode tambm ser implementado de forma recursiva.
Consome pouca memria, apenas o caminho de ns
sendo analisados precisa armazenado. Caminhos que
j foram explorados podem ser descartados da
memria.

LOGO

Busca em Profundidade

Uso de memria pela busca em largura em uma


arvore com 12 de profundidade: 1000 TB.
Uso de memria pela busca em profundidade em
uma arvore com 12 de profundidade: 118 KB.

Problema: O algoritmo pode fazer uma busca muito


longa mesmo quando a resposta do problema esta
localizado a poucos ns da raiz da rvore.

LOGO

Busca com Aprofundamento Iterativo

Estratgia: Consiste em uma busca em profundidade onde o limite


de profundidade incrementado gradualmente.
A

Limit 0
B

Limit 1
E

Limit 2
M

Limit 3

LOGO

Busca com Aprofundamento Iterativo

Combina os benefcios da busca em largura com os


benefcios da busca em profundidade.
Evita o problema de caminhos muito longos ou
infinitos.

A repetio da expanso de estados no to ruim,


pois a maior parte dos estados est nos nveis mais
baixos.

C
ria menos estados que a busca em largura e
consome menos memria.

LOGO

Busca Bidirecional

Estratgia:
A busca se inicia ao mesmo tempo a partir
do estado inicial e do estado final.
A
B

LOGO

Comparao dos Metodos de Busca Cega

Criterio

Largura

Uniforme

Profundidade

Aprofundamento
Iterativo

Bidirecional

Completo?

Sim

Sim ,

No

Sim

Sim ,

timo?

Sim

Sim

No

Sim

Sim ,

Tempo

O(b d 1 )

O (b1 ( C / ) )

O(b m )

O(b d )

O(b d / 2 )

Espao

O(b d 1 )

O (b1 ( C / ) )

O(bm)

O(bd )

O(b d / 2 )

b = fator de folhas por n.


d = profundidade da soluo mais profunda.
m = profundidade mxima da rvore.
completo se b for finito.
completo se o custo de todos os passos for positivo.
timo se o custo de todos os passos for idntico.
se ambas as direes usarem busca em largura.

LOGO

Como evitar estados repetidos?

Estados repetidos sempre vo ocorrer em


problema onde os estados so reversveis.
Como evitar?
No retornar ao estado pai.
No retorna a um ancestral.
No gerar qualquer estado que j tenha sido criado
antes (em qualquer ramo).
Requer que todos os estados gerados permaneam na
memria.

LOGO

Exerccio

Lista de Exerccios 1
http://edirlei.eternix.com.br/downloads/ListaExercicios01.doc

You might also like