{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

7. Búsqueda informada - Incorporando...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon
Incorporando el Costo Incurrido como Factor de Decisi´ on Para encontrar soluciones ´ optimas, es necesario incorporar el costo para llegar a cada nodo del espacio de b´usqueda. El costo incurrido para llegar desde la ra´ ız (estado inicial) hasta un nodo n se denotar´ a como g ( n ). As´ ı, el costo total estimado para llegar a una soluci´ on que atraviese un nodo n estar´ a dada por: f ( n ) = g ( n ) + h ( n ) . El valor de f ( n ) se divide en g ( n ), que es el costo que se incurre al llegar de la ra´ ız del ´ arbol al nodo n , m´ as h ( n ) que es la funci´ on heur´ ıstica. Una estrategia de b´usqueda que incorpore el costo incurrido como factor de decisi´ on, utilizar´ a la funci´ on f para elegir el nodo m´ as promisorio. Jorge Baier (DCC-PUC) Intro a Prolog 1 / 24
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Best-First Search I El tipo de b´usqueda que se obtiene utilizando este algoritmo se conoce como el mejor primero ( best-first search ). El funcionamiento del algoritmo es similar a BFS o DFS, pero en todo momento se mantiene una frontera de b´usqueda, en la cual la funci´ on de mezcla es una ordenaci´ on de los nodos por orden de menor a mayor valor de f . Adem´ as se mantiene una lista de cerrados , que contiene a los nodos ya visitados. Un sucesor de un nodo puede ser agregado a la frontera s´ olo si no est´ a en la lista de cerrados o, si est´ a y se lleg´ o a ´ el con un mayor valor de f . Jorge Baier (DCC-PUC) Intro a Prolog 2 / 24
Background image of page 2
El pseudo c´ odigo del algoritmo de el mejor primero : Funci´ on buscar_a(lista abiertos, lista cerrados, boolean funci´ on es_objetivo, float funci´ on f(nodo), lista_estados funci´ on mezcla_ord(lista_estados, lista_estados, float funcion (nodo), lista_estados funci´ on sucesores(lista_estados)); { Aux = extract-min(abiertos); while (not es_objetivo(Aux)) { if not member_menor_igual((Aux,f(Aux)),cerrados) { cerrados = insert((Aux,f(Aux)),cerrados); abiertos = insert(abiertos,cerrados, sucesores(Aux),f); } Aux = extract-min(abiertos); } retornar(Aux); } Jorge Baier (DCC-PUC) Intro a Prolog 3 / 24
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Best-First (cont.) La funci´ on extract-min extrae desde su argumento el elemento con menor valor f . Los par´ ametros usados son los mismos que en la b´usqueda sin repetici´ on de estados y f es una funci´ on que recibe un nodo como par´ ametro y retorna la funci´ on de estimaci´ on de costo para el nodo. Por otro lado, la funci´ on member_menor_igual , dado un estado y su valor- f , y la lista de cerrados, retorna verdadero si el estado est´ a en la lista de cerrados con un valor f menor o igual al proporcionado como argumento. Hasta ahora, no hemos analizado las propiedades de optimalidad de estos algoritmos. Jorge Baier (DCC-PUC) Intro a Prolog 4 / 24
Background image of page 4
A : B´usqueda best-first ´ optima Veremos a continuaci´ on qu´ e propiedades debe cumplir la funci´ on h para que la estrategia de b´usqueda A sea ´ optima.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 6
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}