Documente Academic
Documente Profesional
Documente Cultură
Bsqueda no informada
Bsqueda no informada
ndice
Bsqueda no informada
Bsqueda no informada
Problema
Solucion
INTERPRETACION
Bsqueda no informada
principio, el inicial)
Si el estado actual es nal, acabar (recopilando la sucesin
de operadores)
En caso contrario, obtener los sucesores del estado actual
(expandir)
Elegir un nuevo estado actual, dejando los restantes para
Bsqueda no informada
rboles de bsqueda
(4 0) (4 3) (1 3) (1 0)
(0 3) (3 0) (3 3)
Bsqueda no informada
rboles de bsqueda
Nodo de un rbol de bsqueda, componentes:
Estado Secuencia de operadores que conducen al estado desde el
bsqueda:
Arbol vs. grafo Nodos del rbol de bsqueda: estado + camino El rbol de bsqueda se construye incrementalmente y
Bsqueda no informada
Una variable global *ESTADO-INICIAL* Una funcin ES-ESTADO-FINAL(ESTADO) Una variable global *OPERADORES*. Una funcin APLICA(OPERADOR,ESTADO)
La funcin APLICA(OPERADOR,ESTADO):
Devuelve NO-APLICABLE si OPERADOR no es aplicable a ESTADO En caso contrario, devuelve el estado resultante de aplicar OPERADOR a ESTADO
Bsqueda no informada
Sucesores de un nodo:
FUNCION SUCESOR(NODO,OPERADOR) 1. Hacer ESTADO-SUCESOR igual a APLICA(OPERADOR,ESTADO(NODO)) 2. Si ESTADO-SUCESOR=NO-APLICABLE devolver NO-APLICABLE en caso contrario, devolver un nodo cuyo estado es ESTADO-SUCESOR y cuyo camino es el resultado de aadir OPERADOR a CAMINO(NODO) FUNCION SUCESORES(NODO) 1. Hacer SUCESORES vaco 2. Para cada OPERADOR en *OPERADORES*, si SUCESOR(NODO,OPERADOR) =/= NO-APLICABLE, incluir SUCESOR(NODO,OPERADOR) en SUCESORES 3. Devolver SUCESORES
Bsqueda no informada
FUNCION BUSQUEDA-GENERAL() 1. Hacer ABIERTOS la "cola" formada por el nodo inicial (es decir, el nodo cuyo estado es *ESTADO-INICIAL* y cuyo camino es vaco); Hacer CERRADOS vaco 2. Mientras que ABIERTOS no est vaca, 2.1 Hacer ACTUAL el primer nodo de ABIERTOS 2.2 Hacer ABIERTOS el resto de ABIERTOS 2.3 Poner el nodo ACTUAL en CERRADOS. 2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)), 2.4.1 devolver el nodo ACTUAL y terminar. 2.4.2 en caso contrario, 2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de SUCESORES(ACTUAL) cuyo estado no est ni en ABIERTOS ni en CERRADOS 2.4.2.2 Hacer ABIERTOS igual a GESTIONA-COLA(ABIERTOS,NUEVOS SUCESORES) 3. Devolver FALLO.
Bsqueda no informada
bsqueda
En determinados problemas es prescindible
GESTIONA-COLA(ABIERTOS,NUEVOS SUCESORES):
Aade NUEVOS-SUCESORES a ABIERTOS, reordenando
Bsqueda no informada
Completitud: si existe solucin, la encuentra? Solucin ptima o mnima: obtiene la solucin de menor
solucin?
Complejidad en espacio: cunta memoria necesitamos?
Bsqueda no informada
Siempre en notacin O, considerando el peor caso En funcin del tamao del problema de entrada: r (factor
Bsqueda no informada
Bsqueda no informada
Bsqueda en anchura
Arbol de bsqueda en anchura en el problema de las
jarras:
(0 0) 1
(4 0) 2 (4 3) 4 (1 3) 5 (1 0) 7
(0 3) 3 (3 0) 6 (3 3) 8
(0 1) 9
(4 2) 10
(4 1) 11
(0 2) 12
(2 3) 13
(2 0)
Bsqueda no informada
Bsqueda en anchura
Bsqueda en anchura para el problema de las jarras:
Nodo 1 2 3 4 5 6 7 8 9 10 11 12 13 Actual (0 0) (4 0) (0 3) (4 3) (1 3) (3 0) (1 0) (3 3) (0 1) (4 2) (4 1) (0 2) (2 3) Sucesores ((4 0) (0 3)) ((4 3) (1 3)) ((3 0)) () ((1 0)) ((3 3)) ((0 1)) ((4 2)) ((4 1)) ((0 2)) ((2 3)) ((2 0)) Abiertos ((0 0)) ((4 0) (0 3)) ((0 3) (4 3) (1 3)) ((4 3) (1 3) (3 0)) ((1 3) (3 0)) ((3 0) (1 0)) ((1 0) (3 3)) ((3 3) (0 1)) ((0 1) (4 2)) ((4 2) (4 1)) ((4 1) (0 2)) ((0 2) (2 3)) ((2 3) (2 0))
Bsqueda no informada
Complejidad en tiempo O (r p ), donde: r : factor de ramicacin. p : profundidad de la solucin ms corta. Complejidad en espacio O (r p ). Es completa. Obtiene una solucin con el mnimo nmero de
operadores.
Bsqueda no informada
inasumible en la prctica
Suponiendo ramicacin 10, 106 nodos por seg. y 1000
bytes por nodo: Profundidad 2 4 6 8 10 12 14 16 Nodos 110 11110 106 108 1010 1012 1014 1016 Tiempo 0.11 ms. 11 ms. 1.1 s. 2 min. 3 horas 13 das 3.5 aos 350 aos Espacio 107 Kb 10.6 Mb 1 Gb 103 Gb 10 Tb 1 Pb 99 Pb 10 Eb
Bsqueda no informada
pila (LIFO):
FUNCION BUSQUEDA-EN-PROFUNDIDAD() 1. Hacer ABIERTOS la pila formada por el nodo inicial (el nodo cuyo estado es *ESTADO-INICIAL* y cuyo camino es vaco) Hacer CERRADOS vaco 2. Mientras que ABIERTOS no est vaca, 2.1 Hacer ACTUAL el primer nodo de ABIERTOS 2.2 Hacer ABIERTOS el resto de ABIERTOS 2.3 Poner el nodo ACTUAL en CERRADOS. 2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)), 2.4.1 devolver el nodo ACTUAL y terminar. 2.4.2 en caso contrario, 2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de SUCESORES(ACTUAL) cuyo estado no est ni en ABIERTOS ni en CERRADOS 2.4.2.2 Hacer ABIERTOS el resultado de incluir NUEVOS-SUCESORES al principio de ABIERTOS 3. Devolver FALLO.
Bsqueda no informada
Bsqueda en profundidad
Arbol de bsqueda en profundidad para el problema de las
jarras:
(0 0) 1
(4 0) 2 (4 3) 3 (1 3) 4 (1 0) 5
(0 3)
(0 1) 6
(4 1) 7
(2 3) 8
Bsqueda no informada
Bsqueda en profundidad
Tabla de bsqueda en profundidad para el problema de las
jarras: Nodo 1 2 3 4 5 6 7 8
Actual (0 0) (4 0) (4 3) (1 3) (1 0) (0 1) (4 1) (2 3)
Sucesores ((4 0) (0 3)) ((4 3) (1 3)) () ((1 0)) ((0 1)) ((4 1)) ((2 3))
Abiertos ((0 0)) ((4 0) (0 3)) ((4 3) (1 3) (0 3)) ((1 3) (0 3)) ((1 0) (0 3)) ((0 1) (0 3)) ((4 1) (0 3)) ((2 3) (0 3))
Bsqueda no informada
mnima.
Complejidad en tiempo O (r m ), donde:
r : factor de ramicacin. m: mxima profundidad de la bsqueda.
Bsqueda no informada
caminos cclicos (y por tanto no se necesita la lista de CERRADOS para detectar ciclos) En general, para detectar ciclos slo es necesario almacenar los nodos de la rama que se est explorando en cada momento Es decir, es sencillo implementar una bsqueda en profundidad que, an detectando ciclos, tiene complejidad espacial O (r m) Por tanto, en general consideraremos que la bsqueda en
Bsqueda no informada
bsqueda en profundidad
Idea: no explorar caminos ms all de una determinada
longitud.
Problema: tampoco es completa, si la cota es menor de la
Bsqueda no informada
Bsqueda no informada
solucin, la implementacin anterior podra no encontrar solucin, debido a CERRADOS La versin que no usa CERRADOS s es completa cuando la cota es mayor que la profundidad de una solucin No necesariamente obtiene una solucin mnima
Bsqueda no informada
Bsqueda no informada
las jarras):
(0 0) 1,2,5,11,19,29,41
(4 0) 3,6,12,20,30,42
(0 3) 4,9,16,25,36
(0 1) 24,34,46
(4 2)
28,39
(4 1) 35,47
(0 2) 40
(2 3) 48
(2 0)
Bsqueda no informada
Complejidad en tiempo O (r p ), donde: r : factor de ramicacin. p : profundidad de solucin. Complejidad en espacio, O (rp ). Es completa Obtiene una solucin con el mnimo nmero de
Bsqueda no informada
de bsqueda es grande y no se conoce la profundidad de la solucin La redundancia en la expansin queda compensada con la completitud
Adems, la redundancia no es signicativa Ejemplo, r = 10 y p = 5: Bsqueda acotada, nodos analizados:
rbol
Bsqueda no informada
Comparacin de procedimientos
Profundidad O (r m ) O (rm) No No
Bsqueda no informada
Bibliografa
Russell, S. y Norvig, P. Inteligencia articial: Un enfoque
(McGrawHill, 2001)]
Cap. 8: Bsqueda a ciegas Poole, D.; Mackworth, A. y Goebel, R. Computational