Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Mecanismos de Busca
Inteligncia Artificial
Mecanismos de Busca
n O que uma busca ?
Uma busca visa encontrar uma solu
soluo
o para um problema atrav
atravs de um
mecanismo algor
algortmico que procura no espa
espao de solu
solues.
es.
n Como feita essa busca ?
A busca feita em uma rvore (ou grafo) de busca. O espa
espao de busca o
conjunto de solu
solues.
es. Essas solu
solues
es s
so, geralmente, representadas por estados.
Essas solu
solues
es em forma de estados configuram um espa
espao de estados
n O que , ent
ento, um estado ?
O estado uma descri
descrio
o de uma situa
situao
o (solu
(soluo)
o) do dom
domnio ao qual o
mecanismo esta sendo aplicado. Por exemplo, suponha o exemplo de um estado
no dom
domnio do Mundo de blocos: on(a,b)
on(b,c)
ontable(d)
a Estado ontable(c)
b clear(a)
c d clear(d)
handempty
Inteligncia Artificial
Descrevendo Estados
n Como definir problemas e solu
solues
es como estados ?
n Vamos por exemplos: Place(1,5) Place(6,8)
Dom 5 4 Place(2,4)
Domnio do Jogo-
Jogo-dos-
dos-oito: Place(7,7)
Place(3,*) Place(8,3)
(miniproblemas) 6 1 8
Place(4,6) Place(9,2)
7 3 2 Place(5,1)
n Pode ser por um vetor: [5,4,*,6,1,8,7,3,2]
Dom
Domnio do Caixeiro Viajante (problemas do mundo real)
5
6 Sequncia de Visita das Cidades:
4
2 Vetor = { 1,3,7,2,6,5,4}
1
3
Inteligncia Artificial
Definindo Estados
n Caracter
Caractersticas dos Estados
Negation as Failure
O estado representa apenas o que verdade (TRUE) no mundo.
mundo. O que n
no estiver
representado considerado falso.
falso.
Estrutura de Dados
n Um estado pode ser um vetor de strings (nome dos predicados) Ruim !!!
n Um estado pode ser um vetor de inteiros onde cada inteiro representa
representa um
predicado -->
--> pode ser uma id
idia
Inteligncia Artificial
Estados
n Exemplos de Estruturas de Dados
Vetor de inteiros
n [1,4,6,7,3,2]
n Consulta de um predicado lenta ( percorre todo o vetor)
vetor)
n Determina
Determinaoo do conjunto de predicados r pida ( o pr
prprio vetor)
vetor)
String representativa de conjunto
n 111101100
n Rpida consulta de um predicado (basta verificar a posi
posio
o)
n Determina
Determinao
o do conjunto de predicados lenta (percorrer toda a string)
Inteligncia Artificial
Espa
Espao de Estados em Grafo e rvore
n Um grafo e seu equivalente em forma de rvore
S Representa o
caminho
S-D
A D
B D A E
A C
4 4
3
B E
G C E B B F
5
S 5
3
4 4 D F B F C E A C G
2 E F
D
G C G F Representa o
caminho
Grafo G
S-D-A-B-E-F-G
rvore
Inteligncia Artificial
rvore de Busca
n Detalhamento de uma rvore
Raiz
Pai
Folha
Fator de ramificao: b
Profundidade: d
Meta
Total caminhos: bd
Inteligncia Artificial
1 2 3
4 5 6
7 8
Inteligncia Artificial
Avalia
Avaliao
o de um Mecanismo de Busca
n Completude(completeza) - completeness:
a estrat
estratgia sempre encontra uma solu
soluo
o quando existe alguma
n Custo do tempo:
quanto tempo gasta para encontrar uma solu
soluo?
o?
n Custo de mem
memria:
quanta mem
memria necess
necessria para realizar a busca?
n Qualidade/otimalidade (optimality):
a estrat
estratgia encontra a melhor solu
soluo
o quando existem solu
solues
es
diferentes?
n menor custo de caminho
n O que importa em um mecanismo de Busca ?
Definir a estrat
estratgia (ou ordem) de expans
expanso dos n
ns (estados)
Inteligncia Artificial
Buscas Cegas
n As buscas cegas (sem informa
informao)
o) so buscas de expans
expanso de n
ns
gen
genricas sem informa
informaeses espec
especficas do problema, al
alm daquelas
fornecidas sobre a defini
definioo do mesmo (n (no se sabe se um estado
no-objetivo mais promissor do que outro...)
outro...).
n Nota de Aula:
n Para exemplificar os algoritmos, iremos usar uma lista de estados:
estados:
{A,B,C,D,E} uma lista com os estados A,B,C,D e E, e com A no inicio da lista
lista
Inteligncia Artificial
Busca em Largura
n Mtodo de Expans
Expanso do N
N:
A partir do N
N inicial:
n Abre todos os n
ns da primeira profundidade
n Abre todos os n
ns da segunda profundidade
n ...
A A A
B C B C
d=1
D G
E F
d=2
Inteligncia Artificial
Caracter
Caractersticas da Busca em largura
n Breadth First Search (BFS):
completa: sempre acha uma solu
soluo
o se existir
tima: acha o menor caminho (sempre expande primeiro o n
n mais
raso)
n Nota: Quando os caminhos possuem custos diferentes, a soluo de
menor caminho pode no ser a soluo tima de menor custo.
Fator de Ramifica
Ramificao: o: todos os n
ns gerados a partir de um n
n (b)
Custo de Tempo: com fator de ramifica
ramificao
o = b e a solu
soluo
o estiver no
ento custo = O (bd). EXPONENCIAL !!!
nivel = d, ent
Custo de Mem
Memria: Os n ns que ainda n
no foram expandidos devem
permanecer na fila (mem
(memria)
Inteligncia Artificial
Inteligncia Artificial
Busca em Profundidade
n Mtodo de Expans
Expanso do N
N:
A partir do N
N inicial:
n Expande o primeiro n n de profundidade 1
n Expande o segundo n n de profundidade 2, etc...
n Quando um nn final n
no solu
soluo,
o, o algoritmo volta para expandir os n
ns que
ainda est espao de estados (backtracking)
esto na fronteira do espa
A
B M
d=1
C
H L
d=2
I
G
D
F
K
E J
d=m
Inteligncia Artificial
Implementa
Implementao
o Busca em Profundidade
n PILHA => {A} {B,M} {C,H,L,M} {D,G,H,L,M}
{E,F,G,H,L,M} {F,G,H,L,M} {G,H,L,M} {H,L,M} {I,L,M}
{J,K,L,M} {K,L,M} {L,M} {M} ...
Inteligncia Artificial
Caracter
Caractersticas da Busca em Profundidade
n Depth First Search (DFS):
completa: no. Pois precisa-
precisa-se definir um limite de profundidade m
sen
seno o algoritmo pode ficar paralisado ao descer um caminho muito
longo.
tima: no hh garantia.
Fator de Ramifica
Ramificao: o: no pior caso todos os n ns gerados a partir
de um n
n (b)
Custo de Tempo: no pior caso O (bm).
Custo de Mem
Memria:
n mant
mantm na mem
memria o caminho que estest sendo expandido no
momento, e os nns irm
irmos dos n
ns no caminho (para possibilitar o
backtracking). Isso d
d b.m ns.
n Para problemas com v v rias solu
solues,
es, esta estrat
estratgia pode ser bem
mais r
rpida do que busca em largura.
n Esta estrat
estratgia deve ser evitada quando m>>d ou mesmo quando m n
n o
conhecido.
Inteligncia Artificial
An
Anlise DFS X BFS
n Exemplo:
fator de expans
expanso b = 10
1.000 n
ns gerados por segundo
cada n
n ocupa 100 bytes
Profundidade Ns Tempo Memria
DFS para m=12 Entre 120 Entre 1s e 35 anos 12 Kbytes
12
e 10
12
BFS p/ d = 12 10 35 anos 111 terabytes
Inteligncia Artificial
Loopings...
n Quando ocorrem os loopings ?
Quando um estado j j visitado volta a aparecer em uma profundidade
maior na rvore (existe
(existe mais de um caminho at at um mesmo estado...)
estado...).
Isto ocorre principalmente quando h h operadores revers
reversveis,
veis, que
podem voltar para um estado anterior. Ex. Jogo-
Jogo-dos-
dos-oito.
n Como evitar ?
Armazenar os estados j
j visitados
Consequ Memria O (bd). -> Armazena todos os n
Consequncia: Custo de Mem ns
Geralmente implementado em hash tables (evita gastar tempo para
verificar se o estado j
j foi visitado ou n
no -> eficiente).
Inteligncia Artificial
Heur
Heursticas
n H como inserir conhecimento do domdomnio para melhorar o processo
de busca ? Sim. Atrav
Atravs da defini
definio
o de heur
heursticas.
n heurstica ? Informa
O que heur Informao,
o, valor e/ou quantifica
quantificao
o de um estado
quanto sua relev
relevncia ou dist
distncia de outros estados (geralmente o objetivo)
n A heur
heurstica utiliza-
utiliza-se de conhecimento espec
especfico do dom
domnio para ajudar a busca a
determinar qual n n deve ser expandido
Inteligncia Artificial
Buscas Heur
Heursticas
n Tentam evitar a exploso combinatrial
n Pode levar a solues "razoveis"
n PROBLEMA ?
Como determinar a heurstica adequada para cada problema ?
A heurstica deve mostrar a relevncia ou o custo do n.
5 4 1 2 3
6 1 8 8 4
7 3 2 7 6 5
Criando Heur
Heursticas...
5 4 1 2 3
6 1 8 8 4
7 3 2 7 6 5
CUSTO DE UM N
N COM RELA
RELAOO META:
n Custo = | valor heur
heurstico do n
n - valor heur
heurstico da meta |
p/ Heur
Heurstica 1: Custo = |8 - 0| = 8.
P/ Heur
Heurstica 2: Custo = |1 - 9| = |-
|-8| = 8
p/ Heur
Heurstica 3: Custo = |20 - 0| = 20
Inteligncia Artificial
Busca Melhor-
Melhor-Escolha
n Busca gen n de menor custo aparente
genrica onde o n aparente na fronteira do espa
espao
de estados expandido primeiro
n Duas abordagens b
bsicas:
1. Busca Gulosa (Greedy search)
2. Algoritmo A* e suas varia
variaes
es (pr
(prxima aula) Custo em relao ao n meta
n Funcionamento A A A
do Algoritmo:
B C (5) D
B (3) C (5) D
(6)
G (6) E (4) F
(6)
G (6) E F
Inteligncia Artificial
Busca Melhor-
Melhor-Escolha
n Semelhante busca em profundidade com backtracking
n Tenta expandir o nn mais pr
prximo do n
n final com base na estimativa de
custo feita pela fun
funo
o heur
heurstica h.
completa: Sim, desde que, como a DFS, o algoritmo controle o
acesso a estados (n contrrio pode entrar em looping.
(ns) repetidos. Caso contr
tima: no hh garantia.
Fator de Ramifica
Ramificao: o: no pior caso todos os nns gerados a partir
de um n
n (b)
Custo de Tempo: no pior caso O (bd).
Custo de Mem
Memria: no pior caso O (bd).
Inteligncia Artificial
Buscas mais r
rpidas...
n Uma fun
funo
o heur
heurstica, quando muito bem dimensionada, permite o
uso de processos de busca mais velozes.
n Se a heurstica no for boa:
Pode-se tomar uma deciso errada
Fazer o sistema, na pior das hipteses, no encontrar uma soluo
Subida da Encosta
n Funcionamento do algoritmo:
A (7) A (7) A (7)
(8) (5)
B C
C (5)
D (4)
Inteligncia Artificial
(4) (3)
E (6)
F G
Inteligncia Artificial
Subida For
Forada da Encosta
O algoritmo Subida Forada da Encosta relativamente novo
(1999). Foi inicialmente utilizada no sistema de
planejamento: FF (Fast-Forward) (Hoffmann)
F G (6)
E G (6)
(7)
(7)
Inteligncia Artificial
Exerc
Exerccio
n Para a seguinte rvore:
A (9)
B
(8) (8) (7)
C D
(8) (7)
E F (7) (6)
G (8) I
H
(8) (7)
K L (6) (7) (8)
(
) M N
J O
(
) (4)
(
) (5)
P Q R S T
U
n Ache a sequ
sequncia de n
ns: GOAL GOAL
Melhor Escolha (
)
V
Subida da Encosta (Normal, +Ingreme e For
Forada)
Inteligncia Artificial
Resposta Exerc
Exerccio:
n Sequ
Sequncia de Expans
Expanso de N
Ns para:
A (9)
Melhor-
Melhor-Escolha
B
(8) (8) (7)
C D
(8) (7)
E F (7) (6)
G (8) I
H
(8) (7)
K L (6) (7) (9)
(
) M N
J O
(
) (4)
(
) (5)
P Q R S T
U
n Sequ
Sequncia Gerada: GOAL GOAL
(
)
ABCDHIOEFKLQR V
Inteligncia Artificial
Resposta Exerc
Exerccio:
n Sequ
Sequncia de Expans
Expanso de N
Ns para:
A (9)
Subida Encosta
B
(8) (8) (7)
C D
(8) (7)
E F (7) (6)
G (8) I
H
(8) (7)
K L (6) (7) (9)
(
) M N
J O
(
) (4)
(
) (5)
P Q R S T
U
n Sequ
Sequncia Gerada: GOAL GOAL
(
)
ABEFKL falha ! V
Inteligncia Artificial
Resposta Exerc
Exerccio:
n Sequ
Sequncia de Expans
Expanso de N
Ns para:
A (9)
Subida Encosta
caminho + Ingreme B
(8)
C
(8) (7)
D
(8) (7)
E F (7) (6)
G (8) I
H
(8) (7)
K L (6) (7) (9)
(
) M N
J O
(
) (4)
(
) (5)
P Q R S T
U
GOAL GOAL
n Sequ
Sequncia Gerada: (
)
ABCDHIO falha ! V
Inteligncia Artificial
Resposta Exerc
Exerccio:
n Sequ
Sequncia de Expans
Expanso de N
Ns para:
A (9)
Subida For
Forada
B
da Encosta (8)
C
(8)
D
(7)
(8) (7)
E F (7) (6)
G (8) I
H
(8) (7)
K L (6) (7) (8)
(
) M N
J O
(
) (4)
(
) (5)
P Q R S T
U
GOAL GOAL
n Sequ
Sequncia Gerada: (
)
ABEFKLPQR V
Inteligncia Artificial
n Rich, E. (Intelig
(Inteligncia Artificial)
Cap
Captulo 2 e parte do 3
n Russel & Norvig (Artificial Intelligence)
Cap
Captulos 3 e parte do 4