Dijkstra’s Algorithm: A Coffee Break That Changed Tech!

Imagine sitting in a café, sipping coffee with your fiancée after a long morning of shopping. For most of us, this might be a moment to relax, unwind or calculate how much balance is in our savings! But for Edsger W. Dijkstra, a Dutch computer scientist, this casual coffee break sparked one of the most influential algorithms in computer science – Dijkstra’s Algorithm! Little did he know, his 20-minute brainstorm would become the backbone of modern Internet traffic management.

Edsger Dijkstra, Dijkstra's algorithm, science, logic
(Source)

In 1956, Dijkstra tackled the shortest path problem: finding the most efficient route between two points. In his case, maybe he was planning the return trip from Amsterdam to Groningen. As he sat on the café terrace, tired from the shopping activities, he began designing an algorithm to solve this problem. His algorithm elegantly solved the problem by evaluating all possible routes, calculating the shortest path based on weight (like distance, energy or time) and directing traffic accordingly.

(Credit: Nazmi Lao)

Picture this: you want to travel from home to the supermarket, which involves many other shops (nodes) connected by routes (edges). Some shops are longer or harder to travel (weights). Dijkstra’s algorithm helps you find the shortest path from one node to another. You start your journey from home (first node), check all nearby routes (edges), and pick the shortest one based on product type and importance (weights) to the next shop (second node), which can be the shoe shop. Repeat this step by always choosing the next shortest route you haven’t travelled yet until you arrive at the supermarket (final node). It’s like solving a puzzle step by step, ensuring you always take the quickest route!

Based on the same analogy, Dijsktra’s Algorithm has been adopted into the Internet standard, which defines the shortest route that our data travels across various networks consisting of servers, routers, and switches. Whenever you send an email, stream a video or browse a website, Dijkstra’s Algorithm runs its magic at the network layer to ensure all our Internet data takes the fastest and most efficient paths. Reducing congestion and optimising routes from the host server to the user destination makes the Internet faster and more reliable for billions of users worldwide. Without Dijkstra’s Algorithm, the Internet would be a slow and sluggish network of bottlenecks! Dijkstra’s Algorithm is among the fundamental concepts if you are considering a career in electronic & electrical engineering or computer networking & security.

Dijkstra, who later became a Turing Award winner (also known as the ‘Nobel Prize of Computing’), was known for his simplicity-first approach, and this algorithm was no exception. It was designed to be efficient, scalable, and easy to implement – qualities that made it perfect for managing the complex web of connections we now call the Internet!

dijkstra's algorithm, navigation
Navigation systems use Dijkstra’s Algorithm to suggest the best route for you.

While the Internet is its most famous application, Dijkstra’s Algorithm is also used in many other areas of our daily lives. For example, if you want to navigate to your holiday destination using Google Maps or Waze. In this situation, Dijkstra’s Algorithm will calculate the shortest path based on traffic and road conditions to ensure you arrive at your holiday destination early!

Social media platforms use Dijkstra’s Algorithm to suggest close connections.

Besides GPS navigation, social media platforms, such as Instagram and Facebook, benefit from Dijkstra’s Algorithm by suggesting your ‘close’ connections (such as relatives or university friends) by finding the shortest ‘path’ between the other social media users.

Vacuum bots use Dijkstra’s Algorithm to navigate your house efficiently and avoid obstacles.

Modern robots, such as vacuum bots, also use Dijkstra’s Algorithm to navigate through our house efficiently while avoiding toys and other obstacles on the floor and finding the quickest path back to their docking station.

The battery life of IoT components at home can be managed using Dijkstra’s Algorithm.

Researchers like us also use Dijkstra’s Algorithm to validate emerging networking technologies. For example, we apply it to study how groups of wirelessly connected drones can enhance network routing while navigating complex 3D spaces. Additionally, we explore energy-efficient routing strategies by modifying Dijkstra’s Algorithm to handle dynamic network conditions and optimise energy consumption, which is crucial for prolonging battery life in modern devices like smartphones and sensors for the Internet of Things (IoT) applications.

Remember Dijkstra when you’re sitting at a café, sipping coffee and waiting for someone. What started as a 20-minute brainstorm during a coffee break after a tired shopping outing has become one of the most important algorithms in the world. It powers the Internet, guides your GPS and helps robots navigate. So, the next time you’re scrolling through social media, streaming your favourite show or listening to the ASM podcast, take a moment to thank that coffee break in Amsterdam. It didn’t just recharge Dijkstra and his fiancée – it revolutionised how we communicate and connect to the Internet!

Share the knowledge
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •