Sei sulla pagina 1di 42

Principais Tpicos

Introduo
Mtodos de busca
Busca cega
Busca em profundidade
Busca em amplitude (largura)
Busca heurstica
Hill Climbing
Busca em feixe
Busca melhor-primeiro

Problema:
Suponha que voc quer descobrir o
caminho de uma
cidade (S) para uma outra (G) usando
um mapa

Para encontrar o melhor caminho,


dois custos
diferentes devem ser considerados:
Custo computacional gasto para
encontrar um caminho
Custo de viagem decorrente da
utilizao deste
caminho
Possveis situaes:
Viagem frequente: Vale a pena
gastar algum tempo
para encontrar um bom caminho
Viagem rara e difcil de achar um
caminho: basta
encontrar um caminho

Problema pode ser representado por


uma rede (grafo)
Ao percorrer uma rede, deve-se
evitar visitar o mesmo n
mais de uma vez
Representa um ciclo, o que significa
que loops infinitos podem
ocorrer
Soluo: remover loops
Remoo de loops
Soluo: traar todos os caminhos
possveis at no poder
extender nenhum deles sem criar um
loop

Um sistema de IA pode resolver


problemas da
mesma forma:
Ele sabe onde ele est (conjunto de
informaes iniciais)
Ele sabe onde deseja ir (estado
objetivo)
Resolver problema em IA envolve
busca do estado
objetivo (paradigma de resoluo de
problemas)
Forma simplificada de raciocnio
Simples sistemas de IA reduzem
raciocnio busca
8

Problemas de busca so
frequentemente descritos utilizando
diagramas de rvores de busca
rvores semnticas onde cada n
denota
um passo no caminho do n inicial
para
o n objetivo
N inicial (I) = onde a busca
comea
N objetivo (O) = onde ela termina
Objetivo: Encontrar um caminho
que
ligue o n inicial a um n objetivo

Problema de busca
Entrada:
Descrio dos ns inicial e objetivo
Procedimento que produz os
sucessores de um dado
n
Sada:
Sequncia vlida de ns, iniciando
com o n inicial
e terminando com o n objetivo
Exemplo: palavras cruzadas

Definies importantes:
Profundidade: nmero de ligaes
entre um dado
n e o n inicial
Amplitude: nmero de sucessores
(filhos) de um
n
N raz: N que no tem pai
(ascendente)
N folha: n que no tem filhos
(descendentes)
N objetivo: n que satisfaz o
problema

Definies importantes:
Caminho parcial: caminho onde o
n final
(folha) no um objetivo
Caminho final ou completo:
caminho onde o n
final um n objetivo
Expandir um n: gerar as crianas
de um n
Em busca, voc aprende como
encontrar um
caminho entre o n inicial e o n
objetivo

Problemas da operao de busca


Com o aumento do tamanho da
rvore de busca
e do nmero de possveis caminhos, o
tempo de
busca aumenta
Existem vrias formas de reduzir o
tempo de
busca, alguns dos quais sero
discutidos mais
adiante

Possveis situaes
Mais de um n objetivo
Mais de um n inicial
Nestas situaes
Encontrar qualquer caminho de um
n inicial para
um n objetivo
Encontrar melhor caminho

Algoritmo bsico de busca


1 Definir um conjunto L de ns
iniciais;
2 Se L vazio
Ento Busca no foi bem sucedida
Seno Escolher um n n de L;
3 Se n um n objetivo
Ento Retornar caminho do n inicial
at n;
Parar
Seno Remover n de L;
Adicionar a L todos os filhos de n,
rotulando cada
um com o seu caminho at o n
inicial;
Voltar ao passo 2

Algoritmos de busca
Existem vrios algoritmos de busca
diferentes
O que os distingue a maneira
como o n n
escolhido no passo 2
Mtodos de busca
Busca cega: escolha depende da
posio do n na
lista (escolhe o primeiro elemento)
Busca heurstica: escolha utiliza
informaes
especficas do domnio para ajudar na
deciso

Maneira mais direta de encontrar


uma
soluo:
Visitar todos os caminhos possveis,
sem repetir
um mesmo n
Busca cega no utiliza informaes
sobre o
problema para guiar a busca
Estratgia de busca
exaustivamente aplicada at
uma soluo ser encontrada (ou
falhar)

Ex.: suponha que voc deseja


encontrar o
melhor caminho de Recife a So Paulo
Utilizando um mapa de estradas
sem as
distncias
Seu caminho comea em Recife
(ponto de
partida) e termina em So Paulo
(objetivo)

