Skip to content
research

La mentira detrás del algoritmo de Dijkstra

Durante décadas, el algoritmo de Dijkstra fue el rey imbatible en la búsqueda del camino más corto. Un avance reciente demuestra que una suposición fundamental siempre fue errónea, cambiando nuestra forma de pensar sobre los límites computacionales.

Aki Tanaka
La mentira detrás del algoritmo de Dijkstra

El reinado de 40 años de un rey imbatido

El algoritmo de Dijkstra ha reinado como el campeón indiscutible de los problemas de single-source shortest path durante más de cuatro décadas. Desde el intrincado enrutamiento de red que sustenta internet hasta las indicaciones en tiempo real generadas por Google Maps, su elegante solución ha sido la base de innumerables sistemas críticos. Este algoritmo, concebido por primera vez por Edsger Dijkstra en 1956, se convirtió en el estándar de oro computacional, adoptado universalmente por su fiabilidad y eficiencia.

Cuando se implementa con un Fibonacci heap, el algoritmo de Dijkstra logra una complejidad temporal de O(m + n log n), donde 'm' representa el número de aristas y 'n' el número de nodos en un grafo. El componente 'log n' surge directamente del requisito fundamental del algoritmo: extraer sistemáticamente los nodos en orden creciente de su distancia calculada desde la fuente. Esta operación de ordenamiento crucial se conoció como la "barrera de ordenamiento" (sorting barrier).

Durante más de 40 años, la comunidad de ciencias de la computación aceptó en gran medida esta sorting barrier como un costo inherente e inevitable al encontrar los caminos más cortos. Los investigadores trataron el término O(n log n) como un límite estricto y fundamental dentro del modelo de comparación-adición, dando forma a toda la trayectoria de la investigación algorítmica en el campo. Esta creencia largamente sostenida influyó en generaciones de científicos informáticos, quienes buscaron optimizaciones alrededor de la barrera, en lugar de intentar penetrarla directamente.

Un avance de décadas en proceso

Un artículo innovador obtuvo el premio al mejor artículo en STOC 2025: 'Breaking the Sorting Barrier for Directed Single-Source Shortest Paths'. Escrito por Ran Duan, Jiayi Mao, Xiao Mao, Xinkai Shu y Longhui Yin, esta investigación desafió fundamentalmente una suposición que se mantuvo durante más de cuatro décadas. Demostró que la sorting barrier, considerada durante mucho tiempo un cuello de botella inevitable en los cálculos de caminos más cortos, no era, de hecho, necesaria.

El nuevo algoritmo logra una impresionante complejidad temporal de O(m * log^(2/3) n). Esto supera directamente el límite O(m + n log n) de Dijkstra, anteriormente considerado el óptimo para muchos escenarios cuando se implementa con un Fibonacci heap. Su innovación central radica en evitar el requisito de ordenamiento completo que define el enfoque de Dijkstra, demostrando que extraer nodos estrictamente por distancia no es esencial para la corrección.

Fundamentalmente, este avance se aplica a una clase de problemas notoriamente difícil: caminos más cortos de fuente única en directed graphs con pesos reales no negativos. El algoritmo también es determinista, ofreciendo una solución robusta y predecible. Durante décadas, los investigadores trataron el paso de ordenamiento como un límite inherente, haciendo de este nuevo trabajo una profunda reevaluación de la eficiencia algorítmica fundamental.

Por qué Google Maps no está reescribiendo su código

La discusión en internet explotó con la noticia de la "derrota" de Dijkstra, sin embargo, la mayoría de las publicaciones virales pasaron por alto un detalle crucial: el innovador algoritmo de Ran Duan et al. supera principalmente el rendimiento en sparse graphs. Aquí, el número de aristas (m) es relativamente bajo en comparación con los nodos (n). Este avance de O(m * log^(2/3) n), detallado en artículos como A New Algorithm for Shortest Paths (Hypothetical Placeholder), rompe la "barrera de ordenamiento" para estas topologías de red específicas.

Sin embargo, cuando los grafos se vuelven densos, lo que significa que 'm' es grande, el algoritmo de Dijkstra mantiene su fuerte ventaja competitiva. Su complejidad O(m + n log n) sigue siendo altamente eficiente en escenarios donde prácticamente cada nodo se conecta con muchos otros. Para estas redes densas omnipresentes, el nuevo algoritmo no ofrece ninguna ventaja perceptible, lo que hace que la "derrota" sea altamente condicional.

