Você está na página 1de 45

Soluo de problemas por meio

de busca
Aula 2
Fundamentos da IA
Mestrado FEI -- 2006
Problema: jarros
Dados uma bica d`agua, um jarro de
capacidade 3 litros e um jarro de
capacidade 4 litros (ambos vazios).
Como obter 2 litros no jarro de 4?
Soluo de problemas por meio
de busca
Desenvolver programas, no com os
passos de soluo de um problema,
mas que produzam estes passos;
Construir um espao de estados para
encontrar uma sequncia de aes cuja
aplicao resolve um problema;
Recebe um problema e retorna uma
soluo

Cap. 3 - Buscas sem informao
(ou busca cega)
Algoritmos que no recebem nenhuma
informao sobre o problema alm de
sua formulao.
preciso definir
problema
soluo
Formulao de um problema
Um agente com vrias opes
imediatas pode decidir o que fazer
examinando diferentes sequncias de
aes possveis para depois escolher a
melhor sequncia para executar.
Formular -> buscar -> executar

Formulao de um problema
Objetivo
Estado inicial
Funo sucessor
transio de estados (aes)
espao de estados
Teste de objetivo
Custo de caminho
Formulao de um problema
Objetivo:
chegar algum lugar: Em(Zerind)
Estado inicial: ponto de partida
ex. partir de Arad: Em(Arad)
Funo transio (sucessor):
prov um conjunto de aes possveis a
partir de um determinado estado
Sucessor(s) -> {<ao1, sucessor1>, ...
,<aoN, sucessorN>}
ex. Dado um mapa da Romnia:
Sucessor(Em(arad)) ->
{<Ir(sibiu), Em(sibiu)>, <Ir(timisoara),
Em(timisoara)>, <Ir(zerind), Em(zerind)>}


O conjunto de todos os estado acessveis
a partir de um estado inicial chamado:

ESPAO DE ESTADOS
O espao de estados pode ser
interpretado como um grafo em que os
ns so estados e os arcos so aes.
Uma sequncia de estados conectados
por aes em um espao de estados
chama-se:
UM CAMINHO NO ESPAO DE
ESTADOS
Exemplo da primeira aula (jarros)
Exemplo: viajar pela Romnia
Formulao de um problema
Teste de objetivo: determina se um
dado estado gerado no processo de
busca o estado objetivo;
Funo custo: atribui um valor numrico
para cada caminho
Abstrao

Abstrao
Abstrao vlida: se qqr soluo
abstrata pode ser expandida em uma
soluo mais detalhada;
Abstrao til: se a execuo de cada
uma das aes na soluo mais fcil
que o problema original.
i.e., os passos da soluo abstrata no
exigem (muito) planejamento adicional
Definio de soluo
Soluo um caminho desde o estado
inicial at o estado final;
Soluo tima: tem o menor custo de
caminho dentre todas as solues
existentes.

Exemplos de problemas
Miniproblemas (micro-worlds):
descrio concisa e exata
ilustrar, exercitar ou comparar
solucionadores de problemas
Problemas no mundo real
problemas com interesse no acadmico
Miniproblemas: aspirador de p
Estados: duas posies para o agente
Estado inicial: qqr
Funo sucessor: aes esq., dir., aspirar
Teste: todos os quadrados limpos
Custo: cada passo=1
Miniprob.:quebra-cabeas 8 peas
Estados: posio das 8 peas e do vazio
Estado inicial: qqr estado
Funo sucessor: esq., dir., acima, abaixo
Teste: verifica se o estado corrente o objetivo
Custo:cada passo=1; caminho=num. d passos
Miniprob.:8 rainhas: formulao
incremental
Estados: qqr disposio de rainhas
Estado inicial: nenhuma rainha
F. sucessor: colocar 1 rainha em qqr vazio
Teste: 8 rainhas no tab., nenhuma atacada
64x63x...57 = 3x10
14
seq. para investigar

Quasi soluo
Miniprob.:8 rainhas: formulao
de estados completos
Estados: disposies de n rainhas, uma por
coluna, sem que nenhuma rainha ataque outra
Funo sucessor: adicionar uma rainha a qqr
quadrado na coluna vazia mais esquerda, de
tal modo que ela no seja atacada
tamanho do espao de estados: 2.057

Quasi soluo
Uma boa formulao do
problema essencial!!
Problemas do mundo real
Problema de roteamento
encontrar a melhor rota de um ponto a
outro (aplicaes: redes de computadores,
planejamento militar, planejamento de
viagens areas)
Problemas de tour
visitar cada ponto pelo menos uma vez
Caixeiro viajante
visitar cada cidade exatamente uma vez
encontrar o caminho mais curto

Busca de solues
Percorrer o espao de estados a partir
de uma rvore de busca;
Expandir o estado atual aplicando a
funo sucessor, gerando novos
estados;
Busca: seguir um caminho, deixando os
outros para depois;
A estratgia de busca determina qual
caminho seguir.

Algumas definies
rvore de busca no
equivalente espao de estados!
H 20 estados no mapa da romnia
(espao de estados), mas infinitos
caminhos a percorrer. Portanto a rvore
de busca, neste caso, tem tamanho
infinito.
Medio de desempenho de um
algoritmo
Completeza: sempre encontra uma
soluo se esta existir;
Otimizao: encontra a soluo tima
Complexidade de tempo: tempo gasto
para encontrar uma soluo;
Complexidade de espao: memria
necessria para encontrar uma soluo.
Anlise de algoritmos de busca
Fator de ramificao: b (nmero
mximo de sucessores de qualquer n);
Profundidade do n objetivo menos
profundo: d
tempo: medido em termos do nmero de
ns gerados durante a busca
espao: nmero mximo de ns
armazenados.
Busca em extenso
O n raiz expandido primeiro e, em
seguida, todos os sucessores dele,
depois todos os sucessores desses
ns...
I.e., todos os ns em uma dada
profundidade so expandidos antes de
todos os ns do nvel seguinte.
Busca em extenso em uma
rvore binria
Busca em extenso: anlise
Completa: sempre encontra o objetivo
que esteja em uma profundidade d
(desde que b seja finito);
tima??
Busca em extenso: anlise
Completa: sempre encontra o objetivo
que esteja em uma profundidade d
(desde que b seja finito);
tima??
O n objetivo mais raso no
necessariamente o n timo
ser timo se o custo do caminho for uma
funo no-decrescente da profundidade
do n.
Busca em extenso: anlise
Complexidade de tempo e espao:
Espao de estados em que cada estado
tem b sucessores (portanto, a uma
profundidade n, b
n
estados so gerados).
Supondo que a soluo esteja a uma
profundidade d:
b + b
2
+ ...+b
d
+ (b
d+1
- b) = O(b
d+1
)
No pior caso a soluo est no ltimo n de d,
portanto todos os irmo do objetivo tem seus
filhos gerados (da vem o d+1);
checa o n, sem checar se filhos (daqui o -b).
Busca em profundidade
Expande o n mais profundo na borda
atual da rvore;
No havendo mais sucessores, a busca
retorna prxima profundidade acima
que no foi explorada.
Busca em profundidade: anlise
S precisa armazenar um nico
caminho da raiz at um n folha, e os
ns irmos no expandidos;
Ns cujos descendentes j foram
completamente explorados podem ser
retirados da memria;
Logo para ramificao b e
profundidade mxima m, a
complexidade espacial : O(bm)
Busca em profundidade: anlise
Pode fazer uma escolha errada e ter
que percorrer um caminho muito longo
(as vezes infinito), quando uma opo
diferente levaria a uma soluo
rapidamente (ex. n C na fig. anterior);
Portanto, a busca em profundidade no
completa e nem tima!
Complexidade temporal: no pior caso,
todos os ns so gerados, portanto:
O(b
m
)

Busca em profundidade limitada
Para resolver o problema de busca em
profundidade em rvores infinitas, um
limite l restringe a busca. I.e., ns na
profundidade l so tratados como se
no tivessem sucessores.
Resolve caminhos infinitos, porm
adiciona mais incompleteza;
Busca em profundidade limitada
Limites de profundidade podem ser
conhecidos a priori:
ex. caminho mais longo no mapa da
romnia tem l = 19, porm qqr cidade pode
ser alcanada a partir de qqr outra em l =
9.
Dois tipos de falhas terminais:
falha: nenhuma soluo encontrada;
corte: nenhuma soluo dentro de l;

Busca por aprofundamento iterativo
Combina busca em profundidade com
busca em extenso;
Faz busca em profundidade
aumentando gradualmente o limite de
profundidade;
Mtodo de busca preferido quando se
tem espao de busca grande e
profundidade no conhecida;
Como evitar estados repetidos
Um processo de busca pode perder
tempo expandindo ns j explorados
antes;
Estados repetidos podem levar a laos
infinitos;
Deteco de estados repetidos:
comparar os ns prestes a serem
expandidos com ns j visitados. Se o
n j tiver sido visitado, ser descartado
em vez de expandido.
um procedimento timo para buscas
de custo uniforme, pois, nesse caso, a
primeira vez que um estado aparecer
ser sempre mais timo que a
segunda.
Pode excluir um caminho timo, caso
contrrio...
Concluso
Embora algoritmos de busca sejam o
que h de mais antigo em IA, eles ainda
ocupam uma posio fundamental
nesta rea, havendo poucas
abordagens em Inteligncia Artificial
que no tenham alguma relao com
algum tipo de busca em estados.
LEIAM TODO O CAP. 3 DO RUSSELL
& NORVIG!!

Você também pode gostar