You are on page 1of 23

Tcnicas de Bsqueda

Prof. Francisco J. Arias S. 2010

Tcnicas de Bsqueda
3. Tcnicas de Bsqueda Bsqueda en espacio de estados Estrategias de bsqueda simple (Profundidad y Amplitud) Estrategias de bsqueda heurstica Escalada (simple, mxima pendiente) Verificacin de restricciones El Primero mejor A*

Algoritmos de bsqueda heurstica


Los mtodos de bsqueda heurstica disponen de alguna informacin sobre la proximidad de cada estado a un estado objetivo (esta informacin se suele expresar por medio de funciones heursticas), lo que permite estimar el coste de la solucin para guiar la bsqueda.
No garantizan que se encuentre una solucin, aunque existan soluciones y si se encuentra una solucin no se garantiza que sea la optima. Existen diferentes algoritmos: Escalada (simple, mxima pendiente). Verificacin de restricciones. Anlisis de medios y fines. Bsqueda el primero mejor. Reduccin de problemas

Algoritmos de bsqueda heurstica


Funcin heurstica: En algunos problemas de bsqueda heurstica la funcin puede ser una estimacin de lo prximo que se encuentra el estado de un estado objetivo. Bajo esta perspectiva, los estados de menor valor heurstico son los preferidos. Pero en otros casos puede suceder que lo que convenga sea maximizar esa funcin.

Escalada (Hill Climbing)


Se llaman de escalada (o de ascensin a la colina) porque tratan de elegir en cada paso un estado cuyo valor heurstico sea mayor que el del estado activo en ese momento. Se dividen en dos grupos: Los mtodos de escalada simple: los cuales no retornan a un lugar del espacio de estados si prev que el camino elegido no es el ms adecuado. Los mtodos de escalada por la mxima pendiente: los cuales se pueden devolver hacia atrs en el espacio de estados si prev que el camino elegido no es el ms adecuado.

Mtodos de Escalada Simple


Inicio Actual = EstadoInicial Fin = falso while Fin = falso do Hijos = generar_sucesores(Actual) Funcion_Heuristica(Hijos) nuevo = selecciona_mayor(Hijos) if Valor_ nuevo < Valor_Actual then fin cierto else Actual = nuevo end if end while return Actual Fin

Funcin Heurstica

Espacio de Estados

Mtodos de Escalada Simple

4p

8p

Funcin Heurstica1: Aadir un punto por cada bloque que est sobre un bloque o piso correcto. Restar un punto por cada bloque que est situado en un lugar incorrecto.

Mtodos de Escalada Simple

Con la funcin heurstica especificada y aplicando el metodo de escalada simple, es claro que el algoritmo se queda en un mximo local.

Mtodos de Escalada Simple


Funcin Heurstica1: Aadir 1 punto a los bloques de la estructura por c/bloque que se site en la posicin correcta. Por cada bloque que este incorrecto se resta 1 punto por cada bloque de la estructura.

Mtodos de Escalada Simple

Mtodos de Escalada Simple

Mtodos de Escalada por Mxima Pendiente


Inicio Actual = EstadoInicial Pasos = 100; while pasos>0 & Valor_Actual <> Valor_Objetivo do Hijos = generar_sucesores(Actual) Funcion_Heuristica(Hijos) nuevo = selecciona_mayor(Hijos) if Valor_ nuevo < Valor_Actual then if Hijos>=2 nuevo = selecciona_mayor(Hijos,!nuevo) else Hijos = generar_sucesores(nuevo) if Hijos>=1 Funcion_Heuristica(Hijos) nuevo = selecciona_aleatorio(Hijos) else Contador = paso end if end if else Valor_Actual = Valor_Mayor_Hijos end if pasos-1 end while return Actual Fin

Mtodos de Escalada por Mxima Pendiente

4p

8p

Funcin Heurstica1: Aadir un punto por cada bloque que est sobre un bloque o piso correcto. Restar un punto por cada bloque que est situado en un lugar incorrecto.

Mtodos de Escalada por Mxima Pendiente

Con la funcin heurstica especificada y aplicando el mtodo de escalada por mxima pendiente, el algoritmo no termina si no que genera una nueva bsqueda.

Mtodos de Escalada por Mxima Pendiente


Se selecciona el estado que tiene 4 puntos.

Supongamos que se selecciona el estado que tiene 4 puntos de la parte inferior.

Mtodos Verificacin de restricciones


En los problemas de verificacin de restricciones el objetivo consiste en descubrir algn estado del problema que satisfaga un conjunto dado de restricciones. Qu se busca? Un estado objetivo es aquel que ha satisfecho las restricciones suficientemente, donde suficientemente debe definirse para cada problema en particular.

Mtodos Verificacin de restricciones


Cmo funciona? Aunque se necesiten an las suposiciones, el nmero de las que son permitidas se va reduciendo conforme la bsqueda se va restringiendo. Es un procedimiento de bsqueda que funciona en un espacio de conjuntos de restricciones.

Mtodos Verificacin de restricciones


Ejemplos
- Problemas con rompecabezas y criptoaritmticos. - Sudoku. - El diseo de tareas (tiempo, costo y materiales como limitantes).

Mtodos Verificacin de restricciones


Ejemplo detallado: Criptoaritmtica Variables: I;D;E; A;M;N; T;C1;C2;C3 Dominios: {1; : : : ; 8} para {I;D;E; A;M;N;T} y {0;1} para C1;C2;C3. Restricciones: Primera suma: 2 * A = (10 * C3) + E Segunda suma: (2 * E) + C3 = (10 * C2) + T Tercera suma: (2 * D) + C2 = (10 * C1) + N Cuarta suma: (2 * I) + C1 = (10 * M) + E

Mtodos el Primero Mejor A*


Algoritmo de bsqueda en grafos (similar a bsqueda por amplitud y profundidad). Por cada nodo visitado se debe calcular un costo con una funcin heurstica (similar a la bsqueda en escalada). Diferencia: f=g(n)+h(n). Donde g es una estimacin de la profundidad del nodo n y H es la evaluacin heurstica en el nodo n.

Mtodos el Primero Mejor A*


Solo calculamos h(n)

Hacia el Objetivo

Hacia mas exploraciones intiles

Mtodos el Primero Mejor A*


Se calcula g(n) y h(n)

Objetivo

Bibliografa

Nils J. Nilsson. INTELIGENCIA ARTIFICIAL: Una Nueva Sntesis, Ed McGraw-Hill 2001. Russell, Stuart. Inteligencia Artificial. Un enfoque moderno. Norvig, Peter -Editorial Prentice Hall. 1996.

You might also like