You are on page 1of 23

Resoluo

de problemas por
meio de busca
Captulo 3 Russell & Norvig
Sees 3.1, 3.2 e 3.3
Agentes de resoluo de problemas
Agentes reaGvos no funcionam em
ambientes para quais o nmero de regras
condio-ao grande demais para
armazenar.
Nesse caso podemos construir um Gpo de
agente baseado em objeGvo chamado de
agente de resoluo de problemas.

Aula 3 - 18/08/2010 2
Busca
Um agente com vrias opes imediatas pode
decidir o que fazer comparando diferentes
sequncias de aes possveis.
Esse processo de procurar pela melhor
sequncia chamado de busca.
Formular objeGvo buscar executar

Aula 3 - 18/08/2010 3
Exemplo: Romnia
De frias na Romnia; atualmente em Arad.
Vo sai amanh de Bucareste.
Formular objeGvo:
Estar em Bucareste
Formular problema:
estados: cidades
aes: dirigir entre as cidades
Encontrar soluo:
sequncia de cidades, ex., Arad, Sibiu, Fagaras, Bucareste.

Aula 3 - 18/08/2010 4
Exemplo: Romnia

Aula 3 - 18/08/2010 5
Formulao de problemas
Um problema denido por quatro itens:

1. Estado inicial ex., em Arad"
2. Aes ou funo sucessor S(x) = conjunto de pares estado-ao
ex., S(Arad) = {<Arad Zerind, Zerind>, }
3. Teste de objeGvo, pode ser
explcito, ex., x = em Bucharest"
implcito, ex., Cheque-mate(x)

4. Custo de caminho (adiGvo)
ex., soma das distncias, nmero de aes executadas, etc.
c(x,a,y) o custo do passo, que deve ser sempre 0

Uma soluo uma sequncia de aes que levam do estado inicial para
o estado objeGvo.
Uma soluo Gma uma soluo com o menor custo de caminho.
Aula 3 - 18/08/2010 6
Agente de
Resoluo de Problemas

Supe que ambiente esttico, observvel, discreto e determinstico.


Aula 3 - 18/08/2010 7
Espao de estados
O conjunto de todos os estados acessveis a
parGr de um estado inicial chamado de
espao de estados.
Os estados acessveis so aqueles dados pela
funo sucessora.
O espao de estados pode ser interpretado
como um grafo em que os ns so estados e
os arcos so aes.

Aula 3 - 18/08/2010 8
Selecionando um
espao de estados
O mundo real absurdamente complexo
o espao de estados uma abstrao
Estado (abstrato) = conjunto de estados reais
Ao (abstrata) = combinao complexa de aes reais
ex., "Arad Zerind" representa um conjunto complexo de rotas,
desvios, paradas, etc.
Qualquer estado real do conjunto em Arad deve levar a algum
estado real em Zerind .
Soluo (abstrata) = conjunto de caminhos reais que so
solues no mundo real
A abstrao Gl se cada ao abstrata mais fcil de
executar que o problema original.

Aula 3 - 18/08/2010 9
Exemplo 1: Espao de Estados do
Mundo do Aspirador de P

Estados: Denidos pela posio do rob e sujeira (8 estados)


Estado inicial: Qualquer um
Funo sucessor: pode-se executar qualquer uma das aes em cada
estado (esquerda, direita, aspirar)
Teste de obje7vo: Verica se todos os quadrados esto limpos
Custo do caminho: Cada passo custa 1, e assim o custo do caminho o
nmero de passos do caminho
Aula 3 - 18/08/2010 10
Exemplo 2:
O quebra-cabea de 8 peas

Estados: Especica a posio de cada uma das peas e do espao vazio


Estado inicial: Qualquer um
Funo sucessor: gera os estados vlidos que resultam da tentaGva de executar as
quatro aes (mover espao vazio para esquerda, direita, acima ou abaixo)
Teste de obje7vo: Verica se o estado corresponde congurao objeGvo.
Custo do caminho: Cada passo custa 1, e assim o custo do caminho o nmero de
passos do caminho

Aula 3 - 18/08/2010 11
Exemplo 3:Oito rainhas
Formulao incremental

Quasi soluo
Estados: qualquer disposio de 0 a 8 rainhas
Estado inicial: nenhuma rainha
Funo sucessor: colocar 1 rainha em qualquer vazio
Teste: 8 rainhas no tabuleiro, nenhuma atacada
64x63x...57 = 3x1014 sequncias para invesGgar
Aula 3 - 18/08/2010 12
Exemplo 3:Oito rainhas
Formulao de estados completos

Quasi soluo
Estados: disposies de n rainhas, uma por coluna, nas n
colunas mais a esquerda sem que nenhuma rainha ataque
outra
Funo sucessor: adicionar uma rainha a qualquer
quadrado na coluna vazia mais esquerda, de tal modo que
ela no seja atacada
Tamanho do espao de estados: 2.057
Aula 3 - 18/08/2010 13
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
Layout de VLSI
posicionamento de componentes e conexes em um chip
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
Aula 3 - 18/08/2010 14
Busca de solues
Idia: Percorrer o espao de estados a parGr 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.

Aula 3 - 18/08/2010 15
Exemplo de rvore de busca

Estado inicial

Aula 3 - 18/08/2010 16
Exemplo de rvore de busca

Depois de expandir Arad

Aula 3 - 18/08/2010 17
Exemplo de rvore de busca

Depois de expandir Sibiu

Aula 3 - 18/08/2010 18
Descrio informal do algoritmo geral
de busca em rvore

Aula 3 - 18/08/2010 19
rvore de busca no equivalente a
espao de estados!
H 20 estados no mapa da Romnia (espao
de estados), mas innitos caminhos a
percorrer. Portanto a rvore de busca, neste
caso, tem tamanho innito.
Caminho innito: Arad-Sibiu-Arad-Sibiu-Arad-...

Aula 3 - 18/08/2010 20
Estados vs. ns
Um estado uma (representao de) uma congurao {sica
Um n uma estrutura de dados que parte da rvore de busca e inclui
estado, n pai, ao, custo do caminho g(x), profundidade

A funo Expand cria novos ns, preenchendo os vrios campos e


usando a funo sucessor do problema para gerar os estados
correspondentes.
A coleo de ns que foram gerados, mas ainda no foram expandidos
chamada de borda (ou fringe)
Geralmente implementados como uma la.
A maneira como os ns entram na la determina a estratgia de busca.
Aula 3 - 18/08/2010 21
Algoritmo geral de busca em rvore

Aula 3 - 18/08/2010 22
Estratgias de busca
Uma estratgia de busca denida pela escolha da ordem da
expanso de ns
Estratgias so avaliadas de acordo com os seguintes
critrios:
completeza: o algoritmo sempre encontra a soluo se ela existe?
complexidade de tempo: nmero de ns gerados
complexidade de espao: nmero mximo de ns na memria
oGmizao: a estratgia encontra a soluo Gma?
Complexidade de tempo e espao so medidas em termos de:
b: mximo fator de ramicao da rvore (nmero mximo de
sucessores de qualquer n)
d: profundidade do n objeGvo menos profundo
m: o comprimento mximo de qualquer caminho no espao de
estados (pode ser )

Aula 3 - 18/08/2010 23