Este nuevo algoritmo desafía 65 años de historia y podría cambiar cómo funciona Google Maps

Un nuevo algoritmo logra resolver el problema de la ruta más corta con mayor eficiencia que Dijkstra por primera vez en 65 años. ¿Por qué esto puede cambiar cómo funcionan apps como Google Maps?
Interpretación visual de una fotografía Dijkstra, padre del algoritmo que aún guía millones de rutas en todo el mundo. Fuente: ChatGPT / E. F.

Cada vez que una aplicación como Google Maps te indica cómo llegar más rápido a tu destino, hay un algoritmo clásico trabajando silenciosamente detrás. Se llama algoritmo de Dijkstra, y ha sido durante décadas la solución más eficaz para resolver un problema fundamental: encontrar la ruta más corta en un mapa, una red de carreteras, o cualquier grafo que represente conexiones entre puntos.

Pero esta no es solo una historia de caminos y distancias. Tiene algo de leyenda científica. Edsger Dijkstra ideó su algoritmo en apenas veinte minutos, mientras conversaba con su prometida sobre cómo organizar su boda. Desde 1959, su solución ha sido el estándar para ingenieros, programadores y matemáticos. Ahora, por primera vez en más de medio siglo, un nuevo método ha logrado superarlo, al menos en ciertos contextos. Y lo ha hecho sin necesidad de ordenar todos los caminos posibles.

Un equipo de investigadores encabezado por Ran Duan, de la Universidad de Tsinghua, presentó este año un algoritmo que rompe una barrera teórica considerada infranqueable en grafos dirigidos con pesos reales no negativos: el límite de eficiencia impuesto por la necesidad de ordenar vértices durante la ejecución. Su trabajo, publicado en arXiv el 31 de julio de 2025, introduce un enfoque innovador que reduce la carga de ordenamiento sin perder precisión, lo que podría abrir una nueva etapa en la historia de los algoritmos de rutas.

Un problema cotidiano con raíces matemáticas profundas

Buscar la ruta más corta entre dos puntos no es solo un reto práctico. Es un problema clásico en matemáticas aplicadas y en ciencia de la computación, con aplicaciones en redes sociales, logística, transporte urbano, videojuegos y análisis de datos.

El algoritmo de Dijkstra ha sido hasta ahora el estándar de oro. Funciona de forma iterativa: comienza desde un vértice de origen y, paso a paso, calcula la distancia más corta hacia todos los demás vértices del grafo. Utiliza una estructura llamada "cola de prioridad", que permite elegir siempre el nodo más prometedor. Este proceso garantiza una solución óptima, pero implica un costo: para mantener ese orden riguroso, es necesario realizar muchas operaciones de ordenamiento.

Ese esfuerzo, conocido como la "barrera del ordenamiento", ha sido durante décadas una limitación aceptada. El propio Dijkstra lo asumía como parte inevitable de su método. Sin embargo, el nuevo algoritmo presentado por Duan y sus colegas logra reducir ese costo y mantener la precisión en contextos específicos: los grafos dirigidos y dispersos, es decir, aquellos en los que el número de conexiones posibles entre nodos no es excesivamente alto.

Fuente: ChatGPT / E. F.

Cómo funciona el nuevo algoritmo

La propuesta de Duan, Jiayi Mao, Xiao Mao, Xinkai Shu y Longhui Yin se basa en una idea central: disminuir el tamaño de la frontera, es decir, el conjunto de nodos que podrían ser explorados en los próximos pasos del algoritmo. En lugar de mantener una cola de prioridad que ordena todos los nodos por distancia, el nuevo método trabaja con un número reducido de elementos llamados pivotes, y aplica una técnica de divide y vencerás para organizar la exploración del grafo.

Una de las claves del nuevo enfoque es que logra reducir drásticamente la cantidad de nodos que deben mantenerse ordenados en cada momento. En lugar de trabajar con todos los posibles caminos, el algoritmo selecciona un subconjunto mucho más pequeño y suficiente para calcular las mejores rutas. Esta reducción inteligente de candidatos permite evitar la costosa operación de ordenar vértices en cada paso, lo que a su vez mejora el tiempo total de ejecución respecto al algoritmo de Dijkstra. Según los autores, el nuevo método alcanza una eficiencia teórica mayor, reduciendo el tiempo de cálculo a una escala inferior, algo que hasta ahora no se había conseguido con soluciones deterministas en este tipo de grafos.

