IIC2613-Inteligencia-Artificial-2023-2 / Syllabus

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

Problema con process.py #2

Closed MelanyLillo closed 1 year ago

MelanyLillo commented 1 year ago

Hola! Tengo un problema con el uso de process.py al agregar el parámetro de dirección. Solo agregué las 4 nuevas acciones y agregué el parámetro D en robotOn(R,X,Y,T,D). Además, al final agregué #show robotOn/5. para asegurar el funcionamiento. Sin embargo, me surge el siguiente error: answer.range_x = max(map(lambda x: get_number(x), list(filter(lambda x: "rangeX" in x, atoms)))) ValueError: max() arg is an empty sequence ¿Saben cómo podría arreglarlo?

dfloreaa commented 1 year ago

Hola, el problema se genera porque tu programa no retorna una solución al problema, te recomiendo revisar la salida de Clingo para estar seguro.

MelanyLillo commented 1 year ago

Hola! Si pasó eso, pero mi duda es por qué sucedió cuando solo agregué un parámetro y no creé nuevas reglas que afectaran el programa:(

dfloreaa commented 1 year ago

¿Estas corriendo el código en conjunto al archivo del mapa? Asegúrate de estar haciéndolo correctamente dado que es en ese en cual se define la regla de rangeX. Desde la carpeta de DCCarrybot (no la carpeta base de la tarea), debes correr la siguiente línea en tu terminal:

clingo robots.lp tests/old.lp -c bound=14 | python process.py

Avísame como te va, saludos :)

MelanyLillo commented 1 year ago

Hola! Ya logré arreglar mi error, gracias!

ndelpiano commented 1 year ago

@MelanyLillo como solucionaste el problema? porque me esta saliendo el mismo error

MelanyLillo commented 1 year ago

Es que estaba corriendo el mismo archivo robots.lp para todos los tests, pero solo el que nos entregaron funciona para old.lp, luego cuando agregues la dirección solo funcionará para los tests DX y al final cuando añadas la energía solo funcionará en los tests EX.

javieranavarrete commented 1 year ago

Hola!, tengo un problema pero solo con el rest d1 (d2 y d3 me dan output), en el cual me sale :

image

Lo extraño es que no modifiqué ninguna linea asociada a los obsteaculos, solo robotOn y boxAdjacentToRobot para incluir la direccionalidad.

esto tengo en show

image
dfloreaa commented 1 year ago

Hola @javieranavarrete , esto se debe a que no hay obstáculos presentes en el mapa. En todo caso, deberías tener un output correcto a menos que de las reglas utilizadas requieran de la definición de al menos una preposición obstacle(X, Y). En todo caso, los test con que corregiremos si incluirán obstáculos, ya que evaluarán esta parte y el uso de energía.

Un saludo ✨