 # Review of basic quantum and Deutsch-Jozsa. Can we generalize Deutsch-Jozsa algorithm? Marek Perkowski, Department of Electrical Engineering, Portland State.

## Presentation on theme: "Review of basic quantum and Deutsch-Jozsa. Can we generalize Deutsch-Jozsa algorithm? Marek Perkowski, Department of Electrical Engineering, Portland State."— Presentation transcript:

Review of basic quantum and Deutsch-Jozsa. Can we generalize Deutsch-Jozsa algorithm? Marek Perkowski, Department of Electrical Engineering, Portland State University, 2005

Basic quantum circuits 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. These topics were illustrated on the blackboard:

Deutsch’s Problem … everything started with small circuit of Deutsch…...

Deutsch’s Problem David Deutsch Delphi Deutsch’s Problem Determine whether f(x) is constant or balanced using as few queries to the oracle as possible. (1985) (Deutsch ’85)

Classical Deutsch Classically we need to query the oracle two times to solve Deutsch’s Problem  f f f(0)  f(1) 1 for balanced, 0 for constants 0 1

How would we use a Classical Oracle?  f f f(0)  f(1) 1 for balanced, 0 for constants 0 1 10 0101 1010 Patterns of constants Patterns of balanced functions of single variable Classical circuit Classification means recognizing patterns and separating them to categories.

Hadamard Transform Single qubit H H H Parallel connection of two Hadamard gates is calculated by Kronecker Product (tensor product)  1 1 1 1 1 1 1 1 1 1 1 1/2 = = Here I calculated Kronecker product of two Hadamards

Use of Hadamard gate In Deutsch Circuit to create “Karnaugh Map” measure 1010 0101  01000100 = 1 1 1 1 1 1 1 1 1 1 1/2 01000100 = 1 -1 How to calculate the state after Hadamard 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

Remarks 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.

Deutsch Circuit measure |xy>  |x y  f(x)> |00>  |0 0  f(0)> = |0 f(0)> |01>  |0 1  f(x)> = |0 f(0)> |10>  |1 0  f(1)> = |1 f(1)> |11>  |1 1  f(1)> = |1 f(1)> ½ (|00> - |01> + |10> - |11>)  ½ (|0 f(0)> - |0 f(0)> + |1 f(1)> - |1 f(1)> ) How to calculate state after oracle? Derivation of formula from previous page Such derivations should be done for every quantum algorithm.

Important general principle measure Here, after oracle we have all information about the function (Kmap) but we cannot access it as is Common to many quantum algorithms 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!

Deutsch Circuit: four possible oracles measure x f(x)

Quantum Deutsch: first explanation 1. 2. 3. 100 % |01> 100 % |11> Substitute f

Conclusion 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.

Quantum 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 This circuit is replaced by this Here we present case of constant f(x) = 1 Z rotation

Quantum Deutsch: second explanation This is obtained after connecting Hadamards and simplifying

Generalize 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 f(1) = 0 yesno yes no yes no ConstantBalanced

Find using only 1 evaluation of a reversible “black-box” circuit for Quantum Deutsch: third explanation |y> |y  f(x)> This method introduces the concept of phase kickback or encoding information in phase

Phase “kick-back” trick The phase depends on function f(x) Remember that for |y>: |0>  f(x) |1>  f(x)  1

Check for f(x)=0: |0> - |1> Because 0  1 = 1 Check for f(x)=1: |1> - |0> Because 1  1 = 0 and next (- 1) (|0>-|1>) For careful proof checkers. In next slide we will rewrite this formulat for |x>=0 and |x>=1, since H creates all possible values of cells.

A Deutsch quantum algorithm: third explanation continued …here we reduce the number of H gates... We apply one Hadamard to create all cells (minterms) In Hilbert space After measurement …we have also only one measurement... Remember that phase is lost in measurement

Deutsch 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 interferometry 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: M H H H y  f(x) y x x UfUf Not always Many variants of Deutsch algorithm can be created to provide explanation of various principles

Deutsch’s Algorithm M H H H y  f(x) y x x UfUf Initialize with |  0  = |01  |0|0 |1|1 |0|0 Create superposition of x states using the first Hadamard (H) gate. Set y control input using the second H gate |1|1 Compute f(x) using the special unitary circuit U f |2|2 Interfere the |  2  states using the third H gate |3|3 Measure the x qubit |0  = constant; |1  = balanced measurement

