Está en la página 1de 12

BUSQUEDA

BUSQUEDA NO INFORMADA
No se consideran los costos.
Se recorre el grafo en una secuencia predeterminada, que puede ser:
− Horizontal o por niveles
− Vertical o en profundidad
TIPOS DE BÚSQUEDA NO INFORMADA:
1. BÚSQUEDA HORIZONTAL O POR NIVELES
2. BÚSQUEDA VERTICAL O EN PROFUNDIDAD
BUSQUEDA NO INFORMADA EN ÁRBOLES

1. BÚSQUEDA HORIZONTAL O POR NIVELES


Primero se visita el nodo raíz (nivel 0).
Luego se visitan los nodos del nivel 1, de izquierda a derecha
Y sucesivamente se visitan los nodos nivel por nivel (en cada
nivel de izquierda a derecha), hasta llegar al nodo objetivo o
hasta visitar todos los nodos del árbol.
BUSQUEDA NO INFORMADA EN ÁRBOLES
1. BÚSQUEDA HORIZONTAL O POR NIVELES EN ÁRBOLES
Primero se visita el nodo raíz o nodo inicial (nivel 0).
Luego se visitan los nodos del nivel 1, de izquierda a derecha
Y sucesivamente se visitan los nodos nivel por nivel, hasta llegar al nodo
objetivo o hasta visitar todos los nodos del árbol.
Nodo inicial Nivel RECORRIDO HORIZONTAL:
S 0 S–A–B–C–D–E–F-H- G

1
A B

C D E F
2

H G I J K L M N
3
1. BUSQUEDA HORIZONTAL EN ÁRBOLES

ALGORITMO:
Está basado en el ALGORITMO GENERAL DE BÚSQUEDA
Se consideran:
N = nodo que se está visitando actualmente
ABIERTOS = lista de nodos habilitados para ser visitados a continuación
CERRADOS = lista de nodos ya visitados (es el camino que se recorre
desde el nodo inicial al nodo objetivo)
1. BÚSQUEDA HORIZONTAL EN ÁRBOLES
ALGORITMO

1. CERRADOS  LISTA VACIA


2. ABIERTOS  LISTA QUE CONTIENE AL NODO INICIAL
3. WHILE ABIERTOS no es vacía DO
4. N  primero de ABIERTOS
5. insertar N al final de CERRADOS
6. IF N es igual al NODO OBJETIVO RETURN CERRADOS
7. eliminar N de ABIERTOS
8. expandir N (obtener los hijos de N)
9. insertar los hijos de N al final de ABIERTOS
10. END-WHILE
11. Retornar FALLA
EJEMPLO DE N ABIERTOS CERRADOS EXPANDIR N
APLICACIÓN [S] [ ]
S [] [S] [A,B]
[A , B]
A [B] [ S, A ] [C,D]
[B, C, D]
B [C, D] [S, A, B ] [ E, F ]
[C, D, E, F]
C [D, E, F] [S, A, B, C ] [ H, G ]
[D, E, F, H, G]
D [E, F, H, G] [S, A, B, C, D ] [I, J]
[E, F, H, G, I, J]
E [F, H, G, I, J] [S, A, B, C, D, E] [K, L]
[F,H,G,I,J,K,L]
F [S,A,B,C,D,E,F]
2. BUSQUEDA VERTICAL O EN PROFUNDIDAD EN ÁRBOLES
Primero se visita el nodo raíz o nodo inicial (nivel 0). Luego se visitan los
nodos de la rama más hacia la izquierda, hasta llegar al nodo hoja
Y sucesivamente se visitan los nodos rama por rama, de izquierda a derecha
(una sola vez cada nodo) hasta llegar al nodo objetivo o hasta visitar todos
los nodos del árbol. NIVEL
Nodo inicial 0 RECORRIDO VERTICAL: (NODO OBJETIVO: G)
S
S–A–C–H–G
1
A B

2
C D E F

H G I J K L M N
3
2. BUSQUEDA VERTICAL EN ÁRBOLES
ALGORITMO:
Está basado en el ALGORITMO GENERAL DE BÚSQUEDA

Se consideran:
N = nodo que se está visitando actualmente
ABIERTOS = lista de nodos habilitados para ser visitados a
continuación
CERRADOS = lista de nodos ya visitados (es el camino que se
recorre desde el nodo inicial al nodo objetivo)
2. BÚSQUEDA VERTICAL EN ÁRBOLES
ALGORITMO

1. CERRADOS  LISTA VACIA


2. ABIERTOS  LISTA QUE CONTIENE AL NODO INICIAL
3. WHILE ABIERTOS no es vacía DO
4. N  primero de ABIERTOS
5. insertar N al final de CERRADOS
6. IF N es igual al NODO OBJETIVO RETURN CERRADOS
7. eliminar N de ABIERTOS
8. expandir N (obtener los hijos de N)
9. insertar los hijos de N al PRINCIPIO de ABIERTOS
10. END-WHILE
11. Retornar FALLA
EJEMPLO DE
APLICACIÓN N ABIERTOS CERRADOS EXPANDIR N
[S] [ ]
S [] [S] [A,B]
[A , B]
A [B] [ S, A ] [C,D]
[C, D, B]
C [D, B] [S, A, C ] [ H, G ]
[H, G, D, B]
H [G, D, B] [S, A, C, H ] [ ]
[G, D, B]
G [S, A, C, H, G ]
GRACIAS

También podría gustarte