What is Adiabatic Computation? What is Adiabatic Computation?
Monday, January 21, 2008 - Dr. Boaz Tamir
Home >> Personal Column >> Dr. Boaz Tamir
  Peralink
The adiabatic computation stresses the deep and mysterious connection between physics and mathematics. Using a principle of quantum mechanics we try to find a shortcut to solutions of mathematical problems. It is not clear why we can use physics to reduce the complexity of mathematical problems, but quantum computation produces several such examples.
Submit item to:   Del.icio.us Add to: Del.icio.us  Digg Add to: Digg  StumbleUpon Add to: StumbleUpon   Reddit Add to: Reddit   Slashdot Add to: Slashdot   More Bookmarks

The following is an artificial example of adiabatic computation introduced here solely for the purpose of explanation. Suppose we encounter an algebraic function such as: 

f(x) = ax3+bx2+cx+d

Suppose we are looking for the point x where this function reaches its minimal value. One way to solve the equation is to use the well known fact that the minimum or maximum value of a function is where its derivative (its 'slope') equals 0. We can compute the derivative and equate it to 0. Since the function is of a 3rd degree, its derivative is of the second degree, and we end up solving a quadratic equation.  This is the analytical way of solving the problem, which is based on 17th century mathematics.                   

The physical adiabatic (and quantum) way of solving this problem is different. Let's look at a simpler equation like: 

f(x) = x2

We can simulate this simple equation and its solution on a physical model. Think of a ball or a roller coaster train falling down a 'hill' into a deep 'valley'. Suppose this 'valley' is in the shape of our equation f(x) = x2.                           
 
Ball 1 illustration

If you leave the ball somewhere on the slope it will descend until it reaches the lowest point in the valley. You can read the solution of the equation by reading the location of the ball (in fact, you already know the solution, it is x=0).  The physical model we have just described helps us in computing the problem. We could build a model of the valley out of stones, electronics, or even some biological material. This model is really a computer. Reading the point where the ball is stationary is like reading the results from a printer. The problem represented to our stone-aged computer is actually very simple, but do not underrate this 'computer', it will turn out to be very powerful! 

Suppose we are now represented with a more complicated problem. We will do something very strange that will turn out later to be reasonable. Instead of inserting new inputs to the same computer, we will change our computer continuously until it fits the new problem. The theory (that is, quantum theory) shows that if we do it slowly enough we can read the results off the 'computer' by reading the new location of the ball (all this is done on a quantum apparatus so the example here with a ball is solely for illustration purposes).  

Evolving our computer continuously from the initial state to its final shape is done in the same way as evolving the function. We change the coefficients of our old function f(x) = x2 and turn it slowly into the function f(x) = ax3+bx2+cx+d. The coefficient of x3 must go from 0 to a, the coefficient of x2 must go from 1 to b, the coefficient of x must go from 0 to c, and the coefficient of 1 must go from 0 to d. This will take our simple equation, which we've already found the solution to, into the more complicated equation, the one we are trying to solve. It is implicitly suggested here that we know how to build a computer for the initial and simple problem, and that we know how to evolve the initial computer continuously into the final computer by playing with the stones. The only thing we do not know is the solution to the new problem.               

Ball 2 illustration

What will happen to the ball? Well, if you do everything very slowly you will find the ball resting in a location which is the minimum point of the new equation. At least this is what the adiabatic principle of quantum mechanics is all about.  Changing the view very slowly guarantees that if you start with a solution to the first simple equation, (a solution that you can easily compute) you will end up with a solution to the complicated equation that you want to solve. All in all, you have solved the mathematical problem physically without using manipulations of variables. 

A few technical remarks for the professional reader: the example above is written very heuristically, hiding the physical details. In fact, we look at what is called the Hamiltonian, which is the operator that is responsible for the time evolution of the state vector. The initial Hamiltonian has minimal eigenvector that corresponds to the solution of the initial simple problem. We change this Hamiltonian very slowly until it becomes the final Hamiltonian. This is the Hamiltonian with minimal eigenvector that corresponds to the solution of our final problem. We can build the final Hamiltonian but we do not know its minimal eigenvector.  If we evolve the Hamiltonians slowly enough, then having started with a minimal eigenvalue of the simple equation, we end up with a minimal eigenvalue, which this time is the solution we were seeking.  If the evolution is done too quickly, we might end up with an eigenvalue with a higher energy. 