Busca cega
Existe um grande nmero de
tcnicas
Busca em Profundidade (BP)
A rvore examinada de cima para
baixo
Aconselhvel nos casos onde os
caminhos improdutivos
no so muito longos
Busca em Amplitude (BA)
A rvore examinada da esquerda
para a direita
Aconselhvel quando o nmero de
ramos (filhos) dos ns
no muito grande (no vale a pena
quando os ns
objetivos esto em um mesmo nvel)

Algoritmo BP
1 Definir um conjunto L de ns iniciais
2 Se L vazio
Ento Busca no foi bem sucedida
Seno Seja n o primeiro n de L;
3 Se n um n objetivo
Ento Retornar caminho do n inicial
at n;
Parar
Seno Remover n de L;
Adicionar ao incio de L todos os filhos
de n, rotulando
cada um com o seu caminho at o n
inicial;
Voltar ao passo 2;

Algoritmo BA
1 Definir um conjunto L de ns iniciais
2 Se L vazio
Ento Busca no foi bem sucedida
Seno Seja n o primeiro n de L;
3 Se n um n objetivo
Ento Retornar caminho do n inicial
at n;
Parar
Seno Remover n de L;
Adicionar ao final de L todos os filhos
de n, rotulando
cada um com o seu caminho at o n
inicial;
Voltar ao passo 2;

BA versus BP
BP e BA no precisam ser realizadas
em uma
ordem especfica
Memria utilizada pelas duas
tcnicas
BP: precisa armazenar todos os
filhos no
visitados entre n atual e n inicial
BA: antes de examinar n a uma
profundidade d,
necessrio examinar e armazenar
todos os ns a
uma profundidade d - 1
BP geralmente utiliza menos
memria

BA versus BP
Quanto ao tempo
BP geralmente mais rpida
Melhor busca depende da rvore
Quando no se conhece a rvore,
pode-se buscar
um compromisso entre BA e BP
Busca no determinstica (BN)
Combina BA com BP

Busca no determinstica
Escolhe aleatoriamente o n da
rvore a ser
expandido
Tiro no escuro
Provavelmente vantajosa apenas
para
rvores muito pequenas, com uns
poucos
ramos infinitos
Alternativa vlida se BP e BA so
impraticveis

Algoritmo BN
1 Definir um conjunto L de ns iniciais
2 Se L vazio
Ento Busca no foi bem sucedida
Seno Seja n o primeiro n de L;
3 Se n um n objetivo
Ento Retornar caminho do n inicial
at n;
Parar
Seno Remover n de L;
Adicionar em posies aleatrias de L
todos os filhos de n,
rotulando cada um com o seu
caminho at o n inicial;
Voltar ao passo 2;

Busca
Busca cega no eficiente
necessrio limitar de alguma
forma o espao de
busca para torn-la mais rpida e
eficiente
Busca seria mais eficiente se as
escolhas pudessem
ser ordenadas
Escolhas mais promissores seriam
exploradas antes
Em vrias situaes possvel
determinar um
ordenamento razovel
Alternativas podem ser ordenadas
atravs de heursticas

Busca
Exemplo
Imagine que voc est em uma
cidade, e quer pegar
um trem para casa, mas no sabe
qual deve pegar
Se voc morasse na zona Norte,
naturalmente
ignoraria todos os trens que fossem
para o sul
Se voc morasse na zona Sul,
naturalmente ignoraria
todos os trens que fossem para o
Norte
Estas heursticas ajudam a limitar a
busca

Busca
Heursticas
Humanos utilizariam macetesou
dicas
Em IA,estas dicas so chamadas
de heursticas
Busca heurstica
Mtodos de busca heurstica
Busca hill climbing
Busca em feixe
Busca melhor-primeiro

Busca heurstica
Observao
Tempo gasto avaliando uma funo
heurstica
deve ser recuperado por uma
reduo
correspondente no espao de
pesquisa
Atividade nvel base: esforo gasto
tentando resolver
o problema
Atividade nvel meta: trabalho gasto
decidindo como
resolver o problema
Por que escolher e usar regras
heursticas quando
mais rpido executar uma busca
cega?

Busca heurstica
Observao (cont.)
Existe um trade-off atividade no
nvel base
versus atividade no nvel meta
Busca eficiente: tempo gasto no
nvel meta
recuperado com redues no tempo
necessrio
para o nvel base
As vezes pode ser melhor definir
um novo
espao de busca

