Está en la página 1de 4

Realizar la explicación del ejercicio 1-1 de la sección 1.

3(Problemas resueltos) del libro Inteligencia


artificial Problemas resueltos utilizando búsqueda en amplitud, búsqueda en profundidad y
búsqueda con retroceso.
Búsqueda en amplitud
Algoritmo
El algoritmo consta de varios pasos en los cuales pueden existir subprocesos
1. Se crea una lista tipo FIFO y se le asigna como primer elemento el nodo raíz.
2. Se crea un ciclo que pare cuando la lista este vacía o se encuentre un estado meta.
a. Extraer el primer elemento de la lista y llamarlo m.
b. Expandir m, generar todos los sucesores.
i. Aplicar operador a m, obtener el nuevo estado y crear puntero que apunte
del nuevo nodo a m.
ii. Si el nuevo estado es meta salir y devolver el estado.
iii. Incluir nuevo estado al final de la lista

Ejercicio

1. Lo primero que se realiza es la creación de una lista tipo LIFO llamada ABIERTA a la cual
se le asigna como primer elemento la raíz del árbol en este caso el nodo que contiene la
letra A
• ABIERTA = A
• m= A

2. Posteriormente se extrae el primer elemento de la lista (la raíz) y se almacena en una


variable llamada m y se Agregan los sucesores de m al final de la lista, se asignan punteros
al elemento padre desde los nodos insertados.
• ABIERTA = D,F,G
• m=D
3. Se evalúa si es un estado meta y como no lo es nuevamente se extrae el primer elemento de
la lista y se almacena en la variable m y se expande, se generan sus sucesores agregándolos
al final de la lista, se asignan punteros al elemento padre desde los nodos insertados.
• ABIERTA = F,G,H,J
• m=F
4. Se continua con el primer elemento de la lista, evaluando si genera un estado meta y como
no lo es agrega sus nodos sucesores al final de la lista extrayendo el primer elemento de la
lista y ubicándolo en m, se asignan punteros al elemento padre desde los nodos insertados.
• ABIERTA = G,H,J,C,E
• m=G
5. Se continua con el primer elemento de la lista, como este es un nodo hoja, pero no un
estado meta se extrae de la lista pero no se agrega ningún nodo sucesor.
• ABIERTA = H,J,C,E
• m=H
6. Se toma el nuevo elemento de inicial de la lista y se evalúa si este genera un estado meta se
agrega un apuntador al padre y como el estado sucesor es un estado meta se termina el ciclo
y se devuelve dicho estado y no se agrega a lista.
• Resultado B es un estado meta que apunta a H y H a D y d a la raíz
que es A.
Búsqueda en profundidad
Algoritmo
El algoritmo consta de varios pasos en los cuales pueden existir subprocesos
1. Se crea una lista tipo LIFO y se le asigna como primer elemento el nodo raíz.
2. Se realiza un ciclo hasta que se encuentre un estado meta o se devuelva fallo.
a. Si la lista está vacía terminar con fallo sino continuar.
b. Seleccionar el primer nodo de la lista y llamarlo m.
c. Si la profundidad del nodo m es igual al limite de profundidad regresar a 2 sino
continuar.
d. Expandir m creando apuntadores desde los nodos generados a m agregar todos los
sucesores al inicio de la lista (no importa el orden de esta inserción).
i. Si algún sucesor de m es meta terminar ciclo, devolviendo camino de l
nodo meta al nodo raiz.
ii. Si algún sucesor de m está en callejón sin salida eliminarlo de la lista y se
continua desde 2.

Ejercicio

1. Lo primero que se realiza es la creación de una lista tipo LIFO llamada ABIERTA a la cual
se le asigna como primer elemento la raíz del árbol en este caso el nodo que contiene la
letra A y se ubica A en la variable m.
• ABIERTA = A
• m= A
2. Se agregan los nodos sucesores a la lista en cualquier orden y se toma el primero de la lista
para evaluar o expandir.
• ABIERTA = D,F,G
• m= D
3. Como el nodo elegido no es el meta se expande y se agrega al inicio sus sucesores y se
selecciona nuevamente el primer elemento.

• ABIERTA = H,J,F,G
• m= H
4. Como no es nodo solución se expande y se evalúa el nuevo primer elemento de la lista
como este es un estado meta finaliza el ciclo.

• ABIERTA = B,J,F,G
• m= B
5. La solución generada es el camino des de B hasta A usando los apuntadores de B a H de H
a D y de D a A la raíz.,, quedando el camino A,D,H,B.
Búsqueda con retroceso
Algoritmo
El algoritmo consta de varios pasos en los cuales pueden existir subprocesos
3. Se crea una lista tipo LIFO y se le asigna como primer elemento el nodo raíz.
4. Se realiza un ciclo hasta que se encuentre un estado meta o se devuelva fallo.
a. Si la lista está vacía terminar con fallo sino continuar.
b. Seleccionar el primer nodo de la lista y llamarlo m.
c. Si la profundidad del nodo m es igual al limite de profundidad o no tienen
sucesores no examinados removerlo de la lista regresar a 2 sino continuar.
d. Generar un nuevo sucesor m’ de m e introducirlo al inicio de la lista con un puntero
a m señalar que la rama ha sido recorrida.
i. Si m’ es meta terminar el proceso cíclico retornando camino solución,
recorriendo los punteros desde el nodo solución al nodo raíz.
ii. Si m’ está en callejón sin salida eliminarlo de la lista y se continua desde 2.

Ejercicio

6. Lo primero que se realiza es la creación de una lista tipo LIFO llamada ABIERTA a la cual
se le asigna como primer elemento la raíz del árbol en este caso el nodo que contiene la
letra A y se ubica A en la variable m y su sucesor en la variable m’ agregando esta al inicio
de la lista.
• ABIERTA = A
• m= A
• m’ = D
• ABIERTA = D,A

7. Como el nodo agregado no es solución y tiene sucesores nuevamente se opera sobre el


primer valor de la lista es decir sobre el nodo insertado.
• ABIERTA = D,A
• m= D
• m’ = H
• ABIERTA = H,D,A
8. Evaluamos nuevamente con el nuevo valor en la lista, pasamos dicho valor a la variable m y
su sucesor m’ como su sucesor es solución se termina el proceso.

• ABIERTA = H,D,A
• m= H
• m’ = B
• ABIERTA = B,H,D,A
9. La solución generada es el camino des de B hasta A usando los apuntadores de B a H de H
a D y de D a A la raíz.

También podría gustarte