Você está na página 1de 15

Implementao dos Algoritmos de

Busca A* e IDA* para o Jogo dos 8


UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
COPPE - Programa de Engenharia de Sistemas e Computao
Disciplina: COS740 - Inteligncia Artificial
Professora: Ins Dutra

Eduardo Melione Abreu


Marconi F. P. Rivello de Carvalho

O Jogo dos 8
Tabuleiro com 8 peas e um espao vazio
As peas adjacentes ao espao vazio podem ser
movidas (jogada vlida)
Deseja-se saber o caminho para chegar a uma
configurao denominada estado final, a partir de
outra - estado inicial
Estado final:

Estado inicial:

Possui soluo?
Nem sempre h soluo
Os ns so divididos em 2 grafos, sem conexo
entre eles
O parmetro de desordem (PD) indica em qual
dos grupos um estado se encontra (grupo dos
pares e dos mpares)
O PD obtido contando quantas peas esto fora
de ordem entre si
876
123
123
456
780
PD=0

456
870
PD=1

543
210
PD=28

Complexidade do Problema
Utilizando algoritmo de fora bruta
Tabuleiro
3x3
4x4

Nmero de Ns
3.6x105
2x10

Tempo
36 ms
24 dias

Memria
3.11 MB
304.47 TB

Considerando um computador capaz de expandir 10 milhes de


ns por segundo
Estima-se que um Pentium 3 800Mhz (que foi usado para teste)
seja capaz de expandir em torno de 500 mil ns por segundo

Mtodos Informados de Busca


Usam informaes do domnio do problema para
selecionar o melhor caminho at encontrar sua
soluo
Define-se uma funo heurstica h(n) que avalia o
custo (ou distncia) do caminho de um n n at o
estado final do problema (soluo)
Avalia-se o resultado da funo heurstica h(n),
para decidir qual n ser expandido no prximo
nvel

Funo Heurstica
Deve ser sempre menor ou igual ao melhor valor
possvel
A funo de custo nunca pode decrescer
Propriedades:
h(n) = 0, n o n objetivo
h(n) > 0, a soluo est em outro n
h(n) tem valor infinito se impossvel atingir o estado
final

Manhattan Distance
a soma das distncias entre as peas e suas
respectivas posies

Estado final:

Estado inicial:

Distncias:
1: 1
4: 1
5: 1
6: 1
Manhattan Distance: 4

Algoritmo A*
Expandir o n que pertence ao caminho com um
menor custo associado
Funo de avaliao: f(n) = g(n) + h(n), onde g(n)
d o valor do custo do caminho percorrido desde
a raiz at o n n
Tenta primeiro os ns com menor custo
Complexidade espacial exponencial
Encontra caminho timo

Implementao do A*
Listas de ns Open e Closed
Insero ordenada (Open)
Busca por estados j visitados

Algoritmo IDA*
Semelhante ao A*
Porm, so traados contornos, que limitam a
profundidade da busca, poupando memria
Estados repetidos: custo maior de CPU

50
15

25

Implementao IDA*
Funo recursiva (no precisa de listas)
Nmero mximo de ns alocados a
profundidade da soluo

Resultados
Inicio:
876
543
120
Mtodo Tempo
A*
7,20s
IDA*
12,11s

Ns gerados
14.297
5.110.461

Fim:
123
804
765
Ns alocados
8.153
29

Memria Utilizada
260.896 bytes
696 bytes

Soluo tima: 28 passos


Mquina utilizada: Pentium 3 800Mhz, 512MB RAM

Resultados
Inicio:
876
543
210
Mtodo Tempo
A*
18,15s
IDA*
37,45s

Ns gerados
21.302
15.839.889

Fim:
123
456
780
Ns alocados
11.957
31

Memria Utilizada
382.624 bytes
744 bytes

Soluo tima: 30 passos


Mquina utilizada: Pentium 3 800Mhz, 512MB RAM

Concluses
Os mtodos estudados, A* e IDA* se
comportaram como previsto
A*: rpido, porm requer muita memria
IDA*: mais lento, porm utiliza o mnimo
necessrio de memria

Referncias Bibliogrficas
RUSSEL, S. and NORVING, P. Artificial Intelligence.
A Modern Approach. Prentice Hall, 1995.
SCHILDT, H. C : the complete reference. Berkeley
Osborne McGraw-hill, 1987.
BITTENCOURT, G. Inteligncia artificial : ferramentas
e teorias. Campinas, So Paulo - Instituto de
Computao. Unicamp, 1996.
GORANZON, B. and JOSEFSON, I. Knowledge, Skill
and Artificial Intelligence. Foundations and Applications
of Artificial Intelligence. Springer-Verlag, New York,
1988.