M y  f(x) y x x UfUf |0|0 |1|1 |0|0 |1|1 |2|2 |3|3 HHH if f(0) = f(1) if f(0) ≠ f(1) if f(0) = f(1) if f(0) ≠ f(1) Deutsch’s Algorithm with single qubit measurement

Deutsch 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?

Balanced Functions 1111 1111 1 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. 2 n-1 +1 1111 1111 0 Constant one balanced Global property

Extended Deutsch’s Problem Given black-box f:{0,1} n  {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 2 n time! What if the first 2 n-1 cases examined are all 0? –Function could be either constant or balanced. Case number 2 n-1 +1: if 0, constant; if 1, balanced. Quantum algorithm is exponentially faster! –(Deutsch & Jozsa, 1992.)

Deutsch-Jozsa Problem Determine whether f(x) is constant or balanced using as few queries to the oracle as possible. (1992)

Classical Deutsch Jozsa x 1 0 1 0 x 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

Getting 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. 1.As you remember, we encode information in phase. 2.We will encode Boolean “0” using phase plus (complex number 1) 3.We will encode Boolean “1” using phase minus (complex number -1). 4.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.

Balanced and constant functions as seen by Hadamard 1111 11 11 1 1 1 1 1 1 = 4 0 0 0 Matrix M Vector V Vector S This is number of minterms “0” in the function This is measure of correlation with other rows of M Constant 0 Ones in Kmap encoded by “-1”, zeros by “1”

Observations 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.

Balanced and constant functions as seen by Hadamard 1111 11 11 1 1 = - 4 0 0 0 Matrix M Vector V Vector S This is number of minterms “1” in the function This is measure of correlation with other rows of M Constant 1

Balanced and constant functions as seen by Hadamard 1111 11 11 1 1 1 1 = 0 4 0 0 Matrix M of Hadamard transform Vector V of encoded data Vector S of spectral coefficients (normalization coeficient removed) balanced This means we have half “1” and half “0s” This row describes certain balanced function

What are those balanced functions? 1111 11 11 1 1 Matrix M 00011011 a b 00 00 0101 0 1 01 01 a b 0101 0 1 00 11 a b 0101 0 1 01 10 a b 0101 0 1 Function 0 Function b Function a  b Function a

Conclusion on Hadamard Matrix First row represents function (constant) 0 All other rows represent linear functions. Linear functions 0abab0abab 1  0 1  a 1  b 1  a  b Negated Linear functions Affine functions

Quantum DJ Now we additionally apply Hadamard in output of the function This just comes from generalization of third method example This slide shows that I can read function in phase encoding. But this is of not much use itself. Now formal proof

This 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

Motivating calculations for 3 variables As we remember, these are transformations of Hadamard gate: H |0>|0> + |1> H |1>|0> - |1> H |x>|0> + (-1) x |1> In general: For 3 bits, vector of 3 Hadamards works as follows: (|0>+(-1) a |1>)(|0>+(-1) b |1>)(|0>+(-1) c |1>) = From multiplication |000> +(-1) c |001> +(-1) b |001>+(-1) b+c |001>000> +(-1) a |001> + (-1) a+c |001> + (-1) a+b |001> (-1) a+b+c |001> |abc>  We can formalize this as in the next slide:

Here we use normalizing coefficient An n-bit Hadamard transform can be written in the following form: We were able to observe these properties in the 2- variable example 1111 11 11 1 1 = - 4 0 0 0 Matrix M Vector V *= Thus we get |0> in measurement Recall our example

Full Quantum DJ - conclusion Solves DJ with a SINGLE query vs 2 n-1 +1 classical deterministic!!!!!!!!! If the reading is |00..0> then function is constant If reading is other than |00..)> then the function is balanced

Deutsch-Josza Algorithm (contd) in one evaluationThis algorithm distinguishes constant from balanced functions in one evaluation of f, versus 2 n–1 + 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.

Conclusion 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?

Can you build a classical computer which will distinguish patterns like these in one evaluation?

The 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.

Local patterns for Affine functions 1010 0101 1010 0101 1100 0011 1100 0011 00 01 11 10 ab cd 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. In red we show cells for which measurements should be done in classical computing to find the pattern.

Conclusion 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.

Open 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

Open 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?

Open 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?

The end

Download ppt "Review of basic quantum and Deutsch-Jozsa. Can we generalize Deutsch-Jozsa algorithm? Marek Perkowski, Department of Electrical Engineering, Portland State."

Similar presentations