Dijkstra: El algoritmo matemático de 70 años que hace posible el internet

Hoy en día, nos cuesta imaginar una vida sin internet; lo usamos para todo: enviar mensajes, trabajar, estudiar, ver películas o simplemente buscar una receta. Lo realmente asombroso es la cantidad de información que se mueve por las redes que lo hacen posible.

Detrás de cada mensaje, video o búsqueda, hay un complejo entramado de caminos digitales. Esa información no viaja al azar: los equipos de telecomunicaciones deben decidir, en fracciones de segundo, cuál es la ruta más rápida y eficiente para llevar los datos a su destino; esto solo es posible gracias a las matemáticas.

Aunque el uso de internet se volvió masivo recién en las primeras décadas del siglo XXI, las ideas matemáticas que permiten que el internet funcione comenzaron a gestarse mucho antes. En particular, uno de los pilares fundamentales es un algoritmo desarrollado en el siglo XX: el algoritmo de Dijkstra, el cual es el responsable directo de que los equipos de telecomunicaciones puedan elegir el camino más rápido para que la información llegue a su destino.

Lo sorprendente es que fue creado en 1956 y tuvieron que pasar casi 40 años de avances tecnológicos para que sus aplicaciones revolucionaran la forma en que nos conectamos globalmente.

¿De dónde viene este algoritmo?

El algoritmo fue creado en 1956 por el científico neerlandés Edsger W. Dijkstra, uno de los pioneros en la informática, curiosamente, no surgió de una necesidad tecnológica urgente, sino como un ejercicio intelectual, Edsger W. Dijkstra lo ideó mientras estaba de vacaciones con su prometida en Ámsterdam, ¡esperando su turno para tomar un café!

Dijkstra quería resolver un problema sencillo: cómo encontrar la ruta más corta entre dos puntos en un mapa, era un ejercicio teórico, pero lo abordó con una precisión matemática que terminaría cambiando el mundo.

El resultado fue un algoritmo que, paso a paso, puede identificar la forma más eficiente de ir de un punto A a un punto B, evaluando todas las opciones posibles sin perder tiempo en caminos innecesarios, en ese momento parecía solo una curiosidad matemática, con el paso del tiempo se convirtió en una herramienta esencial para las redes de computadoras, los GPS, los sistemas de navegación… y por supuesto, el internet.

Edsger W. Dijkstra. Fuente: Internet

¿Cómo funciona el algoritmo de Dijkstra?

Imagina que estás en tu casa y quieres ir a la biblioteca, tienes varios caminos posibles con diferentes distancias, aquí está el mapa ilustrado:

Ejemplo de Mapa. Fuente: Desarrollado por el autor, software draw.io

Distancias:

Casa → Parque = 3
Casa → Panadería = 2
Panadería → Biblioteca = 3
Panadería → Parque = 1
Parque → Biblioteca = 4

¿Qué hace el algoritmo?

1.- Empiezas en Casa:
Distancia desde Casa a Casa = 0
Distancia al resto: infinita (todavía no los has visitado)

2.- Desde Casa puedes ir a:
Parque (Que está a una distancia de 3)
Panadería (Que está a una distancia de 2)
Eliges Panadería porque “cuesta” menos

3.- Desde Panadería puedes ir a:
Biblioteca (Que estas a una distancia de 3)
Parque (Que estas a una distancia de 1)
Eliges biblioteca que es el destino, pero ¿Por qué no elegiste Parque?

No se eligió ir por el Parque, aunque desde la Panadería solo costara 1 llegar hasta allí, porque el algoritmo no solo mira el siguiente paso, sino el camino completo, desde el Parque hasta la Biblioteca hay que sumar 4 más, lo que haría un total de 7, en cambio, ir directamente de la Panadería a la Biblioteca cuesta solo 3, el algoritmo de Dijkstra siempre suma las distancias y elige la ruta con el menor total.
Biblioteca desde Casa
Panadería (2) + Parque (1) + Biblioteca (4) = 7
Panadería (2) + Biblioteca (3) = 5

Los dispositivos que solemos llamar «routers» o «enrutadores» tienen una función clave: encaminar la información hacia su destino. Para hacerlo, se mantienen en constante comunicación entre ellos, intercambiando datos sobre cómo está la red en cada momento.

Gracias a este intercambio, pueden construir una especie de “mapa” de todos los caminos posibles dentro de la red, con ese mapa, calculan cuál es la mejor ruta para cada paquete de datos, tomando en cuenta factores como la velocidad (ancho de banda) y la disponibilidad de cada enlace, para poder aplicar de manera eficiente el algoritmo Dijkstra.

Así, cada vez que envías un mensaje, haces una videollamada o ves una serie en línea, hay un ejército de routers trabajando en segundo plano, usando matemáticas desarrolladas hace más de 60 años como el algoritmo de Dijkstra para asegurarse de que los datos lleguen a su destino de la forma más rápida y eficiente posible, es un recordatorio de que, detrás de lo cotidiano, hay ideas brillantes que hacen que el mundo digital funcione sin que apenas lo notemos.

4 comentarios en “Dijkstra: El algoritmo matemático de 70 años que hace posible el internet

  1. Es sorprende ver desde la perspectiva de la ciencia en como funciona todo de la tecnología especificando el internet, el como se distribuye, el como son esos algoritmos para que todo concuerde, es muy sorprendente!!!!

    Le gusta a 2 personas

Replica a Diego Marambio Rubilar Cancelar la respuesta