Vous êtes sur la page 1sur 56

Resoluo de problemas por

meio de busca
Jeneffer Ferreira Lzaro
Email:jenefferferreira@gmail.com
CAPTULO 3 - Stuart Russel e Peter
Norving
Recapitulando Agentes
Inteligentes
Os agentes reativos baseiam em suas aes atravs de
um mapeamento direto de estados em aes.

Tais agentes no podem operar bem em ambientes para
os quais esse mapeamento seria grande demais para
armazenar e levaria muito tempo para se aprender.

Introduo
Os agentes baseados em objetivos podem ter sucesso,
considerando aes futuras e a convenincia de seus
resultados.

O agentes de resoluo de problemas so agentes baseados
em objetivos.

Os agentes de resoluo de problemas decidem o que fazer
encontrando sequencias de aes que levam a estados
desejveis.
Devem maximizar sua medida de desempenho.

Agentes de resoluo de problemas
Exemplo: Suponha um agente em frias na cidade de Arad
na Romnia. Suas medidas de desempenho so:
Melhorar o bronzeado
Melhorar seu conhecimento no idioma Romeno
Ver as paisagens, apreciar a vida noturna (ver como ela )
Evitar ressacas, etc.
Suponha ainda que o agente tenha uma passagem area
no-reembolsvel para partir de Bucareste no dia
seguinte.
Faz sentido adotar o objetivo de chegar a Bucareste.
Os demais cursos podem ser rejeitados sem nenhuma
considerao adicional.

Resoluo de Problemas por meio de
Busca
O objetivo vai ser representado por um conjunto de
estados

Aes fazem o agente mudar de um estado para outro

O agente deve encontrar um conjunto de aes (de
preferncia o melhor) que o levem do estado inicial ao
estado final

Representao da soluo de
problemas
Podemos representar a soluo de problemas
como uma sequencia de estados, que leva de
um estado inicial at um estado final, onde
cada estado um estado admissvel, isto ,
produzido a partir de um estado anterior
atravs de uma ao.
Formulao de objetivos
Baseada na situao atual e na medida de
desempenho do agente.

Os objetivos ajudam a organizar (direciona) o
comportamento, limitando os objetivos que o
agente est tentando alcanar.
Formulao de problemas
o processo de decidir que aes e estados
devem ser considerados, em funo de um
objetivo.

Considera-se a possibilidade de se atingir um
mesmo objetivo atravs de caminhos (aes e
estados) diferentes.
Busca soluo
Um agente com vrias opes imediatas, de valor desconhecido,
pode decidir o que fazer primeiro examinando vrias sequencias
possveis de aes que levem a estados de valor conhecido, e
escolher a melhor.

Um algoritmo de busca recebe um problema como entrada
(percepo) e retorna uma soluo (ao) sob a forma de uma
sequencia de aes.

Depois que uma soluo encontrada, as aes que ela recomenda
podem ser executadas.

Tarefas para a resoluo de problemas
Passos:
Formulao do OBJETIVO
Nvel de detalhe das aes
Formulao do PROBLEMA
Decidir quais aes e estados considerar
Busca
Dada uma sequencias de aes, qual a melhor?
Execuo
Formulao Busca Execuo
Exemplo: Viagem na Romnia
Estamos em Arad, com uma passagem de volta saindo de Bucarest
O objetivo chegar em Bucarest
Estados (Formulao do problema)
Conjunto de cidades
Aes
Dirigir de uma cidade para outra
Soluo
Sequencia de cidades
Estrutura bsica de um agente resolvedor de
problemas
Agentes de resoluo de problemas

Agentes de Resoluo de problemas Agentes de ambiente
Ambiente esttico: no ocorrem mudanas no ambiente
durante o processo de formulao e resoluo do problema
Ambiente observvel: o estado inicial conhecido
Ambiente discreto: os cursos alternativos de ao podem ser
enumerados
Ambiente determinstico: As solues para os problemas so
sequencias de aes nicas. Isto impossibilita a ocorrncia de
aes inesperadas.
Problemas e solues bem definidos
Um problema pode ser definido formalmente por quatro
componentes:
1. Estado inicial: o estado inicial dado. Por exemplo: Em(Arad)
Uma descrio das aes possveis esto disponveis para o
agente. A formulao mais comum utiliza uma funo sucessor.
Dado um estado particular x, SUCESSOR(x) retorna um conjunto
de pares ordenados <ao, sucessor>, em que cada ao
uma ao vlida no estado x e cada sucessor um estado
que pode ser alcanado a partir de x aplicando-se a ao.
Ex.: Em(Arad) a funo sucessor retornaria:
Exemplo: viajar pela Romnia
16
Problemas e solues bem definidos

