Adiabatic Quantum Computation and Quantum Annealing