Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTELIGNCIA
ARTIFICIAL
Profa. Leticia Toledo Maia Zoby
formando um grafo;
So utilizados algoritmos para encontrar um caminho
neste grafo:
Partindo do estado inicial (atual);
At o estado objetivo.
Estado inicial
B
A
C
A
A
B
B
C
A
B
A
B
A
C
C
C
B
A
B
A
AA
Estado final
B
B
C
C
B
C
C
A
B
C
A
C
B
A
C
B
Aspirador de p
Um rob aspirador de p deve limpar uma casa, com duas salas.
transies?
Miniproblemas
Aspirador de P - Formulao
Teste de objetivo
Verifica se todos os quadrados esto limpos.
Custo de caminho
Cada passo custa 1, e assim o custo do caminho o nmero de
passos do caminho.
Esse miniproblema tem posies discretas, sujeira discreta,
10
11
12
13
4 5 8
1 6
7 2 3
1 2 3
4 5 6
7 8
um estado a outro
Exemplos:
15
Um espao de estados
Conjunto de todos os estados alcanveis a partir do estado
inicial por qualquer sequncia de aes.
16
Solucionando o Problema
Formulao do problema e do objetivo
Quais so os estados e as aes a serem consideradas?
Qual (e como representar) o objetivo?
Busca (soluo do problema)
Processo que gera/analisa sequncias de aes para
alcanar um objetivo
Soluo = caminho entre estado inicial e estado final.
Custo do caminho = qualidade da soluo
Execuo
Executar a soluo completa encontrada ou Intercalar
17
Importncia da Formulao
Quebra Cabea de 8 peas
Estados = Uma descrio de estado especifica a posio de cada
uma das oito peas e do espao vazio em um dos nove
quadrados.
Estado inicial = qualquer um dos estados possveis
Teste de trmino = ordenado, com vazio na posio [2,2]
Operadores = mover vazio (esquerda, direita, para cima e
para baixo)
Custo do caminho = nmero de passos da soluo
18
Importncia da formulao
Jogo das 8 Rainhas
Objetivos: Posicionar 8 rainhas em um tabuleiro de xadrez
19
Importncia da formulao
Alguns problemas do mundo real
Clculo de rotas (pathfinding):
rotas em redes de computadores,
planejamento de viagens,
planejamento de rotas areas,
jogos de computadores (rotas dos personagens)
caixeiro viajante
Alocao (Scheduling):
salas de aula,
mquinas industriais
Projeto de VLSI:
um chip VLSI tpico pode ter milhes de portas;
os posicionamentos e as conexes de cada porta so crticos
para o bom funcionamento de um chip
20
Importncia da formulao
Alguns problemas do mundo real
Navegao de robs:
21
Importncia da formulao
Desempenho de um algoritmo de busca
O algoritmo encontrou alguma soluo?
uma boa soluo?
22
Importncia da formulao
Custo total = custo do caminho + custo de busca
Exemplos de funo de custo de caminho (caminho entre
cidades)
nmero de cidades visitadas
23
Importncia da formulao
Como escolher estados e aes?
Abstrair-se dos detalhes irrelevantes
na formulao do problema (aes e estados)
nas funes de custo de caminho e de busca
24
busca geral
Representao de
uma rvore de
busca
25
26
Mtodos de Busca
Satisfao de restries
Um problema de satisfao de restries composto de:
Estados, que correspondem a valores de um conjunto de variveis
27
Mtodos de Busca
Busca cega (ou exaustiva)
No sabe qual o melhor n da fronteira a ser expandido = menor
custo de caminho desse n at um n final (objetivo)
Estratgias de Busca (ordem de expanso dos ns):
caminhamento em largura
caminhamento em profundidade
... e suas variaes.
Direo de Busca:
Do estado inicial para o objetivo (forward chaining)
Do objetivo para o estado inicial (backward chaining)
Ambos ao mesmo tempo (bidirecional)
28
Mtodos de Busca
Busca cega (ou exaustiva)
Estratgias
Busca em largura
Busca com custo uniforme
Busca em profundidade
Busca com profundidade limitada
Busca com aprofundamento iterativo
29
Mtodos de Busca
Busca cega (ou exaustiva)
Busca em largura
Ordem de expanso dos ns:
1. N raiz
2. Todos os ns de profundidade 1
3. Todos os ns de profundidade 2, etc
30
Mtodos de Busca
Busca cega (ou exaustiva)
Busca em largura
Estratgia: Todos os ns de menor profundidade so expandidos
primeiro
Pesquisa muito sistemtica
Normalmente demora muito tempo e sobretudo ocupa muito espao
31
Mtodos de Busca
Busca cega (ou exaustiva)
Busca em largura
Custo de memria: A fronteira do espao de estados deve
Memria
100 bytes
11 quilobytes
1 megabytes
111 megabytes
11 gigabytes
1 terabyte
111 terabytes
11111 terabytes
32
Mtodos de Busca
Busca cega (ou exaustiva)
Busca em largura
Ordem de expanso dos ns:
1. N raiz
2. N profundidade 1 com menor custo
3. Segundo n profundidade 1 com menor custo, etc.
A
10
5
15
G
5
B
1
G
11
10
15
33
Mtodos de Busca
Busca cega (ou exaustiva)
Busca em largura
146
origem
220
Menor caminho
450
229
317
299
366
418
374
destino
34
Mtodos de Busca
Busca cega (ou exaustiva)
Busca em profundidade
Ordem de expanso dos ns:
Sempre expande o n no nvel mais profundo da rvore
Quando um n final no soluo, o algoritmo volta para expandir
ns mais superficiais
1. N raiz
2. Primeiro n de profundidade 1
3. Primeiro n de profundidade 2, etc.
35
Mtodos de Busca
Busca cega (ou exaustiva)
Busca em profundidade limitada
Evita o problema de caminhos muito longos ou infinitos impondo
36
Mtodos de Busca
Busca cega (ou exaustiva)
Busca em profundidade limitada
Em alguns casos, definida uma profundidade limite
Complexidade de tempo e de espao
Problema:
Em geral, difcil de prever um bom limite de profundidade antes de se
buscar uma soluo do problema
37
Mtodos de Busca
Limite = 0
Limite = 1
Limite = 2
Limite = 3
.
.
.
38
Mtodos de Busca
Busca cega (ou exaustiva)
Direo da busca
Encadeamento progressivo (Forward chaining)
Para frente, a partir do estado inicial
A busca interrompida quando um estado final encontrado
Estados
iniciais
Estados
finais
39
Mtodos de Busca
Busca cega (ou exaustiva)
Direo da busca
Encadeamento regressivo (Backward chaining)
Estados
iniciais
Estados
finais
40
Mtodos de Busca
Busca cega (ou exaustiva)
Direo da busca
Busca bidirecional
Para frente, a partir do n inicial, e para trs, a partir do n final
A busca interrompida quando os dois processos geram um mesmo
estado intermedirio
Estados
iniciais
Estados
finais
41
Mtodos de Busca
Busca cega (ou exaustiva)
Evitando estados repetidos
Problema geral em busca:
Expandir estados presentes em caminhos j explorados
Idia:
42
Mtodos de Busca
Busca cega (ou exaustiva)
Consideraes finais
Problema:
Custo de armazenamento e verificao Custo extra de
busca
Soluo:
Depende do problema
Quanto mais loops, mais vantagem em evit-los!
43
Mtodos de Busca
Busca heurstica (ou informada)
Estima qual o melhor n da fronteira a ser
expandido com base em funes heursticas
conhecimento
Estratgia de busca:
Melhor escolha (best-first search),
Busca gulosa
A*
44
Mtodos de Busca
Busca heurstica (ou informada)
As estratgias de busca exaustiva ...
encontram solues para problemas pela gerao
sistemtica de novos estados, que so comparados ao
objetivo
... so ineficientes na maioria dos casos
So capazes de calcular apenas o custo de caminho
do n atual ao n inicial (funo g), para decidir qual o
prximo n da fronteira a ser expandido ...
mas no necessariamente conduz a busca na direo
do objetivo (olha s para o passado)
Exemplo: barco perdido
No se considera o oceano inteiro: correntes martimas, vento,
etc...
45
Mtodos de Busca
Busca heurstica (ou informada)
Estratgias de busca heurstica utilizam
conhecimento especfico do problema na escolha
do prximo n a ser expandido e aplicam uma
funo de avaliao a cada n na fronteira do
espao de estados
Essa funo estima o custo de caminho do n atual ao
46
Mtodos de Busca
Busca heurstica (ou informada)
Funo heurstica h(n)
Estima o custo do caminho entre o n n e o objetivo
Depende o problema
Exemplo: Encontrar a rota mais barata entre Arad e Bucharest
hdd(n) = distncia direta entre o n n e o n final.
47
Mtodos de Busca
Busca heurstica (ou informada)
Busca pela melhor escolha
Busca genrica onde o n de menor custo aparente
48
Mtodos de Busca
Busca heurstica (ou informada)
Busca Gulosa
Semelhante busca em profundidade com
backtracking
Tenta expandir o n mais prximo ao n final com base na
estimativa feita pela funo heurstica h.
49
Mtodos de Busca
Busca heurstica (ou informada)
Busca Gulosa
No tima... (semelhante busca em profundidade)
S olha para o futuro!
50
Mtodos
de
Busca
Busca heurstica (ou informada)
Busca Gulosa
Distncia em linha
reta para Bucharest:
51
Mtodos de Busca
Busca heurstica (ou informada)
Algoritmo A*
espao de estados
Olha o futuro sem esquecer do passado!
Se h admissvel, f(n) nunca ir superestimar o custo real da
melhor soluo atravs de n
(Neste caso, pode-se encontrar a rota de fato mais curta entre
Arad e Bucarest)
52
Mtodos de Busca
Distncia em linha
reta para Bucharest:
449
75 + 374
239
140 +
253
417
220
118 +
329
447
393
239 +
178
220 +
193
413
317
418
366
415
455
496
336 +
160
317 + 98
53
Mtodos de Busca
Busca heurstica (ou informada)
Algoritmo A*
O algoritmo monotnico
O custo de cada n gerado no mesmo caminho nunca diminui
Mas pode haver problemas: f(n) < f(n), onde n o pai de n
f(n) = g(n) + h(n) = 3 + 4 = 7
f(n) = g(n) + h(n) = 4 + 2 = 6
Para se garantir a monotonicidade de f:
f(n) = max(f(n), g(n) + h(n))
..., uma vez que todo caminho que passa por n passa tambm por n
(seu pai),
Semelhante busca em largura
... mas ao invs de gerao (profundidade) da rvore, o que conta
o contorno f = g + h
54
Mtodos de Busca
Busca heurstica (ou informada)
Algoritmo A*
completa e tima
55
Mtodos de Busca
Busca heurstica (ou informada)
Busca com melhora Interativa
A ideia comear com o estado inicial (= configurao completa,
56
Mtodos de Busca
Busca heurstica (ou informada)
Busca com melhora Interativa
Guardam apenas o estado atual e no veem alm dos vizinhos
imediatos do estado
Contudo, muitas vezes so os melhores mtodos para tratar
problemas reais muito complexos
Duas classes de algoritmos:
Subida da Encosta ou Gradiente ascendente (Hill-Climbing)
S faz modificaes que melhoram o estado atual
Tmpera Simulada (Simulated Annealing)
Pode fazer modificaes que pioram o estado
temporariamente para possivelmente melhor-lo no futuro
57
Mtodos de Busca
Busca heurstica (ou informada)
Subida da Encosta
O algoritmo no mantm uma rvore de busca:
Guarda apenas o estado atual e sua avaliao
simplesmente um loop que fica se movendo na direo que est
crescendo.
Quando existe mais de um melhor sucessor para o n atual, o
58
Mtodos de Busca
Busca heurstica (ou informada)
Subida da Encosta
Mximos locais
Em contraste com mximos globais, so picos mais baixos do
que o pico mais alto no espao de estados (soluo tima)
A funo de avaliao leva a um valor mximo para o caminho
sendo percorrido: essa funo utiliza informao local
Porm, o n final est em outro ponto mais alto
Isto uma conseqncia das decises irrevogveis do
mtodo
Exemplo: no Xadrez, eliminar a Rainha do adversrio pode
levar o jogador a perder o jogo
59
Mtodos de Busca
Busca heurstica (ou informada)
Subida da Encosta
Plats
Uma regio do espao de estados onde a funo de avaliao
d o mesmo resultado
60
Mtodos de Busca
Busca heurstica (ou informada)
Subida da Encosta
Encostas
Encostas podem ter lados muito ngremes e o algoritmo chega
ao topo com facilidade
Mas o topo pode se mover ao pico vagarosamente
Na ausncia de operadores que se movam pelo topo, o
algoritmo oscila entre dois pontos sem fazer grande progresso
61
Mtodos de Busca
Busca heurstica (ou informada)
Subida da Encosta
Subida da Encosta com Reincio Aleatrio
Nos casos acima, o algoritmo chega a um ponto onde no fez
progresso
O algoritmo realiza uma srie de buscas a partir de estados iniciais
gerados aleatoriamente
Cada busca executada ...
62
Mtodos de Busca
Busca heurstica (ou informada)
Subida da Encosta
Subida da Encosta com Reincio Aleatrio
Pode chegar a uma soluo tima quando iteraes
suficientes forem permitidas
O sucesso deste mtodo depende muito do formato da
superfcie do espao de estados:
Se h poucos mximos locais, o reinicio aleatrio encontra uma
boa soluo rapidamente
Porm, para problemas NP-completos, o custo de tempo
exponencial
63
Mtodos de Busca
Busca heurstica (ou informada)
Tmpera simulada
Analogia com cozimento de vidros ou metais
Processo de resfriar um lquido gradualmente at ele se
solidificar
64
Mtodos de Busca
Busca heurstica (ou informada)
Tmpera simulada
Nas iteraes iniciais, no escolhe necessariamente o melhor
65
Mtodos de Busca
Busca heurstica (ou informada)
Tmpera simulada
Com o tempo, passa a funcionar como Subida da
Encosta
O algoritmo timo e completo se o mapeamento de
resfriamento tiver muitas entradas com variaes
suaves
Isto , se o mapeamento diminui T suficientemente devagar
no tempo, o algoritmo vai encontrar um mximo global timo
66
Mtodos de Busca
Como definir uma funo heurstica?
A escolha de uma boa funo heurstica h depende
de cada problema particular.
h deve ser admissvel
No superestimar o custo real da soluo
67
Mtodos de Busca
Como definir uma funo heurstica?
Relaxamento do problema
Verso simplificada do problema original, onde os
68
Mtodos de Busca
Como definir uma funo heurstica?
Relaxamento do problema
Exemplo: jogo dos 8 nmeros
Estado inicial
3
4
Estado final
Heursticas possveis:
h1 = nmero de elementos fora do lugar (h1=3)
h2 = soma das distncias de cada nmero posio final
(h2 = 1 + 1 + 0 + 0 + 0 + 1 + 0 + 2 = 5)
69
Mtodos de Busca
Como definir uma funo
h1 = 5
heurstica?
h2 = 6
Relaxamento do problema
Exemplo:
h1 = 3
h2 = 5
Soluo
h1 = 3
h1 = 5
h2 = 5
h2 = 6
h1 = 3
h1 = 4
h2 = 3
h2 = 5
h1 = 2
h1 = 4
h2 = 2
h2 = 4
70
Mtodos de Busca
Consideraes finais
Qualidade da funo heurstica
Soluo de problemas usando tcnicas de busca
heurstica:
Dificuldades em definir e usar a funo de avaliao
No consideram conhecimento genrico do mundo (ou senso
comum)
Funo de avaliao
compromisso entre tempo gasto na seleo de um n e
reduo do espao de busca
71
Jogos
Por que estudar jogos?
Jogos oferecem ...
Engajamento intelectual
Abstrao
Representabilidade
Medida de desempenho
72
Jogos
Tipos de jogos
Determinstico
Informao perfeita Xadrez, Damas, Go,
Othello
Informao imperfeita
Sorte
Gamo,
Banco Imobilirio
Bridge, Pocker, War
73
Jogos
Consideraes preliminares
Aplicaes atrativas para mtodos IA desde o
incio
Problemas desafiadores
Tamanho + limitao de tempo (35100 ns para Xadrez)
Incerteza devido imprevisibilidade do oponente
Problema contingencial: agente deve agir antes de
completar a busca
74
Jogos
Jogos como problemas a serem resolvidos
Principal diferena: incertezas devido a ...
Presena de um adversrio
No se sabe o que o adversrio far at que ele o faa
Complexidade
Os jogos mais interessantes so simplesmente complexos
demais para serem resolvidos por meios exaustivos
Exemplo: Xadrez tem um grau de expanso de ordem 35
H tambm incerteza por no se ter todos os recursos
computacionais para garantir a escolha da melhor jogada
Estratgias de busca
Em problemas de busca normais, busca-se uma sequncia de
movimentos que maximizem a qualidade da soluo
para jogos isso no factvel, pois o adversrio sempre
buscar uma situao que minimize as chances de se chegar
vitria
75
Jogos
Jogos como problemas a serem resolvidos
Formulao
Estado inicial: posies do tabuleiro + de quem a
vez
Estado final: posies em que o jogo acaba
Operadores: jogadas legais
Funo de utilidade: valor numrico do resultado
(pontuao)
Busca: algoritmo minimax
Idia: maximizar a utilidade (ganho) supondo que o
adversrio vai tentar minimiz-la
Minimax faz busca cega em profundidade
O agente MAX e o adversrio MIN
76
Jogos
Min(O)
Max(X)
x
x
Max(X)
Min(O)
xo
xo x
x
o
...
xo
x
xo
x
...
...
...
...
...
xo x
o x
o
xo x
o o x
xx o
xo x
x
xo o
...
-1
+1
Funo de utilidade
77
Jogos
Jogos como problemas a serem resolvidos
Minimax
Caractersticas:
Ideal para jogos determinsticos e com informao perfeita
Completo, se a rvore finita
Problemas:
Tempo gasto totalmente impraticvel, porm o algoritmo
serve como base para outros mtodos mais realsticos
Complexidade de tempo: O(bm)
Complexidade de espao: O(bm) (explorao em
profundidade)
Para melhorar:
Substituir a profundidade n de minimax(n) pela estimativa de
minimax(n): funo de avaliao
78
Jogos
Jogos como problemas a serem resolvidos
Funo de avaliao
Reflete as chances de ganhar: baseada no valor
material
Exemplo: valor de uma pea independentemente da posio das
outras
ser realizada
Escolha crucial: compromisso entre preciso e
eficincia
79
Jogos
Jogos como problemas a serem resolvidos
Funo de avaliao
Exemplo: Jogo da velha
X
h=6-5=1
X tem 6 possibilidades
O
X
0 tem 5 possibilidades
h = 4 - 6 = -2
X O
O
X
h=5-4=1
80
Jogos
Jogos como problemas a serem resolvidos
Funo de avaliao
Exemplo: Jogo da velha
N
inicial
-1
-2
65=1
55=0
65=1 55=0
4 5 = -1
54=1
5 6 = -1 5 5 = 0 5 6 = -1 6 6 = 0 4 6 = -2
64=2
81
Jogos
Jogos como problemas a serem resolvidos
Funo de avaliao
Quando aplicar a funo de avaliao?
Definir uma profundidade mxima ou iterativa no funciona
devido incerteza inerente ao problema
82
Jogos
Alguns jogos
Xadrez
Apesar de receber durante muito tempo
83
Jogos
Alguns jogos
Xadrez
1985: Hitech, colocado entre os 800 melhores
84
Jogos
Alguns jogos
Damas
1952: Samuel desenvolve um programa de
85
Jogos
Alguns jogos
Gamo
A incluso da incerteza dos dados torna a
86
Jogos
Consideraes finais
Jogos ilustram vrios pontos importantes da IA:
A perfeio inatingvel; preciso aproxim-la
uma boa idia para pensar a respeito de como