4 Grover`s Search Algorithm

advertisement
CSE 450/598 Design & Analysis of Algorithms
Final Paper
CSE 450/598
Design & Analysis of Algorithms
Quantum Computers:
Grover’s Search Algorithm
Final Paper
Due Date:
Group No:
Group Name:
Members:
May 6, 2003
P-184
Intellicode
Jorge Canchola
Chia-Lun Huang
Jay Mehta
Allen Poon
CSE 450/598 Design & Analysis of Algorithms
Final Paper
Table of Contents
1
INTRODUCTION
1.1
1.2
1.3
2
ALGORITHM
SEARCH ALGORITHM
SEARCH PROBLEMS
LINEAR ALGEBRA
2.1
DIRAC NOTATION
2.1.1
Vector Spaces
2.1.2
Inner & Outer Product
2.1.3
Tensor Product
2.2
EIGENVECTORS & EIGENVALUES
2.2.1
Calculating
2.2.2
Diagonalizable
2.2.3
Spectral Decomposition
3
QUANTUM PHYSICS & QUANTUM COMPUTING
3.1
HISTORY
3.2
QUANTUM BITS (QUBIT)
3.2.1
Single Qubit
3.2.2
Multiple Qubits
3.3
QUANTUM GATES
3.3.1
NOT Gate
3.3.2
Unitarity
3.3.3
Z Gate
3.3.4
H Gate (Hadamard gate)
3.3.5
CNOT Gate (Controlled-NOT Gate)
3.4
QUANTUM PRINCIPLES
3.4.1
Parallelism
3.4.2
Entanglement & Teleportation
3.4.3
Interference
3.4.4
Decoherence & Error Correction
3.4.5
Reversibility
4
GROVER’S SEARCH ALGORITHM
4.1
4.2
4.3
4.4
5
QUANTUM ALGORITHMS
5.1
5.2
6
INTRODUCTION
PROCEDURE
EXPLANATION OF THE ALGORITHM
IMPROVING GROVER’S ALGORITHM
G-BBHT SEARCH ALGORITHM
MINIMUM-FINDING ALGORITHM
WORKS CITED
1
1
1
2
4
4
4
5
7
8
8
8
9
10
10
11
11
13
14
14
15
16
16
18
19
19
21
22
24
26
27
27
28
29
31
38
38
39
40
CSE 450/598 Design & Analysis of Algorithms
1
1.1
Final Paper
Introduction
Algorithm
Informally, an algorithm is any well-defined computational procedure that takes some
value, or set, as input and produces some value, or set of values, as output, an algorithm is
thus a sequence of computational steps that transform the input into the output.
We can also view an algorithm as a tool for solving a well-specified computational
problem. The statement of the problem specifies in general terms the desired input/output
relationship. The algorithm describes a specific computational procedure for achieving that
input/output relationship.
1.2
Search Algorithm
The method for doing a search. The term in computer science is used to represent an
approach that to find a specific word or phase in a either sorted or unsorted database.
Search Algorithms can generally be broken down into two types: definitive and
subjective. Definitive algorithms perform tasks that have a definite answer and a best method
for processing. An example is searching for a word in a list. Depending on the size of the list,
certain search algorithms are more efficient then others. Definitive algorithms are typically of
interest to only computer scientist.
Subjective algorithms are more interesting for business purposes. In general a subjective
algorithm processes information based on an assumptive model where the "right" answer is a
matter of opinion. Subjective algorithms are used heavily in social sciences, economics,
business and financial forecasting, etc. The best-known examples of subjective algorithms on
Grover’s Search Algorithm
1
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
the Internet are those used by public search engines. Each search engine uses a different
method to determine which web page/site best matches your search. The designers of the
search engine determine what is "best".
1.3
Search Problems
Sorting is by no means the only computational problem for which algorithms have been
developed. Practical applications of algorithms are ubiquitous and include the following
examples:
1. The human Genome Project has the goals of identifying all the 100,000 genes in human
DNA, determining the sequences of the 3 billion chemical base pairs that make up human
DNA, storing this information in databases, and developing tools for data analysis, each
of these steps requires sophisticated algorithms.
2. The internet enables people all around the world to quickly access and retrieve large
amount of information. In order to do so, clever algorithms are employed to manage and
manipulate this large volume of data. Examples of problems which must be solved
include finding good routes on which the data will travel, and using a search engine to
quickly find pages on which particular information resides
3. Electronic commerce enables goods and services to be negotiated and exchanged
electronically. The ability to keep information such as credit card numbers, passwords,
and bank statements private is essential if electronic commerce is to be used widely.
Public-key cryptography and digital signatures are among the core technologies used and
are based on numerical algorithms and number theory
4. In manufacturing and other commercial settings, it is often important to allocate scarce
Grover’s Search Algorithm
2
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
resources in the most beneficial way. An oil company may wish to know where to place
its wells in order to maximize its expected profit. A candidate for the presidency of the
United States may want to determine where to spend money buying campaign advertising
in order to maximize the chances of winning an election. An airline may wish to assign
crews to flights in the least expensive way possible, making sure that each flights is
covered and that government regulations regarding crew scheduling are met. An internet
service provider may which to determine where to place additional resources in order to
server its customers more effectively.
Grover’s Search Algorithm
3
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
2
2.1
Final Paper
Linear Algebra
Dirac Notation
2.1.1 Vector Spaces
Vector spaces are the basic objects of linear algebra. The vector space of most
interest to us is the complex Hilbert space,
n
. This is the space of all n-tuples of
complex numbers,  z1 ,..., zn  . Vectors are considered to be the members of a vector
space and are represented using the column matrix notation
 z1 
  (2.1)
 
 z n 
In quantum mechanics this notation tends to be cumbersome. The standard notation for
linear algebra concepts such as a vector in a vector space is the following.
 (2.2)
This abstract notation is called a ket. Additionally we also have a vector in addition to the
ket vector.
 (2.3)
This is known as the bra vector. The bra vector is the dual state of the ket vector in the
reflexive Hilbert Space. The matrix notation for a dual vector differs from the notation
above.
 z1 ,..., zn  (2.4)
The notation in the rest of the paper will be summarized in the following table.
Grover’s Search Algorithm
4
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Notation
z
Final Paper
Description
The complex conjugate of the number z.

1  i   1  i

Ket vector

Bra vector

Inner product between vectors  and  .
 
Outer product between vectors  and  .
 
Tensor product between vectors  and  .
 
Abbreviated notation for tensor product between vectors
 and  .
V n
Abbreviated notation for tensor product of V with itself n
times.
Vectors  and  are XORed and stored in target
 
qubit  . Refer to CNOT gate (3.3.5)
A
A†
The complex conjugate of the matrix A.
Hermitian conjugate of A matrix: A†   AT 

†
 a b   a
c d    

 b
 A
c 

d
Inner product between  and A  . Equivalent to
inner product between A†  and  .
2.1.2 Inner & Outer Product
The inner product is uses to take two input vectors and
turn generate a complex number output. The
from a vector space and in
operator performs an inner product if
it satisfies these requirements.
1. In the second argument
is linear.


   i  i    i   i (2.5)


i
2.
   
3.
   0 with equality    0
Grover’s Search Algorithm
i

5
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
n
The inner product is defined by the following in
where u and v are vectors in
respect to some orthonormal basis i and i j   ij .
 v1 
u v   u v    u v  u ,..., u   
ij
i
vn  (2.6)
where u   ui i  v   v j j

i j ij

i i
i
Therefore
n

1

n
j
is also an inner product space because it is equipped with an inner product
space. An inner product space is essential the same thing as a Hilbert space in the finite
dimensions.
Another function that uses the inner product is the outer product. The outer product is
just defined as follows.
u v  u v v '  v v ' u (2.7)
The outer product is a very important result for the completeness relation of orthonormal
vectors. Suppose i is an orthonormal basis for vector space V. Then we can say the
following for some set of complex numbers vi .


  i i  v   i i v   vi i  v where
(2.8)
i
i
 i

v   i vi i and i v  vi
Therefore this must imply that
i
i  I .(2.9)
i
Grover’s Search Algorithm
6
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
2.1.3 Tensor Product
In order to create larger vector spaces, tensor products are used in order to construct
the necessary matrix for multi-particle systems. Suppose we have two vector spaces U
and V with the dimension m and n respectively. Consequently U V would be in mn
dimensional space, which is quite larger than the original vector space. The members of
U V are also linear combinations of
u  v where
u U  v V
(2.10)
We can represent this very abstract concept using the matrix notation known as the
Kronecker product. Suppose we have the matrix U with the dimension m by n along with
the matrix V with the dimensions p by q. We can represent the tensor product in the
following fashion.
 U11V U12V
U V U V
22
U  V   21


U m1V U m 2V
U1nV 
U 2 nV 


U mnV 
(2.11)
In this notation the term U11V represent p by q submatrices that are proportional to V.
Suppose we have the following matrix:
1 1 
V 

1 1 (2.12)
The tensor product of itself would be written as follows.
11  1 1 1 1 
11 11 11

11  1 1 1 1
1 1  1 1  11 11 11
V V  



 

1 1 1 1 11 11 1 1 1 1  1 1 1 1

 

11 11 1 1 1 1 1 1 1 1  (2.13)
Grover’s Search Algorithm
7
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
2.2
Final Paper
Eigenvectors & Eigenvalues
2.2.1 Calculating
“An eigenvector of a linear operator A on a vector space is a non-zero vector v such
that A v  v v , where v is a complex number known as the eigenvalue of A corresponding
to v ” [1]. Using the fundamental theorem of algebra we know that every operator A at least
has one eigenvalue and its corresponding eigenvector. The eigenvector is obtained through
the application of the characteristic function.
c     det A   I
(2.14)
The solution of the characteristic equation when c     0 are the eigenvalues for the
operator A. The set of eigenvectors formed from the eigenvalue v makes up the
corresponding eigenspace. The eigenspace is a vector subset of the vector space of A.
2.2.2 Diagonalizable
The orthonormal set of eigenvectors for A can be seen in the following diagonal
representation.
A   i i i
i
(2.15)
The vectors i form the orthonormal set of eigenvectors with their corresponding
eigenvalues i . For example the following matrix can be written with a diagonal
representation.
Grover’s Search Algorithm
8
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
1 0 
[1]
A
 0 0 1 1
0 1
(2.16)
2.2.3 Spectral Decomposition
This theorem is used for representing normal operators. This theorem states that “any
normal operator M on a vector space V is diagonal with respect to some orthonormal
basis for V. Conversely, any diagonalizable operator is normal” [1]. Suppose we have
the eigenvalue  for M, P the projector onto the  eigenspace, and Q the projector onto
the orthogonal complement. We can eventually say the following with this theorem.
M  PMP  QMQ (2.17)
What this means is that M can be written in terms of its diagonal and/or its projectors.
M   i i i
i
M   i Pi
i
(2.18)
The projectors satisfy the completeness and orthonormality relations.
P  I
i
i
PP
i j  Pi ij
Grover’s Search Algorithm
9
(2.19)
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
3
3.1
Final Paper
Quantum Physics & Quantum Computing
History
The concept of quantum-based computational devices was first formed in the 1970’s and
early 1980’s by the computer scientists and physicists of the Argonne National Laboratory
and California Institute of Technology. This concept arose from the notion that eventually
the size of circuitry that could be etched onto silicon wafers would eventually approach the
atomic level and thus a “fundamental limit[sic] of computation” (18). The inherent problem
in this conjecture was that as we delved into the atomic level, we were leaving Newtonian
mechanics behind and entering the realm of quantum mechanics. The same rules and laws
that defined behavior and properties before no longer held. In order to counteract this
dilemma a new model of computing—quantum computing—was created in order to better
represent how computations would work at a quantum level. A level of computing that was
far different than what we primarily use now.
One of the first known attempts to solve this difficult conundrum was given by Richard P.
Feynman. In 1982, he demonstrated how computations could be performed on a quantum
level using an abstract model. Additionally, these computations would simulate real-life
quantum physics—quantum physic experiments could now be administered on a quantum
machine. This assertion was followed by the “crucial theoretical paper showing that any
physical process, in principle, could be modeled perfectly by a quantum computer” (18).
This paper, published in 1985 and written by David Deutsch, proved that the capability of
classical computers paled in comparison to that of quantum computers.
After this key discovery, many scrambled to find unique applications to this new model
of computing. For a few years, the only problems being “solved” by this new method of
Grover’s Search Algorithm
10
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
computing were a handful of “contrived mathematical problems” (18). This all turned
around when in 1994, Shor released a paper that would put quantum computing on the
forefront of national and international interest. Shor found a way to factor numbers quite
easily using a quantum computer. This created a major shock in the computer industry
because most of the security on information transfer was and still is based on the RSA
encryption standard. RSA uses the belief that factoring huge numbers was extremely difficult
and that it was considered to be an NP-Hard problem in classical computing.
3.2
Quantum Bits (Qubit)
3.2.1 Single Qubit
A qubit is a quantum object. It is just as a classical bit, which is either 0 or 1. A qubit
also has two states - 0 and 1 , which also called computational basis states. Even
though two states of a qubit look like a classical bit, we cannot examine a qubit to
determine its quantum state. Instead of that, we can only acquire much more limited
information. Another difference is that a qubit have a state other than 0 and 1 . We
also can have states that are linear combinations from 0 and 1 , called superpositions
  0   1
where  and  are complex number. 
Similarly, 
2
2
(3.1)
is the probability when a qubit is equal to 0.
is the probability for a qubit measured to the result 1. Because the sum of
all probabilities should be equal to 1, we can derive the result
Grover’s Search Algorithm
11
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
    1 .(3.2)
2
2
Additionally, 0 and 1 also can also be represented in a vector form:
1
0 
0    and 1   
0 
1 (3.3)
We mentioned before, a qubit can have states that are the linear combination of 0
and 1 . The linear combination can also explain that a qubit can exist in a continuous
state between 0 and 1 , but can ultimately only give the values 0 or 1 depending on
which location they choose. For example, the state of a qubit is represented
1
2
0 
1
2
1
(3.4)
in which, we have a fifty percent chance to get the result 1, and another fifty percent
chance to get the result 0.
We can use an atom model to explain the qubit. The electron exists in the atom. It
can exist in either a ground or an excited state, which are called 0 and 1 , respectively.
By shining light on the atom, the electron can move from the 0 state to the 1 state, or
vice versa. But if we reduced the energy of light, the electron may move the halfway
between the 1 and 0 —this is called the  state.
Grover’s Search Algorithm
12
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
3.2.2 Multiple Qubits
If we have two qubits, there would be four possible states 00 , 01 , 10 , and 11 .
Similar, there also exist the superpositions of all four states. It is represented in the
following:
   00 00   01 01  10 10  11 11 .(3.5)
where the complex coefficient is called the amplitude.
Similarly to a single qubit, the sum of all coefficients appeared above should be equal to
1. It can be expressed by the normalization condition such that

 x  1 .(3.6)
2
x 0 ,12
The multiple qubits are extended from a single qubit. A multiple qubits ab can be
resolved to a  b . We use this equation to get a vector form the four computational
basis states of a two qubit system.
1 
 
1  1   0 
00  0  0       
0  0  0 
 
0  (3.7)
0
 
1   0  1
01  0  1         
 0  1   0 
 
0  (3.8)
Grover’s Search Algorithm
13
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
0
 
 0  1  0
10  1  0         
1   0  1 
 
0  (3.9)
0 
 
0  0  0
11  1  1         
1  1  0 
 
1  (3.10)
3.3
Quantum Gates
A quantum computer is built from a quantum circuit containing wires and elementary
quantum gates to carry around and manipulate the quantum information. So quantum
gates are a foundation of the quantum computer.
3.3.1 NOT Gate
NOT gate of the quantum computer takes the state from 0 to 1 , or vice versa.
For example, take the state described in the following:
 0   1 .(3.11)
The NOT gate takes it to the corresponding state in which the role of 0 and 1 have
been interchanged, such that
 1   0 .(3.12)
Grover’s Search Algorithm
14
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
Using matrix to represent a NOT gate is very convenient. The NOT gate can be
defined as follows:
0 1 
X 
 .(3.13)
1 0
We can use the example mentioned before to identify the general solution. The state
 0   1 is written in a vector notation as
 
 
  (3.14)
and by applying the NOT gate to the state such that
  0 1     
X   
    
   1 0      (3.15)
and the result is the same as we expected  1   0 .
3.3.2 Unitarity
The matrix is describing unitarity, if the matrix has properties such U *U  I ,
where U * is the transformation of a matrix U and I is the two by two identity matrix.
The identity matrix is the diagonal matrix such that
Ir
ij
 1 if i  j, and I r
ij
 0 if i  j
(3.16)
 1 0   0 0


 0 1   0 0
I r  .        .(3.17)


     1 0
 0 0   0 1


Grover’s Search Algorithm
15
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
By the way, unitarity constraint is the only constraint on quantum gates. Any unitary
matrix specifies a valid quantum gate.
3.3.3 Z Gate
Z gate of the quantum computer leaves the state 0 unchanged, and flips the sign of
1 to give - 1 . For example, the state described in the following:
 0 1 .
The Z gate transforms it to
 0   1 .(3.18)
The Z gate can be defined as follows using matrix notation:
1 0 
Z 
 .(3.19)
0 1
We can use the example mentioned before to identify the general solution. The state
 0   1 is written in a vector notation as
 
 
 
and using Z gate to the state such that
  1 0      
Z 
      .(3.20)
   0 1       
and the result is the same as we expected  0   1 .
3.3.4 H Gate (Hadamard gate)
Grover’s Search Algorithm
16
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
The Hadamard gate is one of the most useful gate for quantum computer. The gate
turns single qubit gates correspond to rotations and reflections of the sphere.
The
operation first rotates the sphere about the y-axis by 90 degree, followed by a reflection
through x-y plane. The diagram of Hadamard operation is illustrated in the following
diagram:
Hadamard gates are sometimes described as being like the ‘square-root of NOT’
[1] gate, in that it turns a 0 into   0  1
and 1 , and turns 1 into   0  1


2 which means halfway between 0
2 which also means halfway between 0 and
1 .
The H gate can be defined as follows:
H
1 1 1 

.
2 1 1
We can use the example mentioned before to identify. The state  0   1 is written in
a vector notation as
 
  .
 
Applying the H gate to the state gives us
Grover’s Search Algorithm
17
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
 ( + ) 
0 1
0 1
  1 1 1    
2 

 
.(3.21)
H 






2 1 1     ( - ) 
2
2
 

2 
the result that we expected.
3.3.5 CNOT Gate (Controlled-NOT Gate)
This gate has two input qubits, the control qubit and the target qubit. The action
of the gate describe in the following. When the control qubit is equal to 0, the target
qubit is not changed. If the control qubit is equal to 1, the target qubit is flipped such as
00  00 ;
01  01 ; 10  11 ; 11  10
(3.22)
CNOT gate is also represented by matrix like the following matrix:
U CN
1
0

0

0
0 0 0
1 0 0
.(3.23)
0 0 1

0 1 0
The CNOT gate can also be used to generalized the classical XOR gate. The action of
an XOR gate is summarized as follows:
A, B  A, B  A
(3.24)
The  operator can be defined as the “addition of modulo two, which is exactly what the
XOR gate does” [1].
The CNOT gates also have one very important property—any multiple qubit logic
gate may be composed from CNOT gates and single qubit gates.
Grover’s Search Algorithm
18
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
3.4
Final Paper
Quantum Principles
3.4.1 Parallelism
Because of the advantages of quantum parallelism, quantum hardware can be used to
more efficiently solve computational problems than their classical counterpart. Due to
the limits of quantum mechanics, we cannot take the general measure of the quantum
state and thus “we cannot immediately make use of the power that quantum parallelism
provides” [9].
Now, say we have a function with a “one-bit domain and range” [1].
f  x  : 0,1  0,1
(3.25)
Now this mapping can be implemented in the following unitary operation where we
considered a two qubit quantum computer.
U f x, y  x , y  f  x 
(3.26)
Using a Hadamard transform, we creating the following supposition:
H n 0 
1
2n
x
.(3.27)
x
This equation can be easily demonstrated when n  1 .
H 1 0  H 0 
1 1 1  1 1 1 1  1 0  1
0 1
     

  
 
2 1 1 0
2 1
2   0 1  
2
(3.28)
Furthermore, let us assume we have state vectors, call them a and b. The first state vector
will be equal to value or the Hadamard transform while the second state vector is
initialized to 0 .
Grover’s Search Algorithm
19
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
We will get the following result if we apply the above operator on both of our state
vectors.
Uf
1
2n
 x,0

x
1
2n
 x, f  x 
x
(3.29)
This can also be demonstrated from original example.
U f H 1 0 , 0  U f
1
 0  1 , 0
2

0, f  0   1, f 1
2
(3.30)
This unitary operator has acted in a linear fashion on every term in superposition. In
one “swoop” the operator evaluated the function f  x  for all non-negative x  2 n . In
other words this operator has a time-complexity of O(1) . This operation would have
taken linear time in a classical computer. This time-complexity reduction is the essence
of quantum parallelism.
The dilemma with this, however, is that there is no way to actually determine the final
answer because the measure of the computed quantum state would be only be one of the
terms of the superposition, x j , f  x j  . Re-measuring the quantum state would result in
the same answer because the previous state measurement caused the quantum state vector
representing all the possible values to collapse into a single value. Thus we have
effectively calculated the value f  x j  for a single value of x. This is definitively no
better than classical computations and is, in fact, worse because we have no control over
which value of x we want to compute.
Grover’s Search Algorithm
20
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
This problem presents the notion that quantum parallelism is definitely not enough to
design efficient quantum algorithms. We need to able to obtain additional information
from the state vector when we perform a state measurement. This additional information
can be obtained using quantum entanglement.
3.4.2 Entanglement & Teleportation
“Quantum entanglement is a quantum mechanical phenomenon in which the quantum
states of two or more objects have to be described with reference to each other, even
though the individual objects may be spatially separated” [9]. This correlations between
the observable physical properties in a system are even stronger than those in classical
correlations.
Thus measurements performed on one system can be influenced or
influencing other quantum systems that are ‘entangled’ with it. The drawback, however,
is that transimission of informaiton is not a possiblity.
This “spooky action” phenomena led prominent scientist, such as Albert Einstein, to
reject this theory because it went against his principle of locality. This principle stated
that local systems should have no immediate effect on other spatially separated systems.
This contradication was known as the EPR Paradox. The field of quantum mechanics,
however, was very succesfull in generating correct experimental predications, and the
“spooky action” phenomena was quite observable. Some suggested the notion of hidden
variables that were not known us yet.
These variables were deterministic and also
followed the principle of locality. This, however, gave rise to the behavior of quantum
mechanics on a larger scale. In 1964, however, John Steward Bell showed that effects of
a broad class of local hidden-variables can be indeed experimentally separated from the
Grover’s Search Algorithm
21
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
effects of quantum entanglement.
Final Paper
Future experiments have verified Bell’s quantum
mechanical predictions and quantum entanglement was accepted at a true quantum
phenomena.
“Entanglement obeys the letter if not the spirit of relativity” [11].
Despite the
entanglement of systems or large spatial regions, no useful information can transmitted
between two systems, and thus causality is not violated through entanglement. This
occurs for two reasons:
1. Quantum mechanics obtains probabilistic results
2. No cloning theorem forbids the statistical inspection of entangled quantum states.
Despite the fact that information by itself cannot be transmitted entanglement alone, it is a
possiblity to transfer information by using the conjuction of entangled quantum states
with a clasical information channel. This is know as quantum teleportation can only
transmit at the speed of light because of the classical channel. It does not literally
transport from one location to another but recreates and destroys the object at new and old
locations respectively.
3.4.3 Interference
Quantum interference is one of the most challenging principles of quantum theory.
Essentially, the concept states that elementary particles can not only be in more than one
place at any given time through superposition, but that an individual particle, such as a
photon can cross its own trajectory and interfere with the direction of its path. Debate
over whether light is essentially particles or waves dates back over three hundred years.
Grover’s Search Algorithm
22
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
In the seventeenth century, Isaac Newton proclaimed that light consisted of a stream of
particles; in the early nineteenth century, Thomas Young devised the double-slit
experiment to prove that it consisted of waves. Although the implications of Young's
experiment are difficult to accept, it has reliably yielded proof of quantum interference
through repeated trials. The noted physicist Richard Feynman claimed that the essentials
of quantum mechanics could be grasped from an exploration of the double slit
experiment. For this variation of Young's experiment, a beam of light is aimed at a
barrier with two vertical slits. The light passes through the slits and the resulting pattern is
recorded on a photographic plate. If one slit is covered, the pattern is what would be
expected: a single line of light, aligned with whichever slit is open. Intuitively, one would
expect that if both slits are open, the pattern of light will reflect that fact: two lines of
light, aligned with the slits. In fact, however, what happens is that the photographic plate
is entirely separated into multiple lines of lightness and darkness in varying degrees.
What is being illustrated by this result is that interference is taking place between the
waves/particles going through the slits, in what, seemingly, should be two non-crossing
trajectories.
We would expect that if the beam of photons is slowed enough to ensure that
individual photons are hitting the plate, there could be no interference and the pattern of
light would be two lines of light, aligned with the slits. In fact, however, the resulting
pattern still indicates interference, which means that, somehow, the single particles are
interfering with themselves. This seems impossible: we expect that a single photon will
go through one slit or the other, and will end up in one of two possible light line areas.
But that is not what happens. As Feynman concluded, each photon not only goes through
Grover’s Search Algorithm
23
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
both slits, but simultaneously traverses every possible trajectory en route to the target, not
just in theory, but in fact.
In order to see how this might possibly occur, experiments have focused on tracking
the paths of individual photons. What happens in this case is that the measurement in
some way disrupts the photons' trajectories (in accordance with quantum theory's
uncertainty principle), and somehow, the results of the experiment become what would be
predicted by classical physics: two bright lines on the photographic plate, aligned with the
slits in the barrier. Cease the attempt to measure, however, and the pattern will again
become multiple lines in varying degrees of lightness and darkness.
3.4.4 Decoherence & Error Correction
Interference and entanglement are quantum-mechanical phenomena that are inherently
used in quantum computing devices. “These phenomena endow a quantum computer
with certain capabilities that cannot be matched, even in principle, by any classical
computer” [11]. To effects of noise and of imperfections in the machine, the quantum
phenomena are exceptionally vulnerable.
Shor’s quantum factoring algorithm, as described later, works by summing coherently
an exponentially large number of amplitudes and constructively interfere with each outer.
When the computer, however, interacts with its environment, the quantum state of the
environment is now entangled to the quantum state of the computer. This obviously
causes the decay of the coherent quantum information in the state vectors to an incoherent
mixed state.
Grover’s Search Algorithm
This decaying phenomenon is known as decoherence.
24
P-184
Decoherence
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
destroys the constructive interference, and so drastically compromises the performance of
the machine.
Using error-correcting codes, the effects of noise can be dealt with systematically and
efficiently in classical computation and/or communication. With the use of redundant
information a signal can be reliably recovered even after the signal has significantly
degraded.
“Shannon's Main Theorem of classical information theory shows that a noisy
classical channel has a finite channel capacity, such that information can be
sent over the channel with an arbitrarily small probability of error at a rate
arbitrarily close to (but below) the channel capacity.”
[14]
Generalizing the concept of an error-correcting code to quantum information is
problematic for several reasons. First, quantum information cannot be faithfully copied,
so it is subtle to encode the information redundantly and to process the information so
encoded. Furthermore, to detect that an error has occurred, we must make a measurement
and extract some data about the state of the quantum system. But this measurement may
disturb the system and modify the encoded information.
Nevertheless, there has been dramatic recent progress in error-correcting quantum
coding. The crucial idea is that information can be encoded in correlations involving
many "qubits" (or spins), in such a way that none of the information can be accessed by
measuring just a few qubits at a time. Information encoded in this way is not destroyed if
a few of the qubits interact with the environment. Yet the error caused by the interaction
can be detected and corrected by making suitable measurements of the system together
with an auxiliary device.
Grover’s Search Algorithm
25
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
3.4.5 Reversibility
To keep the computation coherent, quantum registers must be kept isolated, to avoid
entanglement with the environment. The entropy of such a system has to remain constant
since no heat dissipation is possible, therefore state changes have to be adiabatic, which
requires all computations to be reversible.
Every reversible operation can be described by a unitary operator U that matches the
condition U 1  U † . Compositions of unitary operators are also unitary
since UV   V †U † . The restriction to unitary operators can also be directly derived for
1
the operator of temporal propagation U  e  iHt . Since the Hamilton operator H is an
observable it has only real eigenvalues and U †   U 1  eiHt .
A general unitary transformation in the two dimensional Hilbert space
2
can be
defined as follows:

 i   
cos
e
2
U  ,  ,  ,   
 ei    sin 

2


e i    sin 
2 with  ,  ,  , 

 
i    
e
cos 
2
If this operator can be applied to arbitrary 2-dimensional subspaces of H, then any
unitary transformation can be constructed by composition. If only subspaces
corresponding to a subset of qubits are allowed, which is the case for many proposed
architectures, among them also the linear ion trap, then an additional 4-dimensional 2qubit operator is needed to obtain a mixing between separate qubits.
Grover’s Search Algorithm
26
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
4
4.1
Final Paper
Grover’s Search Algorithm
Introduction
Grover's algorithm is a quantum algorithm for searching an unsorted database with N
entries in O
 N  time and O log
2
N  space. It was invented by Lov Grover in 1996.
Generally, searching an unsorted database requires a linear search O  N  . Other
quantum algorithms which provide exponential speedup over their classical counterparts.
Grover's algorithm provides "only" quadratic speedup. However, it is the fastest possible
quantum algorithm for searching an unsorted database, and if the N is large enough quadratic
speedup is considerable.
Grover's algorithm is probabilistic in the sense that it gives the correct answer with high
probability, it as same as other quantum algotithm. Repeating the algorithm can decrease the
probability of failure.
Grover's algorithm can be used for mean and median estimation, and solving the
collision problem. It can solve NP-complete problems by performing exhaustive searches
over all possible solutions. Although it speedup, it won't achieve polynomial runtime for NPcomplete problems.
Although Grover's algorithm is often described as searching a database, it would be more
accurate to describe it as inverting a function. If a function y  f  x  can be computed by an
algorithm for a quantum computer, then Grover's algorithm can calculate x, when y is given.
Grover's algorithm wouldn't typically be used to search for names in a phone book, it could
also be used to search for a key that decrypts an encrypted message. If the function for
Grover’s Search Algorithm
27
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
computing f ( x) is given as a black box, then Grover's algorithm is the fastest possible
algorithm for inverting it.
Below are the basic form of Grover's algorithm, which searches for a single matching
entry. The algorithm can be further optimized if there is more than one matching entry and
the number of matches is known beforehand.
4.2
Procedure
Consider an unsorted database with N entries. The algorithm requires an N-dimensional
state space H, which can be supplied by log2N qubits.
Number the database entries 0, 1, ... N-1. Choose an observable  acting on H with N
distinct eigenvalues. By the spectral theorem, we can construct an orthonormal basis of
eigenkets
 0 , 1 ,..., N  1  .
The eigenvalues 0 , 1 ,..., N 1 label distinct database
entries. We wish to find the label  for the database entry matching our search criterion.
We are provided with a unitary operator Uω which compares database entries with our
search criterion. The algorithm does not specify how this subroutine works, but it must be a
quantum subroutine that works with superpositions of states, and it must have the following
effects on the label kets:
U   
U x  x
x 
The steps of the Grover algorithm are:
Grover’s Search Algorithm
28
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
1. Initialize the system to the state
S  1
N

x
x
2. Perform the following "Grover iteration" r ( N ) times.
r ( N ) is described below; for N
1, r 

4
N.
a. Apply the operator Uω
b. Apply the operator U s  2 s s  I
3. Perform the measurement  . The measurement result will be  with probability
approaching 1 for N>>1. From  ,  may be obtained.
4.3
Explanation Of The Algorithm
Our initial state is
S  1
N

x
x
Consider the plane spanned by s and  . Let  x be a ket in this plane perpendicular
to  . Since  is one of the basis vectors, the overlap is
 s  1
N
In geometric terms, there is an angle  2    between  and s , where  is given
by:
Grover’s Search Algorithm
29
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
cos  2     1
sin   1
N
N
The operator U  is a reflection at the hyperplane orthogonal to  . For the vectors in
the plane spanned by s and  , it acts as a reflection at the line through  x . The
operator U S is a reflection at the line through s . Therefore, the state vector remains in the
plane spanned by s and  after each application of U S and after each application of U  ,
and it is straighforward to check that the operator U SU of each Grover iteration step rotates
the state vector by an angle of 2 toward  .
We need to stop when the state vector passes close to  . Ater this, subsequent
iterations rotate the state vector away from  , reducing the probability of obtaining the
correct answer. The number of times to iterate is given by r. In order to align the state vector
exactly with  , we need:
 2    2 r
r     2  4
However, r must be an integer, so generally we can only set r to be the integer closest to

2    4 . The angle between  and the final state vector can be achieved in O   , so
the probability of obtaining the wrong answer is O(1  cos2  )  O(sin 2  ) .
For N
1,   1
Grover’s Search Algorithm
N
,
30
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
r  N
4
Furthermore, the probability of obtaining the wrong answer becomes O 1 N  , which
approaches zero for as N approahes infinity.
4.4
Improving Grover’s algorithm
The original formulation of the Grover’s Algorithm can still be improved upon by
creating an Expectation Value (EV).
Quantum algorithms are conventionally formulated for implementation on a single
system of qubits amenable to projective measurements. However, in an expectation value
quantum computation, such as nuclear magnetic resonance realizations, the computer consists
of an ensemble of identical qubit-systems amenable only to expectation value measurements.
The prevalent strategy in such expectation value implementations of quantum algorithms has
been to retain the conventional formulation's unitary operations but modify its initialization
and measurement steps appropriately. This naive approach is not optimal for Grover's
algorithm and a shortened version for expectation value quantum computers is presented (6).
Quantum algorithms [1] are usually be implemented on single quantum system
amenable to projective measurements. In contrast, most experimental implementations have
used room temperature solution state NMR, which are expectation values of observables [2, 3
& 4]. Quantum algorithms have been adapted for such expectation value quantum computers
by modifying the preparation and measurement stages [2, 5]. However, these adaptations
have been constructed so that the expectation value quantum computer likes its single
quantum system relative as closely as possible. As such, they do not use the multiple
Grover’s Search Algorithm
31
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
identical quantum computers in the ensemble advantageously. In this article we show how to
shorten Grover's search algorithm for expectation value quantum computers.
We consider an expectation value quantum computer, consisting of an ensemble of
identical, non-interacting quantum computers.
(i) Can be prepared in any initial state[2, 5],
(ii) To which any single transformation can be applied
(iii)For which the expectation value (EV)  z  k  can be measured for each qubit (labeled
by k). This is the case with current NMR realizations.
The standard translation of a quantum algorithm to a form suitable for an expectation
value quantum computer can be illustrated via Grover's algorithm for searching a database
containing a single marked item in one of N possible locations (for convenience assume that
N  2 L for some integer L; this is not a severe restriction). The database will be represented
as X  0,1,..., N 1 and the search proceeds with the aid of the following oracle, invoked at
unit cost
f ( x)  0 if x6  s
f ( x)  1 if x  s
s denotes the marked item's location. A classical sequential search requires N / 2 oracle
queries on average to locate the marked item correctly. A quantum algorithm [1, 7] uses an L
qubit data register and an oracle unitary operation, defined on the computational basis states
f ( x)
x and extended linearly to superpositions of these. The data register is
as Uˆ f x   1
Grover’s Search Algorithm
32
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
initialized to  i  1
Final Paper
2L 1
2L

x , followed by repeated applications of the Grover iterate
x 0
G  DU f . This can be expanded to
 N 1
 N 1
D   Cx x     C x  2 c
 x 0
 x 0
x
where
.
N 1
c   Cx N
x 0
After m applications of G, the data register's state is 8
  sin  2m  1 O / 2 S 
cos  2m  1 O / 2  S
N 1
cos   1  2 N
x
where
xS
After  2  applications of G the system's state is approximately   S ; a
projective measurement (PM) in the computational basis would yield s with probability of
error, which we henceforth ignore, at most 1=N. For N
1 ; O  2 1 N and the algorithm
requires about  N  4  oracle invocations to locate the marked item with near certainty,
giving a quadratic speedup over the classical sequential search.
To convert between PM and EV outcomes note that, when
  S ,  z  k     z  k    (1) S where
k
S  sL ,..., s1
is the binary representation of s. This reveals the marked item if it is possible to distinguish
between
 z  k   1 and  z  k   1 for each qubit. This standard EV version of
Grover's algorithm has been used in all NMR realizations to date. What is crucial for the
success of the above translation is that the sign of  z  k  for each qubit can be determined.
Grover’s Search Algorithm
33
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
This depends only on which PM outcome would be more likely: positive or negative for PM
outcomes 0 or 1 respectively. Therefore, for expectation value quantum computers, it is not
essential that the state prior to measurement be s , but rather one for which the most likely
PM outcome is s. This can be attained with m   4 N  applications of G, in which case,
Eq. (1) yields
 z  k    1 Am (2)
Sk
where the EV attenuation
sin 2  2m  1 2 N  1
(3)
Am 
N 1
determines the magnitude of the EV. The EV attenuation increases monotonically with
respect to m from 0 prior to any applications of G to approximately 1 in the case of the
standard EV version. This leads to a truncated EV version of Grover's algorithm in which is
identical to the standard EV version except that it terminates after the minimum number of
applications of G such that it is still possible to distinguish reliably between  z  k   0 and
 z  k   0 for all data register qubits. In an ideal case the truncated EV version succeeds
after one application of G. In practice, noise and statistical limitations effectively establish
threshold EV attenuation, Am , below which the sign of the EV cannot be discerned reliably;
the algorithm then succeeds when Am  A n . The threshold will depend on experimental
details but, for many practical expectation value quantum computers it will possible to
truncate the algorithm compared to the standard EV version.
Grover’s Search Algorithm
34
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
Searching a database containing more than one marked item is complicated by the fact
that the standard version of Grover's algorithm is not deterministic. Here, after about
 4 N M 


f  1
M
applications of G, the data register is approximately in the state
x
where M is the number of marked items and S denotes the set their
xS
locations (1). A PM will yield a location of one of the marked items with certainty. However,
the bitwise EV technique described earlier may fail in some cases since averaging over more
than one possible database location can produce devastating cancellations (6). One way to
avoid this and still incorporate the truncation described above is to use a filtered EV
technique based on iterated runs of the algorithm. The iteration step produces the k + 1 bit of
a marked item's location if the first k bits have been determined to be ( Sk , Sk 1 ,..., S1 ) by
combining the EVs of two runs of the algorithm. In the first the algorithm is run without
modification, while in the second a correlation operation Ck 1  Sk , Sk 1 ,..., S1  is inserted
between the last application of G and the EV measurements, where
Ck 1  Sk ,..., S1  xL ,..., x1   x  k  1 
g  xk ,..., x1 
xL ,..., x1 where
g  xk ,..., x1   ( xk  Sk  1)( xk 1  Sk 1  1)...( x1  S1  1)  1
(4) and (5)
Averaging the EVs obtained from the two runs gives 6
 z  k  1
ave

1
M
  1
xS '
k 1
where
S '   x  S xk  Sk ,..., x1  S1
identical to an EV performed on 1
M
x
xS '
(6)
where 30, and whose sign gives Sk 1 for
some marked item whose first k bits are s ( Sk , Sk 1 ,..., S1 ) . The process is initiated by
Grover’s Search Algorithm
35
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
inspecting the sign of  z 1 ; giving s1 for a marked item. The entire filtering procedure
requires log2 N runs of the algorithm and O   log 2 N  2  operations to compute g for all
stages. Note that the amplitude of the EV scales as 1=M and thus for a given experimental
realization there will be a threshold (in M) beyond which this scheme fails. We only consider
cases where M lies beneath this threshold. The truncated EV version of Grover's algorithm
for one marked item is extended to multiple marked items if the filtering scheme described
above is used. After m applications of G:
 z k 
ave

Am
M
  1
xk
(7)
xS '
where S0 includes filtering conditions and the EV attenuation is
sin 2  2m  1 2 N  M
; (8)
Am 
N M
The algorithm can be terminated whenever Am  A n . The reduction in the number of
applications of G depends on the actual threshold EV attenuation, A n , and the maximum
tolerable threshold EV attenuation, Astand  1
M
, for the standard EV version 6. The
minimum number of applications in a truncated EV version is
M trunc  M stand
2

tan 1
A+ n 
A M
(9)
 1  + n 
Astand  Astand  
where M stand is the number of applications of G required for the standard EV version 6.
Whenever a quantum computing device only offers expectation value out- comes, then
the truncated version of Grover's algorithm is superior to the standard version. Here the
ensemble's ability to produce decisive expectation values may be used advantageously and a
Grover’s Search Algorithm
36
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
naive translation from the single quantum system version of an algorithm is not always
optimal. The extent to which this is applicable to other algorithms is not clear and would be a
worthwhile issue to investigate.
Grover’s Search Algorithm
37
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
5
5.1
Final Paper
Quantum Algorithms
G-BBHT Search Algorithm
This algorithm is a generalized search algorithm. It modify from Grover’s algorithm. All
of steps are in the following:
1. Consider one n-qubit register in the initial state 0 n and apply the Hadamard
transformation to get  

2. Apply 
 4
2n
t
1
2 n 1
2n
x 0
x
.

1
 times the G-iteration G   H n Rn H nV f .

3. Make a measurement of the x-register to get an x 0 .
4. Check if f ( x0 )  1 ; if not go to step 1.
In the 1998, Buhrman and de Wolf publish the analysis for searching an unordered list of
n elements. The summary is in the following:
1.  can be an arbitrarily small constant using O( n) queries but not using  ( n) queries.
2.  can be at most
1
2
n
using O(n 0.5 ) queries.
3. To achieve no error, n queries are needed.
4. The following is lower bound for ,
  (e

4bT 2 8T

n
n
)
where b is a fixed constant and T < n.
Grover’s Search Algorithm
38
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
In G-BBHT algorithm the initial distribution is uniform – all marked and unmarked states
have the same amplitude. The need to deal with the case of arbitrary initial distribution when
the search is used as a subroutine of larger quantum computations. They derived an
 n
expression for the optimal measurement time, O 
 , where n is the total number of
t


elements and t is number of marked ones.
5.2
Minimum-Finding Algorithm
This algorithm is also modified from Grover’s algorithm. The processes of this algorithm
describe in the below:
1. Choose as the first threshold a random y  1,...., n.
2. Repeat the following three steps until the total running time is more than
22.5 n  1.41 lg 2 n , then interrupt.
a. Initialize  0 
1
m
m
i
y , and consider an index i as marked if s i  s y .
i 1
b. Apply G-BBHT search algorithm to the first register to find a marked element.
c. Measure the first register. If y  is the outcome and s y  s y take as the new threshold
index y  .
3. Return y.
The minimum-finding algorithm finds the minimum with probability at least ½ if the
measurement is done after a total number of O ( n ) iterations.
Grover’s Search Algorithm
39
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
6
Final Paper
Works Cited
[1] M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Information.
(Cambridge University Press, Cambridge, 2000).
[2] I. L. Chuang, N. Gershenfeld, M. G. Kubinec, and D. W. Leung, Proc. R. Soc. Lond. A 454,
447 (1998).
[3] L. M. K. Vandersypen, M. Steffen, M. H. Sherwood, C. S. Yannoni, G. Breyta, and I. L.
Chuang, App. Phys. Lett. 76, 646 (2000).
4. L. M. K. Vandersypen, M. Steffen, G. Breyta, C. S. Yannoni, M. H. Sherwood, I. L. Chuang,
Nature 414, 883 (20 Dec. 2001).
5. D. G. Cory, M. D. Price, and T. F. Havel, Physica D 120, 82 (1998).
6. D. Collins, Phys. Rev. A 65, 052321 (2002).
7. L. K. Grover, Phys. Rev. Lett. 79, 325 (1997).
8. M. Boyer, G. Brassard, P. Hoyer, and A. Tapp, Fortschr. Phys. 46, 493 (1998).
9. Dr J. Tawmley – Quantum Parallelism
http://planck.thphys.may.ie/jtwamley/thesis/Hovland/thesis/node19.shtml
10. http://www.cakes.mcmail.com/StarTrek/teleportation.htm
11. http://www.wikipedia.org/wiki/Quantum_entanglement
12. http://www.carolla.com/quantum/QuantumComputers.htm
13. http://tph.tuwien.ac.at/~oemer/doc/qcldoc/node4.html#SECTION00222000000000000000
14. http://www.theory.caltech.edu/~quic/errors.html
15. http://tph.tuwien.ac.at/~oemer/doc/qcldoc/node4.html
17. http://whatis.techtarget.com/definition/0,,sid9_gci815065,00.html
Grover’s Search Algorithm
40
P-184
Spring/2003
CSE 450/598 Design & Analysis of Algorithms
Final Paper
18. http://www.cs.caltech.edu/~westside/quantum-intro.html
Grover’s Search Algorithm
41
P-184
Spring/2003
Download