Está en la página 1de 9

Bsqueda no Informada

Algoritmos de bsqueda no informada:


Primero en anchura, primero en profundidad y descenso iterativo

Primero en anchura: bpa


1. Abiertos (n0); Cerrados () 2. Si Abiertos = ( ), fin devolviendo fallo 3. n primer elemento de Abiertos; eliminar n de Abiertos y llevarlo a Cerrados; Suc () 4. Si n es meta, fin con xito, devolviendo el camino 5. expandir n, colocando sus hijos en Suc, como hijos de n 6. eliminar de Suc cualquier nodo cuyo estado ya est asociado a algn nodo de Abiertos o Cerrados 7. colocar los nodos de Suc al final de Abiertos 8. Ir a 2

Bsqueda no informada

Consumo de tiempo y memoria Bsqueda primero en anchura


Profundidad
0

Nodos
1

Tiempo
1 milisegundo

Memoria
100 bytes

2 4 6 8
10

111 11,111 106 108


1010

.1 segundos 11 segundos 18 minutos 31 horas


128 das

11 kbytes 1Mbyte 111 Mbytes 11 Gbytes


1 Tbyte

12 14

1012 1014

35 aos

111 Tbytes

3500 aos 11,111 Tbytes

Complejidad espacial y temporal O(bd) Factor ramificacin medio: 10; 1000 nodos/segundo; 100 bytes/nodo Bsqueda no informada 3

Coste uniforme

Variante BPA Criterio expansin de nodos:

expandir primero el nodo cuyo camino tenga el menor coste

Equivalente a BPA si todos los costes son iguales Comportamiento:

similar a BPA admisible


Bsqueda no informada 4

Primero en profundidad (bsico) bpp


1. 2. 3. 4. 5. 6. 7. 8. 9. Si n0 es meta, fin con xito, devolviendo n0 Abiertos (n0); Cerrados () Si abiertos = ( ), fin devolviendo fallo n primer elemento de Abiertos; eliminar n de Abiertos y llevarlo a Cerrados; Suc () expandir n, colocando sus hijos en Suc, como hijos de n Si alguno de los hijos de n es un nodo meta, fin con xito, devolviendo el camino eliminar de Suc cualquier nodo cuyo estado ya est asociado a algn nodo de Abiertos o Cerrados colocar los nodos de Suc al principio de Abiertos Ir a 3
Bsqueda no informada 5

Primero en profundidad: bpp


Si n0 es meta, fin con xito, devolviendo n0 Abiertos (n0); Cerrados () Si Abiertos = ( ), fin devolviendo fallo n primer elemento de Abiertos; eliminar n de Abiertos y llevarlo al principio de Cerrados; Suc () 5. expandir n, colocando sus hijos en Suc, como hijos de n 6. Si alguno de los hijos de n es un nodo meta, fin con xito, devolviendo el camino 7. eliminar de Suc cualquier nodo cuyo estado ya est asociado a algn nodo de Abiertos o Cerrados 8. Si Suc = ( ), limpiar_cerrados 9. colocar los nodos de Suc al principio de Abiertos 10. Ir a 3 1. 2. 3. 4.

Bsqueda no informada

Primero en profundidad limitado: bppl(pmax)


Si n0 es meta, fin con xito, devolviendo n0 Abiertos (n0); Cerrados () Si Abiertos = ( ), fin devolviendo fallo n primer elemento de Abiertos; eliminar n de Abiertos y llevarlo al principio de Cerrados; Suc = () 5. Si profundidad(n) < pmax, 1. 2. 3. 4.
5.1. expandir n, colocando sus hijos en Suc, como hijos de n 5.2. Si alguno de los hijos de n es un nodo meta, fin con xito, devolviendo el camino 5.3. eliminar de Suc cualquier nodo cuyo estado ya est asociado a algn nodo de Abiertos o Cerrados

6. Si Suc = ( ), limpiar_cerrados 7. colocar los nodos de Suc al principio de Abiertos 8. Ir a 3

Bsqueda no informada

Descenso Iterativo
1. 2. 3. 4. pmax 0 Si bppl(pmax) devuelve xito, fin con xito pmax = pmax 1 Ir a 2

Bsqueda no informada

Resumen comportamiento
BPA BPP BPPL l<d BPPL l>=d DI

Completo? Admisible? Complejidad espacial Complejidad temporal

SI SI O(bd) O(bd)

NO NO bm O(bm)

NO NO bl O(bl)

SI NO bl O(bl)

SI SI bd O(bd)

peor caso, rbol de bsqueda, igual coste


b: factor de ramificacin medio d: profundidad solucin m: profundidad mxima l: lmite profundidad
Bsqueda no informada 9

También podría gustarte