Estoy implementando una búsqueda A * bidireccional (bidireccional ya que en la búsqueda se realiza tanto desde el origen como desde el destino simultáneamente, y cuando estas dos búsquedas se encuentren, tendré el más corto ruta - al menos con un poco de lógica extra lanzada).Bidireccional A * (A-star) Buscar
¿Alguien tiene alguna experiencia con tomar un A * unidireccional y bidireccionalizarlo (!) - ¿qué tipo de ganancia de rendimiento puedo esperar? Había calculado, más o menos, reducir a la mitad el tiempo de búsqueda, como mínimo, pero ¿puedo ver mayores ganancias que esto? Estoy usando el algoritmo para determinar las rutas más cortas en una red de carreteras, si eso es de alguna manera relevante (he leído sobre el algoritmo de "Alcance" de MS, pero quiero dar pequeños pasos hacia esto en lugar de saltar directamente).
Nota: el título de la pregunta repite A * en forma de palabra para facilitar la búsqueda. –
FYI: aquí hay un enlace al documento de MS sobre Reach for A * (A-star): http://www.avglab.com/andrew/pub/alenex06.pdf – shindigo