Heurística admisible
En informática, en concreto en algoritmos relacionados con la búsqueda de rutas, se dice que una función heurística es admisible si nunca sobreestima el coste de alcanzar la meta, es decir, el coste que estima para alcanzar la meta no es superior al coste más bajo posible desde el punto actual de la ruta. En otras palabras, debería actuar como un límite inferior.
Está relacionado con el concepto de heurística consistente. Si bien todas las heurísticas consistentes son admisibles, no todas las heurísticas admisibles son consistentes.
algoritmos de búsqueda
Una heurística admisible se utiliza para estimar el costo de alcanzar el estado objetivo en un algoritmo de búsqueda informado. Para una heurística para ser admisible al problema de búsqueda, el costo estimado siempre debe ser inferior o igual al costo real de alcanzar el estado de meta. El algoritmo de búsqueda utiliza la heurística admisible para encontrar una estimación camino óptimo al estado de gol desde el nodo actual. Por ejemplo, en A* busque la función de evaluación (donde es el nodo actual) es:
donde
- = la función de evaluación.
- = el costo del nodo inicial al nodo actual
- = costo estimado del nodo actual a la meta.
se calcula utilizando la heurística función. Con una heurística no admisible, el algoritmo A* podría pasar por alto la solución óptima a un problema de búsqueda debido a un sobreestimación .
Formulación
- es un nodo
- es una heurística
- costo indicado por alcanzar un objetivo desde
- es el coste óptimo para alcanzar una meta desde
- es admisible si,
Construcción
Se puede derivar una heurística admisible a partir de una versión relajada del problema, o de información de bases de datos de patrones que almacenan soluciones exactas a subproblemas del problema, o utilizando métodos de aprendizaje inductivo.
Ejemplos
Se aplican dos ejemplos diferentes de heurísticas admisibles al problema de los quince acertijos:
- Hamming distance
- Distancia a Manhattan
La distancia de Hamming es el número total de fichas mal colocadas. Es evidente que esta heurística es admisible, ya que el número total de movimientos necesarios para ordenar las fichas correctamente es al menos el número de fichas mal colocadas (cada ficha que no está en su lugar debe moverse al menos una vez). El coste (número de movimientos) para alcanzar el objetivo (un rompecabezas ordenado) es al menos la distancia de Hamming del rompecabezas.
La distancia de Manhattan de un rompecabezas se define como:
Considere el siguiente rompecabezas en el que el jugador desea mover cada ficha de modo que los números estén ordenados. La distancia de Manhattan es una heurística admisible en este caso porque cada ficha deberá moverse al menos la cantidad de puntos que hay entre ella y su posición correcta.
43 | 61 | 30 | 81 |
72 | 123 | 93 | 144 |
153 | 132 | 14 | 54 |
24 | 101 | 111 |
Los subíndices muestran la distancia de Manhattan para cada pieza. La distancia total de Manhattan para el rompecabezas que se muestra es:
Pruebas de optimización
Si se utiliza una heurística admisible en un algoritmo que, por iteración, avanza sólo por el camino de menor evaluación (costo actual + heurística) de varios caminos candidatos, termina en el momento en que su exploración alcanza el objetivo y, fundamentalmente, nunca cierra todos los caminos óptimos antes de terminar (algo que es posible con el algoritmo de búsqueda A* si no se tiene especial cuidado), entonces este algoritmo sólo puede terminar en un camino óptimo. Para ver por qué, considere la siguiente prueba por contradicción:
Supongamos que dicho algoritmo logró terminar en una ruta T con un costo verdadero Ttrue mayor que la ruta óptima S con un costo verdadero Strue. Esto significa que antes de terminar, el costo evaluado de T era menor o igual que el costo evaluado de S (de lo contrario, se habría elegido S). Denotemos estos costos evaluados como Teval y Seval respectivamente. Lo anterior se puede resumir de la siguiente manera:
- Sverdadero c) Tverdadero
- Teval ≤ Seval
Si nuestra heurística es admisible, se deduce que en este penúltimo paso Teval = Ttrue porque cualquier aumento del costo verdadero por la heurística en T sería inadmisible y la heurística no puede ser negativa. Por otro lado, una heurística admisible requeriría que Seval ≤ Strue lo que combinado con las desigualdades anteriores nos da Teval < Ttrue y más específicamente Teval ≠ Ttrue. Como Teval y Ttrue no pueden ser iguales y desiguales a la vez, nuestra suposición debe haber sido falsa y, por lo tanto, debe ser imposible terminar en un camino más costoso que el óptimo.
A modo de ejemplo, supongamos que tenemos los siguientes costos: (el costo por encima o por debajo de un nodo es la heurística, el costo en un borde es el costo real)
0 10 0 100 0 START... Silencio 0 sometidas a la práctica Silencio O... O... O 100 1 100
Así que claramente empezaríamos a visitar el nodo medio superior, ya que el costo total esperado, es decir. , es . Entonces el objetivo sería un candidato, con iguales . Entonces claramente escogeríamos los nodos inferiores uno tras otro, seguido por el objetivo actualizado, ya que todos han inferior a la de la meta actual, es decir, su es . Así que a pesar de que el objetivo era un candidato, no podíamos elegir porque todavía había mejores caminos por ahí. De esta manera, una heurística admisible puede garantizar la optimización.
Sin embargo, cabe señalar que, si bien una heurística admisible puede garantizar la optimalidad final, no es necesariamente eficiente.
Véase también
- Heurística persistente
- Función heurística
- algoritmo de búsqueda
Referencias
- ^ Russell, S.J.; Norvig, P. (2002). Inteligencia Artificial: Un enfoque moderno. Prentice Hall. ISBN 0-13-790395-2.
- ^ Korf, Richard E. (2000), "Reciente progreso en el diseño y análisis de funciones heurísticas admisibles" (PDF), en Choueiry, Berthe Y.; Walsh, Toby (eds.), Abstracción, Reforma y Aproximación: 4o Simposio Internacional, SARA 2000 Horseshoe Bay, USA, 26-29 de julio de 2000 Procedimientos, vol. 1864, Springer, pp. 45 –55, CiteSeerX 10.1.1.124.817, doi:10.1007/3-540-44914-0_3, ISBN 978-3-540-67839-7, recuperado 2010-04-26
- ^ Holte, Robert (2005). "Common Misconceptions Concerning Heuristic Search". Proceedings of the Third Annual Symposium on Combinatorial Search (SoCS). Archivado desde el original el 2022-08-01. Retrieved 2021-07-10.
- ^ "¿Por qué las heurísticas admisibles garantizan la optimización?". algoritmo. Reflujo de basura. Retrieved 2018-12-11.