Theory of Computing, Volume 1 (2005), pp. 47–79 http://theoryofcomputing.org

Quantum Search of Spatial Regions

Scott Aaronson^{∗}  Andris Ambainis^{†}

Received: June 13, 2004; published: July 13, 2005.

Abstract: Can Grover’s algorithm speed up search of a physical region—for example a 2-D grid of size \sqrt{n}× \sqrt{n}? The problem is that \sqrt{n} time seems to be needed for each query, just to move amplitude across the grid. Here we show that this problem can be surmounted, refuting a claim to the contrary by Benioff. In particular, we show how to search a d-dimensional hypercube in time O(\sqrt{n}) for d ≥ 3, or O(\sqrt{n}log^{5/2}n) for d = 2. More generally, we introduce a model of quantum query complexity on graphs, motivated by fundamental physical limits on information storage, particularly the holographic principle from black hole thermodynamics. Our results in this model include almost-tight upper and lower bounds for many search tasks; a generalized algorithm that works for any graph with good expansion properties, not just hypercubes; and relationships among several notions of ‘locality’ for unitary matrices acting on graphs. As an application of our results, we give an O(\sqrt{n})-qubit communication protocol for the disjointness problem, which improves an upper bound of Høyer and de Wolf and matches a lower bound of Razborov.

ACM Classification: F.1.2, F.1.3

AMS Classification: 81P68, 68Q10

S. Aaronson, A. Ambainis

Key words and phrases: Quantum computing, Grover search, amplitude amplification, quantum communication complexity, disjointness, lower bounds Figure 1: A quantum robot, in a superposition over locations, searching for a marked item on a 2D grid of size \sqrt{n}× \sqrt{n}.

∗This work was mostly done while the author was a PhD student at UC Berkeley, supported by an NSF Graduate Fellowship.

†Supported by an IQC University Professorship and by CIAR. This work was mostly done while the author was at the University of Latvia.

Authors retain copyright to their papers and grant “Theory of Computing” unlimited rights to publish the paper electronically and in hard copy. Use of the article is permitted as long as the author(s) and the journal are properly acknowledged. For the detailed copyright statement, see http://theoryofcomputing.org/copyright.html.

\begin{matrix}c \\ ◯ \end{matrix} 2005 Scott Aaronson and Andris Ambainis

1 Introduction

The goal of Grover’s quantum search algorithm [17, 18] is to search an ‘unsorted database’ of size n in a number of queries proportional to \sqrt{n}. Classically, of course, order n queries are needed. It is sometimes asserted that, although the speedup of Grover’s algorithm is only quadratic, this speedup is provable, in contrast to the exponential speedup of Shor’s factoring algorithm [29]. But is that really true? Grover’s algorithm is typically imagined as speeding up combinatorial search—and we do not know whether every problem in NP can be classically solved quadratically faster than the “obvious” way, any more than we know whether factoring is in BPP.

But could Grover’s algorithm speed up search of a physical region? Here the basic problem, it seems to us, is the time needed for signals to travel across the region. For if we are interested in the fundamental limits imposed by physics, then we should acknowledge that the speed of light is finite, and that a bounded region of space can store only a finite amount of information, according to the holographic principle [9]. We discuss the latter constraint in detail in Section 2; for now, we say only that it suggests a model in which a ‘quantum robot’ occupies a superposition over finitely many locations, and moving the robot from one location to an adjacent one takes unit time. In such a model, the time needed to search a region could depend critically on its spatial layout. For example, if the n entries are arranged on a line, then even to move the robot from one end to the other takes n−1 steps. But what if the entries are arranged on, say, a 2-dimensional square grid (Figure 1)?

1.1 Summary of Results

This paper gives the first systematic treatment of quantum search of spatial regions, with ‘regions’ modeled as connected graphs. Our main result is positive: we show that a quantum robot can search a d-dimensional hypercube with n vertices for a unique marked vertex in time O( \sqrt{n}log^{3/2}n) when d = 2, or O(\sqrt{n}) when d ≥ 3. This matches (or in the case of 2 dimensions, nearly matches) the Ω(\sqrt{n}) lower bound for quantum search, and supports the view that Grover search of a physical region presents no problem of principle. Our basic technique is divide-and-conquer; indeed, once the idea is pointed out, an upper bound of O(n^{1/2+ε} ) follows readily. However, to obtain the tighter bounds is more difficult;

Quantum Search of Spatial Regions

d = 2  d > 2
Hypercube, 1 marked item O( \sqrt{n}log^{3/2}n) Θ(\sqrt{n})
Hypercube, k or more marked items O( \sqrt{n}log^{5/2}n) Θ( \frac{\sqrt{n}}{k^{1/2−1/d}} )
Arbitrary graph, k or more marked items \sqrt{n}2^{O(\sqrt{logn})}  Θ̃ ( \frac{\sqrt{n}}{k^{1/2−1/d}} )

Table 1: Upper and lower bounds for quantum search on a d-dimensional graph given in this paper. The symbol Θ̃ means that the upper bound includes a polylogarithmic term. Note that, if d = 2, then Ω(\sqrt{n}) is always a lower bound, for any number of marked items.

for that we use the amplitude-amplification framework of Grover [19] and Brassard et al. [11].

Section 5 presents the main results; Section 5.4 shows further that, when there are k or more marked vertices, the search time becomes O( \sqrt{n}log^{5/2}n) when d = 2, or Θ(\sqrt{n}/k^{1/2−1/d} ) when d ≥ 3. Also, Section 6 generalizes our algorithm to arbitrary graphs that have ‘hypercube-like’ expansion properties. Here the best bounds we can achieve are \sqrt{n}2^{O(\sqrt{logn})} when d = 2, or O(\sqrt{n}polylogn) when d > 2 (note that d need not be an integer). Table 1 summarizes the results.

Section 7 shows, as an unexpected application of our search algorithm, that the quantum communication complexity of the well-known disjointness problem is O(\sqrt{n}). This improves an O(\sqrt{n}c^{log^{∗}n}) upper bound of Høyer and de Wolf [20], and matches the Ω(\sqrt{n}) lower bound of Razborov [23].

The rest of the paper is about the formal model that underlies our results. Section 2 sets the stage for this model, by exploring the ultimate limits on information storage imposed by properties of space and time. This discussion serves only to motivate our results; thus, it can be safely skipped by readers unconcerned with the physical universe. In Section 3 we define quantum query algorithms on graphs, a model similar to quantum query algorithms as defined by Beals et al. [4], but with the added requirement that unitary operations be ‘local’ with respect to some graph. In Section 3.1 we address the difficult question, which also arises in work on quantum random walks [1] and quantum cellular automata [31], of what ‘local’ means. Section 4 proves general facts about our model, including an upper bound of O( \sqrt{nδ}) for the time needed to search any graph with diameter δ, and a proof (using the hybrid argument of Bennett et al. [7]) that this upper bound is tight for certain graphs. We conclude in Section 8 with some open problems.

1.2 Related Work

In a paper on ‘Space searches with a quantum robot,’ Benioff [6] asked whether Grover’s algorithm can speed up search of a physical region, as opposed to a combinatorial search space. His answer was discouraging: for a 2-D grid of size \sqrt{n}×\sqrt{n}, Grover’s algorithm is no faster than classical search. The reason is that, during each of the Θ(\sqrt{n}) Grover iterations, the algorithm must use order \sqrt{n} steps just to travel across the grid and return to its starting point for the diffusion step. On the other hand, Benioff noted, Grover’s algorithm does yield some speedup for grids of dimension 3 or higher, since those grids have diameter less than \sqrt{n}.

Our results show that Benioff’s claim is mistaken: by using Grover’s algorithm more carefully, one

d = 2  d = 3  d = 4  d ≥ 5
This paper O( \sqrt{n}log^{3/2}n) O(\sqrt{n}) O(\sqrt{n})  O(\sqrt{n})
[16]  O(n)  O(n^{5/6}) O(\sqrt{n}logn) O(\sqrt{n})
[3, 15]  O(\sqrt{n}logn)  O(\sqrt{n}) O(\sqrt{n})  O(\sqrt{n})

Table 2: Time needed to find a unique marked item in a d-dimensional hypercube, using the divide-and-conquer algorithms of this paper, the original quantum walk algorithm of Childs and Goldstone [16], and the improved walk algorithms of Ambainis, Kempe, and Rivosh [3] and Childs and Goldstone [15].

can search a 2-D grid for a single marked vertex in O( \sqrt{n}log^{3/2}n) time. To us this illustrates why one should not assume an algorithm is optimal on heuristic grounds. Painful experience—for example, the “obviously optimal” O(n^{3}) matrix multiplication algorithm [30]—is what taught computer scientists to see the proving of lower bounds as more than a formality.

Our setting is related to that of quantum random walks on graphs [1, 13, 14, 28]. In an earlier version of this paper, we asked whether quantum walks might yield an alternative spatial search algorithm, possibly even one that outperforms our divide-and-conquer algorithm. Motivated by this question, Childs and Goldstone [16] managed to show that in the continuous-time setting, a quantum walk can search a d-dimensional hypercube for a single marked vertex in time O(\sqrt{n}logn)when d = 4, or O(\sqrt{n}) when d ≥ 5. Our algorithm was still faster in 3 or fewer dimensions (see Table 2). Subsequently, however, Ambainis, Kempe, and Rivosh [3] gave an algorithm based on a discrete-time quantum walk, which was as fast as ours in 3 or more dimensions, and faster in 2 dimensions. In particular, when d = 2 their algorithm used only O(\sqrt{n}logn)time to find a unique marked vertex. Childs and Goldstone [15] then gave a continuous-time quantum walk algorithm with the same performance, and related this algorithm to properties of the Dirac equation. It is still open whether O(\sqrt{n}) time is achievable in 2 dimensions.

Currently, the main drawback of the quantum walk approach is that all analyses have relied heavily on symmetries in the underlying graph. If even minor ‘defects’ are introduced, it is no longer known how to upper-bound the running time. By contrast, the analysis of our divide-and-conquer algorithm is elementary, and does not depend on eigenvalue bounds. We can therefore show that the algorithm works for any graphs with sufficiently good expansion properties.

Childs and Goldstone [16] argued that the quantum walk approach has the advantage of requiring fewer auxiliary qubits than the divide-and-conquer approach. However, the need for many qubits was an artifact of how we implemented the algorithm in a previous version of the paper. The current version uses only one qubit.

2 The Physics of Databases

Theoretical computer science generally deals with the limit as some resource (such as time or memory) increases to infinity. What is not always appreciated is that, as the resource bound increases, physical constraints may come into play that were negligible at ‘sub-asymptotic’ scales. We believe theoretical computer scientists ought to know something about such constraints, and to account for them when possible. For if the constraints are ignored on the ground that they “never matter in practice,” then the obvious question arises: why use asymptotic analysis in the first place, rather than restricting attention to those instance sizes that occur in practice?

A constraint of particular interest for us is the holographic principle [9], which arose from blackhole thermodynamics. The principle states that the information content of any spatial region is upperbounded by its surface area (not volume), at a rate of one bit per Planck area, or about 1.4×10^{69} bits per square meter. Intuitively, if one tried to build a spherical hard disk with mass density υ, one could not keep expanding it forever. For as soon as the radius reached the Schwarzschild bound of r = \sqrt{3/(8πυ)} (in Planck units, c = G = h̄ = k = 1), the hard disk would collapse to form a black hole, and thus its contents would be irretrievable.

Actually the situation is worse than that: even a planar hard disk of constant mass density would collapse to form a black hole once its radius became sufficiently large, r = Θ(1/υ). (We assume here that the hard disk is disc-shaped. A linear or 1-D hard disk could expand indefinitely without collapse.) It is possible, though, that a hard disk’s information content could asymptotically exceed its mass. For example, a black hole’s mass is proportional to the radius of its event horizon, but the entropy is proportional to the square of the radius (that is, to the surface area). Admittedly, inherent difficulties with storage and retrieval make a black hole horizon less than ideal as a hard disk. However, even a weakly-gravitating system could store information at a rate asymptotically exceeding its mass-energy. For instance, Bousso [9] shows that an enclosed ball of radiation with radius r can store n = Θ(r^{3/2}) bits, even though its energy grows only as r. Our results in Section 6.1 will imply that a quantum robot could (in principle!) search such a ‘radiation disk’ for a marked item in time O(r^{5/4}) = O(n^{5/6}). This is some improvement over the trivial O(n) upper bound for a 1-D hard disk, though it falls short of the desired O(\sqrt{n}).

