Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Busca
Prof. Alexandre Monteiro
Recife
Contatos
E-mail/gtalk: alexandrecordel@gmail.com
greinaldo@fbv.edu.br
Site: http://www.alexandrecordel.com.br/fbv
4 5 8
1 6
7 2 3
1 2
4 5
7 8
3
6
Questes
inicial
final
4 5 8
1 6
7 2 3
1 2 3
4 5 6
7 8
Espao de Estados:
Definio do objetivo:
propriedade abstrata
- ex., condio de xeque-mate no Xadrez
Soluo:
3. Espao de Estados:
- conjunto de todos os estados alcanveis a partir do estado inicial por
qualquer seqncia de aes.
- pode ser representado como uma rvore onde os estados so ns e as
operaes so arcos.
4. Soluo:
- caminho (seqncia de aes ou operadores) que leva do estado inicial
a um estado final (objetivo), passando de um estado para outro
Algumas definies
Soluo
Um teste de objetivo
Custo de caminho
Funo que associa um custo a cada caminho possvel
Um caminho uma sequncia de estados conectados
por aes possveis.
Cada ao tem um custo associado
Custo de busca
tempo e memria: custo computacional para busca da
soluo.
10
Custo da Busca
11
12
Solucionando o Problema:
formulao, busca e execuo
14
Custo total
para cima
4 5 8
1 6
7 2 3
direita
5 8
4 1 6
7 2 3
Para
baixo
4 5 8
1
6
7 2 3
Para
baixo
4 5 8
7 1 6
2 3
direita
1 2 3
4 5 6
7 8
16
Recife
Juazeiro do Norte
Recife
Juazeiro do Norte
Recife
Recife
Camaragibe
Moreno
Olinda
Recife
Camaragibe
Carpina
Goiana
Moreno
Olinda
21
22
23
Exemplo Romnia
Mais um Exemplo...
Aspirador de p
24
25
26
27
28
Formulao A
estados: qualquer disposio com n (n 8) rainhas
operadores: adicionar uma rainha a qualquer quadrado
64^8 possibilidades: vai at o fim para testar se d certo
Formulao B
estados: disposio com n (n 8) rainhas sem ataque mtuo (teste gradual)
operadores: adicionar uma rainha na coluna vazia mais esquerda em que no
possa ser atacada
melhor (2057 possibilidades), mas pode no haver ao possvel
Formulao C
estados: disposio com 8 rainhas, uma em cada coluna
operadores: mover uma rainha atacada para outra casa na mesma coluna
29
Formulao A
estados: qualquer disposio com n (n 8) rainhas
operadores: adicionar uma rainha a qualquer quadrado
64^8 3 x 1014 possibilidades: vai at o fim para testar se d certo
Formulao B
estados: disposio com n (n 8) rainhas sem ataque mtuo (teste gradual)
operadores: adicionar uma rainha na coluna vazia mais esquerda em que no
possa ser atacada
melhor (2057 possibilidades), mas pode no haver ao possvel
Formulao C
estados: disposio com 8 rainhas, uma em cada coluna
operadores: mover uma rainha atacada para outra casa na mesma coluna
30
Jogo de 8 nmeros:
estados = cada possvel
configurao do tabuleiro
estado inicial = qualquer um
dos estados possveis
teste de objetivo = ordenado,
com branco na posio [3,3]
operadores = mover branco
(esquerda, direita, para cima e
para baixo)
custo da soluo = nmero de
passos da soluo
4 5 8
1 6
7 2 3
up
right
5 8
4 1 6
7 2 3
down
4 5 8
1
6
7 2 3
right
1 2 3
4 5 6
7 8
down
4 5 8
7 1 6
2 3
31
Algumas Aplicaes
32
Criptoaritmtica
Torre de Hanoi
Palavras cruzadas
Canibais e missionrios
send
+ more
--------money
33
Alocao (Scheduling)
Salas de aula
Mquinas industriais (job shop)
Projeto de VLSI
Cell layout
Channel routing
34
Navegao de robs:
etc...
35
36
37
Problema de contingncia
Efeito das aes no-determinstico e/ou mundo parcialmente
observvel => novas percepes depois de ao
- ex. aspirador que suja ao sugar e/ou s percebe sujeira localmente
38
Estado simples
Incio: 5, Soluo: [dir, suga]
Conformant problem
Percepo deficiente
Incio: {1,2,3,4,5,6,7,8}
Direita => {2,4,6,8}, Sugar => {4,8},...
Soluo: [dir, suga, esq, suga]
Problema de contingncia
Efeito das aes no-determinstico
Incio: [lado esq, sujo] = {1,3}
Soluo? Sugar => {5,7}, Dir => {6,8}, Sugar no 6 => 8 mas sugar no 8
=> 6
Soluo: [sugar, dir, se sujo sugar]
Soluo geral: [dir, se sujo suga, esq, se sujo suga]
39
Buscando Solues
Busca Cega
40
41
Algoritmo:
Obs: comea com a fronteira contendo o estado inicial do problema.
42
Jeremoabo
fronteira
Jeremoabo
canudos
Paulo Afonso
Aracaju
fronteira
Jeremoabo
canudos
Petrolina
Paulo Afonso
B. do S. Francisco
Aracaju
fronteira
Espaos de Estados
43
44
45
Mtodos de Busca
Busca Cega
Direo da ramificao:
1. Do estado inicial para um estado final
2. De um estado final para o estado inicial
3. Busca bi-direcional
Completa (Completeza)?
tima (Otimizao)?
Busca em Largura
1. N raiz
2. Todos os ns de profundidade 1
3. Todos os ns de profundidade 2, etc
Algoritmo:
funo Busca-em-Largura (problema)
retorna uma soluo ou falha
Busca em Largura
tima ?
Sempre encontra a soluo mais rasa
Busca em Largura
Custo de tempo:
se o fator de ramificao do problema = b, e a primeira soluo
para o problema est no nvel d,
ento o nmero mximo de ns gerados at se encontrar a
soluo = 1 + b + b2 + b3 + + bd
custo exponencial = O (bd).
Custo de memria:
problema mais crucial: a fronteira do espao de estados deve
permanecer na memria
logo, busca em largura s d bons resultados quando a
profundidade da rvore de busca pequena.
Cidades
53
F = {S}
testa se S o estado objetivo, expande-o e guarda seus filhos
A, B e C ordenadamente na fronteira
F = {A, B, C}
testa A, expande-o e guarda seu filho GA ordenadamente
- obs.: o algoritmo de gerao e teste guarda na fronteira todos os ns
gerados, testando se um n o objetivo apenas quando ele retirado da
lista!
F= {B, GA, C}
testa B, expande-o e guarda seu filho GB ordenadamente
F= {GB, GA, C}
testa GB e para!
54
tima se
g (sucessor(n)) g (n)
- custo de caminho no mesmo caminho no decresce
- i.e., no tem operadores com custo negativo
Busca em Profundidade
Algoritmo:
funo Busca-em-Profundidade (problema)
retorna uma soluo ou falha
Busca em Profundidade
Busca em Profundidade
Custo de memria:
necessita armazenar apenas b.m ns para um espao de
estados com fator de ramificao b e profundidade m, onde
m pode ser maior que d (profundidade da 1a. soluo).
Custo de tempo:
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(bd)
Critrio
Largura
Custo
Uniforme
Profundidade
Tempo
bd
bd
bm
Aprofundamento
Iterativo
bd
Espao
bd
bd
bm
bd
Otima?
Sim
Sim*
No
Sim
Completa?
Sim
Sim
No
Sim
Idia
podar (prune) estados repetidos, para gerar apenas a parte
da rvore que corresponde ao grafo do espao de estados
(que finito!)
mesmo quando esta rvore finita, evitar estados repetidos
pode reduzir exponencialmente o custo da busca
Exemplo:
(m + 1) estados no espao => 2m caminhos na rvore
Espao de estados
rvore de busca
Questes
Como evitar expandir estados presentes em caminhos j
explorados?
Em ordem crescente de eficcia e custo computacional?
Se os operadores so reversveis:
conjunto de predecessores do n = conjunto de
sucessores do n
porm, esses operadores podem gerar rvores
infinitas!
Referncias
69