Guía paso a paso para la implementación de un * Buscar Algoritmo con cálculos de ejemplo

El algoritmo de búsqueda A* es una técnica popular de búsqueda de gráficos y de patinaje utilizada en varias aplicaciones como robótica, desarrollo de juegos y enrutamiento de red. Combina las características de búsqueda de costos uniformes y la mejor búsqueda avariciosa para encontrar el camino más corto de un nodo de inicio a un nodo de meta. Esta guía proporciona un proceso paso a paso para implementar el algoritmo A* con cálculos de ejemplo para ilustrar cada etapa.

Comprender el Algoritmo A*

El algoritmo A* utiliza una función de coste, f(n) = g(n) + h(n), donde:

El algoritmo explora los nodos con el valor f(n) más bajo, equilibrando los costos reales y estimados para encontrar el camino óptimo de manera eficiente.

Aplicación de medidas a medida

Siga estos pasos para implementar el algoritmo A*:

1. Inicializar las listas abiertas y cerradas

La lista abierta contiene nodos que se evaluarán, comenzando por el nodo inicial. La lista cerrada contiene nodos ya evaluados.

2. Seleccione el nodo con el f(n) más bajo

Quitar este nodo de la lista abierta y añadirlo a la lista cerrada.

3. Generar nodos vecinos

Calcular g(n) y h(n) para cada vecino. Si un vecino no está en la lista abierta o tiene un g(n) inferior, actualizar sus valores y establecer su padre al nodo actual.

4. Repita hasta que se alcance el objetivo

Continuar el proceso hasta que el nodo de gol se añada a la lista cerrada, indicando el camino más corto se ha encontrado.

Cálculos de ejemplo

Considere una cuadrícula simple con nodo de inicio A y nodo de gol G. La h(n) heurística es la distancia recta. Los cálculos iniciales son los siguientes:

Empezando en el nodo A, g(A) = 0, h(A) = 4. Los f(A) = 4. Los nodos vecinos B y C son evaluados:

Para el nodo B: g(B) = g(A) + costo(A, B) = 0 + 1 = 1, h(B) = 3, f(B) = 4.

Para el nodo C: g(C) = 1, h(C) = 2, f(C) = 3. El nodo C tiene el f(n) más bajo, por lo que se selecciona a continuación.

Este proceso continúa, actualizando los valores g, h y f, hasta que el nodo de gol G se alcance con el camino más corto identificado.