Sei sulla pagina 1di 86

1

INTELIGNCIA
ARTIFICIAL
Profa. Leticia Toledo Maia Zoby

Busca em espao de problemas


A maioria dos problemas em IA no dispem de solues

algortmicas, ou possuem solues algortmicas, mas sua


complexidade as torna impraticveis;
Dentre esses problemas os primeiros a serem estudados

foram: prova automtica de teoremas, quebra-cabeas e


jogos.

Busca em espao de problemas


Esses problemas alm de no disporem de solues

algortmicas viveis, apresentam caractersticas como:


So

solucionveis para seres humanos -> necessitam de


inteligncia;
Formam classes desde triviais (jogo da velha) at extremamente
complexos (jogo de xadrez)
So problemas de conhecimento total tudo que necessrio
saber para solucion-los conhecido;
Suas solues so sequncias de situaes vlidas.

Busca em espao de problemas


Diante da falha de soluo algortmica vivel, o nico

mtodo de soluo possvel a busca;


Como definir a busca?

Analisar o espao de possibilidades de resoluo do

problema, encontrando uma sequncias de aes que


levem a um objetivo desejado;
Conceito de agente.
Escolhe suas aes com base apenas nas percepes atuais

Busca em espao de problemas


O mundo do agente tem um conjunto de estados

possveis (muitas vezes este conjunto e infinito);


Existem transaes entre os estados do mundo,

formando um grafo;
So utilizados algoritmos para encontrar um caminho

neste grafo:
Partindo do estado inicial (atual);

At o estado objetivo.

Busca em espao de problemas


O agente solucionador de problemas ...
busca uma sequncia de aes que leve a estados desejveis
(objetivos)
CC

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

Busca em espao de problemas


Exemplo:

Aspirador de p
Um rob aspirador de p deve limpar uma casa, com duas salas.

O rob pode estar em apenas uma das salas de cada vez.


As operaes que ele sabe executar so:
Ir para a posio da esquerda;
Ir para a posio da direita;
Limpar

Quais os estados possveis do mundo do aspirador e as

transies?

Busca em espao de problemas


Aspirador de P - Formulao
Estados
O agente est em uma entre duas posies, cada uma das
quais pode conter sujeira ou no.
H 2 x 22 = 8 estados do mundo possveis.
Estado inicial

Qualquer estado pode ser designado como estado inicial.


Funo Sucessor

Gera os estados vlidos que resultam da tentativa de executar


as trs aes (Esquerda, Direita e Aspirar).

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,

limpeza confivel e nunca desorganizado depois de limpo.


Ambiente com n posies: n x 2n estados

10

Busca em espao de problemas


Estados possveis:

11

Busca em espao de problemas


Espao de busca:

12

Busca em espao de problemas


Por que utilizar estados?
As

informaes do mundo real so absurdamente


complexas, praticamente impossvel modelar todas;
No exemplo do aspirador, o mundo dele tem vrias outras

informaes: a cor do tapete, se dia, de que material o aspirador


feito, quanto ele tem de energia, como o nome do/a
proprietrio/a, entre outros

A noo de estado utilizada para abstrair esses

detalhes e considerar somente o que relevante


para a soluo do problema.

13

Busca em espao de problemas


O mesmo se d com as operaes modeladas: so

abstraes das operaes reais (ir para a posio da


direita implica em varias outras operaes);
Busca mais uma forma de modelar um problema:
Definir os estados;
Definir as transies;
Escolher um algoritmo de busca.

Problemas e Solues definidos


Um problema em IA definido em termos de:
Um espao de estados possveis, incluindo um estado inicial e

um estado final (objetivo)


Exemplos:

dirigir de Braslia a Uberaba


jogo de 8-nmeros

4 5 8
1 6
7 2 3

1 2 3
4 5 6
7 8

Um conjunto de aes (ou operadores) que permitem passar de

um estado a outro
Exemplos:

dirigir de uma cidade a outra


mover uma pea do jogo de n-nmeros (n-puzzle)

15

Problemas e Solues definidos


