While classical computation follows classical physics and uses electronic transistors to crunch zeros and ones individually, quantum computation employs quantum resources to manage zeros and ones simultaneously and may speed up certain calculation work dramatically [1]}, [2]}.
Quantum computation strives to understand how to take advantage of the huge information hidden in quantum systems by exploring the enormous potential of atoms and photons.
It uses quantum phenomena such as quantum superposition, quantum entanglement and quantum tunneling to compute and process infomation.
Two major approaches to realize and implement quantum computation are logic-gate based quantum computing and adiabatic quantum computing
[3]}, [4]}, [5]}, [6]}, [7]}, [8]}, [9]}, [10]}.
The logic-gate based quantum computers are constructed based on quantum circuits with quantum gates and provide the quantum analog of classical universal or general-purpose computers.
Intensive efforts are underway around the world by academic labs, large companies, and government institutes to overcome technical problems in constructing the universal quantum computers.
However, the practical application of general-purpose quantum computers may be still decades away while on the other hand, special-purpose quantum computers such as quantum annealers and quantum simulators, can be constructed with capabilities exceeding their classical counterparts
[11]}, [3]}, [13]}, [14]}, [4]}, [16]}, [2]}.
Quantum annealers are physical hardwares to realize quantum annealing and are used to solve combinatorial optimization problems and to realize Monte Carlo sampling more efficiently.
Annealing materials by first heating and then slow cooling in order to reduce their brittleness is an ancient technology, which has been used in making and refining materials such as glass and metal.
Computers can be employed to reproduce this process, which creates simulated annealing that provides an optimization tool.
It is based on the analogy between the behavior of a complex physical system with multiple degrees of freedom and an optimization problem of finding the global minimum given an objective function defined by many parameters.
The objective function of the optimization problem can be regarded as the energy of the physical system, then finding the minimum energy configurations or ground states of the many-body physical system is equivalent to solving the corresponding optimization problem.
Computer simulation algorithms can be developed to mimic the annealing procedure of the physical system and finally reach the minimum energy configurations.
We discuss the classical approach called simulated annealing (SA) and the quantum approach called quantum annealing.
