IIC2613-Inteligencia-Artificial-2023-2 / Syllabus

Syllabus oficial del curso para su rendición 2023-2.
MIT License
29 stars 0 forks source link

Visualización DCCudoku #10

Closed jarvasquezromo closed 1 year ago

jarvasquezromo commented 1 year ago

Holaa!

Estaba probando como funcionaba la visualización de DCCudoku por lo que hice un archivo solución que solo contenía la regla de que cada bloque esté ubicado en la grilla (sin importar donde) y un restricción que dice que los bloques no pueden solaparse. El problema fue que al correr el código, el parser no me detecta el tamaño de la grilla por lo que la visualización se ve afectada.

Un ejemplo de mi resultado de solución.lp es

image

Estará correcto la forma de imprimirlo? (Se que no está bien la solución)

dfloreaa commented 1 year ago

Hola @jarvasquez,

El error que me señalas ocurre cuando la expresión regular no encuentra matches para sí dentro de la salida del programa. Por lo que veo de la salida que entregas, sí debería generar algún match y encontrar el gridSize. Por lo que teorizo que el problema podría ser en como estas corriendo el programa.

image

Consulté con el equipo a cargo de la tarea para confirmar que la forma en que ellos probaron el visualizador sea la misma a la indicada en el enunciado, te mantendré al tanto.

Un saludo ✨, Daniel

jarvasquezromo commented 1 year ago

Holaa! Gracias por la respuesta, estoy corriendo el código con la siguiente línea de comandos

clingo solucion.lp tests\1.lp | python visualizador\parser.py output.json

Quedo atento!

dfloreaa commented 1 year ago

Estás corriendo desde la carpeta DCCudoku verdad? Quizás debes usar / para las carpetas en lugar de \

Si eso no funciona, podrías añadir una línea a parser.py en la línea 7 que diga print(content), correr el comando y mostrarme tu terminal? En principio content representa la salida de tu programa de clingo que recibe el parser. Quizás el problema vaya por ahí.

Me avisas!

jarvasquezromo commented 1 year ago

Corrí el programa con el slash en vez del backslash y funcionó. Muchas gracias. Por qué pasa eso?

dfloreaa commented 1 year ago

Corrí el programa con el slash en vez del backslash y funcionó. Muchas gracias. Por qué pasa eso?

@jarvasquez tengo entendido que depende del sistema operativo que utilizes y como maneja los path.

Mientras que Windows utiliza el \ para separar sus paths, MacOS y Linux utilizan / (acá comentan más al respecto).

Asumo que estas ocupando un equipo con alguno de los dos últimos SSOO 🙃🙃

Menos mal pudimos solucionarlo, Saludos y éxito con tu tarea ✨

jarvasquezromo commented 1 year ago

Eso si ahora al correr el tests/2.lp me dice que la grilla es de tamaño 3 😬. En la siguiente imagen muestro el comando que utilizo y agrego print(content) en la línea 7 del parser.py como me comentaste @dfloreaa. ¿Qué crees que puede ser?

image

image

Como se ver el gridSize dice que es de 3 cuando el tablero de tamaño 5.

dfloreaa commented 1 year ago

Hola @jarvasquez, efectivamente tienes toda la razón. Metí mano en el código y edité la línea 13 para que efectivamente calcule gridSize correctamente. Esta debe ser reemplazada por:

n = int(max(re.findall(grid_size_pattern, content), key = lambda x: x[0])[0]) + 1

Un saludo, gracias por comentarlo! ✨

Maryangelm27 commented 1 year ago

@dfloreaa Hola! Yo estoy teniendo el mismo problema del inicio, estoy corriendo el código con la misma línea de comandos. Ya intenté cambiar el slash y no funcionó, también puse el print(content) en la línea 7 del parser.py pero el output.json sigue saliendo vacío a pesar de que en la terminal si sale una solución. Que puedo hacer?

jarvasquezromo commented 1 year ago

@dfloreaa, me funcionó muy bien. Gracias por la ayuda!!

bhenriquezsoto commented 1 year ago

@dfloreaa Hola! Yo estoy teniendo el mismo problema del inicio, estoy corriendo el código con la misma línea de comandos. Ya intenté cambiar el slash y no funcionó, también puse el print(content) en la línea 7 del parser.py pero el output.json sigue saliendo vacío a pesar de que en la terminal si sale una solución. Que puedo hacer?

Estoy teniendo el mismo problema :(

dfloreaa commented 1 year ago

@benja20029 ver issue #19, en caso de no lograr arreglarlo, por favor continúa reportando tus problemas mediante ella.