1
2
3
4
5
6
7
8

Resolver

Olá,

Esta é uma aplicação didática para resolução do jogo 8Puzzle.
Foi desenvolvida totalmente em Javascript, para a disciplina de Sistemas Inteligentes, 4º ano, Engenharia de Computação, FURG, 2011.

O algoritmo implementado para a resolução é o A* (A estrela) com heurística definida pela Distância Manhattan.
Testado apenas no Google Chrome 13
Qualquer bug detectado, por favor, avise-me!
Email: douglas.z.porto@gmail.com

Infelizmente, nem todos os tabuleiros chegam em uma resolução. Isso se deve à quantidade de operações e alocações de memória.
Com o Google Chrome, faça o seguinte experimento: Selecione o penúltimo tabuleiro na lista, abra o "Gerenciador de Tarefas" do Chrome (Shift+Esc) e então execute o teste. Note o consumo de memória e processamento da aba do 8Puzzle antes e durante a execução. Em pouco tempo salta de 10Mb para 70Mb de memória utilizada. E mesmo assim não termina.

Uma implementação em uma linguagem como C/C++ seria muito mais eficiente.
Este código pode ser otimizado. Não está implementado na forma mais rápida simplesmente por ser um código dídatico para fins acadêmicos. O seja, deve apenas funcionar.

Por favor, seja paciente!

Aguarde...