Más allá de los límites teóricos, la implementación en el mundo real introduce aspectos prácticos. Incluso con una complejidad asintótica superior, el nuevo algoritmo puede conllevar mayores factores constantes en su tiempo de ejecución, lo que puede anular las ganancias teóricas para tamaños de problema típicos. Décadas de esfuerzo de ingeniería han optimizado el algoritmo de Dijkstra, integrándolo en bases de código heredadas altamente eficientes que impulsan sistemas como Google Maps. Esta inercia práctica significa que Dijkstra no irá a ninguna parte pronto.

¿Te está gustando? Recibe uno así en tu bandeja cada mañana.

un correo al día · date de baja en dos clics · sin rastreadores de terceros

La verdadera revolución: acabar con una suposición

El verdadero triunfo del mejor artículo de STOC 2025 de Ran Duan et al. se extiende más allá de la mera velocidad computacional. Si bien su algoritmo ofrece una aceleración teórica en grafos dispersos, su profundo impacto radica en romper una suposición profundamente arraigada que había gobernado los algoritmos de camino más corto durante más de cuatro décadas. No se trataba de una optimización incremental; se trataba de refutar una ley fundamental percibida.

Durante 41 años, los investigadores trataron la "barrera de ordenamiento" (sorting barrier) como un componente inevitable para encontrar los caminos más cortos. El algoritmo de Dijkstra exige inherentemente procesar los nodos en orden ordenado por distancia, un paso que contribuye al problemático factor log n en su complejidad temporal O(m + n log n). Este requisito se consideraba intrínseco al problema, una restricción inquebrantable.

El equipo de Duan demostró que este orden completo no es, de hecho, necesario. Su algoritmo O(m * log^(2/3) n), determinista y robusto para grafos dirigidos con pesos no negativos, rompió decisivamente esta barrera largamente sostenida. Esta victoria para la ciencias de la computación teórica demuestra que incluso los límites más establecidos, que alguna vez se consideraron inmutables, pueden ser cuestionados y finalmente superados.

El legado del artículo no trata sobre que Google Maps reescriba su sistema de enrutamiento mañana. En cambio, sirve como un poderoso testimonio del valor de la investigación fundamental, inspirando a una nueva generación de científicos. Nos anima a desafiar otras suposiciones "imbatibles" en todo el campo, superando los límites mismos de lo que creemos que es computacionalmente posible.

Preguntas frecuentes

¿Qué es la 'barrera de ordenamiento' (sorting barrier) en el algoritmo de Dijkstra?

La 'barrera de ordenamiento' se refiere al costo computacional asociado con el método de Dijkstra de seleccionar repetidamente el nodo con la distancia más pequeña. Este proceso es equivalente a ordenar, que tiene un límite inferior teórico de O(n log n), y durante mucho tiempo se consideró un cuello de botella inevitable para los algoritmos de camino más corto.

¿El nuevo algoritmo hace que el de Dijkstra sea obsoleto?

No. El nuevo algoritmo es teóricamente más rápido que el de Dijkstra solo en grafos dispersos. Para grafos densos, el algoritmo de Dijkstra sigue siendo competitivo o incluso superior. Además, las implementaciones prácticas de Dijkstra están altamente optimizadas y aún pueden superar al nuevo algoritmo en muchos escenarios del mundo real.

¿Cuál es la complejidad temporal del nuevo algoritmo?

El nuevo algoritmo, desarrollado por Ran Duan y sus colegas, tiene una complejidad temporal de O(m * log^(2/3) n), donde 'm' es el número de aristas y 'n' es el número de nodos. Esto supera al O(m + n log n) de Dijkstra en grafos dispersos.

¿Por qué es tan importante este nuevo algoritmo?

Su importancia principal es teórica. Demuestra que la 'sorting barrier', un límite fundamental asumido durante mucho tiempo en la informática, era simplemente una suposición. Al demostrar una forma de encontrar el camino más corto sin una ordenación completa, abre nuevas vías para la investigación algorítmica.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$500 · AI tools & software only

Para builders

Esta página está trabajando para la herramienta de otro.

La leen los agentes de IA. Aterrizan compradores. Responde en ocho idiomas y vía MCP. Tu herramienta puede tener una igual — publicada en 24 horas.