This method looks very powerful, almost magical! Alas, there are several difficulties in its application. One of the questions is how slowly do we have to go. It could be that we reduce some type of complexity of the mathematical problem but we pay with time complexity. Therefore, it is not clear if such a computer is more or less efficient than other computers. Well, it turns out that for some problems, its efficiency could be better than the efficiency of classical computers. 

Where does the name 'adiabatic' come from?  

The term Adiabatic comes from the theory of thermodynamics. Adiabatic means 'without changing the amount of heat'. There are several processes that one wants to conduct without changing the amount of heat. Usually, these processes are done very slowly. This guarantees that they will be reversible. Quantum computation is also a reversible process, and the above computation is carried out very slowly, hence the term adiabatic. 

You can see that adiabatic computation raises some interesting problems as to the relation between classical and quantum computation.  

Further reading:

For further reading see Quantum Computation by Adiabatic Evolution, by E.Farhi, J.Goldstone, S.Gutmann, and M.Sipser.

TFOT reported in 2007 on
the Canadian company D-Wave which reportedly demonstrated a 16 and later on 28-Qubit Quantum Computer under the title "adiabatic quantum computing".


About the author: Boaz Tamir holds a Ph.D. degree in Mathematics from the Weizmann Institute of Science.  For the last several years he has researched quantum physics. He is currently working on a second  Ph.D. thesis in the department of History and Philosophy of Science at the Bar Ilan- University.

Related Columns Who Invented the Digital Computer? Who Invented the Digital Computer? What is a quantum computer? What is a quantum computer?

Other News New Gecko-Inspired Synthetic Adhesive New Gecko-Inspired Synthetic Adhesive Long Living Neurons Long Living Neurons

Other Pictures GEN H-4 – Personal Helicopter GEN H-4 – Personal Helicopter Water Spirals around a Newborn Star Water Spirals around a Newborn Star


Submit item to:   Del.icio.us Add to: Del.icio.us  Digg Add to: Digg  StumbleUpon Add to: StumbleUpon   Reddit Add to: Reddit   Slashdot Add to: Slashdot  
Add to: Technorati   Add to: Netscape   Add to: Newsvine   Add to: Mr. Wong Add to: Webnews Add to: Icio Add to: Oneview Add to: Folkd Add to: Yigg Add to: Linkarena Add to: Simpy Add to: Furl Add to: Yahoo Add to: Spurl Add to: Google Add to: Blinklist Add to: Blogmarks Add to: Diigo Add to: Blinkbits Add to: Ma.Gnolia Add to: Smarking Add to: Netvouz Information


Comments & Replies (4)
Adiabatic Computing   (01/24/08 - 19:03 - by Rob S.)
This reminds of method called Simulated Annealing used to find a
minimum on a three dimensional surface. However, instead of allowing
the ball to stay at rest when an apparent minimum was found "heat" was
added to allow it to escape local minima that were not the best
solution.
Better Example Needed   (01/25/08 - 22:03 - by Tom)
While your example may in fact support your story, unfortunately, this
example is THE example for non-linear gradient descent solutions.
Also, genetic algorithm methods seem related. and of course Simulated
Annealing. An example which is not so associated with these
fundamental non-linear methods would be quite illuminating! I'm
interested in how it could solve Neural Networks!
Answer   (01/30/08 - 18:49 - by Boaz Tamir)
Than you for both coments. Indeed it reminds Simulated Annealing, and
I am sure
it was one of the motivation. Note however that adiabatic
computation is reversible and quantum. As for the example, this
indeed could be improved. I was trying to
make it a simple as can be.
However no classical example is good enough to explain a quantum
process. You are more than wellcome to suggest a better one.
isentropic computing   (02/13/08 - 22:56 - by John)
adiabatic does not imply reversibility, and adiabatic processes can
occur very quickly. isentropic means adiabatic AND reversible, so your
form of computing should be really called isentropic.

Picture Of The Day
SmellyPhone
SmellyPhone

Site Of The Week
Robot Hall of Fame
Robot Hall of Fame

Personal Column
Orffyreus and Leibniz - Part 2
Ran Levi
Orffyreus and Leibniz - Part 2

Book Review
The Bomb that Never Was
The Bomb that Never Was




Terms Of Use | Privacy Policy | Contact Us | Advertise With Us | Site Profile
Copyright © 2007 The Future of Things. All rights reserved.