Inteligencia artificial para videojuegos/Puzle de bloques deslizantes

Enunciado

editar

Desarrolla un prototipo de IA que resuelva el puzle deslizante de 8 piezas. Debe cumplir los siguientes requisitos:

  • El prototipo mostrará el puzle en su posición inicial
  • El usuario podrá mover las piezas. Una pieza se puede mover al espacio libre si tiene un lado compartido con el espacio libre, se pueden hacer tantos movimientos como desees
  • Habrá un botón para reiniciar la demo
  • Habrá al menos un botón para resolver automáticamente el puzle, y se podrá ver la resolución paso a paso
  • Al terminar de resolverlo, se mostrarán estadísticas

Restricciones especiales

editar
  • Utilizar al menos dos métodos diferentes de búsqueda no informada (una demostración de "Fuerza Bruta").
  • Mostrar estadísticas de la búsqueda:
    • Número de movimientos totales.
    • Tiempo empleado
    • Número de nodos abiertos
    • Nivel de Profundidad
    • Memoria utilizada
    • etc.

Pistas y Consejos

editar
  • Aprovechar para programar un sistema de pruebas para prototipos de IA reutilizable en próximas prácticas; tal vez un HUD permanente con el título de la práctica, vuestros datos, instrucciones de uso, etc.
    • Manejo cómodo con ratón y posibilidad de repetir pruebas de inmediato y sin límites
    • ¡Se pueden juntar todas las prácticas y llevarlas como portfolio en el móvil!
  • Desacoplar mediante interfaces el sistema de pruebas de lo que es el resolutor.

Referencias y ampliaciones

editar
  • Leer algo para saber más
  • Profundizar en esta obra de referencia
    • Sliding Piece Puzzles (Hordern 1986)
  • Hacer un resolutor interactivo o informado
    • Que se adapte a los cambios que haga el usuario
    • Que use alguna heurística
  • Estudiar la generalización a crear y resolver cualquier tipo de puzle deslizante


Participantes

editar

Miguel Mulas Andrés