In general, if n = r^{c} bits are scattered throughout a 3-D ball of radius r (where c ≤ 3 and the bits’ locations are known), we will show in Theorem 6.7 that the time needed to search for a ‘1’ bit grows as n^{1/c+1/6} = r^{1+c/6} (omitting logarithmic factors). In particular, if n = Θ(r^{2}) (saturating the holographic bound), then the time grows as n^{2/3} or r^{4/3}. To achieve a search time of O(\sqrt{n}polylogn), the bits would need to be concentrated on a 2-D surface.

Because of the holographic principle, we see that it is not only quantum mechanics that yields a Ω(\sqrt{n}) lower bound on the number of steps needed for unordered search. If the items to be searched are laid out spatially, then general relativity in 3 + 1 dimensions independently yields the same bound, Ω(\sqrt{n}), up to a constant factor.^{1} Interestingly, in d + 1 dimensions the relativity bound would be Ω(n^{1/(d−1)} ), which for d > 3 is weaker than the quantum mechanics bound. Given that our two fundamental theories yield the same lower bound, it is natural to ask whether that bound is tight. The answer seems to be that it is not tight, since (i) the entropy on a black hole horizon is not efficiently accessible^{2}, and (ii) weakly-gravitating systems are subject to the Bekenstein bound [5], an even stronger entropy constraint than the holographic bound.

1Admittedly, the holographic principle is part of quantum gravity and not general relativity per se. All that matters for us, though, is that the principle seems logically independent of quantum-mechanical linearity, which is what produces the “other”

Ω(\sqrt{n}) bound.

2In the case of a black hole horizon, waiting for the bits to be emitted as Hawking radiation—as recent evidence suggests that they are [27]—takes time proportional to r^{3}, which is much too long.

Theory of Computing, Volume 1 (2005), pp. 47–79 51

Yet it is still of basic interest to know whether n bits in a radius-r ball can be searched in time o(min\{n,r\sqrt{n}\})—that is, whether it is possible to do anything better than either brute-force quantum search (with the drawback pointed out by Benioff [6]), or classical search. Our results show that it is possible.

From a physical point of view, several questions naturally arise: (1) whether our complexity measure is realistic; (2) how to account for time dilation; and (3) whether given the number of bits we are imagining, cosmological bounds are also relevant. Let us address these questions in turn.

(1) One could argue that to maintain a ‘quantum database’ of size n requires n computing elements ([32], though see also [24]). So why not just exploit those elements to search the database in parallel? Then it becomes trivial to show that the search time is limited only by the radius of the database, so the algorithms of this paper are unnecessary. Our response is that, while there might be n ‘passive’ computing elements (capable of storing data), there might be many fewer ‘active’ elements, which we consequently wish to place in a superposition over locations. This assumption seems physically unobjectionable. For a particle (and indeed any object) really does have an indeterminate location, not merely an indeterminate internal state (such as spin) at some location. We leave as an open problem, however, whether our assumption is valid for specific quantum computer architectures such as ion traps.

(2) So long as we invoke general relativity, should we not also consider the effects of time dilation? Those effects are indeed pronounced near a black hole horizon. Again, though, for our upper bounds we will have in mind systems far from the Schwarzschild limit, for which any time dilation is by at most a constant factor independent of n.

(3) How do cosmological considerations affect our analysis? Bousso [8] argues that, in a spacetime with positive cosmological constant Λ > 0, the total number of bits accessible to any one experiment is at most 3π/(Λln2), or roughly 10^{122} given current experimental bounds [26] on Λ.^{3} Intuitively, even if the universe is spatially infinite, most of it recedes too quickly from any one observer to be harnessed as computer memory.

One response to this result is to assume an idealization in which Λ vanishes, although Planck’s constant h̄ does not vanish. As justification, one could argue that without the idealization Λ = 0, all asymptotic bounds in computer science are basically fictions. But perhaps a better response is to accept the 3π/(Λln2) bound, and then ask how close one can come to saturating it in different scenarios. Classically, the maximum number of bits that can be searched is, in a crude model^{4}, actually proportional to 1/\sqrt{Λ} ≈ 10^{61} rather than 1/Λ. The reason is that if a region had much more than 1/\sqrt{Λ} bits, then after 1/\sqrt{Λ} Planck times—that is, about 10^{10} years, or roughly the current age of the universe—most of the region would have receded beyond one’s cosmological horizon. What our results suggest is that, using a quantum robot, one could come closer to saturating the cosmological bound—since, for example, a 2-D region of size 1/Λ can be searched in time O( \frac{1}{\sqrt{Λ}} polylog \frac{1}{\sqrt{Λ}} ). How anyone could prepare a database of size much greater than

3Also, Lloyd [21] argues that the total number of bits accessible up till now is at most the square of the number of Planck times elapsed so far, or about (10^{61})^{2} = 10^{122}. Lloyd’s bound, unlike Bousso’s, does not depend on Λ being positive. The numerical coincidence between the two bounds reflects the experimental finding [26, 25] that we live in a transitional era, when both Λ and “dust” contribute significantly to the universe’s net energy balance (Ω_{Λ} ≈ 0.7, Ω_{dust}≈ 0.3). In earlier times dust (and before that radiation) dominated, and Lloyd’s bound was tighter. In later times Λ will dominate, and Bousso’s bound will be tighter. Why we should live in such a transitional era is unknown.

4Specifically, neglecting gravity and other forces that could counteract the effect of Λ.

Theory of Computing, Volume 1 (2005), pp. 47–79 52

1/\sqrt{Λ} remains unclear, but if such a database existed, it could be searched!

3 The Model

Much of what is known about the power of quantum computing comes from the black-box or query model [2, 4, 7, 17, 29], in which one counts only the number of queries to an oracle, not the number of computational steps. We will take this model as the starting point for a formal definition of quantum robots. Doing so will focus attention on our main concern: how much harder is it to evaluate a function when its inputs are spatially separated? As it turns out, all of our algorithms will be efficient as measured by the number of gates and auxiliary qubits needed to implement them.

For simplicity, we assume that a robot’s goal is to evaluate a Boolean function f : {0,1}^{n} → {0,1}, which could be partial or total. A ‘region of space’ is a connected undirected graph G = (V,E)with vertices V = {v_{1},...,v_{n}}. Let X = x_{1}...x_{n} ∈ {0,1}^{n} be an input to f; then each bit x_{i} is available only at vertex v_{i}. We assume the robot knows G and the vertex labels in advance, and so is ignorant only of the x_{i} bits. We thus sidestep a major difficulty for quantum walks [1], which is how to ensure that a process on an unknown graph is unitary.

At any time, the robot’s state has the form

∑ α_{i,z}|v_{i},z⟩.

Here v_{i} ∈ V is a vertex, representing the robot’s location; and z is a bit string (which can be arbitrarily long), representing the robot’s internal configuration. The state evolves via an alternating sequence of T algorithm steps and T oracle steps:

U^{(1)} → O^{(1)} → U^{(1)} → ···→ U^{(T)}→ O^{(T)}.

An oracle step O^{(t)} maps each basis state |v_{i},z⟩to |v_{i},z ⊕ x_{i}⟩, where x_{i} is exclusive-OR’ed into the first bit of z. An algorithm step U^{(t)} can be any unitary matrix that (1) does not depend on X, and (2) acts ‘locally’ on G. How to make the second condition precise is the subject of Section 3.1.

The initial state of the algorithm is |v_{1},0⟩. Let α_{i,z}^{(t)}(X)be the amplitude of |v_{i},z⟩immediately after the t^{th}oracle step; then the algorithm succeeds with probability 1 − ε if

∑_{|v_{i},z⟩:z_{OUT}=f(X)} |α_{i,z}^{(T)}(X)|^{2} ≥ 1 − ε

for all inputs X, where z_{OUT}is a bit of z representing the output.

3.1 Locality Criteria

Classically, it is easy to decide whether a stochastic matrix acts locally with respect to a graph G: it does if it moves probability only along the edges of G. In the quantum case, however, interference makes the question much more subtle. In this section we propose three criteria for whether a unitary matrix U is local. Our algorithms will then be implemented using the most restrictive of these criteria.

The first criterion we call Z-locality (for zero): U is Z-local if, given any pair of non-neighboring vertices v_{1},v_{2} in G, U “sends no amplitude” from v_{1} to v_{2}; that is, the corresponding entries in U are all 0. The second criterion, C-locality (for composability), says that this is not enough: not only must U send amplitude only between neighboring vertices, but it must be composed of a product of commuting unitaries, each of which acts on a single edge. The third criterion is perhaps the most natural one to a physicist: U is H-local (for Hamiltonian) if it can be obtained by applying a locally-acting, low-energy Hamiltonian for some fixed amount of time. More formally, let U_{i,z→i^{∗},z^{∗}} be the entry in the |v_{i},z⟩column and |v_{i^{∗}},z^{∗}⟩row of U.

Definition 3.1. U is Z-local if U_{i,z→i^{∗},z^{∗}} = 0 whenever i ≠ i^{∗} and (v_{i},v_{i^{∗}})is not an edge of G.

Definition 3.2. U is C-local if the basis states can be partitioned into subsets P_{1},...,P_{q} such that

(i) U_{i,z→i^{∗},z^{∗}} = 0 whenever |v_{i},z⟩and |v_{i^{∗}},z^{∗}⟩belong to distinct P_{j}’s, and

(ii) for each j, all basis states in P_{j} are either from the same vertex or from two adjacent vertices.

Definition 3.3. U is H-local if U = e^{iH} for some Hermitian H with eigenvalues of absolute value at most π, such that H_{i,z→i^{∗},z^{∗}} = 0 whenever i ≠ i^{∗} and (v_{i},v_{i^{∗}})is not an edge in E.

If a unitary matrix is C-local, then it is also Z-local and H-local. For the latter implication, note that any unitary U can be written as e^{iH} for some H with eigenvalues of absolute value at most π. So we can write the unitary U_{j} acting on each P_{j} as e^{iH_{j}}; then since the U_{j}’s commute,

∏ U_{j} = e^{i∑ H_{j}}.

Beyond that, though, how are the locality criteria related? Are they approximately equivalent? If not, then does a problem’s complexity in our model ever depend on which criterion is chosen? Let us emphasize that these questions are not answered by, for example, the Solovay-Kitaev theorem (see [22]), that an n × n unitary matrix can be approximated using a number of gates polynomial in n. For recall that the definition of C-locality requires the edgewise operations to commute—indeed, without that requirement, one could produce any unitary matrix at all. So the relevant question, which we leave open, is whether any Z-local or H-local unitary can be approximated by a product of, say, O(logn) C-local unitaries. (A product of O(n)such unitaries trivially suffices, but that is far too many.)

4 General Bounds

Given a Boolean function f : {0,1}^{n} → {0,1}, the quantum query complexity Q(f), defined by Beals et al. [4], is the minimum T for which there exists a T -query quantum algorithm that evaluates f with probability at least 2/3 on all inputs. (We will always be interested in the two-sided, bounded-error complexity, sometimes denoted Q_{2}(f).) Similarly, given a graph G with n vertices labeled 1,...,n, we let Q(f,G) be the minimum T for which there exists a T -query quantum robot on G that evaluates f with probability 2/3. Here we require the algorithm steps to be C-local. One might also consider the corresponding measures Q^{Z}(f,G) and Q^{H}(f,G) with Z-local and H-local steps respectively. Clearly Q(f,G) ≥ Q^{Z}(f,G) and Q(f,G) ≥ Q^{H}(f,G); we conjecture that all three measures are asymptotically equivalent but were unable to prove this.

Let δ_{G} be the diameter of G, and call f nondegenerate if it depends on all n input bits.

Proposition 4.1. For all f,G,

(i) Q(f,G) ≤ 2n − 3.

(ii) Q(f,G) ≤ (2δ_{G}+ 1) Q(f).

(iii) Q(f,G) ≥ Q(f).

(iv) Q(f,G) ≥ δ_{G}/2 if f is nondegenerate.

Proof.

(i) Starting from the root, a spanning tree for G can be traversed in 2(n − 1) − 1 steps (there is no need to return to the root).

(ii) We can simulate a query in 2δ_{G} steps, by fanning out from the start vertex v_{1} and then returning. Applying a unitary at v_{1} takes 1 step.

(iii) Obvious.

(iv) There exists a vertex v_{i} whose distance to v_{1} is at least δ_{G}/2, and f could depend on x_{i}.

We now show that the model is robust.

Proposition 4.2. For nondegenerate f, the following change Q(f,G) by at most a constant factor.

(i) Replacing the initial state |v_{1},0⟩by an arbitrary (known) |ψ⟩.

(ii) Requiring the final state to be localized at some vertex v_{i} with probability at least 1 − ε, for a constant ε > 0.

(iii) Allowing multiple algorithm steps between each oracle step (and measuring the complexity by the number of algorithm steps).