Um problema em IA definido em termos de:
Um objetivo

Pode ser uma propriedade abstrata


Exemplo: condio de xeque-mate no Xadrez
Ou um conjunto de estados finais do mundo
Exemplo: estar em Uberaba
Uma soluo
Caminho (sequncia de aes ou operadores) que leva do
estado inicial a um estado final (objetivo).

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

execuo com busca: exige planejamento

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

sendo que nenhuma rainha ataque qualquer outra

Sendo que uma rainha ataca qualquer pea que esteja na


mesma linha, coluna ou diagonal

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:

generalizao do problema da navegao


robs movem-se em espaos contnuos, com um conjunto
(infinito) de possveis aes e estados
Controlar os movimentos do rob no cho, e de seus braos e pernas
requer espao multi-dimensional

Montagem de objetos complexos por robs

21

Importncia da formulao
Desempenho de um algoritmo de busca
O algoritmo encontrou alguma soluo?
uma boa soluo?

custo de caminho (qualidade da soluo)


uma soluo computacionalmente barata?

custo da busca (tempo e memria)

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

distncia entre as cidades


tempo de viagem

Espao de estados grande


melhor soluo soluo mais barata

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

Exemplo: dirigir de Braslia a Uberaba


No interessa:
nmero de passageiros
o que toca no rdio (estado)
cidades sem acesso rodovirio (estado)
o que se come e bebe dentro do carro (aes)
nmero de postos policiais no caminho (custo de caminho)
nmero de operaes de adio (custo de busca)

tarefa do projetista fazer as boas escolhas

24

Como procurar a soluo de um


problema?
Problema de

busca geral

Representao de

uma rvore de
busca

25

Como procurar a soluo de um


problema?
Mtodos para a resoluo de problema
Satisfao de restries
Busca exaustiva (ou cega)
Busca heurstica (ou informada)

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

O teste de objetivo especifica um conjunto de restries que

os valores devem obedecer

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

A principal vantagem do algoritmo de busca em largura que este

encontra o MENOR caminho do nodo inicial at o nodo final mais


prximo.

31

Mtodos de Busca
Busca cega (ou exaustiva)
Busca em largura
Custo de memria: A fronteira do espao de estados deve

permanecer na memria, o que um problema mais crucial do


que o tempo de execuo da busca
Profundidade Ns
Tempo
0
1
1 milissegundo
2
111
0.1 segundo
4
11111 11 segundos
6
106
18 minutos
8
108
31 horas
10
10
10
128 dias
12
12
10
35 anos
14
1014
3500 anos

Memria
100 bytes
11 quilobytes
1 megabytes
111 megabytes
11 gigabytes
1 terabyte
111 terabytes
11111 terabytes

Concluso: Esta estratgia s d bons resultados quando a

profundidade da rvore de busca pequena

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

J chegou aqui com


caminho menor!!!...
239

origem

J chegou aqui com


caminho menor!!!...

220

Menor caminho
450

229

317
299

366

418

374

J chegou aqui com


caminho menor!!!...

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

um limite mximo de profundidade para os caminhos gerados


Esse limite deve assegurar a completude da busca
l d, onde l o limite de profundidade e d a profundidade da
primeira soluo do problema
No tima (= busca em profundidade)

Para profundidade = 2 ...

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

Busca cega (ou exaustiva)


Busca em aprofundamento iterativo
Tenta limites com valores crescentes,
partindo de zero, at encontrar a
primeira soluo
fixa profundidade = i, executa busca
se no chegou a um objetivo, recomea
busca com profundidade = i + n
(n qualquer)
Se i = 1 e n = 1, igual busca em
largura
Combina as vantagens de busca
em largura com busca em
profundidade
tima e completa

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)

Para trs, a partir do estado final desejado


A busca interrompida quando o estado inicial encontrado

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

inevitvel quando existe operadores reversveis


A rvore de busca potencialmente infinita
Exemplo: encontrar rotas, canibais e missionrios

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

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*

Busca com limite de memria


Busca com melhora iterativa

