Uno de los trabajos que realice el semestre pasado para la materia de Inteligencia Artificial fue el problema de las 8 reinas y el puzzle que tienen que ver mas con teoría de juegos. Sin embargo, me divertí mucho haciendo tanto la lógica de los mismos como la interfaz.
Digamos que el trabajo final tiene una mezcla de python + php + javascript + css. Y la razón por la que python se ve inmerso en esto fue que, debido a que comencé a programarlo en este, quise aprovecharlo y no pasarlo a algún otro lenguaje web, así que la cosa quedo bien.
Y creo que merece la pena ponerlo en la lista de proyectos que he realizado.
Enlace:


5 Comments
Está chida tu interfaz para el problema. Le pusiste algún delay? porque para una posición que le puse de las 8 reinas se tardó un poco.
El del puzzle, me pareció un poco “truqueado” en una parte, porque solo te permite poner una configuración que a la que sí se puede llegar, en cambio si le pusieras que escriberas cualquier configuración final sería más chingón, y tendrías que agregar una verificación por ahí, basado en las propiedades matemáticas del mismo puzzle para que el tiempo de respuesta no sea tan alto.
@thot no es que exista algún delay inmerso, si no que, primeramente ejecuta la lógica con un script python y luego genera un xml para después parsearlo con javascript y darle lo que parece animación con propiedades CSS.
Como bien pudiste notar, para algunas posiciones tarda mas, y se trata de que la búsqueda BFS es distinta para cada posición, algunas están mas próximas a la solución y el tiempo que tarda en resolverlo es menos.
En cuanto al puzzle, me temo que tiene que ser de esa manera, es decir, no puedes poner los números en cualquier posición ya que existen combinaciones imposibles de resolver.
Saludos y gracias por el alago.
la combinación x:7; y:7 no arroga nada, por què?
@driver ciertamente, aunque el error solo ocurre online, pero deberé analizar el motivo y luego comentaré.
Saludos.
@letshack, pues está chido en cuánto a que la búsqueda va a variar según la posición no hay problema es lógico si usaste backtracking, solo que se me hacía demasiado tardado, pero tomando en cuenta que parseas un xml, eso explica el retraso.
En cuanto a las soluciones imposibles, lo mencioné porque así se pone un poco más interesante por “las propiedades matemáticas del mismo puzzle para que el tiempo de respuesta no sea tan alto”. Esto es, primero revisas si es posible solucionarlo y después solucionas. Verificar si es posible es fácil, por las propiedades que mencioné. Saludos.