Proof. (i) We can transform |v_{1},0⟩to |ψ⟩ (and hence |ψ⟩ to |v_{1},0⟩) in δ_{G} = O(Q(f,G)) steps, by fanning out from v_{1} along the edges of a minimum-height spanning tree.

(ii) Assume without loss of generality that z_{OUT}is accessed only once, to write the output. Then after z_{OUT} is accessed, uncompute (that is, run the algorithm backwards) to localize the final state at v_{1}. The state can then be localized at any v_{i} in δ_{G} = O(Q(f,G))steps. We can succeed with any constant probability by repeating this procedure a constant number of times.

(iii) The oracle step O is its own inverse, so we can implement a sequence U_{1},U_{2},... of algorithm steps as follows (where I is the identity):

U_{1} → O → I → O → U_{2} → ···

A function of particular interest is f = OR(x_{1},...,x_{n}), which outputs 1 if and only if x_{i} = 1 for some i. We first give a general upper bound on Q(OR,G) in terms of the diameter of G. (Throughout the paper, we sometimes omit floor and ceiling signs if they clearly have no effect on the asymptotics.)

Proposition 4.3.

Q(OR,G)= O( \sqrt{nδ_{G}}) .

Proof. Let τ be a minimum-height spanning tree for G, rooted at v_{1}. A depth-first search on τ uses 2n − 2 steps. Let S_{1} be the set of vertices visited by depth-first search in steps 1 to δ_{G}, S_{2} be those visited in steps δ_{G}+ 1 to 2δ_{G}, and so on. Then

S_{1}∪ ··· ∪ S_{2n/δ_{G}} = V.

Furthermore, for each S_{j} there is a classical algorithm A_{j}, using at most 3δ_{G} steps, that starts at v_{1}, ends at v_{1}, and outputs ‘1’ if and only if x_{i} = 1 for some v_{i} ∈ S_{j}. Then we simply perform Grover search at v_{1} over all A_{j}; since each iteration takes O(δ_{G}) steps and there are O( \sqrt{2n/δ_{G}}) iterations, the number

of steps is O(\sqrt{nδ_{G}}).

The bound of Proposition 4.3 is tight:

Theorem 4.4. For all δ, there exists a graph G with diameter δ_{G} = δ such that

Q(OR,G)= Ω( \sqrt{nδ}) .

Proof. Let G be a ‘starfish’ with central vertex v_{1} and M = 2(n − 1) /δ legs L_{1},...,L_{M}, each of length δ/2 (see Figure 2). We use the hybrid argument of Bennett et al. [7]. Suppose we run the algorithm on the all-zero input X_{0}. Then define the query magnitude Γ_{j}^{(t)} to be the probability of finding the robot in leg L_{j} immediately after the t^{th}query:

Γ_{j}^{(t)}= ∑_{v_{i}∈L_{j}} ∑_{z} |α_{i,z}^{(t)}(X_{0})|^{2}.

Let T be the total number of queries, and let w = T /(cδ) for some constant 0 < c < 1/2. Clearly

∑_{q=0}^{w−1} ∑_{j=1}^{M} Γ_{j}^{(T −qcδ)} ≤ ∑_{q=0}^{w−1} 1 = w.

Figure 2: The ‘starfish’ graph G. The marked item is at one of the tip vertices.

Hence there must exist a leg L_{j^{∗}} such that

∑_{q=0}^{w−1} Γ_{j^{∗}}^{(T −qcδ)} ≤ \frac{w}{M} = \frac{wδ}{2(n − 1)} .

Let v_{i^{∗}} be the tip vertex of L_{j^{∗}}, and let Y be the input which is 1 at v_{i^{∗}} and 0 elsewhere. Then let X_{q} be a hybrid input, which is X_{0} during queries 1 to T − qcδ, but Y during queries T − qcδ + 1 to T. Also, let

|ψ^{(t)}(X_{q})⟩ = ∑_{i,z} α_{i,z}^{(t)}(X_{q})|v_{i},z⟩

be the algorithm’s state after t queries when run on X_{q}, and let

D(q,r)= ∥|ψ^{(T)}(X_{q})⟩ − |ψ^{(T)}(X_{r})⟩ ∥ _{2}^{2}

= ∑_{v_{i}∈G} ∑_{z} |α_{i,z}^{(T)}(X_{q})− α_{i,z}^{(T)}(X_{r})| ^{2}.

Then for all q ≥ 1, we claim that D(q − 1,q) ≤ 4Γ_{j^{∗}}^{(T −qcδ)}. For by unitarity, the Euclidean distance between |ψ^{(t)}(X_{q−1} )⟩ and |ψ^{(t)}(X_{q})⟩ can only increase as a result of queries T − qcδ + 1 through T − (q − 1) cδ. But no amplitude from outside L_{j^{∗}} can reach v_{i^{∗}} during that interval, since the distance is δ/2 and there are only cδ < δ/2 time steps. Therefore, switching from X_{q−1} to X_{q} can only affect amplitude that is in L_{j^{∗}} immediately after query T − qcδ:

D(q − 1,q) ≤ ∑_{v_{i}∈L_{j^{∗}}} ∑_{z} |α_{i,z}^{(T −qcδ)}(X_{q})− ( −α_{i,z}^{(T −qcδ)}(X_{q})) | ^{2}

= 4 ∑_{v_{i}∈L_{j^{∗}}} ∑_{z} |α_{i,z}^{(T −qcδ)}(X_{0})|^{2} = 4Γ_{j^{∗}}^{(T −qcδ)}.

It follows that

\sqrt{D(0,w)}≤ ∑_{q=1}^{w} \sqrt{D(q − 1,q)} ≤ 2 ∑_{q=1}^{w} \sqrt{Γ_{j^{∗}}^{(T −qcδ)}} ≤ 2w\sqrt{\frac{δ}{2(n − 1)}} = \frac{T}{c}\sqrt{\frac{2}{δ (n − 1)}} .

Here the first inequality uses the triangle inequality, and the third uses the Cauchy-Schwarz inequality. Now assuming the algorithm is correct we need D(0,w)= Ω(1), which implies that T = Ω( \sqrt{nδ}).

It is immediate that Theorem 4.4 applies to Z-local unitaries as well as C-local ones: that is, Q^{Z}(OR,G) = Ω( \sqrt{nδ}). We believe the theorem can be extended to H-local unitaries as well, but a full discussion of this issue would take us too far afield.

5 Search on Grids

Let ℒ_{d}(n) be a d-dimensional grid graph of size n^{1/d} × ···× n^{1/d}. That is, each vertex is specified by d coordinates i_{1},...,i_{d} ∈ {1,...,n^{1/d}}, and is connected to the at most 2d vertices obtainable by adding or subtracting 1 from a single coordinate (boundary vertices have fewer than 2d neighbors). We write simply ℒ_{d} when n is clear from context. In this section we present our main positive results: that Q(OR,ℒ_{d}) = Θ(\sqrt{n}) for d ≥ 3, and Q(OR,ℒ_{2}) = O(\sqrt{n}polylogn)for d = 2.

Before proving these claims, let us develop some intuition by showing weaker bounds, taking the case d = 2 for illustration. Clearly Q(OR,ℒ_{2}) = O(n^{3/4}): we simply partition ℒ_{2}(n) into \sqrt{n} subsquares, each a copy of ℒ_{2}(\sqrt{n}). In 5\sqrt{n} steps, the robot can travel from the start vertex to any subsquare C, search C classically for a marked vertex, and then return to the start vertex. Thus, by searching all \sqrt{n} of the C’s in superposition and applying Grover’s algorithm, the robot can search the grid in time O(n^{1/4})× 5\sqrt{n}= O(n^{3/4}).

Once we know that, we might as well partition ℒ_{2}(n)into n^{1/3} subsquares, each a copy of ℒ_{2}(n^{2/3}).

Searching any one of these subsquares by the previous algorithm takes time O( (n^{2/3})^{3/4}) = O(\sqrt{n}), an amount of time that also suffices to travel to the subsquare and back from the start vertex. So using Grover’s algorithm, the robot can search ℒ_{2}(n) in time O( \sqrt{n^{1/3}}· \sqrt{n}) = O(n^{2/3}). We can continue recursively in this manner to make the running time approach O(\sqrt{n}). The trouble is that, with each additional layer of recursion, the robot needs to repeat the search more often to upper-bound the error probability. Using this approach, the best bounds we could obtain are roughly O(\sqrt{n}polylogn) for d ≥ 3, or \sqrt{n}2^{O(\sqrt{logn})} for d = 2. In what follows, we use the amplitude amplification approach of Grover [19] and Brassard et al. [11] to improve these bounds, in the case of a single marked vertex, to O(\sqrt{n}) for d ≥ 3 (Section 5.2) and O( \sqrt{n}log^{3/2}n) for d = 2 (Section 5.3). Section 5.4 generalizes these results to the case of multiple marked vertices.

Intuitively, the reason the case d = 2 is special is that there, the diameter of the grid is Θ(\sqrt{n}), which matches exactly the time needed for Grover search. For d ≥ 3, by contrast, the robot can travel across the grid in much less time than is needed to search it.

5.1 Amplitude Amplification

We start by describing amplitude amplification [11, 19], a generalization of Grover search. Let 𝒰 be a quantum algorithm that, with probability ϵ, outputs a correct answer together with a witness that proves the answer correct. (For example, in the case of search, the algorithm outputs a vertex label i such that x_{i} = 1.) Amplification generates a new algorithm that calls 𝒰 order 1/\sqrt{ϵ} times, and that produces both a correct answer and a witness with probability Ω(1). In particular, assume 𝒰 starts in basis state |s⟩, and let m be a positive integer. Then the amplification procedure works as follows:

(1) Set |ψ_{0}⟩ = 𝒰|s⟩.

(2) For i = 1 to m set |ψ_{i+1} ⟩ = 𝒰S𝒰^{−1} W |ψ_{i}⟩, where

• W flips the phase of basis state |y⟩if and only if |y⟩contains a description of a correct witness, and

• S flips the phase of basis state |y⟩if and only if |y⟩= |s⟩.

We can decompose |ψ_{0}⟩ as sinα |Ψ_{succ}⟩ + cosα |Ψ_{fail}⟩, where |Ψ_{succ}⟩ is a superposition over basis states containing a correct witness and |Ψ_{fail}⟩ is a superposition over all other basis states. Brassard et al. [11] showed the following:

Lemma 5.1 ([11]). |ψ_{i}⟩ = sin[(2i + 1) α]|Ψ_{succ}⟩ + cos[(2i + 1) α]|Ψ_{fail}⟩.

If measuring |ψ_{0}⟩ gives a correct witness with probability ϵ, then |sinα|^{2} = ϵ and |α| ≥ 1/\sqrt{ϵ}. So taking m = O(1/\sqrt{ϵ}) yields sin[(2m + 1) α]≈ 1. For our algorithms, though, the multiplicative constant under the big-O also matters. To upper-bound this constant, we prove the following lemma.

Lemma 5.2. Suppose a quantum algorithm 𝒰 outputs a correct answer and witness with probability exactly ϵ. Then by using 2m + 1 calls to 𝒰 or 𝒰^{−1} , where

m ≤ \frac{π}{4arcsin\sqrt{ϵ}} − \frac{1}{2},

we can output a correct answer and witness with probability at least

( 1 − \frac{(2m + 1)^{2}}{3}ϵ) (2m + 1)^{2}ϵ.

Proof. We perform m steps of amplitude amplification, which requires 2m + 1 calls to 𝒰 or 𝒰^{−1} . By Lemma 5.1, this yields the final state

sin[(2m + 1) α]|Ψ_{succ}⟩ + cos[(2m + 1) α]|Ψ_{fail}⟩

where α = arcsin\sqrt{ϵ}. Therefore the success probability is

sin^{2}[(2m + 1) arcsin\sqrt{ϵ}] ≥ sin^{2}[(2m + 1) \sqrt{ϵ}]

≥ ( (2m + 1) \sqrt{ϵ}− \frac{(2m + 1)^{3}}{6}ϵ^{3/2}) ^{2}

≥ (2m + 1)^{2}ϵ − \frac{(2m + 1)^{4}}{3}ϵ^{2}.

Here the first line uses the monotonicity of sin^{2}x in the interval [0,π/2], and the second line uses the fact that sinx ≥ x − x^{3}/6 for all x ≥ 0 by Taylor series expansion.

Note that there is no need to uncompute any garbage left by 𝒰, beyond the uncomputation that happens “automatically” within the amplification procedure.

5.2 Dimension At Least 3

Our goal is the following:

Theorem 5.3. If d ≥ 3, then Q(OR,ℒ_{d}) = Θ(\sqrt{n}).

