Está en la página 1de 22

Búsqueda

informada

Edgar A. Catalan Salgado


Cuando se puede utilizar información que ayude a enfocar u optimizar la búsqueda, entonces
estamos hablando de una una búsqueda informada. Esto es, se tiene información útil que se
puede utilizar para tomar las decisiones.
El algoritmo A* considera:

1. Una medida de distancia al objetivo, esto es, que tanto le falta para llegar o cumplir el
objetivo o meta desde su estado actual :

d(A,M)

2. El costo acumulado para llegar a su estado actual ( que tanto le ha costado desde que
empezó hasta su estado actual)

c( I,A )

3. Una forma de relacionarlos, la cual se considerará como la evaluación a utilizar.

h(A, I, M)= c( I,A)+d(A,M)


Si en el grafo de una búsqueda, cada nodo representa el estado de la búsqueda en un
determinado momento, considerando un determinado nodo como el actual. Entonces cada
nodo, puede tener su respectiva evaluación y con respecto a esta indicar si un nodo es mejor que
otro y con esto determinar cuál es la mejor decisión
Nos acercamos al objetivo Nos acercamos al objetivo Nos alejamos del objetivo Nos alejamos del objetivo
con un costo bajo, por lo con un costo mayor, por lo con un costo bajo, por lo con un costomayor, por lo
que tiene la mejor que su evaluación no es la que su evaluación no es la que su evaluación no es la
evaluación mejor mejor mejor
Aunque el árbol crezca
podemos considerar la
evaluación
independientemente de su
ubicación, y de su padre, en
este caso podemos comparar
los nodos F y G con los nodos B,
C y D. Y así dirigir su
crecimiento tratando de
mejorar su evaluación
Para llevar un mejor control se considera un estado para los nodos, con las siguientes
posibilidades:

1. Abierto: Nodo creado y evaluado


2. Cerrado: Nodo creado, evaluado y ya se crearon todos sus posibles hijos. Por lo que ya no
se puede hacer nada

En el algoritmo se lleva el control de estos estados usando dos conjuntos

O= Conjunto de nodos con el estado de abierto (Open)

C=Conjunto de nodos con el estado de Cerrado(Closed)


El algoritmos entonces es:

1. Definir el inicio y el final


2. Crear el nodo inicial
3. Insertar el nuevo nodo en el conjunto de abiertos O
4. seleccionar en el conjunto de abiertos O al nodo x que tenga la mejor evaluación “h”
5. Cerrar el nodo x:
a. Si no tiene hijos pasar a 5.c
b. Si tiene hijos crear sus hijos, evaluarlos e insertarlos en el conjunto de abiertos
c. Pasar el nodo x a cerrados, esto es eliminarlo del conjunto de abiertos e insertarlo en el conjunto
de cerrados
6. Repetir desde 4 hasta que se llegue a la meta ( el nodo exista dentro del conjunto de
abiertos) o el conjunto de abiertos este vacío, en cuyo caso la meta es inviable desde ese
punto de inicio con las opciones existentes.
7. Recorrer el árbol desde el el nodo final hacia el inicio para obtener la ruta óptima.
Suponga que un chango empieza en 3C y quiere ir
por unos plátanos ubicados en 3F, ¿cual es su mejor
ruta?
Suponga que un chango empieza en 3C y quiere ir por unos platanos ubicados en 3F,
¿cual es su mejor ruta?

Inicio= 3C

Meta=3F

Medida distancia= manhattan

Haciendo A=1, B=2, etc

(3,C)--> (3,3) (3,F)-->(3,6)

D(I,M)=((3,3), (3,6)=|3-3| + |3-6|=3


O={3C}

C={∅}
O
O={2C, 3B, 4C, 3D}
O
C={3C}
O O
C

O
O={3B, 4C, 3D, 2B, 1C, 2D}
O
C={3C,2C}
O C O

O O
C

O
O={3B, 4C, 3D, 2B, 1C,1D, 2E}
O O
C={3C,2C, 2D}
O C C O

O O
C

O
O={3B, 4C, 3D, 2B, 1C,1D, 1E, 2F,3E}
O O O
C={3C,2C, 2D,2E}
C C C O
O

O O O
C

O
O={3B, 4C, 3D, 2B, 1C,1D, 1E,3E,1F, 2G, 3F}

C={3C,2C, 2D,2E,2F}
O O O O

O C C C C O

O O O O
C

O
O O O O

O C C C C O

O O O O
C

O={3B, 4C, 3D, 2B, 1C,1D,

1E,3E,1F, 2G, 3F}

C={3A,2C, 2D,2E,2F}

R=[3C, 2C, 2D, 2E, 2F, 3F]


O

O={10A}

C={∅}
O

C O

O={9A, 10B, 11A}

C={10A}
O

C O

C O

O={10B, 11A, 8A, 9B}

C={10A,9A}
O

C O O
O
C C
O O

O={11A, 8A, 9B, 10C, 11B}

C={10A,9A,10B}
O

C O O
O
C C
O O

O={11A, 8A, 9B, 10C, 11B}

C={10A,9A,10B}

R=[10A, 10B,10C]

También podría gustarte