Solving a search problem with a quantum computer requires finding a unitary operator L that transforms an easily constructed initial state vector to a new state with large amplitude in those components of the state vector corresponding to solutions. Furthermore, determining this operator and evaluating it with the quantum computer must be tractable operations. This restriction means that any information used for a particular assignment must itself be easily computed, and the algorithm only uses readily computable unitary operations.
To design a single-step quantum algorithm, we consider superpositions of all assignments for the problem. Since we have no a priori knowledge of the solution, an unbiased initial state vector is one with equal amplitude in each assignment: .
We must then incorporate information about the particular problem to be solved into this state vector. As in previous algorithms [27, 29, 30], we do this by adjusting the phases in parallel, based on a readily computed property of each assignment: its number of conflicts with the constraints of the problem. This amounts to multiplication by a diagonal matrix R, with the entries on the diagonal having unit magnitude so that R is unitary. The resulting amplitude for assignment s is then of the form where and depends only on the number of conflicts in s. While this operation adds problem specific information to the state vector, in itself it does not solve the problem: at this point a measurement would return assignment s with probability , the same as random selection.
This operation also illustrates how the unitarity requirement, , prevents us from using a computationally more desirable selection, i.e., if s is not a solution, and nonzero otherwise. Such a choice, if possible, would immediately give a state vector with all amplitude in the solution. While determining whether a given assignment is a solution can be done rapidly for any NP problem, that information can not be directly used to set amplitudes of the nonsolutions to zero. Thus, while quantum parallelism allows rapid testing of all assignments, the restriction to unitary operators severely limits the use that can be made of this information.
For a single-step search algorithm, the remaining operations must not require any additional evaluation of the problem constraints, i.e., these operations will be the same for all problems of a given size. One the other hand, this restriction has the advantage of allowing more general unitary matrices than just phase adjustments. Specifically, this allows operations that mix the various components of the state vector. We need to identify a mixing operator U that makes all contributions to the solution add together in phase, but with U independent of the particular problem.
The final result of the algorithm is . Suppose t is the solution. The maximum possible contribution to will be when all values in the sum combine in-phase. This will be the case if where is the complex conjugate of . In this case, which is just equal to 1. However, the mixing matrix itself is to be independent of any particular problem. Thus the issue is whether it is possible to create a U whose values will have the required phases no matter where the solution is. One approach is to note that the mixing should have no bias as to the amount of amplitude that will need to be moved from one assignment to another in the state vector. This means that the magnitude of each element in U will be the same, i.e., . For the phase of each element, we can consider using the feature of assignments used in classical local searches, namely the neighbors of each assignment. This suggests having depend only on the Hamming distance between r and s, i.e., where .
With the elements of U depending only on the Hamming distance, the matrix is independent of any particular problem's constraints. The question is then whether some feasible choices of and allow for the solution t. This will be the case provided , where depends only on the number of conflicts c in assignment s. This relation does not hold for all search problems. However, for the maximally constrained 1-SAT considered here, the Hamming distance of assignment s from the solution, d(t,s), which is the number of bad values in s, is precisely equal to the number of conflicts in s. Thus, to ensure all amplitude is combined into the solution, we merely need to have .
The final question is what choices for the values are consistent with U being a unitary matrix. This requirement restricts the available choices, e.g., having all results in the nonunitary matrix with all elements equal to .
To examine the possible choices, consider the smallest possible case, n=1. One maximally constrained, but still solvable, problem has the single clause NOT and solution . The two assignments, 0 and 1, have, respectively, 0 and 1 conflicts. Since overall phase factors are irrelevant, we can select leaving a single remaining choice for . For the matrix U, we have pairs of assignments with Hamming distance 0 and 1. Requiring then gives
The unitarity condition, , then requires that be purely imaginary, i.e., . We arbitrarily pick . Starting from the initial state with equal amplitude in both assignments we then have the results of applying R followed by U:
giving all the amplitude in the solution. The overall operation L=UR is
It is important to note that the same operations also work if, instead, the other assignment is the solution, i.e., the problem has the clause and solution . In this case, the assignments 0 and 1 now have, respectively, 1 and 0 conflicts so the phase adjustment is now applied to assignment 0. The operation then gives
Again, all amplitude is in the single solution, and the overall operation is
While the overall operation L depends on the location of the solution, for these problems it can be implemented by composing operators U and R that do not require knowledge of the solution. Instead, as described more generally in §4.5, R is implemented by using the classical function for evaluating the number of conflicts in a given assignment, but applied to a superposition of all assignments.
With these motivating arguments for the form of the operations, examining a few larger values of n establishes the simple pattern of phases used in the algorithm described in the remainder of this section.