In this section, we prove Theorem 5.3 for the special case of a unique marked vertex; then, in Sections 5.4 and 5.5, we will generalize to multiple marked vertices. Let OR^{(k)} be the problem of deciding whether there are no marked vertices or exactly k of them, given that one of these is true. Then:

Theorem 5.4. If d ≥ 3, then Q( OR^{(1)},ℒ_{d}) = Θ(\sqrt{n}).

Choose constants β ∈ (2/3,1) and μ ∈ (1/3,1/2) such that βμ > 1/3 (for example, β = 4/5 and μ = 5/11 will work). Let ℓ_{0} be a large positive integer; then for all positive integers R, let ℓ_{R} = ℓ_{R−1} ⌈ℓ_{R−1}^{1/β−1} ⌉. Also let n_{R}= ℓ_{R}^{d}. Assume for simplicity that n = n_{R}for some R; in other words, that the hypercube ℒ_{d}(n_{R})to be searched has sides of length ℓ_{R}. Later we will remove this assumption.

Consider the following recursive algorithm 𝒜. If n = n_{0}, then search ℒ_{d}(n_{0})classically, returning 1 if a marked vertex is found and 0 otherwise. Otherwise partition ℒ_{d}(n_{R}) into n_{R}/n_{R−1} subcubes, each one a copy of ℒ_{d}(n_{R−1}). Take the algorithm that consists of picking a subcube C uniformly at random, and then running 𝒜 recursively on C. Amplify this algorithm (n_{R}/n_{R−1})^{μ} times.

The intuition behind the exponents is that n_{R−1} ≈ n_{R}^{β}, so searching ℒ_{d}(n_{R−1})should take about n_{R}^{β/2} steps, which dominates the n_{R}^{1/d} steps needed to travel across the hypercube when d ≥ 3. Also, at level R we want to amplify a number of times that is less than (n_{R}/n_{R−1})^{1/2} by some polynomial amount, since full amplification would be inefficient. The reason for the constraint βμ > 1/3 will appear in the analysis.

We now provide a more explicit description of 𝒜, which shows that it can be implemented using C-local unitaries and only a single bit of workspace. At any time, the quantum robot’s state will have the form ∑_{i,z}α_{i,z}|v_{i},z⟩, where v_{i} is a vertex of ℒ_{d}(n_{R}) and z is a single bit that records whether or not a marked vertex has been found. Given a subcube C, let v(C)be the “corner” vertex of C; that is, the vertex that is minimal in all d coordinates. Then the initial state when searching C will be |v(C),0⟩. Beware, however, that “initial state” in this context just means the state |s⟩from Section 5.1. Because of the way amplitude amplification works, 𝒜 will often be invoked on C with other initial states, and even run in reverse.

For convenience, we will implement 𝒜 using a two-stage recursion: given any subcube, the task of 𝒜 will be to amplify the result of another procedure called 𝒰, which in turn runs 𝒜 recursively on smaller subcubes. We will also use the conditional phase flips W and S from Section 5.1. For convenience, we write 𝒜_{R},𝒰_{R},W_{R},S_{R} to denote the level of recursion that is currently active. Thus, 𝒜_{R} calls 𝒰_{R}, which calls 𝒜_{R−1}, which calls 𝒰_{R−1}, and so on down to 𝒜_{0}.

Algorithm 5.5 (𝒜_{R}). Searches a subcube C of size n_{R} for the marked vertex, and amplifies the result to have larger probability. Default initial state: |v(C),0⟩.

If R = 0 then:

(1) Use classical C-local operations to visit all n_{0} vertices of C in any order. At each v_{i} ∈ C, use a query transformation to map the state |v_{i},z⟩to |v_{i},z ⊕ x_{i}⟩.

(2) Return to v(C).

If R ≥ 1 then:

(1) Let m_{R} be the smallest integer such that 2m_{R}+ 1 ≥ (n_{R}/n_{R−1})^{μ}.

(2) Call 𝒰_{R}.

(3) For i = 1 to m_{R}, call W_{R}, then 𝒰_{R}^{−1} , then S_{R}, then 𝒰_{R}.

Suppose 𝒜_{R} is run on the initial state |v(C),0⟩, and let C_{1},...,C_{n_{R}/n_{0}} be the minimal subcubes in C—meaning those of size n_{0}. Then the final state after 𝒜_{R} terminates should be

\frac{1}{\sqrt{n_{R}/n_{0}}} ∑_{i=1}^{n_{R}/n_{0}}|v(C_{i}),0⟩

if C does not contain the marked vertex. Otherwise the final state should have non-negligible overlap with |v(C_{i^{∗}}),1⟩, where C_{i^{∗}} is the minimal subcube in C that contains the marked vertex. In particular, if R = 0, then the final state should be |v(C),1⟩if C contains the marked vertex, and |v(C),0⟩otherwise.

The two phase-flip subroutines, W_{R} and S_{R}, are both trivial to implement. To apply W_{R}, map each basis state |v_{i},z⟩to (−1) ^{z}|v_{i},z⟩. To apply S_{R}, map each |v_{i},z⟩to −|v_{i},z⟩if z = 0 and v_{i} = v(C)for some subcube C of size n_{R}, and to |v_{i},z⟩otherwise. Below we give pseudocode for 𝒰_{R}.

Algorithm 5.6 (𝒰_{R}). Searches a subcube C of size n_{R} for the marked vertex. Default initial state: |v(C),0⟩.

(1) Partition C into n_{R}/n_{R−1} smaller subcubes C_{1},...,C_{n_{R}/n_{R−1}}, each of size n_{R−1}.

(2) For all j ∈ {1,...,d}, let V_{j} be the set of corner vertices v(C_{i})that differ from v(C)only in the first j coordinates. Thus V_{0} = {v(C)}, and in general |V_{j} |= (ℓ_{R}/ℓ_{R−1})^{j}. For j = 1 to d, let |V_{j}⟩ be the state

|V_{j}⟩= \frac{1}{ℓ_{R}^{j/2}} ∑_{v(C_{i})∈V_{j}}|v(C_{i}),0⟩

Apply a sequence of transformations Z_{1}, Z_{2}, ..., Z_{d} where Z_{j} is a unitary that maps |V_{j−1} ⟩to |V_{j}⟩ by applying C-local unitaries that move amplitude only along the j^{th}coordinate.

(3) Call 𝒜_{R−1} recursively. (Note that this searches C_{1},...,C_{n_{R}/n_{R−1}} in superposition. Also, the required amplification is performed for each of these subcubes automatically by step (3) of 𝒜_{R−1}.)

If 𝒰_{R} is run on the initial state |v(C),0⟩, then the final state should be

\frac{1}{\sqrt{n_{R}/n_{R−1}}} ∑_{i=1}^{n_{R}/n_{0}}|ϕ_{i}⟩,

where |ϕ_{i}⟩is the correct final state when 𝒜_{R−1} is run on subcube C_{i} with initial state |v(C_{i}),0⟩. A key point is that there is no need for 𝒰_{R} to call 𝒜_{R−1} twice, once to compute and once to uncompute—for the uncomputation is already built into 𝒜_{R}. This is what will enable us to prove an upper bound of O(\sqrt{n}) instead of O(\sqrt{n}2^{R}) = O(\sqrt{n}polylogn).

We now analyze the running time of 𝒜_{R}.

Lemma 5.7. 𝒜_{R} uses O(n_{R}^{μ}) steps.

Proof. Let T_{𝒜} (R)and T_{𝒰} (R)be the total numbers of steps used by 𝒜_{R}and 𝒰_{R}respectively in searching ℒ_{d}(n_{R}). Then we have T_{𝒜} (0) = O(1), and

T_{𝒜} (R)≤ (2m_{R}+ 1) T_{𝒰} (R)+ 2m_{R}
T_{𝒰} (R)≤ dn_{R}^{1/d}+ T_{𝒜} (R − 1)

for all R ≥ 1. For W_{R}and S_{R}can both be implemented in a single step, while 𝒰_{R}uses dℓ_{R}= dn_{R}^{1/d} steps to move the robot across the hypercube. Combining,

T_{𝒜} (R)≤ (2m_{R}+ 1) ( dn_{R}^{1/d}+ T_{𝒜} (R − 1)) + 2m_{R}

≤ ((n_{R}/n_{R−1})^{μ} + 2) ( dn_{R}^{1/d}+ T_{𝒜} (R − 1)) + (n_{R}/n_{R−1})^{μ} + 1

= O( (n_{R}/n_{R−1})^{μ} n_{R}^{1/d}) + ((n_{R}/n_{R−1})^{μ} + 2) T_{𝒜} (R − 1)

= O( (n_{R}/n_{R−1})^{μ} n_{R}^{1/d}) + (n_{R}/n_{R−1})^{μ} T_{𝒜} (R − 1)

= O( (n_{R}/n_{R−1})^{μ} n_{R}^{1/d}+ (n_{R}/n_{R−2})^{μ} n_{R−1}^{1/d} + ··· + (n_{R}/n_{0})^{μ} n_{1}^{1/d})

= n_{R}^{μ}· O( \frac{n_{R}^{1/d}}{n_{R−1}^{μ}} + \frac{n_{R−1}^{1/d}}{n_{R−2}^{μ}} + ··· + \frac{n_{1}^{1/d}}{n_{0}^{μ}})

= n_{R}^{μ}· O( n_{R}^{1/d−βμ} + ··· + n_{2}^{1/d−βμ} + n_{1}^{1/d−βμ} )

= n_{R}^{μ}· O( n_{R}^{1/d−βμ} + ( n_{R}^{1/d−βμ} )^{1/β} + ··· + ( n_{R}^{1/d−βμ} )^{1/β^{R−1}} )

= O(n_{R}^{μ}).

Here the second line follows because 2m_{R}+ 1 ≤ (n_{R}/n_{R−1})^{μ} + 2, the fourth because the (n_{R}/n_{R−1})^{μ} terms increase doubly exponentially, so adding 2 to each will not affect the asymptotics; the seventh because n_{i}^{μ} = Ω( (n_{i+1}^{μ} )^{β}), the eighth because n_{R−1} ≤ n_{R}^{β}; and the last because βμ > 1/3 ≥ 1/d, hence

n_{1}^{1/d−βμ} < 1.

Next we need to lower-bound the success probability. Say that 𝒜_{R} or 𝒰_{R} “succeeds” if a measurement in the standard basis yields the result |v(C_{i^{∗}}),1⟩, where C_{i^{∗}} is the minimal subcube that contains the marked vertex. Of course, the marked vertex itself can then be found in n_{0} = O(1) steps.

Lemma 5.8. Assuming there is a unique marked vertex, 𝒜_{R} succeeds with probability Ω( 1/n_{R}^{1−2μ} ).

Proof. Let P_{𝒜} (R) and P_{𝒰} (R) be the success probabilities of 𝒜_{R} and 𝒰_{R} respectively when searching ℒ_{d}(n_{R}). Then clearly P_{𝒜} (0) = 1, and P_{𝒰} (R)= (n_{R−1}/n_{R})P_{𝒜} (R − 1) for all R ≥ 1. So by Lemma 5.2,

P_{𝒜} (R)≥ ( 1 − \frac{1}{3} (2m_{R}+ 1)^{2}P_{𝒰} (R)) (2m_{R}+ 1)^{2}P_{𝒰} (R)

= ( 1 − \frac{1}{3} (2m_{R}+ 1)^{2} \frac{n_{R−1}}{n_{R}} P_{𝒜} (R − 1)) (2m_{R}+ 1)^{2} \frac{n_{R−1}}{n_{R}} P_{𝒜} (R − 1)

≥ ( 1 − \frac{1}{3} (n_{R}/n_{R−1})^{2μ} \frac{n_{R−1}}{n_{R}} P_{𝒜} (R − 1)) (n_{R}/n_{R−1})^{2μ} \frac{n_{R−1}}{n_{R}} P_{𝒜} (R − 1)

≥ ( 1 − \frac{1}{3} (n_{R−1}/n_{R})^{1−2μ} ) (n_{R−1}/n_{R})^{1−2μ} P_{𝒜} (R − 1)

≥ (n_{0}/n_{R})^{1−2μ} ∏_{r=1}^{R} ( 1 − \frac{1}{3} (n_{R−1}/n_{R})^{1−2μ} )

≥ (n_{0}/n_{R})^{1−2μ} ∏_{r=1}^{R} ( 1 − \frac{1}{3n_{R}^{(1−β) (1−2μ)}} )

≥ (n_{0}/n_{R})^{1−2μ} ( 1 − ∑_{r=1}^{R} \frac{1}{3n_{R}^{(1−β) (1−2μ)}} )

= Ω( 1/n_{R}^{1−2μ} ) .