Direo de busca: idem busca cega

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

objetivo mais prximo utilizando uma funo


heurstica
Qual dos ns supostamente o mais prximo do
objetivo?

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.

Como escolher uma boa funo heurstica?


Deve ser admissvel i.e., nunca superestimar o custo
real da soluo
Distncia direta (hdd) admissvel porque o caminho
mais curto entre dois pontos sempre uma linha reta

47

Mtodos de Busca
Busca heurstica (ou informada)
Busca pela melhor escolha
Busca genrica onde o n de menor custo aparente

na fronteira do espao de estados expandido


primeiro
Duas abordagens bsicas:
Busca Gulosa (Greedy search)
Algoritmo A*

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.

Custo de busca minimizado


No expande ns fora do caminho

Escolhe o caminho mais econmico primeira vista

49

Mtodos de Busca
Busca heurstica (ou informada)
Busca Gulosa
No tima... (semelhante busca em profundidade)
S olha para o futuro!

... nem completa


Pode entrar em loop se no detectar a expanso de estados
repetidos
Pode tentar desenvolver um caminho infinito

Custo de tempo e memria: O(bd)


Guarda todos os ns expandidos na memria

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*

Tenta minimizar o custo total da soluo combinando:


Busca Gulosa: Econmica, porm no completa nem tima
Busca de Custo Uniforme: Ineficiente, porm completa e
tima

Funo de avaliao: f(n) = g(n) + h(n)


g(n) = distncia de n ao n inicial e
h(n) = distncia estimada de n ao n final

A* expande o n de menor valor de f na fronteira do

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

Busca heurstica (ou informada)


Algoritmo A*

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

Como a busca em largura, ...


Custo de memria: O(bd)
... guarda todos os ns expandidos na memria, o que um
problema bem mais grave do que o tempo de busca
otimamente eficiente

No existe algoritmos expandindo menos ns com a mesma f


Custo de tempo:

Exponencial com o comprimento da soluo, porm boas


funes heursticas diminuem significativamente esse custo

|h(n) - h*(n)| O(log h*(n)) onde h* custo real

55

Mtodos de Busca
Busca heurstica (ou informada)
Busca com melhora Interativa
A ideia comear com o estado inicial (= configurao completa,

soluo aceitvel), e melhor-lo iterativamente.


Os estados esto representados sobre uma superfcie
A altura de qualquer ponto na superfcie corresponde funo
de avaliao do estado naquele ponto
O algoritmo se move pela superfcie em busca de pontos mais
altos/baixos (objetivos)
O ponto mais alto (mximo global) corresponde soluo
tima
N onde a funo de avaliao atinge seu valor mximo
Aplicaes: problemas de otimizao (linha de montagem, ...)

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

algoritmo faz uma escolha aleatria


Isso pode acarretar em 3 problemas, que podem levar ao desvio
do caminho soluo:
Mximos locais
Plancies
Encostas

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 ...

at que um nmero mximo de iteraes estipulado seja atingido,


ou
at que os resultados encontrados no apresentem melhora
significativa
O algoritmo escolhe o
melhor resultado
obtido com as
diferentes buscas

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

O algoritmo utiliza um mapeamento de resfriamento

de instantes de tempo (t) em temperaturas (T)


Semelhante Subida da Encosta, porm com meios
para se escapar de mximos locais.
Quando a busca fica presa num mximo local, o algoritmo
no reinicia a busca aleatoriamente
Retrocede para escapar desse mximo local

64

Mtodos de Busca
Busca heurstica (ou informada)
Tmpera simulada
Nas iteraes iniciais, no escolhe necessariamente o melhor

passo, mas sim um movimento aleatrio:


Se a situao melhorar, esse movimento ser sempre escolhido
posteriormente
caso contrrio, associa a esse
movimento uma probabilidade de
escolha menor do que 1.
Essa probabilidade depende de

dois parmetros, e decresce


exponencialmente com a piora
causada pelo movimento, eDE/T,
onde:
DE = Valor[prximo-n] - Valor[n-atual] e T = Temperatura

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

