Búsqueda HeurísticaLos métodos de búsqueda heurísticas (del griego heuriskein, quesignifica encontrar) están orientados a ...
Ciertas heurísticas se pueden contradecir al aplicarse al mismo problema, lo   cual genera confusión y hacen perder credib...
una función que hace corresponder situaciones del problema con números. Esdecir, ofrece una medida conceptual de la distan...
forma siguiente:h(n)=max(p(n),...,hh1(n)).De esta forma h dominará todas las   heurísticas individuales.   e) Otra forma d...
Al deducir una heurística para este problema podemos razonar quepara poder colocar las ocho reinas tenemos que dejar libre...
movimientos posibles y cuando está en una esquina hay dos). Esto significa queuna búsqueda exhaustiva a profundidad veinte...
En el caso del problema (b) la cantidad de movimientos requeridos para resolverloes la cantidad de veces que la posición v...
Upcoming SlideShare
Loading in …5
×

Tecnica de busqueda

1,728 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,728
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tecnica de busqueda

  1. 1. Búsqueda HeurísticaLos métodos de búsqueda heurísticas (del griego heuriskein, quesignifica encontrar) están orientados a reducir la cantidad de búsqueda requeridapara encontrar una solución. Cuando un problema es presentado como un árbol debúsqueda el enfoque heurístico intenta reducir el tamaño del árbol cortando nodospocos prometedores. Estos métodos se llaman métodos fuertes porque ellos sonmás poderosos que los estudiados hasta aquí al incorporar conocimiento heurísticoo heurística. Hay una contradicción entre generalidad y potencia en el sentido quelos métodos débiles son esencialmente aplicables universalmente mientras que losfuertes son menos universales en su aplicabilidad y el conocimiento o heurísticausada en un problema dado puede no ser totalmente aplicable o ser inaplicable enotro dominio o tarea.Feigenbaum y Feldman definen la heurística como sigue: "Una heurística es unaregla para engañar, simplificar o para cualquier otra clasede ardid el cual limitadrásticamente la búsqueda de soluciones en grandes espacios de estados". Enesencia una heurística es simplemente un conjunto de reglas que evalúan laposibilidad de que una búsqueda va en la dirección correcta. Generalmente losmétodos de búsqueda heurísticas se basan en maximizar o minimizar algunosaspectos del problema. Un ejemplo sencillo de heurística es el siguiente:Un hombre se encuentra en una extensa llanura y tiene sed, en ese momento hallegado a una pequeña elevación que es la única en esa región y se sube a ella.Desde la elevación el hombre observa el cuadro siguiente:NORTE: vegetación verde y movimiento de animalesSUR: vegetación amarillaESTE: vegetación amarillaOESTE: vegetación verdeEvidentemente la vegetación verde es un indicio de que hay humedad, luego esmuy probable que exista agua en la superficie o subterránea. El movimientode animales puede indicar que ellos se dirigen allí a beber, lo cual sugiere que elagua está en la superficie. Esta información le dice al hombre que debe dirigirse alnorte, constituye una heurística.La Heurística no garantiza que siempre se tome la dirección de la búsquedacorrecta, por eso este enfoque no es óptimo sino suficientemente bueno.Frecuentemente son mejores los métodos heurísticos que los métodos debúsquedas a ciegas. Las desventajas y limitaciones principales de la heurística son: La flexibilidad inherente de los métodos heurísticos pueden conducir a errores o a manipulaciones fraudulentas.
  2. 2. Ciertas heurísticas se pueden contradecir al aplicarse al mismo problema, lo cual genera confusión y hacen perder credibilidad a los métodos heurísticos. Soluciones óptimas no son identificadas. Las mejoras locales determinadas por las heurísticas pueden cortar el camino a soluciones mejores por la falta de una perspectiva global. La brecha entre la solución óptima y una generada por heurística puede ser grande.El significado técnico de la palabra heurística ha variado en la historia dela Inteligencia Artificial. En 1957, George Polya en su libro"How to solve it" usó estetérmino para referirse al estudio de métodos para descubrir e inventar técnicas desolución de problemas.En otras ocasiones se ha usado como un término opuesto a algorítmico. Porejemplo, Newell, Shaw y Simón plantearon en 1993 "Unproceso que puede resolverun problema dado, pero no ofrece garantía de hacerlo, es llamado una heurísticapara ese problema".Actualmente, la heurística es más frecuentemente usada como un adjetivo parareferirse a cualquier técnica que mejore la media del proceso de solución deproblemas.Según Shapiro, uno de los resultados empíricos de los últimos treinta años de laInteligencia Artificial es que para muchos problemas la relación (balance) entreconocimiento, tiempo de cálculo y calidad de la solución es bastante favorable. Esdecir, el uso de una pequeña cantidad de conocimiento específico del problemapuede mejorar significativamente la calidad de la solución o el costo del proceso debúsqueda.Funciones de evaluación heurísticaLa calidad de un nodo (estado, situación) del espacio de búsqueda se puede estimarde varias formas:Nivel de dificultad de resolver el subproblema representado por el nodo.Calidad del conjunto de soluciones candidatas codificadas por el nodo.Cantidad de la información que se puede ganar expandiendo un nodo dado y laimportancia de la información para guiar la búsqueda.En todos estos casos la calidad el nodo se estima numéricamente poruna función de evaluación heurística f(n). Una función de evaluación heurística es
  3. 3. una función que hace corresponder situaciones del problema con números. Esdecir, ofrece una medida conceptual de la distancia entre un estado dado y elestado objetivo. En general depende de la descripción de n (la descripción delobjetivo, la información obtenida hasta ese punto de la búsqueda ycualquier conocimiento extra sobre el dominio del problema).El proceso de construcción de funciones heurísticas bien puede ser considerado unproceso de descubrimiento, pues es muy difícil articular el mecanismo por el cualse llega a estas funciones. Sin embargo, se puede formular elsiguiente paradigma general: las heurísticas se descubrenconsultando modelos simplificados del dominio del problema.Estos valores son usados para determinar cual operación ejecutar a continuación,típicamente seleccionando la operación que conduce a la situación con máxima omínima evaluación. Un inconveniente de los métodos heurísticos es que enocasiones no es posible conocer la calidad de la solución, es decir, cuán cerca está elóptimo (x*) la solución heurística encontrada (xheu); si por ejemplo, el problemaes de maximización lo único que sabemos es que xheu ( x*. Una forma simple deevaluar la calidad de una solución heurística es generar aleatoriamente variassoluciones y si son similares a la misma entonces cabría poner en duda laefectividad de la heurística.Algunas consideraciones sobre las funciones heurísticas son: a) La función debe dar un estimado útil y realista del mérito de un estado particular. b) La evaluación de la función en general no debe requerir un gran cálculo en su aplicación. Si la evaluación de la función es computacionalmente compleja puede ser más eficiente hacer una búsqueda a ciegas en lugar de gastar recurso (tiempo y memoria) en el cálculo de la función. c) Frecuentemente el costo de una solución exacta a un problema flexibilizado es una buena heurística para el problema original. Un problema flexibilizado es uno obtenido a partir del problema original simplificando las restricciones sobre los operadores. La idea es que el número exacto de movimientos requeridos para resolver un problema más simple puede ser fácil de calcular y puede servir como un estimado de la cantidad de movimientos necesitados para resolver el problema original. d) Es siempre mejor usar una función heurística con valores más altos que otras, siempre que esta no este sobreestimada. Para un problema puede haber una colección de heurísticas admisibles h1,...,hm. Si una de ellas domina a las otras, es decir alcanza valores mayores para todos los nodos, se debe seleccionar esta. Si ninguna es dominante lo mejor es definir una heurística compuesta de la
  4. 4. forma siguiente:h(n)=max(p(n),...,hh1(n)).De esta forma h dominará todas las heurísticas individuales. e) Otra forma de inventar una buena heurística es usar información estadística. Esto puede ser hecho realizando una búsqueda sobre una cantidad de problemas de entrenamiento, por ejemplo, en el juego de las ocho piezas cien configuraciones generadas aleatoriamente. f) Frecuentemente es posible seleccionar rasgos de un estado que contribuyen a su evaluación heurística. La función de evaluación heurística puede ser construida como una combinación lineal de estos rasgos. Los rasgos pueden tener un peso que indique su importancia. g) Otro tipo de modelo flexibilizado para un problema son los modelos analógicos. Aquí el modelo auxiliar flexibilizado extrae supotencia no de simplificar la estructura del problema a resolver sino de usar procesos de búsqueda que fueron empleados con éxitoen problemas análogos. Esto se retoma posteriormente al estudiar el razonamiento por analogía.Ejemplo: El problema de las ocho reinasAsumiendo la variante incremental del juego, es decir poner las reinas una a una demodo que no se ataquen mutuamente, supóngase que se tienen situadas tres reinasy tenemos que decidir donde colocar la cuarta. El papel de la heurística aquí seríaofrecer un criterio para decidir cual de las tres posiciones indicadas es la máspromisoria de conducir a una solución satisfactoria.
  5. 5. Al deducir una heurística para este problema podemos razonar quepara poder colocar las ocho reinas tenemos que dejar libres la mayor cantidad deopciones como sea posible para futuras adiciones de reinas.Esto significa determinar la cantidad de casillas en las filas no utilizadas quequedarían no atacadas al colocar la cuarta reina en A, B o C. Una casilla candidataserá preferida si deja la mayor cantidad de casillas no atacadas en el resto deltablero. Consecuentemente el número de casillas no atacadas constituye unamedida de su mérito, es decir, es la función de evaluación heurística para esteproblema.Al calcular la función heurística para las posiciones A, B y C se tiene:f(A) = 8f(B) = 9f(C)= 10Otra alternativa o enfoque heurístico es el siguiente. Las filas no usadas no tienenigual estatus ya que aquellas con pocas casillas no atacadas tienden a quedarbloqueadas más rápidamente que filas con muchas casillas no atacadas.Consecuentemente, si queremos minimizar la posibilidad de un futuro bloqueodebemos focalizar nuestra atención sobre la fila con menor número de casillas noatacadas, sea f" esta heurística. Para esta función tenemos,f"(A) = 1f"(B) = 1f"(C)= 2Nótese que con esta heurística C también es la alternativa preferida. Además, sialguna opción candidata toma valor cero para f o f" no tiene sentido considerarlapues eventualmente será un nodo muerto, la función f" supera a f en que estadetecta todos los nodos muertos predichos por f y muchos más.Como se vio antes el objetivo de este juego es reordenar una configuración inicialdada de ocho piezas sobre un tablero de tres por tres en una configuración final.En el reordenamiento sólo se permite desplazar fichas a la casilla vacía, siempreque sea adyacente, es decir la regla es:Una pieza puede moverse de la posición X a la Y Si la posición X es adyacente a Y yla posición Y está vacía.Una solución típica para este problema requiere alrededor de veinte pasos, aunqueeste número varía dependiendo del estado inicial. El factor de ramificación esaproximadamente tres (cuando la casilla vacía está en el centro hay cuatro
  6. 6. movimientos posibles y cuando está en una esquina hay dos). Esto significa queuna búsqueda exhaustiva a profundidad veinte podría requerir cerca de 320 =3.5x109 estados. Eliminando los estados repetidos quedarían 9! = 362, 880ordenamientos diferentes. Esta es aún una cantidad grande de estados por lo quese requiere encontrar una buena función heurística.Un razonamiento a seguir para construir la función heurística para este problemaes estimar cuán cerca un estado está del objetivo. Hay dos variantes comúnmenteusadas para estimar la proximidad de un estado a otro:i) Cantidad de piezas mal ubicadas, aquellas por las cuales los dos estados difieren,llamada p.ii) La suma de las distancias (horizontal y vertical) de las piezas a sus posiciones enel estado objetivo, llamada h2. Esta función heurística se conoce como distanciaManhattan.Al aplicar estas heurísticas al planteamiento anterior se tieneh1(A) = 2 h1(B) = 3 h1(C) = 4h2(A) = 2 h2(B) = 4 h2(C) = 4Ambas funciones indican que A es la mejor opción y por eso debe ser exploradoantes que B o C.La variante de encontrar funciones heurísticas flexibilizando el modelo delproblema se puede ilustrar con este juego. A partir de la regla que gobierna el juegose pueden generar tres problemas flexibilizados removiendo una o más de lascondiciones: (a) Una ficha se puede mover de X a Y si X está adyacente a Y (elimina la condición que Y esté vacío) (b) Una ficha se puede mover de X a Y si Y está vacía (elimina la condición de que ambas sean adyacentes) (c) Una ficha se puede mover de X a Y (elimina ambas condiciones)La cantidad de movimientos requeridos para resolver el problema (a) esexactamente igual a la distancia Manhattan.La cantidad de movimientos requeridos para resolver el problema (C) esexactamente igual a la cantidad de fichas fuera de lugar, es decir que están en unaposición diferente a la que deben tener en el estado objetivo; la cual coincide conH1.La función h1 es más barata pero menos precisa que h2.
  7. 7. En el caso del problema (b) la cantidad de movimientos requeridos para resolverloes la cantidad de veces que la posición vacía tiene que ser intercambiada con otraficha, lo cual sugiere otro estimado heurístico para el problema original.Propiedades de las funciones de evaluación heurística a. Heurísticas admisibles.Una función de evaluación heurística se denomina admisible si ella nuncasobrestima el costo real de alcanzar el objetivo. b. Heurística más informada.Para dos heurísticas admisibles f1 y f2, si f1(n) ( f2(n), para cualquier estado n en elespacio de búsqueda, se dice que la heurística f2 es más informada que f1.Si una heurística f2 es más informada que f1, entonces el conjunto de estadosexaminados por f2 es un subconjunto de los expandidos por f1.

×