Here the third line follows because 2m_{R}+ 1 ≥ (n_{R−1}/n_{R})^{μ} and the function x − \frac{1}{3}x^{2} is nondecreasing in the interval [0,1]; the fourth because P_{𝒜} (R − 1) ≤ 1; the sixth because n_{R−1} ≤ n_{R}^{β}; and the last because β < 1 and μ < 1/2, the n_{R}’s increase doubly exponentially, and n_{0} is sufficiently large.

Finally, take 𝒜_{R} itself and amplify it to success probability Ω(1) by running it O(n_{R}^{1/2−μ} ) times. This yields an algorithm for searching ℒ_{d}(n_{R}) with overall running time O( n_{R}^{1/2}), which implies that

Q( OR^{(1)},ℒ_{d}(n_{R})) = O( n_{R}^{1/2}).

All that remains is to handle values of n that do not equal n_{R} for any R. The solution is simple: first find the largest R such that n_{R}< n. Then set n′= n_{R}⌈n^{1/d}/ℓ_{R}⌉^{d}, and embed ℒ_{d}(n) into the larger hypercube ℒ_{d}(n′). Clearly Q( OR^{(1)},ℒ_{d}(n)) ≤ Q( OR^{(1)},ℒ_{d}(n′)). Also notice that n′= O(n) and

that n′= O( n_{R}^{1/β}) = O( n_{R}^{3/2}). Next partition ℒ_{d}(n′)into n′/n_{R}subcubes, each a copy of ℒ_{d}(n_{R}). The algorithm will now have one additional level of recursion, which chooses a subcube of ℒ_{d}(n′)uniformly at random, runs 𝒜_{R}on that subcube, and then amplifies the resulting procedure Θ( \sqrt{n′/n_{R}}) times. The total time is now

O( \sqrt{\frac{n′}{n_{R}}}( (n′)^{1/d}+ n_{R}^{1/2}) ) = O( \sqrt{\frac{n′}{n_{R}}}n_{R}^{1/2}) = O(\sqrt{n}),

while the success probability is Ω(1). This completes Theorem 5.4.

5.3 Dimension 2

In the d = 2 case, the best we can achieve is the following:

Theorem 5.9. Q(OR,ℒ_{2}) = O( \sqrt{n}log^{5/2}n).

Again, we start with the single marked vertex case and postpone the general case to Sections 5.4 and 5.5.

Theorem 5.10. Q( OR^{(1)},ℒ_{2}) = O( \sqrt{n}log^{3/2}n).

For d ≥ 3, we performed amplification on large (greater than O(1/n^{1−2μ} )) probabilities only once, at the end. For d = 2, on the other hand, any algorithm that we construct with any nonzero success probability will have running time Ω(\sqrt{n}), simply because that is the diameter of the grid. If we want to keep the running time O(\sqrt{n}), then we can only perform O(1) amplification steps at the end. Therefore we need to keep the success probability relatively high throughout the recursion, meaning that we suffer an increase in the running time, since amplification to high probabilities is less efficient.

The procedures 𝒜_{R}, 𝒰_{R}, W_{R}, and S_{R} are identical to those in Section 5.2; all that changes are the parameter settings. For all integers R ≥ 0, we now let n_{R}= ℓ_{0}^{2R}, for some odd integer ℓ_{0} ≥ 3 to be set later. Thus, 𝒜_{R} and 𝒰_{R} search the square grid ℒ_{2}(n_{R}) of size ℓ_{0}^{R}× ℓ_{0}^{R}. Also, let m = (ℓ_{0}− 1) /2; then 𝒜_{R} applies m steps of amplitude amplification to 𝒰_{R}.

We now prove the counterparts of Lemmas 5.7 and 5.8 for the two-dimensional case.

Lemma 5.11. 𝒜_{R} uses O(Rℓ_{0}^{R+1})steps.

Proof. Let T_{𝒜} (R)and T_{𝒰} (R)be the time used by 𝒜_{R} and 𝒰_{R} respectively in searching ℒ_{2}(n_{R}). Then T_{𝒜} (0) = 1, and for all R ≥ 1,

T_{𝒜} (R)≤ (2m + 1) T_{𝒰} (R)+ 2m,
T_{𝒰} (R)≤ 2n_{R}^{1/2}+ T_{𝒜} (R − 1) .

Combining,

T_{𝒜} (R)≤ (2m + 1) ( 2n_{R}^{1/2}+ T_{𝒜} (R − 1)) + 2m
= ℓ_{0}(2ℓ_{0}^{R}+ T_{𝒜} (R − 1))+ ℓ_{0}− 1
= O(ℓ_{0}^{R+1} + ℓ_{0}T_{𝒜} (R − 1))
= O(Rℓ_{0}^{R+1}).

Lemma 5.12. 𝒜_{R} succeeds with probability Ω(1/R).

Proof. Let P_{𝒜} (R) and P_{𝒰} (R) be the success probabilities of 𝒜_{R} and 𝒰_{R} respectively when searching ℒ_{2}(n_{R}). Then P_{𝒰} (R)= P_{𝒜} (R − 1) /ℓ_{0}^{2} for all R ≥ 1. So by Lemma 5.2, and using the fact that 2m + 1 = ℓ_{0},

P_{𝒜} (R)≥ ( 1 − \frac{(2m + 1)^{2}}{3}P_{𝒰} (R)) (2m + 1)^{2}P_{𝒰} (R)

= ( 1 − \frac{ℓ_{0}^{2}}{3} \frac{P_{𝒜} (R − 1)}{ℓ_{0}^{2}}) ℓ_{0}^{2} \frac{P_{𝒜} (R − 1)}{ℓ_{0}^{2}}

= P_{𝒜} (R − 1) − \frac{1}{3}P_{𝒜}^{2} (R − 1)

= Ω(1/R).

This is because Ω(R)iterations of the map x_{R}:= x_{R−1} − \frac{1}{3}x_{R−1}^{2} are needed to drop from (say) 2/R to 1/R, and x_{0} = P_{𝒜} (0) = 1 is greater than 2/R.

We can amplify 𝒜_{R} to success probability Ω(1) by repeating it O(\sqrt{R}) times. This yields an algorithm for searching ℒ_{2}(n_{R}) that uses O(R^{3/2}ℓ_{0}^{R+1})= O(\sqrt{n_{R}}R^{3/2}ℓ_{0})steps in total. We can minimize this expression subject to ℓ_{0}^{2R} = n_{R} by taking ℓ_{0} to be constant and R to be Θ(logn_{R}), which yields Q( OR^{(1)},ℒ_{2}(n_{R})) = O( \sqrt{n_{R}}logn_{R}^{3/2}). If n is not of the form ℓ_{0}^{2R}, then we simply find the smallest integer R such that n < ℓ_{0}^{2R}, and embed ℒ_{2}(n) in the larger grid ℒ_{2}(ℓ_{0}^{2R}). Since ℓ_{0} is a constant, this increases the running time by at most a constant factor. We have now proved Theorem 5.10.

5.4 Multiple Marked Items

What about the case in which there are multiple i’s with x_{i} = 1? If there are k marked items (where k need not be known in advance), then Grover’s algorithm can find a marked item with high probability in O( \sqrt{n/k}) queries, as shown by Boyer et al. [10]. In our setting, however, this is too much to hope for—since even if there are many marked vertices, they might all be in a faraway part of the hypercube. Then Ω(n^{1/d}) steps are needed, even if \sqrt{n/k}< n^{1/d}. Indeed, we can show a stronger lower bound. Recall that OR^{(k)} is the problem of deciding whether there are no marked vertices or exactly k of them.

Theorem 5.13. For all dimensions d ≥ 2,

Q( OR^{(k)},ℒ_{d}) = Ω( \frac{\sqrt{n}}{k^{1/2−1/d}} ) .

Here, for simplicity, we ignore constant factors depending on d.

Proof. For simplicity, we assume that both k^{1/d} and (n/3^{d}k)^{1/d} are integers. (In the general case, we can just replace k by ⌈k^{1/d}⌉^{d} and n by the largest integer of the form (3m)^{d}k which is less than n. This only changes the lower bound by a constant factor depending on d.)

We use a hybrid argument almost identical to that of Theorem 4.4. Divide ℒ_{d} into n/k subcubes, each having k vertices and side length k^{1/d}. Let S be a regularly-spaced set of M = n/(3^{d}k) of these subcubes, so that any two subcubes in S have distance at least 2k^{1/d} from one another. Then choose a subcube C_{j} ∈ S uniformly at random and mark all k vertices in C_{j}. This enables us to consider each C_{j} ∈ S itself as a single vertex (out of M in total), having distance at least 2k^{1/d} to every other vertex.

More formally, given a subcube C_{j} ∈ S, let C̃_{j} be the set of vertices consisting of C_{j} and the 3^{d}− 1 subcubes surrounding it. (Thus, C̃_{j} is a subcube of side length 3k^{1/d}.) Then the query magnitude of C̃_{j} after the t^{th}query is

Γ_{j}^{(t)}= ∑_{v_{i}∈C̃_{j}} ∑_{z} |α_{i,z}^{(t)}(X_{0})|^{2},

where X_{0} is the all-zero input. Let T be the number of queries, and let w = T /(ck^{1/d}) for some constant c > 0. Then as in Theorem 4.4, there must exist a subcube C̃_{j^{∗}} such that

∑_{q=0}^{w−1} Γ_{j^{∗}}^{(T −qck^{1/d})} ≤ \frac{w}{M} = \frac{3^{d}kw}{n}.

Let Y be the input which is 1 in C_{j^{∗}} and 0 elsewhere; then let X_{q} be a hybrid input which is X_{0} during queries 1 to T − qck^{1/d}, but Y during queries T − qck^{1/d}+ 1 to T. Next let

D(q,r)= ∑_{v_{i}∈G} ∑_{z} |α_{i,z}^{(T)}(X_{q})− α_{i,z}^{(T)}(X_{r})| ^{2}.

Then as in Theorem 4.4, for all c < 1 we have D(q − 1,q) ≤ 4Γ_{j^{∗}}^{(T −qck^{1/d})}. For in the ck^{1/d} queries from T − qck^{1/d}+ 1 through T − (q − 1) ck^{1/d}, no amplitude originating outside C̃_{j^{∗}} can travel a distance k^{1/d} and thereby reach C_{j^{∗}}. Therefore switching from X_{q−1} to X_{q} can only affect amplitude that is in C̃_{j^{∗}} immediately after query T − qck^{1/d}. It follows that

\sqrt{D(0,w)}≤ ∑_{q=1}^{w} \sqrt{D(q − 1,q)} ≤ 2 ∑_{q=1}^{w} \sqrt{Γ_{j^{∗}}^{(T −qck^{1/d})}} ≤ 2w\sqrt{\frac{3^{d}k}{n}} = \frac{2\sqrt{3^{d}}k^{1/2−1/d} T}{c\sqrt{n}}.

Hence T = Ω(\sqrt{n}/k^{1/2−1/d} ) for constant d, since assuming the algorithm is correct we need D(0,w)= Ω(1).

Notice that if k ≈ n, then the bound of Theorem 5.13 becomes Ω(n^{1/d}) which is just the diameter of ℒ_{d}. Also, if d = 2, then 1/2−1/d = 0 and the bound is simply Ω(\sqrt{n}) independent of k. The bound of Theorem 5.13 can be achieved (up to a constant factor that depends on d) for d ≥ 3, and nearly achieved for d = 2. We first construct an algorithm for the case when k is known.

Theorem 5.14.

(i) For d ≥ 3,

Q( OR^{(k)},ℒ_{d}) = O( \frac{\sqrt{n}}{k^{1/2−1/d}} ) .

(ii) For d = 2,

Q( OR^{(k)},ℒ_{2}) = O( \sqrt{n}log^{3/2}n) .

To prove Theorem 5.14, we first divide ℒ_{d}(n) into n/γ subcubes, each of size γ^{1/d} × ···× γ^{1/d} (where γ will be fixed later). Then in each subcube, we choose one vertex uniformly at random.

Lemma 5.15. If γ ≥ k, then the probability that exactly one marked vertex is chosen is at least k/γ − (k/γ)^{2}.

Proof. Let x be a marked vertex. The probability that x is chosen is 1/γ. Given that x is chosen, the probability that one of the other marked vertices, y, is chosen is 0 if x and y belong to the same subcube, or 1/γ if they belong to different subcubes. Therefore, the probability that x alone is chosen is at least

\frac{1}{γ} ( 1 − \frac{k − 1}{γ} ) ≥ \frac{1}{γ} ( 1 − \frac{k}{γ}) .

Since the events “x alone is chosen” are mutually disjoint, we conclude that the probability that exactly one marked vertex is chosen is at least k/γ − (k/γ)^{2}.