Existe estratgias genricas para definir h.


1) Relaxar restries do problema
2) Usar informao estatstica
3) Identificar os atributos mais relevantes do problema
(exige aprendizagem)

67

Mtodos de Busca
Como definir uma funo heurstica?
Relaxamento do problema
Verso simplificada do problema original, onde os

operadores so menos restritivos


Exemplo: jogo dos 8 nmeros
Operador original:
Um nmero pode mover-se de A para B se A adjacente a B e B
est vazio
Busca exaustiva 320 estados
Operadores relaxados:
1.
Um nmero pode mover-se de A para B se A adjacente a
B (h2)
2.
Um nmero pode mover-se de A para B se B est vazio
3.
Um nmero pode mover-se de A para B (h1)

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:

jogo dos 8 nmeros

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

Achar o melhor n a ser expandido a cada passo pode

ser to difcil quanto o problema da busca em geral

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

Formulao simples do problema (aes bem definidas)


Ambiente acessvel;
Abstrao (representao simplificada de problemas reais)
Sinnimo de inteligncia
1 algoritmo para Xadrez: Claude Shannon na dcada de 50

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

Jogos como problemas a serem resolvidos


Exemplo: jogo da velha

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

Funo Linear de Peso de propriedade do n:

w1f1 + w2f2 + ... + wnfn


Exemplo: No Xadrez, os pesos (w) poderiam ser o tipo de pedra
(Peo - 1, ..., Rainha - 9) e os valores da funo f poderiam ser o
nmero de cada pea no tabuleiro

Escolha das propriedades relevantes ainda no pode

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

Soluo: Procura Tranquila (Quiescence search)


Idia: evitar avaliao em situaes a partir das quais pode
haver mudanas bruscas
No caso do jogo da velha, toda posio tranqila mas no
xadrez no.... (ex. um pea de xadrez a ser comida)
Algoritmo: Se a situao (n) tranquila, ento aplica a
funo de avaliao, seno busca at encontrar uma situao
tranquila

82

Jogos
Alguns jogos
Xadrez
Apesar de receber durante muito tempo

bastante ateno, o progresso rumo a um


nvel medocre foi inicialmente muito lento.
1970: Primeiro programa a ganhar o ACM North
American Computer Chess Championship, utilizando
busca alfa-beta incrementada de um livro de
aberturas e de algoritmos infalveis de finalizaes de
jogos..
1982: Belle, primeiro computador concebido
exclusivamente para xadrez, pode analisar alguns
milhes de posies a cada jogada.

83

Jogos
Alguns jogos
Xadrez
1985: Hitech, colocado entre os 800 melhores

jogadores do mundo, pode analisar 10 milhes


de posies a cada jogada.
1993: Deep Thought 2, um dos 100 melhores
jogadores do mundo, pode analisar 500 milhes de
posies a cada jogada, chegando a uma
profundidade de 11.
1997: Deep Blue (IBM) ganha do campeo mundial
Kasparov. Pode analisar 1 bilho de posies a cada
jogada, chegando a uma profundidade de 14.

84

Jogos
Alguns jogos
Damas
1952: Samuel desenvolve um programa de

damas que aprende sua prpria funo


de avaliao jogando consigo mesmo
1992: Chinook (J. Schaeffer) ganha o U.S. Open
No campeonato mundial, Marion Tinsley ganha de
Chinook.

85

Jogos
Alguns jogos
Gamo
A incluso da incerteza dos dados torna a

busca um luxo caro


1980: BKG, usando bastante sorte ganha do
campeo mundial humano
1992: Tesauro combina o mtodo de aprendizagem de
Samuel com redes neurais para desenvoilver uma
nova funo de avaliao, resultando num programa
colocado entre os 3 maiores jugadores do mundo.

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

pensar a respeito de algum problema


Incerteza restringe a obteno de valores para estados

Segundo S. Russell, os jogos esto


para a IA assim como as corridas esto
para os projetos de automveis.

Potrebbero piacerti anche