Heurísticas
Programa de ejemplo
Las funciones "de decisión" llamadas heurísticas se
utilizan como un medio para acelerar las búsquedas tradicionales. Podemos definir
sin mucho formalismo una heurística como una función que asigna a cada posición A
de nuestra búsqueda, otra posición B tal que B es "alcanzable" desde A. La noción
de "alcanzable" depende del contexto en el que nos encontremos, en este caso particular, una configuración
del tablero B es alcanzable desde otra configuración A si arrastrando algún cuadrito del tablero A
nos queda la configuración del tablero B.
Muy a menudo la heurística se basa en otra función llamada "función
de costo", que es simplemente una función que asigna a cada posición de nuestra búsqueda
un número no necesariamente entero, que puede verse como una especie de medida de distancia entre
la posición actual de la búsqueda y la solución que deseamos.
Claramente en general es difícil saber con precisión esta medida, por lo que
la función de costo es simplemente una estimación de la medida de distancia real. Se dice
que una función de costo es consistente si subestima la función de medida exacta.
Dada una función de costo C(X) podemos definir la heurística de nuestro
problema como H(X)=Y donde Y es tal que minimiza la función de costo C(Y) sobre el conjunto de
posiciones alcanzables desde X.
Entre las funciones de costo más populares está la medida de "manhattan".
El algoritmo A* utiliza una heurística basada en una función de costo
que no solamente depende de la posición actual de la búsqueda sino también de
la "cantidad de trabajo" que tuvimos que realizar para llegar desde la posición inicial a la
posición actual. Esta característica permite que A* encuentre soluciones razonablemente
sencillas y en un tiempo computacional relativamente corto.
Otro ejemplo de búsqueda guiada mediante una función de costo es el conocido
como "hill climber", que es una búsqueda exhaustiva donde los nodos adyacentes se visitan tomando
en cuenta un orden, definido por la función de costo, i.e. las posiciones alcanzables con menor
función de costo se visitan primero.