In particular, fix γ so that γ/3 < k < 2γ/3; then Lemma 5.15 implies that the probability of choosing exactly one marked vertex is at least 2/9. The algorithm is now as follows. As in the lemma, subdivide ℒ_{d}(n) into n/γ subcubes and choose one location at random from each. Then run the algorithm for the unique-solution case (Theorem 5.4 or 5.10) on the chosen locations only, as if they were vertices of ℒ_{d}(n/γ).

The running time in the unique case was O( \sqrt{n/γ}) for d ≥ 3 or

O( \sqrt{\frac{n}{γ}}log^{3/2}(n/γ)) = O( \sqrt{\frac{n}{γ}}log^{3/2}n)

for d = 2. However, each local unitary in the original algorithm now becomes a unitary affecting two vertices v and w in neighboring subcubes C_{v} and C_{w}. When placed side by side, C_{v} and C_{w} form a rectangular box of size 2γ^{1/d} × γ^{1/d} × ··· × γ^{1/d}. Therefore the distance between v and w is at most (d + 1) γ^{1/d}. It follows that each local unitary in the original algorithm takes O(dγ^{1/d})time in the new algorithm. For d ≥ 3, this results in an overall running time of

O( \sqrt{\frac{n}{γ}}dγ^{1/d}) = O( d \frac{\sqrt{n}}{γ^{1/2−1/d}} ) = O( \frac{\sqrt{n}}{k^{1/2−1/d}} ) .

For d = 2 we obtain

O( \sqrt{\frac{n}{γ}}γ^{1/2}log^{3/2}n) = O( \sqrt{n}log^{3/2}n) .

5.5 Unknown Number of Marked Items

We now show how to deal with an unknown k. Let OR^{(≥k)} be the problem of deciding whether there are no marked vertices or at least k of them, given that one of these is true.

Theorem 5.16.

(i) For d ≥ 3,

Q( OR^{(≥k)},ℒ_{d}) = O( \frac{\sqrt{n}}{k^{1/2−1/d}} ) .

(ii) For d = 2,

Q( OR^{(≥k)},ℒ_{2}) = O( \sqrt{n}log^{5/2}n) .

Proof. We use the straightforward ‘doubling’ approach of Boyer et al. [10]:

(1) For j = 0 to log_{2}(n/k)

• Run the algorithm of Theorem 5.14 with subcubes of size γ_{j} = 2^{j}k.

• If a marked vertex is found, then output 1 and halt.

(2) Query a random vertex v, and output 1 if v is a marked vertex and 0 otherwise.

Let k^{∗} ≥ k be the number of marked vertices. If k^{∗} ≤ n/3, then there exists a j ≤ log_{2}(n/k)such that γ_{j}/3 ≤ k^{∗} ≤ 2γ_{j}/3. So Lemma 5.15 implies that the j^{th}iteration of step (1) finds a marked vertex with probability at least 2/9. On the other hand, if k^{∗} ≥ n/3, then step (2) finds a marked vertex with probability at least 1/3. For d ≥ 3, the time used in step (1) is at most

∑_{j=0}^{log_{2}(n/k)} \frac{\sqrt{n}}{γ_{j}^{1/2−1/d}} = \frac{\sqrt{n}}{k^{1/2−1/d}} [ ∑_{j=0}^{log_{2}(n/k)} \frac{1}{2^{j(1/2−1/d)}} ] = O( \frac{\sqrt{n}}{k^{1/2−1/d}} ) ,

the sum in brackets being a decreasing geometric series. For d = 2, the time is O( \sqrt{n}log^{5/2}n), since

each iteration takes O( \sqrt{n}log^{3/2}n) time and there are at most logn iterations. In neither case does step

(2) affect the bound, since k ≤ n implies that n^{1/d} ≤ \sqrt{n}/k^{1/2−1/d}.

Taking k = 1 gives algorithms for unconstrained OR with running times O(\sqrt{n}) for d ≥ 3 and O(\sqrt{n}log^{5/2}n) for d = 2, thereby establishing Theorems 5.3 and 5.9.

6 Search on Irregular Graphs

In Section 1.2, we claimed that our divide-and-conquer approach has the advantage of being robust: it works not only for highly symmetric graphs such as hypercubes, but for any graphs having comparable expansion properties. Let us now substantiate this claim.

Say a family of connected graphs {G_{n} = (V_{n},E_{n})} is d-dimensional if there exists a κ > 0 such that for all n,ℓ and v ∈ V_{n},

|B(v,ℓ)|≥ min( κℓ^{d},n) ,

where B(v,ℓ) is the set of vertices having distance at most ℓ from v in G_{n}. Intuitively, G_{n} is ddimensional (for d ≥ 2 an integer) if its expansion properties are at least as good as those of the hypercube ℒ_{d}(n).^{5} It is immediate that the diameter of G_{n} is at most (n/κ)^{1/d}. Note, though, that G_{n} might not be an expander graph in the usual sense, since we have not required that every sufficiently small set of vertices has many neighbors.

Our goal is to show the following.

Theorem 6.1. If G is d-dimensional, then

(i) For a constant d > 2,

Q(OR,G)= O(\sqrt{n}polylogn).

(ii) For d = 2,

Q(OR,G)= \sqrt{n}2^{O(\sqrt{logn})}.

In proving part (i), the intuition is simple: we want to decompose G recursively into subgraphs (called clusters), which will serve the same role as subcubes did in the hypercube case. The procedure is as follows. For some constant n_{1} > 1, first choose ⌈n/n_{1}⌉vertices uniformly at random to be designated as 1-pegs. Then form 1-clusters by assigning each vertex in G to its closest 1-peg, as in a Voronoi diagram. (Ties are broken randomly.) Let v(C)be the peg of cluster C. Next, split up any 1-cluster C with more than n_{1} vertices into ⌈|C|/n_{1}⌉arbitrarily-chosen 1-clusters, each with size at most n_{1} and with v(C)as its 1-peg. Observe that

∑_{i=1}^{⌈n/n_{1}⌉}⌈ \frac{|C_{i}|}{n_{1}}⌉ ≤ 2⌈ \frac{n}{n_{1}}⌉,

where n = |C_{1}|+ ···+ |C_{⌈n/n_{1}⌉}|. Therefore, the splitting-up step can at most double the number of clusters.

In the next iteration, set n_{2} = n_{1}^{1/β}, for some constant β ∈ (2/d,1). Choose 2⌈n/n_{2}⌉ vertices uniformly at random as 2-pegs. Then form 2-clusters by assigning each 1-cluster C to the 2-peg that is closest to the 1-peg v(C). Given a 2-cluster C′, let |C′|be the number of 1-clusters in C′. Then as before, split up any C′ with |C′|> n_{2}/n_{1} into ⌈|C′|/(n_{2}/n_{1})⌉ arbitrarily-chosen 2-clusters, each with size at most n_{2}/n_{1} and with v(C′)as its 2-peg. Continue recursively in this manner, setting n_{R}= n_{R−1}^{1/β} and choosing 2^{R−1} ⌈n/n_{R}⌉vertices as R-pegs for each R. Stop at the maximum R such that n_{R}≤ n. For technical convenience, set n_{0} = 1, and consider each vertex v to be the 0-peg of the 0-cluster {v}.

5In general, it makes sense to consider non-integer d as well.

Theory of Computing, Volume 1 (2005), pp. 47–79 69

For R ≥ 1, define the radius of an R-cluster C to be the maximum, over all (R − 1)-clusters C′ in C, of the distance from v(C)to v(C′). Also, call an R-cluster good if it has radius at most ℓ_{R}, where ℓ_{R}= ( \frac{2}{κ}n_{R}lnn)^{1/d}.

Lemma 6.2. With probability 1 − o(1) over the choice of clusters, all clusters are good.

Proof. Let v be the (R − 1)-peg of an (R − 1)-cluster. Then |B(v,ℓ)|≥ κℓ^{d}, where B(v,ℓ)is the ball of radius ℓ about v. So the probability that v has distance greater than ℓ_{R} to the nearest R-peg is at most

( 1 − \frac{κℓ_{R}^{d}}{n}) ^{⌈n/n_{R}⌉}≤ ( 1 − \frac{2lnn}{n/n_{R}}) ^{n/n_{R}}< \frac{1}{n^{2}}.

Furthermore, the total number of pegs is easily seen to be O(n). It follows by the union bound that every (R − 1)-peg for every R has distance at most ℓ_{R} to the nearest R-peg, with probability 1 − O(1/n) = 1 − o(1) over the choice of clusters.

At the end we have a tree of clusters, which can be searched recursively just as in the hypercube case. Lemma 6.2 gives us a guarantee on the time needed to move a level down (from a peg of an R-cluster to a peg of an R − 1-cluster contained in it) or a level up. Also, let K′(C)be the number of (R − 1)-clusters in R-cluster C; then K′(C)≤ K (R)where K (R)= 2⌈n_{R}/n_{R−1}⌉. If K′(C)< K (R), then place K (R)− K′(C)“dummy” (R − 1)-clusters in C, each of which has (R − 1)-peg v(C). Now, every R-cluster contains an equal number of R − 1 clusters.

Our algorithm is similar to Section 5.2 but the basis states now have the form |v,z,C⟩, where v is a vertex, z is an answer bit, and C is the label of the cluster currently being searched. (Unfortunately, because multiple R-clusters can have the same peg, a single auxiliary qubit no longer suffices.)

The algorithm 𝒜_{R} from Section 5.2 now does the following, when invoked on the initial state |v(C),0,C⟩, where C is an R-cluster. If R = 0, then 𝒜_{R} uses a query transformation to prepare the state |v(C),1,C⟩if v(C) is the marked vertex and |v(C),0,C⟩otherwise. If R ≥ 1 and C is not a dummy cluster, then 𝒜_{R}performs m_{R}steps of amplitude amplification on 𝒰_{R}, where m_{R}is the largest integer such that 2m_{R}+1 ≤ \sqrt{n_{R}/n_{R−1}}.^{6} If C is a dummy cluster, then 𝒜_{R}does nothing for an appropriate number of steps, and then returns that no marked item was found.

We now describe the subroutine 𝒰_{R}, for R ≥ 1. When invoked with |v(C),0,C⟩as its initial state, 𝒰_{R} first prepares a uniform superposition

|ϕ_{C}⟩= \frac{1}{\sqrt{K (R)}} ∑_{i=1}^{K(R)}|v(C_{i}),0,C_{i}⟩.

It does this by first constructing a spanning tree T for C, rooted at v(C)and having minimal depth, and then moving amplitude along the edges of T so as to prepare |ϕ_{C}⟩. After |ϕ_{C}⟩ has been prepared, 𝒰_{R} then calls 𝒜_{R−1} recursively, to search C_{1},...,C_{K(R)}in superposition and amplify the results. Note that, because of the cluster labels, there is no reason why amplitude being routed through C should not pass through some other cluster C′along the way—but there is also no advantage in our analysis for allowing this.

6In the hypercube case, we performed fewer amplifications in order to lower the running time from \sqrt{n}polylogn to \sqrt{n}.

Here, though, the splitting-up step produces a polylogn factor anyway.

Theory of Computing, Volume 1 (2005), pp. 47–79 70

We now analyze the running time and success probability of 𝒜_{R}.

Lemma 6.3. 𝒜_{R} uses O( \sqrt{n_{R}}log^{1/d}n) steps, assuming that all clusters are good.

Proof. Let T_{𝒜} (R) and T_{𝒰} (R) be the time used by 𝒜_{R} and 𝒰_{R} respectively in searching an R-cluster. Then we have

T_{𝒜} (R)≤ \sqrt{n_{R}/n_{R−1}}T_{𝒰} (R),
T_{𝒰} (R)≤ ℓ_{R}+ T_{𝒜} (R − 1)

with the base case T_{𝒜} (0) = 1. Combining,

T_{𝒜} (R)≤ \sqrt{n_{R}/n_{R−1}}(ℓ_{R}+ T_{𝒜} (R − 1))

≤ \sqrt{n_{R}/n_{R−1}}ℓ_{R}+ \sqrt{n_{R}/n_{R−2}}ℓ_{R−1} + ··· + \sqrt{n_{R}/n_{0}}ℓ_{1}

= \sqrt{n_{R}}· O( \begin{matrix}(n_{R}lnn) & 1/d \\ √ & \overline{n_{R−1}} \end{matrix} + ··· + \begin{matrix}(n_{1}lnn) & 1/d \\ √ & \overline{n_{0}} \end{matrix})

= \sqrt{n_{R}}( ln^{1/d}n) · O( n_{R}^{1/d−β/2} + ··· + n_{1}^{1/d−β/2} )

