Inteligencia artificial para videojuegos/Puzle de bloques deslizantes
Enunciado
editarDesarrolla 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
editarMiguel Mulas Andrés