Espao de Estados: a conjuno do estado inicial e
a funo sucessor do problema.
Trata-se do conjunto de todos os estados acessveis a
partir do estado inicial.
Forma um grafo em que os ns so estados e os arcos
entre os ns so aes.

Caminho: Trata-se de uma sequencia de estados
conectados por uma sequencia de aes.
Problemas e solues bem definidos

Teste de Objetivo: um teste que determina se um dado
estado um estado objetivo.
possvel a existncia de um conjunto de estados
objetivos possveis e o teste simplesmente verifica se o
estado dado um deles.
Custo de caminho: uma funo que atribui um custo
(valor) numrico a cada caminho.
O agente de resoluo de problemas escolhe uma funo de
custo que reflete sua prpria medida de desempenho.
No exemplo do agente de Arad, o tempo essencial e, portanto,
considera-se o caminho mais rpido aquele com a menor
distncia percorrida.
Problemas e solues bem definidos

Custo de passo: o custo por se adotar a ao a para ir
do estado x ao estado y, ou seja, denota-se c(x,a,y).

Para o caso do agente que se desloca de Arad
Bucareste, trata-se das distncia das rotas entre os
diversos municpios interligados entre as duas cidades.
Problemas e solues bem definidos
Soluo tima

Uma soluo para um dado problema um caminho
desde o estado inicial at o estado objetivo.

A qualidade da soluo medida pela funo de
custo de caminho.

Uma soluo considerada tima quando apresenta
o menor custo de caminho entre todas solues.
Exemplo: Viagem na Romnia
Estados
Conjunto de cidades
Estado Inicial
Arad
Aes (Funo Sucessor)
Dirigir de uma cidade para outra
Teste do Objetivo
Estar em Bucareste
Custo
Distncia entre as cidades
Exemplo: Aspirador de P
Estados:
o agente pode estar em 1 de 2 locais possveis, que podem estar sujos
ou limpos (8 estados)
Estado inicial:
qualquer um
Sequencia de aes
(Funo Sucessor)
esq, dir, aspira
Teste de objetivo:
todos os locais limpos
Custo:
cada ao tem custo 1
Exemplo: 8-Puzzle
Estados
Posio de cada uma das peas e do espao no tabuleiro
Estado Inicial
Qualquer um
Aes (Funo Sucessor)
Cima, Baixo, Dir, Esq
Teste do objetivo
Checar se a configurao foi atingida
Custo
Cada ao tem custo 1
Nas Torres de Hanoi, existem 3 pinos (A,B,C). Uma torre de
discos no primeiro pino (A), com o menor disco no topo e o
maior na base. O objetivo mover todos os discos da torre A
para a torre C. Voc dever mover um disco de cada vez e
observando que um disco maior nunca poder ficar sobre o
menor disco.
Modele o espao de estados para este problema, defina o estado
inicial, Aes (Funo Sucessor), Teste do objetivo (estado final) e
Custo do Caminho.


O problema de missionrios e canibais em geral
enunciado como a seguir: Trs missionrios e trs canibais
esto em um lado de um rio, juntamente com um barco
que pode conter uma ou duas pessoas. Descubra um meio
de fazer todos atravessarem o rio, sem deixar que um
grupo de missionrios de um lado fique em nmero menor
que o nmero de canibais nesse lado do rio.
Modele o espao de estados para este problema, defina o estado
inicial, Aes (Funo Sucessor), Teste do objetivo (estado final) e
Custo do Caminho.
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

Problemas do mundo real

Projeto de protenas
Encontrar uma sequncia de aminocidos que sero
incorporados em uma protena tridimensional para curar
alguma doena.

Pesquisas na Web
fcil pensar na Web como um grafo de ns conectados
por links
Em busca de solues
Depois de formular alguns problemas, agora precisamos
resolv-los.
feito por meio de uma busca em todo espao de estados.

A arvore de busca gerada pelo estado inicial e pela
funo sucessor que, juntos definem o espao de estados.

Em geral, podemos ter um grafo de busca em lugar de uma
rvore de busca, quando o mesmo estado pode ser
alcanado a partir de vrios caminhos.


Em busca de solues
A raiz da rvore de busca um n de busca
correspondente ao estado inicial
exemplo: Em (arad)

O primeiro passo testar se esse um estado objetivo.

30
Um n uma estrutura de dados com cinco
componentes:
Estado: O estado no espao de estados ao que o n
corresponde;
N-pai: O n na rvore de busca que gerou este n;
Ao: A ao que foi aplicada ao PAI para gerar o n;
Custo-do-caminho: O custo, tradicionalmente denotado por
g(n), do caminho desde o estado inicial at o n indicado pelos
ponteiros do pai.
Profundidade: O nmero de passos ao longo do caminho desde
o estado inicial.
Critrio de Avaliao das Estratgias de
Busca
Completeza: sempre encontra uma soluo se
esta existir
Otimizao: encontra a soluo tima (menor
custo)
Complexidade de tempo: tempo gasto para
encontrar uma soluo
Complexidade de espao: memria necessria
para encontrar uma soluo.