= \sqrt{n_{R}}( ln^{1/d}n) · O( n_{1}^{1/d−β/2} + ( n_{1}^{1/d−β/2} )^{1/β} + ··· + ( n_{1}^{1/d−β/2} )^{(1/β)^{R−1}})

= O( \sqrt{n_{R}}log^{1/d}n) ,

where the last line holds because β > 2/d and therefore n_{1}^{1/d−β/2} < 1.

Lemma 6.4. 𝒜_{R} succeeds with probability Ω(1/polylogn_{R}) in searching a graph of size n = n_{R}, assuming there is a unique marked vertex.

Proof. For all R ≥ 0, let C_{R} be the R-cluster that contains the marked vertex, and let P_{𝒜} (R)and P_{𝒰} (R) be the success probabilities of 𝒜_{R} and 𝒰_{R} respectively when searching C_{R}. Then for all R ≥ 1, we have P_{𝒰} (R)= P_{𝒜} (R − 1) /K (R), and therefore

P_{𝒜} (R)≥ ( 1 − \frac{(2m_{R}+ 1)^{2}}{3}P_{𝒰} (R)) (2m_{R}+ 1)^{2}P_{𝒰} (R)

= ( 1 − \frac{(2m_{R}+ 1)^{2}}{3} · \frac{P_{𝒜} (R − 1)}{K (R)}) (2m_{R}+ 1)^{2} \frac{P_{𝒜} (R − 1)}{K (R)}

= Ω(P_{𝒜} (R − 1)) = Ω(1/polylogn_{R}).

Here the third line holds because (2m_{R}+ 1)^{2} ≈ n_{R}/n_{R−1} ≈ K (R)/2, and the last line because R = Θ(loglogn_{R}).

Finally, we repeat 𝒜_{R} itself O(polylogn_{R}) times, to achieve success probability Ω(1) using O(\sqrt{n_{R}}polylogn_{R}) steps in total. Again, if n is not equal to n_{R} for any R, then we simply find the largest R such that n_{R} < n, and then add one more level of recursion that searches a random R-cluster and amplifies the result Θ( \sqrt{n/n_{R}}) times. The resulting algorithm uses O(\sqrt{n}polylogn)steps, thereby establishing part (i) of Theorem 6.1 for the case of a unique marked vertex. The generalization to multiple marked vertices is straightforward.

Corllary 6.5. If G is d-dimensional for a constant d > 2, then

Q( OR^{(≥k)},G) = O( \frac{\sqrt{n}polylog \frac{n}{k}}{k^{1/2−1/d}}) .

Proof. Assume without loss of generality that k = o(n), since otherwise a marked item is trivially found in O(n^{1/d}) steps. As in Theorem 5.16, we give an algorithm ℬ consisting of log_{2}(n/k)+ 1 iterations. In iteration j = 0, choose ⌈n/k⌉vertices w_{1},...,w_{⌈n/k⌉}uniformly at random. Then run the algorithm for the unique marked vertex case, but instead of taking all vertices in G as 0-pegs, take only w_{1},...,w_{⌈n/k⌉}. On the other hand, still choose the 1-pegs, 2-pegs, and so on uniformly at random from among all vertices in G. For all R, the number of R-pegs should be ⌈(n/k)/n_{R}⌉. In general, in iteration j of ℬ, choose ⌈n/(2^{j}k)⌉ vertices w_{1},...,w_{⌈n/(2^{j}k)⌉} uniformly at random, and then run the algorithm for a unique marked vertex as if w_{1},...,w_{⌈n/(2^{j}k)⌉} were the only vertices in the graph.

It is easy to see that, assuming there are k or more marked vertices, with probability Ω(1) there exists an iteration j such that exactly one of w_{1},...,w_{⌈n/(2^{j}k)⌉} is marked. Hence ℬ succeeds with probability Ω(1). It remains only to upper-bound ℬ’s running time.

In iteration j, notice that Lemma 6.2 goes through if we use ℓ_{R}^{(j)} := ( \frac{2}{κ}2^{j}kn_{R}ln \frac{n}{k})^{1/d} instead of ℓ_{R}. That is, with probability 1 − O(k/n)= 1 − o(1) over the choice of clusters, every R-cluster has radius at most ℓ_{R}^{(j)}. So letting T_{𝒜} (R)be the running time of 𝒜_{R} on an R-cluster, the recurrence in Lemma 6.3 becomes

T_{𝒜} (R)≤ \sqrt{n_{R}/n_{R−1}}( ℓ_{R}^{(j)} + T_{𝒜} (R − 1)) = O( \sqrt{n_{R}}(2^{j}klog(n/k))^{1/d}) ,

which is

O( \begin{matrix}\sqrt{n} & log & 1/d & \frac{n}{k} \\ (2^{j}k) & 1/2−1/d \end{matrix} )

if n_{R} = Θ(n/(2^{j}k)). As usual, the case where there is no R such that n_{R} = Θ(n/(2^{j}k)) is trivially handled by adding one more level of recursion. If we factor in the O(1/polylogn_{R}) repetitions of 𝒜_{R} needed to boost the success probability to Ω(1), then the total running time of iteration j is

O( \begin{matrix}\sqrt{n} & polylog & \frac{n}{k} \\ (2^{j}k) & 1/2−1/d \end{matrix}) .

Therefore ℬ’s running time is

O( ∑_{j=0}^{log_{2}(n/k)} \frac{\sqrt{n}polylogn}{(2^{j}k)^{1/2−1/d}}) = O( \frac{\sqrt{n}polylogn}{k^{1/2−1/d}}) .

For the d = 2 case, the best upper bound we can show is \sqrt{n}2^{O(\sqrt{logn})}. This is obtained by simply modifying 𝒜_{R} to have a deeper recursion tree. Instead of taking n_{R} = n_{R−1}^{1/μ} for some μ, we take n_{R} = 2^{\sqrt{logn}}n_{R−1} = 2^{R\sqrt{logn}}, so that the total number of levels is ⌈\sqrt{logn}⌉. Lemma 6.2 goes through without modification, while the recurrence for the running time becomes

T_{𝒜} (R)≤ \sqrt{n_{R}/n_{R−1}}(ℓ_{R}+ T_{𝒜} (R − 1))
≤ \sqrt{n_{R}/n_{R−1}}ℓ_{R}+ \sqrt{n_{R}/n_{R−2}}ℓ_{R−1} + ··· + \sqrt{n_{R}/n_{0}}ℓ_{1}
= O( 2^{^{\sqrt{logn}}(R/2)}\sqrt{lnn}+ ··· + 2^{^{\sqrt{logn}}(R/2)}\sqrt{lnn})
= \sqrt{n}2^{O(\sqrt{logn})}.

Also, since the success probability decreases by at most a constant factor at each level, we have that P_{𝒜} (R)= 2^{−O(\sqrt{logn})} , and hence 2^{O(\sqrt{logn})} amplification steps suffice to boost the success probability to Ω(1). Handling multiple marked items adds an additional factor of logn, which is absorbed into 2^{O(\sqrt{logn})}. This completes Theorem 6.1.

6.1 Bits Scattered on a Graph

In Section 2, we discussed several ways to pack a given amount of entropy into a spatial region of given dimensions. However, we said nothing about how the entropy is distributed within the region. It might be uniform, or concentrated on the boundary, or distributed in some other way. So we need to answer the following: suppose that in some graph, h out of the n vertices might be marked, and we know which h those are. Then how much time is needed to determine whether any of the h is marked? If the graph is the hypercube ℒ_{d} for d ≥ 2 or is d-dimensional for d > 2, then the results of the previous sections imply that O(\sqrt{n}polylogn)steps suffice. However, we wish to use fewer steps, taking advantage of the fact that h might be much smaller than n. Formally, suppose we are given a graph G with n vertices, of which h are potentially marked. Let OR^{(h,≥k)} be the problem of deciding whether G has no marked vertices or at least k of them, given that one of these is the case.

Proposition 6.6. For all integer constants d ≥ 2, there exists a d-dimensional graph G such that

Q( OR^{(h,≥k)},G) = Ω( n^{1/d}( \frac{h}{k}) ^{1/2−1/d} ) .

Proof. Let G be the d-dimensional hypercube ℒ_{d}(n). Create h/k subcubes of potentially marked vertices, each having k vertices and side length k^{1/d}. Space these subcubes out in ℒ_{d}(n) so that the distance between any pair of them is Ω( (nk/h)^{1/d}). Then choose a subcube C uniformly at random and mark all k vertices in C. This enables us to consider each subcube as a single vertex, having distance Ω( (nk/h)^{1/d}) to every other vertex. The lower bound now follows by a hybrid argument essentially identical to that of Theorem 5.13.

In particular, if d = 2 then Ω(\sqrt{n}) time is always needed, since the potentially marked vertices might all be far from the start vertex. The lower bound of Proposition 6.6 can be achieved up to a polylogarithmic factor.

Proposition 6.7. If G is d-dimensional for a constant d > 2, then

Q( OR^{(h,≥k)},G) = O( n^{1/d}( \frac{h}{k}) ^{1/2−1/d} polylog \frac{h}{k}) .

Proof. Assume without loss of generality that k = o(h), since otherwise a marked item is trivially found. Use algorithm ℬ from Corollary 6.5, with the following simple change. In iteration j, choose ⌈h/(2^{j}k)⌉ potentially marked vertices w_{1},...,w_{⌈h/(2^{j}k)⌉} uniformly at random, and then run the algorithm for a unique marked vertex as if w_{1},...,w_{⌈h/(2^{j}k)⌉}were the only vertices in the graph. That is, take w_{1},...,w_{⌈h/(2^{j}k)⌉} as 0-pegs; then for all R ≥ 1, choose ⌈h/(2^{j}kn_{R})⌉vertices of G uniformly at random

as R-pegs. Lemma 6.2 goes through if we use ℓ̂_{R}^{(j)} := ( \frac{2}{κ} \frac{n}{h}2^{j}kn_{R}ln \frac{h}{k})^{1/d} instead of ℓ_{R}. So following Corollary 6.5, the running time of iteration j is now

O( \sqrt{n_{R}}( \frac{n}{h}2^{j}k)^{1/d}polylog \frac{h}{k}) = O( n^{1/d}( \frac{h}{2^{j}k}) ^{1/2−1/d} polylog \frac{h}{k})

if n_{R}= Θ(h/(2^{j}k)). Therefore the total running time is

O( ∑_{j=0}^{log_{2}(h/k)}n^{1/d}( \frac{h}{2^{j}k}) ^{1/2−1/d} polylog \frac{h}{k}) = O( n^{1/d}( \frac{h}{k}) ^{1/2−1/d} polylog \frac{h}{k}) .

Intuitively, Proposition 6.7 says that the worst case for search occurs when the h potential marked vertices are scattered evenly throughout the graph.

7 Application to Disjointness

In this section we show how our results can be used to strengthen a seemingly unrelated result in quantum computing. Suppose Alice has a string X = x_{1}...x_{n} ∈ {0,1}^{n}, and Bob has a string Y = y_{1}...y_{n} ∈ {0,1}^{n}. In the disjointness problem, Alice and Bob must decide with high probability whether there exists an i such that x_{i} = y_{i} = 1, using as few bits of communication as possible. Buhrman, Cleve, and Wigderson [12] observed that in the quantum setting, Alice and Bob can solve this problem using only O(\sqrt{n}logn) qubits of communication. This was subsequently improved by Høyer and de Wolf [20] to O(\sqrt{n}c^{log^{∗}n}), where c is a constant and log^{∗}n is the iterated logarithm function. Using the search algorithm of Theorem 5.3, we can improve this to O(\sqrt{n}), which matches the celebrated Ω(\sqrt{n}) lower bound of Razborov [23].

Theorem 7.1. The quantum communication complexity of the disjointness problem is O(\sqrt{n}).

Proof. The protocol is as follows. Alice and Bob both store their inputs in a 3-D cube ℒ_{3}(n)(Figure 3); that is, they let x_{jkl} = x_{i} and y_{jkl} = y_{i}, where i = n^{2/3}j + n^{1/3}k + l + 1 and j,k,l ∈ {0,...,n^{1/3}− 1} . To

Figure 3: Alice and Bob ‘synchronize’ locations on their respective cubes.

decide whether there exists a (j,k,l) with x_{jkl} = y_{jkl} = 1, Alice simply runs our search algorithm for an unknown number of marked items. If the search algorithm is in the state

∑ α_{j,k,l,z} |v_{jkl},z⟩,

then the joint state of Alice and Bob will be

∑ α_{j,k,l,z,c} |v_{jkl}⟩⊗ |z⟩⊗ |c⟩⊗ |v_{jkl}⟩,  (7.1)

