Búsqueda Primero el Mejor

7,220 views
6,704 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
7,220
On SlideShare
0
From Embeds
0
Number of Embeds
124
Actions
Shares
0
Downloads
178
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Búsqueda Primero el Mejor

  1. 1. 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 nodoN.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 alpaso 2.
  2. 2. 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.
  3. 3. EjemploUn 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) = 0En 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).
  4. 4. • Se tiene como nodo inicialS0 y se observa que losnodos que estándirectamente conectadoscon el son S1, S4, S5 y S6.
  5. 5. • Se expanden los nodosdirectamente conectadoscon S0 y se observan susvalores para la funciónheurística.• El nodo con menor valorpara la función heurística esS1.
  6. 6. • El recorrido continua por elnodo S1 y se agregan losnodos directamente unidosa el. En este caso el úniconodo directamenteconectado es S2.• Como caso hipotético: siexistiera un nodo S9 con unvalor igual a 40 para lafunción heurística elrecorrido debería seguir porel nodo S2 debido a que eseste el que cuenta con elvalor menor para la funciónh(s), que es el criterioelegido para seleccionar elnodo por el cual secontinuara con el recorrido.
  7. 7. • Se agrega S3, que es elúnico nodo directamenteconectado con S2.• Nuevamente como casohipotético: Si hubiese unnodo S10 conectado con S2y el mismo tuviera un valorigual a 5 para la funciónh(s) el recorrido deberíaseguir por S10. Como semenciono anteriormente,este es un caso hipotético.
  8. 8. • Se agregan los nodosconectados directamentecon S3. En este caso soloexiste uno el cual es S8.• Se puede observar que elvalor para la funciónheurística h(s) para S8 es0. Esto quiere decir que S8es un estado meta.
  9. 9. • Se anota el camino soluciónanalizando el recorridohecho por el algoritmo.• Al sumar los valores delcoste de los recorridos entrelos nodos se puede conocercual es la distancia queexisten entre los mismos.En este caso la suma seria10 + 100 + 25 + 5 = 140.
  10. 10. • 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.

×