# Short algorithm, long-range consequences

##### March 1, 2013 by Larry Hardesty

In the last decade, theoretical computer science has seen remarkable progress on the problem of solving graph Laplacians—the esoteric name for a calculation with hordes of familiar applications in scheduling, image processing, online product recommendation, network analysis, and scientific computing, to name just a few. Only in 2004 did researchers first propose an algorithm that solved graph Laplacians in "nearly linear time," meaning that the algorithm's running time didn't increase exponentially with the size of the problem.

At this year's ACM Symposium on the Theory of Computing, MIT researchers will present a new for solving graph Laplacians that is not only faster than its predecessors, but also drastically simpler. "The 2004 paper required fundamental innovations in multiple branches of mathematics and , but it ended up being split into three papers that I think were 130 pages in aggregate," says Jonathan Kelner, an associate professor of applied mathematics at MIT who led the new research. "We were able to replace it with something that would fit on a ."

The MIT researchers—Kelner; Lorenzo Orecchia, an instructor in applied mathematics; and Kelner's students Aaron Sidford and Zeyuan Zhu—believe that the simplicity of their algorithm should make it both faster and easier to implement in software than its predecessors. But just as important is the simplicity of their conceptual analysis, which, they argue, should make their result much easier to generalize to other contexts.

Overcoming resistance

A graph Laplacian is a matrix—a big grid of numbers—that describes a graph, a mathematical abstraction common in computer science. A graph is any collection of nodes, usually depicted as circles, and edges, depicted as lines that connect the nodes. In a logistics problem, the nodes might represent tasks to be performed, while in an online , they might represent titles of movies.

In many graphs, the edges are "weighted," meaning that they have different numbers associated with them. Those numbers could represent the cost—in time, money or energy—of moving from one step to another in a complex logistical operation, or they could represent the strength of the correlations between the movie preferences of customers of an online video service.

The Laplacian of a graph describes the weights between all the edges, but it can also be interpreted as a series of linear equations. Solving those equations is crucial to many techniques for analyzing graphs.

One intuitive way to think about graph Laplacians is to imagine the graph as a big electrical circuit and the edges as resistors. The weights of the edges describe the resistance of the resistors; solving the Laplacian tells you how much current would flow between any two points in the graph.

Earlier approaches to solving graph Laplacians considered a series of ever-simpler approximations of the graph of interest. Solving the simplest provided a good approximation of the next simplest, which provided a good approximation of the next simplest, and so on. But the rules for constructing the sequence of graphs could get very complex, and proving that the solution of the simplest was a good approximation of the most complex required considerable mathematical ingenuity.

Looping back

The MIT researchers' approach is much more straightforward. The first thing they do is find a "spanning tree" for the graph. A tree is a particular kind of graph that has no closed loops. A family tree is a familiar example; there, a loop might mean that someone was both parent and sibling to the same person. A spanning tree of a graph is a tree that touches all of the graph's nodes but dispenses with the edges that create loops. Efficient algorithms for constructing spanning trees are well established.

The spanning tree in hand, the MIT algorithm then adds back just one of the missing edges, creating a loop. A loop means that two nodes are connected by two different paths; on the circuit analogy, the voltage would have to be the same across both paths. So the algorithm sticks in values for current flow that balance the loop. Then it adds back another missing edge and rebalances.

In even a simple graph, values that balance one loop could imbalance another one. But the MIT researchers showed that, remarkably, this simple, repetitive process of adding edges and rebalancing will converge on the solution of the graph Laplacian. Nor did the demonstration of that convergence require sophisticated mathematics: "Once you find the right way of thinking about the problem, everything just falls into place," Kelner explains.

Explore further: Explained: Graphs

## Related Stories

#### Explained: Graphs

December 17, 2012

When most people hear the word "graph," an image springs to mind: a pair of perpendicular lines overlaid with a line, a curve, or bars of different heights.

#### Fundamental algorithm gets first improvement in 10 years

September 27, 2010

The maximum-flow problem, or max flow, is one of the most basic problems in computer science: First solved during preparations for the Berlin airlift, it’s a component of many logistical problems and a staple of introductory ...

#### More-efficient computation: Finding local solutions to overwhelmingly complex problems

March 31, 2011

At a time when the Internet puts an untold amount of information at anyone’s fingertips, and automated scientific experiments churn out data faster than researchers can keep up with it, and communications networks can ...

#### Frog calls inspire a new algorithm for wireless networks

July 17, 2012

Males of the Japanese tree frog have learnt not to use their calls at the same time so that the females can distinguish between them. Scientists at the Polytechnic University of Catalonia have used this form of calling behaviour ...

#### Who's the most influential in a social graph? New software recognizes key influencers faster than ever

September 7, 2012

(Phys.org)—At an airport, many people are essential for planes to take off. Gate staffs, refueling crews, flight attendants and pilots are in constant communication with each other as they perform required tasks. But it's ...

February 21, 2012

Understanding the spread of infectious diseases in populations is the key to controlling them. If we were facing a flu pandemic, how could we measure where the greatest spreading risk comes from? This information could help ...

## Recommended for you

#### You are less anonymous on the web than you think—much less

October 26, 2016

If you still think you can be anonymous on the internet, a team of Stanford and Princeton researchers has news for you: You can't. Over the summer, the team launched what they called the Footprints Project, which invited ...

#### Making it easier to collaborate on code

October 26, 2016

Git is an open-source system with a polarizing reputation among programmers. It's a powerful tool to help developers track changes to code, but many view it as prohibitively difficult to use.

#### Dutch unveil giant vacuum to clean outside air

October 25, 2016

Dutch inventors Tuesday unveiled what they called the world's first giant outside air vacuum cleaner—a large purifying system intended to filter out toxic tiny particles from the atmosphere surrounding the machine.

October 25, 2016

Google has designed a giant touch-screen canvas for companies trying to make it easier for their employees to brainstorm as they work on team projects and other assignments.

#### IEA hikes green energy forecast after 'turning point' year

October 25, 2016

Government support and lower costs will power stronger-than-expected global growth in renewable energy over the next five years, the International Energy Agency (IEA) said Tuesday.

#### Driverless truck from Uber's Otto makes Colorado beer delivery

October 25, 2016

A self-driving truck built by Uber's unit Otto made a pioneering delivery of beer in Colorado last week, Otto announced Tuesday.

##### explainer
5 / 5 (3) Mar 01, 2013
This is a really cool algorithm. My congrats to the developers. I did matrices in Fortran, solving finite element problems in aerospace structures early in my career, and if you can map a problem into a matrix, you have a good chance of solving it.
##### Whydening Gyre
1 / 5 (4) Mar 01, 2013
Phi & balance
##### Parsec
5 / 5 (1) Mar 02, 2013
I wonder if this same idea might be used to solve some of the simpler (more constrained) place and route problems... I love it when people come up with new ways of thinking about a problem. The solutions can be used in so many unexpected ways.
##### Tausch
1 / 5 (1) Mar 02, 2013
The 'convergence' describes a point in space. Space is accommodating. Not only describing the point suspended in space. You are allowed to imagined the point lying on - firstly - any line - and if needed - any surface a space is defined to accommodate.

All graphs have a surface that will work.
You want a surface that has the points - solutions to all problems that converge.

Parsec is correct. The exact solution to the traveling salesman.
A solution you can optimize no further. Or solve efficiently no matter how close you come to optimizing.