Title: Review%20of%20basic%20quantum%20and%20Deutsch-Jozsa.
1Review of basic quantum and Deutsch-Jozsa.
- Can we generalize Deutsch-Jozsa algorithm?
Marek Perkowski, Department of Electrical
Engineering, Portland State University, 2005
2Basic quantum circuits
These topics were illustrated on the blackboard
- Reversible functions
- Gates. NOT, CNOT, CCNOT
- General controlled gates.
- Hadamard, square root of not
- Kronecker Product.
- Parallel and serial connections of gates.
- Analysis of quantum circuits in Heisenberg and
Dirac notations. - Tricks for fast computing.
- Entanglement.
- Toffoli gate from quantum primitives.
3Deutschs Problem
everything started with small circuit of
Deutsch...
4Deutschs Problem
(1985)
(Deutsch 85)
David Deutsch
5Classical Deutsch
Classically we need to query the oracle two
times to solve Deutschs Problem
f
0
?
f(0) ? f(1)
f
1
1 for balanced, 0 for constants
6How would we use a Classical Oracle?
Classical circuit
f
0
?
f(0) ? f(1)
f
1
1 for balanced, 0 for constants
Classification means recognizing patterns and
separating them to categories.
1 1
0 0
0 1
1 0
Patterns of balanced functions of single variable
Patterns of constants
7Hadamard Transform
Single qubit
H
?
H
1 1 1 1
1 -1 1 1
1 1 -1 -1
1 -1 -1 1
H
1/2
Parallel connection of two Hadamard gates is
calculated by Kronecker Product (tensor product)
Here I calculated Kronecker product of two
Hadamards
8Use of Hadamard gate In Deutsch Circuit to create
Karnaugh Map
How to calculate the state after Hadamard
1 1 1 1
1 -1 1 -1
1 1 -1 -1
1 -1 -1 1
01 00
1 -1 1 -1
01 00
1 0
0 1
?
1/2
1/2
How to calculate the initial state
State after Hadamard
State before Hadamards
Transform of Hadamards
State after Hadamards in Heisenberg notation
State after Hadamards in Dirac notation
State after oraqcle in Dirac notation
9Remarks
- We use both Heisenberg and Dirac notation because
some things are easier to prove in Dirac and some
in Heisenberg. - You can verify everything in Heisenberg, which is
easy, but takes many matrix calculations. - Dirac notation introduces many transformations
that may be not obvious, if you are in doubt,
just verify in Heisenberg notation. - Because Dirac notation introduces symbol
manipulation, you can avoid repeated calculation.
In next stages some standard transforms of Dirac
notation will be useful, but they are useful only
to prove facts, rather than invent facts. - You can verify the state after oracle by yourself
from definition, but on the next page we will
show everything step-by-step. In future we will
skip sometimes such obvious transformations.
10Deutsch Circuit
xygt?x y?f(x)gt 00gt ? 0 0? f(0)gt 0
f(0)gt 01gt ? 0 1?f(x)gt 0 f(0)gt 10gt ? 1 0?
f(1)gt 1 f(1)gt 11gt ? 1 1? f(1)gt 1 f(1)gt
Derivation of formula from previous page
How to calculate state after oracle?
Such derivations should be done for every quantum
algorithm.
½ (00gt - 01gt 10gt - 11gt) ? ½ (0 f(0)gt
- 0 f(0)gt 1 f(1)gt - 1 f(1)gt )
11Important general principle
Here, after oracle we have all information about
the function (Kmap) but we cannot access it as is
Here, is the place to build a circuit that
transforms phase-encoded information to find some
boolean properties, here we use Hadamard again.
We will discuss how can be generalized!
Common to many quantum algorithms
12Deutsch Circuit four possible oracles
x
f(x)
13Quantum Deutsch first explanation
Substitute f
14Conclusion from Deutsch
- Quantum computer can distinguish in a single
function evaluation (measurement) two classes of
Boolean functions that would require two
evaluations (measurements) in a classical
computer. - Quantum computer is fundamentally faster than
classical computer, because the number of
function evaluations is the most basic way of
evaluating algorithm complexity. - Complexity of calculation is not a mathematical
but physical property.
15Quantum Deutsch second explanation
This kind of proof is often faster and more
intuitive but it is better to check using
matrices because you likely can make errors
Z rotation
Here we present case of constant f(x) 1
This circuit is replaced by this
16Quantum Deutsch second explanation
This is obtained after connecting Hadamards and
simplifying
17Generalize these ideas
- So, we can distinguish by measurement between
first two circuits from bottom and second two
circuits from bottom. - This method is very general, we can build various
oracles and check - how they can be distinguished?
- distinguished by how many tests?
- In this case, we just need one test, but in a
more general case we can have a decision tree for
decision making.
f(0) 0
yes
no
f(1) 0
f(1) 0
yes
no
no
yes
Constant
Balanced
18Quantum Deutsch third explanation
This method introduces the concept of phase
kickback or encoding information in phase
Find using only 1 evaluation of a
reversible black-box circuit for
ygt
y ? f(x)gt
19Phase kick-back trick
The phase depends on function f(x)
Remember that for ygt 0gt ? f(x) 1gt ? f(x) ?1
20Check for f(x)0 0gt - 1gt Because 0 ?1 1
For careful proof checkers.
Check for f(x)1 1gt - 0gt Because 1 ?1 0 and
next (-1) (0gt-1gt)
In next slide we will rewrite this formulat for
xgt0 and xgt1, since H creates all possible
values of cells.
21A Deutsch quantum algorithm third explanation
continued
In Hilbert space
We apply one Hadamard to create all cells
(minterms)
After measurement
Remember that phase is lost in measurement
here we reduce the number of H gates...
we have also only one measurement...
22Deutsch Algorithm Philosophy
- Since we can prepare a superposition of all the
inputs, we can learn a global property of f
(i.e. a property that depends on all the values
of f(x)) by only applying f once - The global property is encoded in the phase
information, which we learn via interferometry - Classically, one application of f will only allow
us to probe its value on one input
- We use just one quantum evaluation by, in effect,
computing f(0) and f(1) simultaneously - The Circuit
Many variants of Deutsch algorithm can be
created to provide explanation of various
principles
Not always
23Deutschs Algorithm
0?
1?
measurement
?2?
?3?
?1?
?0?
0? constant 1? balanced
- Create superposition of x states using the first
Hadamard (H) gate. Set y control input using the
second H gate
- Compute f(x) using the special unitary circuit Uf
- Interfere the ?2? states using the third H gate
24Deutschs Algorithm with single qubit measurement
25Deutsch In Perspective
Quantum theory allows us to do in a single query
what classically requires two queries.
What about problems where the computational
complexity is exponentially more efficient?
26Balanced Functions
Balanced functions have each possible value equal
number of times. In binary, half zeros, half
ones In ternary, 1/3 rd zeros, 1/3 ones, 1/3 twos.
2n-11
1 1 1 1
1 1 1 1
1
1 1 1 1
1 1 1 1
0
Global property
Constant one
balanced
27Extended Deutschs Problem
- Given black-box f0,1n?0,1,
- and a guarantee that f is either constant or
balanced (1 on exactly ½ of inputs) - Which is it?
- Minimize number of calls to f.
- Classical algorithm, worst-case
- Order 2n time!
- What if the first 2n-1 cases examined are all 0?
- Function could be either constant or balanced.
- Case number 2n-11 if 0, constant if 1,
balanced. - Quantum algorithm is exponentially faster!
- (Deutsch Jozsa, 1992.)
28Deutsch-Jozsa Problem
(1992)
29Classical Deutsch Jozsa
This slide only presents another way of
visualizing constant and balanced functions. Both
visualization as a waveform (as above) and as
Karnaugh Map (truth Table) have heuristic value
to find analogies with signal processing and
logic design
30Getting good feeling
- Before we prove formally Deutsch-Jozsa, we will
analyze few examples for few variables, just to
get intuitive feeling. - Next we will prove the theorem formally, using
Dirac notation. - You can use Heisenberg notation as well, but it
takes more space.
- As you remember, we encode information in phase.
- We will encode Boolean 0 using phase plus
(complex number 1) - We will encode Boolean 1 using phase minus
(complex number -1). - This is the so-called S encoding of spectral
theory. It is better for many applications than R
encoding that I do not introduce yet.
31Balanced and constant functions as seen by
Hadamard
Ones in Kmap encoded by -1, zeros by 1
This is number of minterms 0 in the function
Constant 0
1 1 1 1
1 -1 1 -1
1 1 -1 -1
1 -1 -1 1
1
1
1
1
4
0
0
0
This is measure of correlation with other rows of
M
Vector V
Matrix M
Vector S
32Observations
- The first row of the Hadamard matrix has all
ones. This means that we calculate the global
value corresponding to the number of ones in the
first spectral parameter. - The other than first rows of Hadamard matrix have
equal number of ones and minus ones, which means
that they check correlations of data vectors to
certain balanced functions.
33Balanced and constant functions as seen by
Hadamard
This is number of minterms 1 in the function
Constant 1
1 1 1 1
1 -1 1 -1
1 1 -1 -1
1 -1 -1 1
-1
-1
-1
-1
- 4
0
0
0
This is measure of correlation with other rows of
M
Vector V
Matrix M
Vector S
34Balanced and constant functions as seen by
Hadamard
This means we have half 1 and half 0s
balanced
This row describes certain balanced function
1 1 1 1
1 -1 1 -1
1 1 -1 -1
1 -1 -1 1
1
-1
1
-1
0
4
0
0
Vector S of spectral coefficients (normalization
coeficient removed)
Vector V of encoded data
Matrix M of Hadamard transform
35What are those balanced functions?
a b
a b
0 1
00
01
10
11
0 0
0 0
0 1
Function 0
1 1 1 1
1 -1 1 -1
1 1 -1 -1
1 -1 -1 1
a b
Function b
0 1
0 1
0 1
0 1
Function a?b
a b
a b
0 1
0 1
0 1
1 0
0 1
0 0
1 1
0 1
Matrix M
Function a
36Conclusion on Hadamard Matrix
- First row represents function (constant) 0
- All other rows represent linear functions.
Linear functions
Negated Linear functions
0 a b a?b
1 ? 0 1 ? a 1 ? b 1 ? a?b
Affine functions
37Quantum DJ
Now we additionally apply Hadamard in output of
the function
Now formal proof
This slide shows that I can read function in
phase encoding.
This just comes from generalization of third
method example
But this is of not much use itself.
38This is like a Kmap with every true minterm (1)
encoded by -1 And every false minterm (0) encoded
by 1
We can say that Hadamard gates before the oracle
create the Kmap of the function, setting the
function in each of its possible minterms (cells)
in parallel
39Motivating calculations for 3 variables
- As we remember, these are transformations of
Hadamard gate
H
0gt
0gt 1gt
H
1gt
0gt - 1gt
In general
H
xgt
0gt (-1) x 1gt
For 3 bits, vector of 3 Hadamards works as
follows
From multiplication
(0gt(-1)a1gt)
(0gt(-1)b1gt)
(0gt(-1)c1gt)
abcgt ?
000gt (-1)c 001gt (-1)b 001gt(-1)bc 001gt000gt
(-1)a 001gt (-1)ac 001gt (-1)ab 001gt
(-1)abc 001gt
We can formalize this as in the next slide
40An n-bit Hadamard transform can be written in the
following form
Here we use normalizing coefficient
We were able to observe these properties in the
2-variable example
- 4
0
0
0
-1
-1
-1
-1
1 1 1 1
1 -1 1 -1
1 1 -1 -1
1 -1 -1 1
Recall our example
Thus we get 0gt in measurement
Matrix M
Vector V
41Full Quantum DJ - conclusion
If the reading is 00..0gt then function is
constant If reading is other than 00..)gt then
the function is balanced
Solves DJ with a SINGLE query vs 2n-11 classical
deterministic!!!!!!!!!
42Deutsch-Josza Algorithm (contd)
- This algorithm distinguishes constant from
balanced functions in one evaluation of f, versus
2n1 1 evaluations for classical deterministic
algorithms - Balanced functions have many interesting and some
useful properties - K. Chakrabarty and J.P. Hayes, Balanced Boolean
functions, IEE Proc Digital Techniques, vol.
145, pp 52 - 62, Jan. 1998.
43Conclusion on Deutsch-Jozsa
- We can test in one measurement if the circuit is
balanced or not, assuming that we know that the
circuit is balanced or constant. - We can test in one measurement if the circuit is
affine or not, assuming that we know that the
circuit is affine (including constants). - We can test with some probability what the
circuit is if we have no any knowledge of the
circuit. - How to design methods to learn about the circuit
if we do not know anything about it?
44Can you build a classical computer which will
distinguish patterns like these in one evaluation?
45The answer is
- No, you cannot on a standard (classical) computer
- You can, using a ternary quantum computer
I leave this exercise to you, or it will be shown
next lecture.
46Local patterns for Affine functions
00 01 11 10
cd
In red we show cells for which measurements
should be done in classical computing to find the
pattern.
ab
1 0 1 0
0 1 0 1
1 0 1 0
0 1 0 1
1 1 0 0
0 0 1 1
1 1 0 0
0 0 1 1
00 0111 10
a ? b ? c ?d ?1
Classically we need 5 tests (arbitrary cell and
its all 4 Hamming distance-1 neighbors. Quantumly
we need just one test.
47Conclusion and questions
- We can test in one measurement if the circuit is
balanced or not, assuming that we know that the
circuit is balanced or constant. - We can test in one measurement if the circuit is
affine or not, assuming that we know that the
circuit is affine (including constants). - We can test with some probability what the
circuit is if we have no any knowledge of the
circuit. - How to design methods to learn about the circuit
if we do not know anything about it.
48Open Research Questions
- What if other transform are used?
- Reed-Muller, Haar, Fourier, Chrestenson?
- How to use these methods for decomposition and
synthesis of Boolean functions? - Can this be extended to multiple-valued
functions? - How to build oracles for other NP problems
- Graph coloring
- Set covering
- SAT
- Hamiltonian path
- ESOP minimization
49Open Research Questions
- How to build Quantum Hough Transform?
- How to build efficient image processing
algorithms? - How to emulate them on standard FPGAs?
- How to emulate General Quantum Computers and
Grover like algorithms using FPGAs? - How to use heuristic knowledge, such as a
chromatic number to improve the speed of Grover
Algorithm?
50Open Research Questions
- How to test quantum circuits?
- How to design quantum circuits to make them even
more highly testable? - How to simulate quantum circuits more
efficiently? - How to invent quantum circuits for problems of
Computational Intelligence? - How to use quantum circuits to control robots?
51The end