Critrios de avaliao das estratgias
de busca
O fator de ramificao de um n o seu nmero de vizinhos.

As complexidades de tempo e espao so medidas em termos
de:
b : Fator de ramificao mximo da rvore de busca.
d : Profundidade da soluo de menor custo.
m : Profundidade mxima do espao de estados
Buscas sem informao ou busca
cega
Algoritmos que no recebem nenhuma
informao sobre o problema alm de sua
formulao.
preciso definir
problema
soluo
Busca Cega
Tambm conhecida como busca exaustiva.
No sabe qual o melhor n na fronteira a ser expandido, isto
, no conhece o menor custo de caminho desse n at um
n final (objetivo)
Estratgias de busca (ordem de expanso dos ns)
Busca em Largura
Busca em Profundidade
Busca em Profundidade Limitada
Busca de Custo Uniforme
Interative Deepening
Busca bidirecional
Busca Heurstica
Estima qual o melhor n da fronteira a ser
expandido com base em funes heursticas
=> tem conhecimento.

Estratgia de Busca
Best-first search (melhor escolha)
Busca em Largura (ou extenso)
O n raiz expandido primeiro e, em
seguida, todos os sucessores dele, depois
todos os sucessores desses ns...
Todos os ns em uma dada profundidade
so expandidos antes de todos os ns do
nvel seguinte.
Busca em Largura em uma rvore
binria
Objetivo: encontrar o n D
Busca em Largura: anlise
Completa?
Sim, se a largura mxima da rvore (b) for finita
tima?
O n objetivo mais raso no necessariamente o n
timo
Complexidade de Memria
Mantm todos os nos a serem expandidos

Busca em Largura: 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.
43
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
Ramificao b e profundidade mxima m, a
complexidade espacial : O(b
m
)
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!
Esta estratgia deve ser evitada quando as rvores
geradas so muito profundas ou geram caminhos infinitos
(Se pegar um caminho infinito pode no achar a soluo
por isso no completa)
Complexidade temporal: no pior caso, todos os ns
so gerados, portanto:
O(b
m
)
Para problemas com vrias solues, esta estratgia pode
ser bem mais rpida do que a busca em largura
Busca por aprofundamento iterativo
Combina busca em profundidade com busca em
largura
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
Evita o problema de caminhos muito longos ou
infinitos impondo um limite mximo de
profundidade para os caminhos gerados.
Busca por aprofundamento iterativo
Esta estratgia tenta limites com valores
crescentes, partido de zero, at encontrar a
primeira soluo.
Fixa profundidade = i, executa a busca
Se no chegou a um objetivo, recomea busca
com profundidade = i + n (n qualquer)

Piora o tempo de busca, porm melhora o
custo de memria
Busca por aprofundamento iterativo -
Anlise
tima e completa
Com n = 1 e operadores com custo iguais
Custo de memria
Necessita armazenar apenas b.d ns para um
espao de estados com fator de ramificao b e
limite de profundidade d
Custo de tempo
O(b
d
)
Bons resultados quando o espao de estados
grande e de profundidade desconhecida
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.
Como evitar estados repetidos:
Solues
1. No retornar ao estado pai

2. No retornar a um ancestral

3. No gerar qualquer estado que j tenha
sido criado antes (em qualquer ramo)
Exerccios
Apresente a ordem de visita dos ns da rvore da
figura abaixo para cada uma das estratgias (escolha ns
mais esquerda na rvore em todos os casos):
Objetivo : n 12
a) Busca em profundidade
b) Busca em profundidade iterativa (aumentando o nvel de 1 a cada
iterao
c) Busca em largura
Apresente a ordem de visita dos ns da rvore da
figura abaixo para cada uma das estratgias (escolha ns
mais esquerda na rvore em todos os casos):
Objetivo : n L
a) Busca em profundidade
b) Busca em profundidade iterativa (aumentando o nvel de 1 a cada
iterao
c) Busca em largura
Apresente a ordem de visita dos ns da rvore da
figura abaixo para cada uma das estratgias (escolha ns
mais esquerda na rvore em todos os casos):
Objetivo : n L
a) Busca em profundidade
b) Busca em profundidade iterativa (aumentando o nvel de 1 a cada
iterao
c) Busca em largura
Referencia
Baseado no Cap. 3 do livro de Stuart Russel e
Peter Norving - Inteligncia Artificial, 2a ed.

Vous aimerez peut-être aussi