where Alice holds the first |v_{jkl}⟩ and |z⟩, Bob holds the second |v_{jkl}⟩, and |c⟩ is the communication channel. Thus, whenever Alice is at location (j,k,l) of her cube, Bob is at location (j,k,l) of his cube.

(1) To simulate a query, Alice sends |z⟩ and an auxiliary qubit holding x_{jkl} to Bob. Bob performs |z⟩ → |z ⊕ y_{jkl}⟩, conditional on x_{jkl} = 1. He then returns both bits to Alice, and finally Alice returns the auxiliary qubit to the |0⟩state by exclusive-OR’ing it with x_{jkl}.

(2) To simulate a non-query transformation that does not change |v_{jkl}⟩, Alice just performs it herself.

(3) By examining Algorithms 5.5 and 5.6, we see that there are two transformations that change |v_{jkl}⟩. We deal with them separately.

First, step 1 of Algorithm 5.5 uses a classical C-local transformation |v_{j,k,l}⟩→ |v_{j′,k′,l′}⟩. This transformation can be simulated by Alice and Bob each separately applying |v_{j,k,l}⟩ → |v_{j′,k′,l′}⟩.

Second, step 2 of Algorithm 5.6 applies transformations Z_{1}, Z_{2}, and Z_{3}. For brevity, we restrict ourselves to discussing Z_{1}. This transformation maps an initial state |v_{j,k,l},0⟩ to a uniform superposition over |v_{j′,k,l},0⟩ for all (j′,k,l) lying in the same C_{i} as (j,k,l). We can decompose this into a sequence of transformations mapping |v_{j′,k,l}⟩ to α|v_{j′,k,l}⟩ + β|v_{j′+1,k,l} ⟩ for some α, β. This can be implemented in three steps, using an auxiliary qubit. The auxiliary qubit is initialized to |0⟩and is initially held by Alice. At the end, the auxiliary qubit is returned to |0⟩. The sequence of transformations is

|v_{j′,k,l}⟩|0⟩|v_{j′,k,l}⟩→ α|v_{j′,k,l}⟩|0⟩|v_{j′,k,l}⟩ + β|v_{j′,k,l}⟩|1⟩|v_{j′,k,l}⟩

→ α|v_{j′,k,l}⟩|0⟩|v_{j′,k,l}⟩ + β|v_{j′,k,l}⟩|1⟩|v_{j′+1,k,l} ⟩
→ α|v_{j′,k,l}⟩|0⟩|v_{j′,k,l}⟩β|v_{j′,k,l}⟩|0⟩|v_{j′+1,k,l} ⟩.

The first transformation is performed by Alice who then sends the auxiliary qubit to Bob. The second transformation is performed by Bob, who then sends the auxiliary qubit back to Alice, who performs the third transformation.

Since the algorithm uses O(\sqrt{n}) steps, and each step is simulated using a constant amount of communication, the number of qubits communicated in the disjointness protocol is therefore also O(\sqrt{n}).

8 Open Problems

As discussed in Section 3.1, a salient open problem raised by this work is to prove relationships among Z-local, C-local, and H-local unitary matrices. In particular, can any Z-local or H-local unitary be approximated by a product of a small number of C-local unitaries? Also, is it true that Q(f,G) = Θ(Q^{Z}(f,G)) = Θ(Q^{H}(f,G)) for all f,G?

A second problem is to obtain interesting lower bounds in our model. For example, let G be a \sqrt{n}× \sqrt{n} grid, and suppose f (X)= 1 if and only if every row of G contains a vertex v_{i} with x_{i} = 1. Clearly Q(f,G) = O(n^{3/4}), and we conjecture that this is optimal. However, we were unable to show any lower bound better than Ω(\sqrt{n}).

Finally, what is the complexity of finding a unique marked vertex on a 2-D square grid? As mentioned in Section 1.2, Ambainis, Kempe, and Rivosh [3] showed that Q( OR^{(1)},ℒ_{2}) = O(\sqrt{n}logn). Can the remaining factor of logn be removed?

9 Acknowledgments

We thank Andrew Childs, Julia Kempe, Neil Shenvi, and Ronald de Wolf for helpful conversations; Jakob Bekenstein, Raphael Bousso, and John Preskill for discussions relevant to Section 2; and the anonymous reviewers for comments on the manuscript and a simpler proof of Lemma 5.15.

References

[1] * D. Aharonov, A. Ambainis, J. Kempe, and U. Vazirani: Quantum walks on graphs. In Proc. ACM STOC, pp. 50–59, 2001. [STOC:380752.380758, arXiv:quant-ph/0012090]. 1.1, 1.2, 3

[2] * A. Ambainis: Quantum lower bounds by quantum arguments. J. Comput. Sys. Sci., 64:750–767, 2002. [JCSS:10.1006/jcss.2002.1826, STOC:335305.335394, arXiv:quant-ph/0002066]. 3

[3] * A. Ambainis, J. Kempe, and A. Rivosh: Coins make quantum walks faster. In Proc. ACM-SIAM Symp. on Discrete Algorithms (SODA), 2005. To appear. [arXiv:quant-ph/0402107]. 1.2, 2, 8 [4] * R. Beals, H. Buhrman, R. Cleve, M. Mosca, and R. de Wolf: Quantum lower

bounds by polynomials. J. ACM, 48(4):778–797, 2001. Earlier version in IEEE FOCS 1998. [JACM:502090.502097, FOCS:10.1109/SFCS.1998.743485, arXiv:quant-ph/9802049]. 1.1, 3, 4

[5] * J. D. Bekenstein: A universal upper bound on the entropy to energy ratio for bounded systems. Phys. Rev. D, 23(2):287–298, 1981. [PRD:10.1103/PhysRevD.23.287]. 2

[6] * P. Benioff: Space searches with a quantum robot. In S. J. Lomonaco and H. E. Brandt, editors, Quantum Computation and Information, Contemporary Mathematics Series. AMS, 2002. [arXiv:quant-ph/0003006]. 1.2, 2

[7] * C. Bennett, E. Bernstein, G. Brassard, and U. Vazirani: Strengths and weaknesses of quantum computing. SIAM J. Comput., 26(5):1510–1523, 1997. [SICOMP:30093, arXiv:quant-ph/9701001]. 1.1, 3, 4

[8] * R. Bousso: Positive vacuum energy and the N-bound. J. High Energy Phys., 0011(038), 2000. [arXiv:hep-th/0010252]. 2

[9] * R. Bousso: The holographic principle. Reviews of Modern Physics, 74(3), 2002. [arXiv:hep-th/0203101]. 1, 2

[10] * M. Boyer, G. Brassard, P. Høyer, and A. Tapp: Tight bounds on quantum searching. Fortschritte Der Physik, 46(4-5):493–505, 1998. [arXiv:quant-ph/9605034]. 5.4, 5.5

[11] * G. Brassard, P. Høyer, M. Mosca, and A. Tapp: Quantum amplitude amplification and estimation. In S. J. Lomonaco and H. E. Brandt, editors, Quantum Computation and Information, Contemporary Mathematics Series. AMS, 2002. [arXiv:quant-ph/0005055]. 1.1, 5, 5.1, 5.1

[12] * H. Buhrman, R. Cleve, and A. Wigderson: Quantum vs. classical communication and computation. In Proc. ACM STOC, pp. 63–68, 1998. [STOC:276698.276713, arXiv:quant-ph/9702040]. 7

[13] * A. M. Childs, R. Cleve, E. Deotto, E. Farhi, S. Gutmann, and D. A. Spielman: Exponential algorithmic speedup by quantum walk. In Proc. ACM STOC, pp. 59–68, 2003. [STOC:780542.780552, arXiv:quant-ph/0209131]. 1.2

[14] * A. M. Childs, E. Farhi, and S. Gutmann: An example of the difference between quantum and classical random walks. Quantum Information and Computation, 1(1-2):35–43, 2002. [arXiv:quant-ph/0103020]. 1.2

[15] * A. M. Childs and J. Goldstone: Spatial search and the Dirac equation. Phys. Rev. A, 70(042312), 2004. [PRA:10.1103/PhysRevA.70.042312, arXiv:quant-ph/0405120]. 1.2, 2

[16] * A. M. Childs and J. Goldstone: Spatial search by quantum walk. Phys. Rev. A, 70(022314), 2004. [PRA:10.1103/PhysRevA.70.022314, arXiv:quant-ph/0306054]. 1.2, 2, 1.2

[17] * L. K. Grover: A fast quantum mechanical algorithm for database search. In Proc. ACM STOC, pp. 212–219, 1996. [STOC:237814.237866, arXiv:quant-ph/9605043]. 1, 3 [18] * L. K. Grover: Quantum mechanics helps in searching for a needle in a haystack. Phys. Rev.

Lett., 79(2):325–328, 1997. [PRL:10.1103/PhysRevLett.79.325, arXiv:quant-ph/9706033]. 1

[19] * L. K. Grover: A framework for fast quantum mechanical algorithms. In Proc. ACM STOC, pp. 53–62, 1998. [STOC:276698.276712, arXiv:quant-ph/9711043]. 1.1, 5, 5.1

[20] * P. Høyer and R. de Wolf: Improved quantum communication complexity bounds for disjointness and equality. In Proc. Intl. Symp. on Theoretical Aspects of Computer Science (STACS), pp. 299–310, 2002. [STACS:c22a2t8cewg784jh, arXiv:quant-ph/0109068]. 1.1, 7

[21] * S. Lloyd: Computational capacity of the universe. Phys. Rev. Lett., 88, 2002. [PRL:10.1103/PhysRevLett.88.237901, arXiv:quant-ph/0110141]. 3

[22] * M. Nielsen and I. Chuang: Quantum Computation and Quantum Information. Cambridge University Press, 2000. 3.1

[23] * A. A. Razborov: Quantum communication complexity of symmetric predicates. Izvestiya Math. (English version), 67(1):145–159, 2003. [arXiv:quant-ph/0204025]. 1.1, 7

[24] * T. Rudolph and L. Grover: Quantum searching a classical database (or how we learned to stop worrying and love the bomb). 2002. [arXiv:quant-ph/0206066]. 2

[25] * B. S. Ryden: Introduction to Cosmology. Addison-Wesley, 2002. 3

[26] * S. Perlmutter and 32 others (Supernova Cosmology Project): Measurements of Ω and Λ from 42 high-redshift supernovae. Astrophysical Journal, 517(2):565–586, 1999. [arXiv:astro-ph/9812133]. 2, 3

[27] * A. Sahai and S. Vadhan: A complete promise problem for statistical zero-knowledge. J. ACM, 50(2):196–249, 2003. Earlier version in IEEE FOCS 1997. [JACM:636865.636868, FOCS:10.1109/SFCS.1997.646133, ECCC:TR00-084]. 2

[28] * N. Shenvi, J. Kempe, and K. B. Whaley: A quantum random walk search algorithm. Phys. Rev. A, 67(5), 2003. [PRA:10.1103/PhysRevA.67.052307, arXiv:quant-ph/0210064]. 1.2

[29] * P. Shor: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput., 26(5):1484–1509, 1997. Earlier version in IEEE FOCS 1994. [SICOMP:29317, FOCS:10.1109/SFCS.1994.365700, arXiv:quant-ph/9508027]. 1, 3

[30] * V. Strassen: Gaussian elimination is not optimal. Numerische Mathematik, 14(13):354–356, 1969. 1.2

[31] * J. Watrous: On one-dimensional quantum cellular automata. In Proc. IEEE FOCS, pp. 528– 537, 1995. [FOCS:10.1109/SFCS.1995.492583]. 1.1

[32] * Ch. Zalka: Could Grover’s algorithm help in searching an actual database? 1999. [arXiv:quant-ph/9901068]. 2 AUTHORS

Scott Aaronson Postdoctoral Fellow Institute for Quantum Computing University of Waterloo aaronson ias edu

http://www.scottaaronson.com

Andris Ambainis Assistant Professor Department of Combinatorics and Optimization University of Waterloo ambainis math uwaterloo ca

http://www.math.uwaterloo.ca/~ambainis

ABOUT THE AUTHORS

Scott Aaronson works on computational complexity, quantum computing, and the foundations of quantum mechanics. He holds a Ph. D. in computer science from UC Berkeley (supervised by Umesh Vazirani), an undergraduate degree from Cornell University, and a New York State GED. He was born in Philadelphia.

Andris Ambainis was born in Daugavpils, Latvia. After undergraduate studies at the University of Latvia, he received his Ph. D. from the University of California, Berkeley in 2001, supervised by Umesh Vazirani. Andris joined the University of Waterloo in August 2004. His research interests include quantum algorithms, quantum complexity theory, quantum cryptography as well as the classical theory of computation.