Funcionamento
Procurar entre os ns prximos,
aquele mais perto
do objetivo
Seleciona o filho do n mais
prximo do objetivo,
segundo uma medida heurstica
Raio de viso limitado
proximidade do n atual
Semelhante otimizao de funo
Procurar a combinao de valores
dos parmetros
que fazem com que a funo assuma
o maior valor

Hill Climbing
Exemplo de funcionamento
Imagine que voc queira escalar
uma montanha e:
Est fazendo uma neblina forte
Voc possui apenas um altmetro e
uma bssola
Procurar o ponto mais alto em um
terreno durante uma
caminhada
Alternativa: d um passo em cada
possvel direo
e escolher aquela em que voc sobe
mais

Hill Climbing
Caractersticas
Funciona como BP, mas escolhe o
filho de acordo
com sua distncia ao objetivo
Quanto melhor a medida heurstica,
mais eficiente
a busca
Quantidade maior de conhecimento
leva a uma
reduo no tempo de busca
Ex.: Suponha que a medida
utilizada seja a
distncia fsica ao n objetivo

Algoritmo Hill Climbing


1 Definir um conjunto L de ns iniciais
classificados de acordo com suas
distncias ao n objetivo (em ordem
crescente)
2 Se L vazio
Ento Busca no foi bem sucedida
Seno seja n o primeiro n de L;
3 Se n um n objetivo
Ento Retornar caminho do n inicial
at n;
Parar
Seno Remover n de L;
Ordenar os filhos de n em ordem
crescente, de acordo com suas
distncias ao n objetivo
Adicionar ao incio de L todos os filhos
de n, rotulando
cada um com o seu caminho at o n
inicial;
Voltar ao passo 2;

Hill Climbing
Problemas
Menor caminho da primeira para a
segunda cidade
pode levar levar a uma outra mais
distante
Opo 1: voltar atrs e tomar o
segundo menor
caminho, etc
Este processo de olhar para a
frente e voltar atrs
certamente leva tempo
Opo 2: incluir no determinismo
Nmero de passos, tamanho dos
passos, direo aleatrios
Opo 3: utilizar outros mtodos
heursticos

Hill Climbing
Problemas
Mximo local
Existe um pico mais elevado, que
no necessariamente
o objetivo
Plancie
Todos os pontos vizinhos levam ao
mesmo valor
Aresta (ponte)
Existe pelo menos uma direo que
aumenta o valor, mas
nenhuma das transies possveis
segue esta direo

Busca em feixe (BF)


Funcionamento
Assim como BA, progride nvel a
nvel
Move para baixo apenas atravs
dos M melhores ns
de cada nvel
Outros ns do mesmo nvel so
ignorados
M constante para todos os nveis
Vantagens:
Reduz nmero de ns visitados
Escapa do problema de ramificao
infinita

Algoritmo BF
1 Definir um conjunto L de ns iniciais
2 Se L vazio
Ento Busca no foi bem sucedida
Seno seja n o primeiro n de L;
3 Se n um n objetivo
Ento Retornar caminho do n inicial
at n;
Parar
Seno Remover n de L;
Adicionar ao final de L os M melhores
filhos de n, rotulando
cada um com o seu caminho at o n
inicial;
Voltar ao passo 2;

Busca Melhor-Primeiro
Funcionamento
Busca segue pelo melhor n aberto
(que ainda
tem filho para ser visitado)
Hill Climbing sem a restrio da
busca em
profundidade
Escolhe o melhor n n da lista L
Geralmente encontra caminhos
mais curtos que o
Hill Climbing
Sempre move em direo ao n
mais prximo do objetivo,
no importa onde ele esteja na rvore

Algoritmo Melhor-Primeiro
1 Definir um conjunto L de ns iniciais
2 Seja n o n de L mais prximo do
objetivo;
Se L vazio
Ento Busca no foi bem sucedida
3 Se n um n objetivo
Ento Retornar caminho do n inicial
at n;
Parar
Seno Remover n de L;
Adicionar a L todos os filhos de n,
rotulando cada um com o
seu caminho at o n inicial;
Voltar ao passo 2;

Observaes
Perguntas a serem feitas antes de
utilizar
mtodos de busca:
Busca a melhor maneira para
resolver o
problema?
Quais mtodos de busca resolvem o
problema?
Qual deles o mais eficiente para
este
problema?

Concluso
Definies bsicas
Busca cega
Busca em profundidade
Busca em largura
Busca no determinstica
Busca heurstica
Hill Climbing
Busca em Feixe
Busca Best first

Potrebbero piacerti anche