8 puzzle

olá, por acaso algume sabe como programa o jogo 8 puzzle, só que tem que ser na forma A+ a busca.

Mauriio

Se eu entendi você quer resolver o jogo 8 puzzle usando busca A*, certo?

Aqui tem a solução: http://www.inf.furb.br/~jomi/ia/busca/buscaJava/src/exemplos/Estado8Puzzle.java

hehehe… se for isso, ta aí… prontinho! :slight_smile:

Veja que a heurística usada é a combinação de h2() + h3(), onde:

h2() -> calcula a distância de cada número até seu lugar
h3() -> conta os números fora da sequencia circular

Existe também a h1() que calcula a quantidade de números fora do lugar, mas essa não foi usada provavelmente por não conseguir encontrar a solução, afinal é uma heurística muito simples e algumas vezes injusta.

Esse exemplo usa o framework desenvolvido pelo próprio professor. Nele você encontra as rotinas para busca em largura, profundidade, bi direcional, A* e outras.

[]'s

E´exatamente isso que eu quero, mas neste exemplo que você falaste tem uns pacotes que~foram desenvolvidos por eles tipo AEstrela, por acaso não conhece outro?

Não conheço outro…

Mas cara, o que você quer? A resolução do problema ou o algoritmo?

Lá nos links que te passei tem tudo isso e + um pouco.

Não sei se você me compreendeu, mas aquilo é um framework p/ trabalhar com IA (buscas).

Se você verificar a classe AEstrela (se não me engano) lá tem todo o algoritmo da busca A*.

:slight_smile:

Tá tudo aí, inclusive semana passada tive que resolver um problema e usei o algoritmo de A* desse framework.

Alguém tem os exemplos do Jogo ainda, tento acesso aos código e o link está quebrado, grato desde já.

http://user.das.ufsc.br/~jomi/ia/busca/buscaJava/buscaJava.zip

Link atualizado do mesmo autor. :wink: