11

Búsqueda Primero el Mejor

Embed Size (px)

Citation preview

Page 1: Búsqueda Primero el Mejor
Page 2: Búsqueda Primero el Mejor

Búsqueda Primero el Mejor(Best – First)

Algoritmo:1. Sea L una Lista de nodos iniciales.

2. Sea N el nodo más cercano a la meta (el mejor). Si L está vacía, falla.

3. Si N es la meta. Regrese la trayectoria desde el nodo inicial al nodo N.

4. Si N no es una meta. Buscar los hijos de N, colocarlos en L, etiquetándolos con la trayectoria desde el nodo inicial. Retorne al paso 2.

Page 3: Búsqueda Primero el Mejor

Búsqueda Primero el Mejor(Best – First)

• La búsqueda primero el mejor es un caso en el cual se seleccionaun nodo para la expansión basada en una función deevaluación f(n).

• Esta función evaluación devuelve un número que sirve pararepresentar lo deseable o indeseable que seria la expansión de unnodo. Se expande primero aquel nodo que tiene mejor evaluación.Se escoge el que parece ser el mejor pero puede no serlo.

• Hay una familia entera de algoritmos de Búsqueda-Primero-Mejor con funciones de evaluación diferentes. Un componente clavede estos algoritmos es una función heurística, denotada h(n):

• h(n) = coste estimado del camino más barato desde el nodo n a unnodo objetivo.

Page 4: Búsqueda Primero el Mejor

Ejemplo

Un sistema puede encontrarse en un conjunto de estados {S0, …., S8}.Su estado inicial es S0y los estados meta, S7y S8. Considérense lossiguientes operadores y costes asociados a cada operador:

OP1: S3→S8(coste 5) OP2: S2→S3(coste 25) OP3: S5→S3(coste 20)OP4: S1→S2(coste 100) OP5: S4→S2(coste 80) OP6: S6→S7(coste 100)OP7: S0→S1(coste 10) OP8: S0→S4(coste 10) OP9: S0→S5(coste 20)OP10: S0→S6(coste 20)

Considérense también los siguientes valores de la función heurística h,que estima el menor coste desde cada nodo a un nodo meta:

h(S0) = 40 h(S3) = 10 h(S6) = 110h(S1) = 20 h(S4) = 40 h(S7) = 0h(S2) = 20 h(S5) = 100 h(S8) = 0

En este caso la característica deseable para expandir los nodos sebasa en encontrar aquel que tenga el menor valor para la función h(s).

Page 5: Búsqueda Primero el Mejor

• Se tiene como nodo inicial

S0 y se observa que los

nodos que están

directamente conectados

con el son S1, S4, S5 y S6.

Page 6: Búsqueda Primero el Mejor

• Se expanden los nodos

directamente conectados

con S0 y se observan sus

valores para la función

heurística.

• El nodo con menor valor

para la función heurística es

S1.

Page 7: Búsqueda Primero el Mejor

• El recorrido continua por el

nodo S1 y se agregan los

nodos directamente unidos

a el. En este caso el único

nodo directamente

conectado es S2.

• Como caso hipotético: si

existiera un nodo S9 con un

valor igual a 40 para la

función heurística el

recorrido debería seguir por

el nodo S2 debido a que es

este el que cuenta con el

valor menor para la función

h(s), que es el criterio

elegido para seleccionar el

nodo por el cual se

continuara con el recorrido.

Page 8: Búsqueda Primero el Mejor

• Se agrega S3, que es el

único nodo directamente

conectado con S2.

• Nuevamente como caso

hipotético: Si hubiese un

nodo S10 conectado con S2

y el mismo tuviera un valor

igual a 5 para la función

h(s) el recorrido debería

seguir por S10. Como se

menciono anteriormente,

este es un caso hipotético.

Page 9: Búsqueda Primero el Mejor

• Se agregan los nodos

conectados directamente

con S3. En este caso solo

existe uno el cual es S8.

• Se puede observar que el

valor para la función

heurística h(s) para S8 es

0. Esto quiere decir que S8

es un estado meta.

Page 10: Búsqueda Primero el Mejor

• Se anota el camino solución

analizando el recorrido

hecho por el algoritmo.

• Al sumar los valores del

coste de los recorridos entre

los nodos se puede conocer

cual es la distancia que

existen entre los mismos.

En este caso la suma seria

10 + 100 + 25 + 5 = 140.

Page 11: Búsqueda Primero el Mejor

• Se puede observar en la tabla que el nodo S7 también tiene unvalor de 0 para la función h(s). Sin embargo el algoritmo debúsqueda primero el mejor tiene como objetivo encontrar la mejorruta o solución basado en el los valores dados por una funciónheurística que se aplica a cada nodo del recorrido y en este casoesa respuesta esta dada por el camino que lleva hacia el nodo S8.

• A diferencia de los algoritmos de búsqueda no informada, estealgoritmo garantiza que su resultado sea el mas óptimo.

• El valor de una función heurística y los criterios por los cuales seconsidera un valor mejor que otro dependen de cual sea elplanteamiento del problema dado y qué criterios se tengan encuenta para encontrar una meta.