Вы находитесь на странице: 1из 3

BSQUEDA ITERATIVA LIMITADA POR PROFUNDIDAD. Se impone un lmite a la profundidad mxima.

Para ello se usa un algoritmo general de bsqueda con operadores que se informan constantemente de la profundidad.

Con la bsqueda limitada por profundidad se eliminan las dificultades que conlleva la bsqueda preferente por profundidad al imponer un lmite a la profundidad mxima de una ruta. Para implantar tal lmite se utiliza un algoritmo especial de bsqueda limitada por profundidad, o utilizando el algoritmo general de bsqueda con operadores que se informan constantemente de la profundidad. Por ejemplo, si en el mapa de Rumania hay 20 ciudades, sabemos que en caso de que exista una solucin, sta deber tener como mximo 19 ciudades. La implementacin del lmite de profundidad se lleva a cabo utilizando operadores del tipo: "Si usted Se encuentra en la ciudad A y hasta all ha recorrido una ruta que incluya menos de 19 pasos, proceda a generar un nuevo estado en la ciudad B con una longitud de ruta que sea una unidad mayor". Este nuevo conjunto de operadores garantiza que, de existir, se encontrar la solucin; lo que no se garantiza es que la primera solucin encontrada sea necesariamente la ms breve: la bsqueda limitada por profundidad es completa, pero no ptima. Incluso, de escogerse un lmite de profundidad excesivamente pequeo, la bsqueda limitada por profundidad ni siquiera ser completa. La complejidad espacio-temporal de la bsqueda limitada por profundidad es similar a la bsqueda preferente por profundidad. Requiere un tiempo de O(b l) y un espacio O(bl), en donde I es el lmite de la profundidad.

BSQUEDA ITERATIVA LIMITADA POR PROFUNDIZACIN ITERATIVA. Esquiva el tema de la eleccin del mejor lmite de la profundidad probando todos los lmites de profundidad posibles: la primera profundidad 0, luego 2, 3 ... n

Lo difcil en una bsqueda limitada por profundidad es la eleccin de un lmite adecuado. En el caso del problema de Rumania el lmite de 19 se escogi porque se trataba de un lmite "obvio", aunque en realidad, de haber observado atentamente el mapa, nos habramos dado cuenta de que es posible llegar a cualquier ciudad a partir de cualquiera otra en un mximo de 9 pasos. Este nmero, conocido como el dimetro del espacio de estados, constituye un mejor lmite de profundidad, lo que, a su vez, favorece una bsqueda limitada por profundidad ms eficiente. Sin embargo, en la mayora de los problemas, no es posible determinar un adecuado lmite de profundidad hasta no haber resuelto el problema. La bsqueda por profundizacin iterativa es una estrategia que esquiva el tema de la eleccin del mejor lmite de la profundidad probando todos los lmites de profundidad posibles: la primera profundidad 0, luego la profundidad 1, luego la profundidad 2, etctera.

En efecto, en la profundizacin iterativa se combinan las ventajas de las bsquedas preferente por profundidad y preferente por amplitud. Es ptima y completa, como la bsqueda preferente por amplitud, al tiempo que la memoria que necesita es slo la de la bsqueda preferente por profundidad. El orden de expansin de los estados es semejante a la preferente por amplitud, excepto que algunos de los estados se expanden varias veces. En la siguiente figura se muestra la primera de cuatro iteraciones de la BSQUEDA-POR PROFUNDIZACIN-ITERATIVA en un rbol de bsqueda binario.

La bsqueda por profundizacin iterativa podra dar la impresin de que es un desperdicio, debido a la expansin de tantos estados tantas veces. Sin embargo, en la mayora de los problemas, el exceso de esta expansin mltiple resulta ser en realidad bastante pequea. La explicacin intuitiva de lo anterior es que en un rbol de bsqueda exponencial, casi todos los nodos estn en el nivel inferior, por lo que no es tan importante que los niveles superiores se expandan varias veces. Recurdese que la cantidad de expansiones de una bsqueda limitada por profundidad hasta una profundidad d con factor de ramificacin b es: I + b + b2 + ...+ bd-2 + ...+ bd-l + bd Para obtener un valor especfico, supngase que b = 10 y d = 5; la cantidad correspondiente es: I + 10+ 100+ 1,000+ 10,000+ 100,000= 111,111 En el caso de una bsqueda de profundizacin iterativa, los nodos que estn en el nivel inferior se expanden una vez y los que aparecen a continuacin del nivel inferior se expanden dos veces,

etctera, hasta llegar a la raz del rbol de bsqueda, que se expande d + I. As que la cantidad total de expansiones en una bsqueda por profundizacin iterativa es: (d+ 1) 1 + (d)b+ (d-l) b2 + ...+ 3bd-2 + 2bd-11 +lbd En este caso, si b = 1 0 y d = 5, la cantidad correspondiente es: 6 + 50 +400 + 3,000 + 20,000 +100,000 = 123,456 Una bsqueda por profundizacin iterativa que comience por la profundidad 1 y contine hasta llegar a la profundidad d expande slo 11% ms nodos que una bsqueda preferente por amplitud o por profundidad hasta la profundidad d, cuando b = 10. Cuanto mayor sea el factor de ramificacin menor ser el exceso de repeticin de estados expandidos; incluso cuando el factor de ramificacin es 2, la bsqueda por profundizacin iterativa slo consume lo doble que una bsqueda preferente por amplitud completa: Es decir que la complejidad temporal de la profundizacin iterativa sigue siendo O(b d) y la complejidad 'espacial es O(bd). Por lo general, la profundizacin iterativa es el mtodo idneo para aquellos casos desde el espacio de bsqueda es grande y se ignora la profundidad de la solucin. VENTAJA: combina las ventajas de la bsqueda preferente por profundidad y por amplitud. La memoria que necesita es solo la de preferente por profundidad.

Вам также может понравиться