A new view to see goods move better
Some of the world's brightest minds have come up with a new way to move packets, which could speed up movements in virtual and physical networks.
Finding the most efficient way to transport items or information throughout a network is one of the biggest ongoing challenges in computing, but researchers from MIT have developed a new algorithm which for finding the maximum possible flow.
The advanced computing technique could soon lead to more efficient transport systems, logistical planning and systems assessment.
Traditional 'max flow' models represents networks as a kind of graph with a series of nodes (known as vertices) with connecting lines (edges) between them.
However, given that each edge has a maximum capacity — like roads, or the fibre-optic cables used to transmit information around the Internet — such algorithms attempt to find the most efficient way to move goods from one node in the graph to another, without exceeding the inherent limits.
Most traditional approaches to assessing the maximum flow of a network involve sending goods from point A to point B along the quickest route, before moving on to the next when the first reaches its capacity.
The cascading calculations are made more difficult as the size of networks and the amount of simultaneous transmissions increases.
When assessing a immense network such as the Internet, troves of data on a site like Facebook, or the myriad connections in the human brain or genome, this method is virtually useless.
This week at a symposium on Discrete Algorithms a group from MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) has presented the latest version of their new approach, which can dramatically reduce the amount of processes needed to determine the best way to move something.
The approach started at the foundations, but instead visualised the graph as a collection of electrical resistors, and then imagined connecting a battery to node A and a ground to node B, and allowing the current to flow through the network.
“Electrical current doesn't pick just one path, it will send a little bit of current over every resistor on the network,” says associate professor of applied mathematics Jonathan Kelner.
“So it probes the whole graph globally, studying many paths at the same time.”
Viewing all paths as equals increases the chance of creating bottlenecks along slower routes.
The team's algorithm divides each graph into clusters of well-connected nodes, and the paths between them that create bottlenecks, Kelner says.
“Our algorithm figures out which parts of the graph can easily route what they need to, and which parts are the bottlenecks. This allows you to focus on the problem areas and the high-level structure, instead of spending a lot of time making unimportant decisions, which means you can use your time a lot more efficiently,” he says.
The result is an almost linear algorithm, meaning the amount of time it takes to solve a problem is very close to proportional with the number of nodes on the network.
If the number of nodes on the graph is multiplied by 10, the amount of time would be multiplied by something very close to 10, as opposed to being multiplied by 100 or 1,000, Kelner says.
“This means that it scales essentially as well as you could hope for with the size of the input.”