Está en la página 1de 4

Universidad de Panamá

Facultad de Informática, Electrónica y Comunicación

Lic. En Ingeniería en Informática

Inteligencia Artificial

Rodolfo Quintero F.

8-954-1902

Ensayo del Tema 3

Técnicas de búsqueda heurística

Profesor Julio Arcia

30/06/2023
Técnicas de búsqueda heurística

Los heurísticos son criterios, reglas o métodos que ayudan a decidir cuál es la mejor
alternativa entre varias posibles o disponibles para alcanzar un determinado objetivo. Para
ello se debe disponer de información, o mejor aún, de conocimiento sobre el problema que
se intenta resolver.

Este conocimiento se puede obtener a partir de cualquier pista, intuición o experiencia que
se tenga sobre el dominio del problema. En el contexto de los sistemas de búsqueda, los
heurísticos se suelen utilizar para decidir cuál de los nodos candidatos a ser expandidos es
más prometedor, o bien en qué orden se deben aplicar las reglas a un nodo para generar
sucesores, o incluso para decidir si un nodo representa una situación sin salida aun teniendo
sucesores válidos.

El modo más común de utilizar la información heurística es introducir una función heurística
de evaluación. Esta función se define sobre un conjunto de nodos del espacio de estados y
obtiene valores numéricos. El valor de la función heurística de evaluación se interpreta como
un prospecto de apertura del nodo, o a veces, como la probabilidad de su permanencia en la
ruta de solución. Usualmente el convenio es que el menor valor de la función corresponde a
un nodo más prospectivo, y los nodos se ordenan según el orden de aumento de los valores
de la función heurística de evaluación.

La secuencia de los pasos del algoritmo de la búsqueda heurística (ordenada) se parece a la


secuencia de los pasos de los algoritmos de la búsqueda ciega; la diferencia consiste en el
uso de la función heurística de evaluación. Después de la construcción de un nuevo estado
se hace su evaluación, es decir se calcula el valor de dicha función. Las listas de los nodos
abiertos y cerrados contienen tanto los nodos, como sus evaluaciones que se usan para
ordenar la búsqueda.

La principal diferencia de este tipo de búsqueda respecto a la que no emplean información


del dominio, es que ahora a cada nodo se le va a poder asociar un valor que dará idea de lo
cerca que se encuentra de un nodo meta. Evidentemente, dicho valor no será más que una
estimación de la distancia real a la meta.

La incorporación de este tipo de información, normalmente a través de las llamadas


funciones de evaluación heurística, permitirá guiar la búsqueda hacia aquellos caminos que
se supone son más prometedores.

A continuación, se presentan algunas de las técnicas de búsqueda heurística más comunes:

★ Búsqueda heurística greedy (ávida):

La técnica de búsqueda heurística greedy, también conocida como búsqueda voraz, es un


enfoque de búsqueda que se guía por una heurística o función de evaluación para tomar
decisiones en cada paso. En cada estado del problema, el algoritmo selecciona la acción
que parece ser la mejor en función de la heurística, sin considerar las consecuencias a largo
plazo. La búsqueda greedy se centra en la maximización inmediata de una función objetivo
local sin considerar el panorama general.
La búsqueda greedy selecciona el nodo sucesor más prometedor en función de la heurística,
sin tener en cuenta los costos acumulados hasta el momento. Se enfoca en avanzar
rápidamente hacia los estados que parecen más prometedores en términos de alcanzar el
objetivo final.

★ Búsqueda heurística A* (A-star):

La técnica de búsqueda heurística A* (A-star) es un algoritmo de búsqueda informada que


combina la búsqueda por costo uniforme y una heurística para encontrar la ruta más óptima
entre un estado inicial y un estado objetivo en un grafo o espacio de estados. A* utiliza una
función de evaluación que combina el costo acumulado de llegar al estado actual y una
estimación heurística del costo restante para llegar al estado objetivo.

A* procura conseguir buenas soluciones (óptimas), al mismo tiempo que brinda eficiencia
(reduciendo el árbol de búsqueda) a lo largo del proceso

★ Búsqueda heurística de escalada (Hill Climbing):

La técnica de búsqueda heurística de escalada, también conocida como Hill Climbing, es un


algoritmo de búsqueda local que busca mejorar iterativamente una solución inicial
moviéndose hacia estados vecinos que parecen prometedores según una función heurística.
Su objetivo es encontrar un máximo local (en el caso de maximización) o un mínimo local
(en el caso de minimización) en un espacio de búsqueda.

La búsqueda de escalada se basa en seleccionar el nodo sucesor que parece más


prometedor en términos de mejorar el estado actual. Continúa moviéndose hacia arriba en la
dirección ascendente hasta alcanzar un máximo local. No se garantiza que al final se
encuentre la solución óptima, pero a menudo puede encontrar buenas soluciones
rápidamente.

★ Búsqueda heurística de haz (Beam Search):

La técnica de búsqueda heurística de haz (Beam Search) es un algoritmo de búsqueda que


combina elementos de búsqueda en amplitud y búsqueda heurística. Su objetivo es
encontrar una solución óptima o de alta calidad en un espacio de búsqueda, utilizando una
estrategia de selección basada en la evaluación heurística de los nodos.

Beam search explora un gráfico al expandir los nodos más prometedores en un conjunto
limitado. Beam search es una optimización de la mejor búsqueda primero que reduce sus
requisitos de memoria. La búsqueda del mejor primero es una búsqueda gráfica que ordena
todas las soluciones parciales (estados) de acuerdo con alguna heurística, pero en la
búsqueda de haces, solo se mantienen como candidatos un número predeterminado de las
mejores soluciones parciales. Por lo tanto, es un algoritmo codicioso.

★ Búsqueda heurística de recocido simulado (Simulated Annealing):

La técnica de búsqueda heurística de recocido simulado (Simulated Annealing) es un


algoritmo de optimización que se basa en el proceso físico de recocido utilizado para
mejorar la calidad de un material. Esta técnica se utiliza para resolver problemas de
optimización combinatoria en los que se busca encontrar la mejor solución en un espacio de
búsqueda grande y complejo.

Simulated Annealing es una metaheurística que se puede utilizar para encontrar buenas
soluciones a los problemas de optimización. El recorrido simulado comienza en una solución
aleatoria y luego se mueve iterativamente a soluciones vecinas. La probabilidad de pasar a
una peor solución disminuye a medida que avanza el algoritmo. No se garantiza que el
recorrido simulado encuentre la solución óptima, pero a menudo puede encontrar buenas
soluciones a problemas que son difíciles de resolver para otros algoritmos.

La búsqueda heurística con memoria acotada reduce el uso de memoria que utiliza la
búsqueda A*. pero es importante recordar que para problemas más difíciles habrán errores
más grandes un algoritmo de búsqueda podría no encontrar la solución aunque cuente con
información parcial y quedarse en un ciclo repetitivo, esto se busca mejorar a través de los
algoritmos de metanivel que pueden aprender de las experiencias para no explorar arboles
no prometedores.

También podría gustarte