¿Qué entienden vosotros al leer este enunciado? Tema algoritmia

Hola gente, os cuento:

Tengo que desarrollar una serie de algoritmos de búsqueda en python (para la universidad), y estoy muy muy estancado. Por más que leo el enunciado no me aclaro. Mi problema está en el segundo algoritmo, al aplicar backtracking. Os dejo por aquí un enlace al enunciado del trabajo: https://www.dropbox.com/s/ucsuoiiy70djwsp/BeamSearch.pdf?dl=0

¿Qué entendéis vosotros? Según yo he podido entender, elimina en memoria el último bloque, y pasa al siguiente y así sucesivamente hasta que se terminan los bloques de un nivel y retrocede, es decir, hace el backtracking. Pero si os fijáis en el dibujo que te proporcionan (figura 2) pasa del nivel 3 al 5 sin revisar todos los bloques restantes. No se si es que estoy muy 'tonto' o que está mal explicado, pero estoy bastante estancado, he hecho ya varias implementaciones (llevo casi dos semanas dándole vueltas) y no me termina de cuajar ninguna, y puede que esté entendiendo el concepto mal, por lo que un nuevo punto de vista, nunca viene mal.

Un saludo y muchas gracias de antemano.

PD: envié email a casi todos los profesores del departamento, pero se ve que no trabajan ni en julio, ni agosto :(
No está mal explicado del todo, pero deja bastante que desear. Si lo hacen con estructura de arbol, pues no se porque no lo explican como si fuera un árbol.

Lo que te piden es que vayas avanzando por una rama hasta que llegues al nodo de profundidad máxima o se llene la memoria, cuando esto pase, eliminas este último nodo y vas explorando los hermanos de éste hasta que no tenga más hermanos. Cuando esto ocurra, vuelves al nodo padre de éste y sigues por el siguiente hijo del nodo padre.

PD: los nodos serían los cuadraditos, los hermanos son los cuadraditos que están orientados hacia el mismo lado.

PDD: básicamente es una busqueda con retroceso normal y corriente, hay mil de información de esto para orientarte.
1 respuesta