IIC2613-Inteligencia-Artificial-2021-2 / Syllabus

Repositorio base del curso, donde se publicarán enunciados, ayudantías y se resolverán dudas.
32 stars 6 forks source link

Número de expansiones - IDDFS #63

Closed DomingoCarvajal closed 3 years ago

DomingoCarvajal commented 3 years ago

Hola tenía una duda sobre el número de expansiones en el algoritmo IDDFS, sobre todo por lo que se pide en los tests.

En el primer test: https://github.com/IIC2613-Inteligencia-Artificial-2021-2/Search-py/blob/d7e7fca6b93c3ad9e1a8cc0a5a4958988bf01c61/search/algorithms/iddfs_test.py#L16-L37

se nos pide 22 expansiones que es el número exacto de nodos.

Pero en este test:

https://github.com/IIC2613-Inteligencia-Artificial-2021-2/Search-py/blob/d7e7fca6b93c3ad9e1a8cc0a5a4958988bf01c61/search/algorithms/iddfs_test.py#L76-L92

se nos pide que haya más expansiones que número de nodos.

Me queda la duda por de cualquier manera que lo implementes no se van a poder cumplir estas 2 cosas, puedes reiniciar el contador de expansiones cada iteracion de DFS, para que no te de un número mayor que el de nodos, o no reiniciarlo, pero eso significara que te va a dar un numero mayor que el de nodos (por lo menos en estos tests pasa, ya que no esta la solucion mas cerca).

La única manera que veo que esto pueda darse es si partes poniendo un limite inicial bien grande, tal que el primer test sea recorrido en una iteración, y así se expanda el número exacto de nodos, pero dudo que se necesite esta implementación tan específica del algoritmo.

En resumen, hay que reiniciar el contador de expansiones en cada iteración? Y luego como hago para pasar estos 2 tests?

No se si estoy muy perdido o no, busque en las issues si tal vez habia un test malo pero no encontré nada.

Dietr1ch commented 3 years ago

Hola tenía una duda sobre el número de expansiones en el algoritmo IDDFS, sobre todo por lo que se pide en los tests.

En el primer test: https://github.com/IIC2613-Inteligencia-Artificial-2021-2/Search-py/blob/d7e7fca6b93c3ad9e1a8cc0a5a4958988bf01c61/search/algorithms/iddfs_test.py#L16-L37

se nos pide 22 expansiones que es el número exacto de nodos.

Pero en este test:

https://github.com/IIC2613-Inteligencia-Artificial-2021-2/Search-py/blob/d7e7fca6b93c3ad9e1a8cc0a5a4958988bf01c61/search/algorithms/iddfs_test.py#L76-L92

se nos pide que haya más expansiones que número de nodos.

Me queda la duda por de cualquier manera que lo implementes no se van a poder cumplir estas 2 cosas, puedes reiniciar el contador de expansiones cada iteracion de DFS

¿Por qué te olvidarías de contar todo el trabajo que ya hiciste en las iteraciones anteriores?

La única manera que veo que esto pueda darse es si partes poniendo un limite inicial bien grande, tal que el primer test sea recorrido en una iteración, y así se expanda el número exacto de nodos, pero dudo que se necesite esta implementación tan específica del algoritmo.

Claro, pueden modificar el límite de expansiones de ~2500 que viene por default.

En resumen, hay que reiniciar el contador de expansiones en cada iteración?

No, esto es incorrecto.

Y luego como hago para pasar estos 2 tests?

Simplemente aumentar el límite de expansiones.