Este avance es significativo desde el punto de vista teórico. Supone la primera vez que se rompe esa cota inferior de ordenamiento en grafos dirigidos sin recurrir a aleatorización ni a supuestos especiales. La estrategia consiste en tres pasos principales:

  • Ejecutar varias rondas limitadas del algoritmo de Bellman-Ford para detectar nodos que pueden completarse rápidamente.
  • Identificar pivotes que cubren subárboles grandes del grafo, lo que permite reducir el número de nodos necesarios para continuar.
  • Usar una estructura de datos con orden parcial, más simple y eficiente que una cola de prioridad tradicional.

El subalgoritmo central del procedimiento, llamado BMSSP (Bounded Multi-Source Shortest Paths), permite completar partes del grafo sin necesidad de mantener una lista totalmente ordenada de candidatos. En palabras del paper, el procedimiento BMSSP permite resolver subproblemas restringidos con límites de trabajo por nivel y sin ordenar completamente la frontera”.

Edsger Dijkstra. Fuente: Wikipedia

En qué casos realmente mejora a Dijkstra

La promesa del nuevo algoritmo no es universal. Como advierte uno de los artículos que comentan este trabajo, “no reemplazará a Dijkstra en todos los códigos existentes”. La mejora teórica se nota sobre todo en grafos dispersos, aquellos con pocos enlaces en relación con el número de nodos. Es el caso de muchas redes reales, como las redes de transporte urbano, los mapas de carreteras, o las infraestructuras de datos de grandes plataformas tecnológicas.

En cambio, en grafos densos, donde hay muchas conexiones entre nodos, el nuevo algoritmo pierde ventaja. También hay otros métodos más rápidos para grafos con pesos enteros pequeños, como los algoritmos de Dial o Thorup, pero no se aplican en los casos más generales.

Esto no significa que el avance no tenga implicaciones prácticas. De hecho, el propio Dijkstra nunca diseñó su algoritmo con la idea de que duraría más de medio siglo como líder indiscutido. Ahora, este nuevo método abre una línea de investigación que puede inspirar nuevos enfoques híbridos, más eficientes y adaptables. En contextos donde se requieren muchos cálculos simultáneos —como en sistemas de entrega, plataformas de juegos online o análisis de redes sociales—, incluso pequeñas mejoras pueden tener un impacto notable en velocidad y consumo energético.

El artículo original de Edsger Dijkstra tiene solo dos páginas.

¿Por qué romper la barrera del ordenamiento es tan importante?

Lo que está en juego no es solo una mejora de velocidad. El algoritmo de Duan y su equipo desacopla dos procesos que hasta ahora iban unidos: calcular distancias mínimas y ordenar los vértices por esas distancias. Al separarlos, el nuevo enfoque permite explorar alternativas que podrían ser más eficientes en muchos escenarios.

Lo más relevante del hallazgo es que demuestra que aún era posible mejorar un algoritmo que se consideraba prácticamente insuperable. Durante años se pensó que no había forma de resolver este tipo de problemas de forma más eficiente sin sacrificar exactitud, pero el nuevo método prueba que sí se puede: es posible ahorrar tiempo sin hacer suposiciones especiales ni recurrir al azar.

Además, el algoritmo está diseñado dentro del llamado modelo de comparación y suma, un marco muy general que solo permite operar con sumas y comparaciones sobre los pesos de las aristas. Esto refuerza su aplicabilidad y su rigor teórico.

Un paso más allá de la teoría

Aunque la implementación aún está lejos de estar presente en aplicaciones comerciales, ya existen versiones funcionales del algoritmo que han sido validadas con código. Algunos investigadores han comenzado a explorar variantes optimizadas para hardware moderno, con estructuras de datos más amigables para la caché y capaces de aprovechar la paralelización.

Y aunque Dijkstra seguirá presente en libros, clases y sistemas por un buen tiempo, este avance seguramente marcará un cambio. Como señalan en Futualist, “Es probable que, a partir de ahora, los libros de texto universitarios incluyan, al menos, una nota al pie mencionando el nuevo Algoritmo de Reducción de Frontera.”

Las ideas introducidas —reducir la frontera, evitar ordenamientos completos, usar pivotes y recursion controlada— pueden ser aplicadas o adaptadas en otros problemas complejos, no solo en rutas mínimas. Es una contribución que, aunque técnica, deja un mensaje claro: aún en terrenos donde parecía que todo estaba dicho, la innovación sigue siendo posible.

Referencias

  • Ran Duan, Jiayi Mao, Xiao Mao, Xinkai Shu, Longhui Yin. Breaking the Sorting Barrier for Directed Single-Source Shortest Paths. arXiv:2504.17033v2, 31 de julio de 2025. https://arxiv.org/abs/2504.17033.
  • Dijkstra, E. W. (1959). A note on two problems in connexion with graphs. Numerische Mathematik 1: 269-271. S2CID 123284777. doi:10.1007/BF01386390.

Recomendamos en