

Quantum Computing
Understanding the Deutsch-Jozsa algorithm

About Presenter James Weaver
Java Champion, JavaOne Rockstar, plays well with others, etc :-)


Author of several Java/JavaFX/RaspPi books

Developer Advocate & International Speaker for Pivotal
Mission: "Transform how the world builds software"







Mission: "Transform how the world builds software"



You are cordially invited to ...
Why use a quantum computer?
Feasible on classical computers
Feasible on quantum computers
Solutions to problems
some problems may be solved exponentially faster
Deutsch's algorithm (1985)
Literally the Hello World of quantum algorithms

Deutsch's algorithm
Determine if function is constant or balanced
Input a | Constant f(a) | Constant f(a) | Balanced f(a) | Balanced f(a) |
---|---|---|---|---|
0 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |

Deutsch's algorithm
How many queries of the oracle to solve?
Classical:
This oracle requires 2 queries classically
Quantum:
We create a superposition of inputs to the oracle for constructive/destructive interference.
Querying the oracle classically

example: f (0) = 0 and f (1) = 1 balanced
Quantum parallelism
what is it, really?

Double-slit experiment
constructive and destructive interference

Text
Choreographing interference
to increase the chance of getting the right answer
Text

Excerpts from “THE TALK” by Scott Aaronson and Zach Weinersmith

Querying the oracle quantumly
example: f (0) = 0 and f (1) = 1 balanced

Lecture 3: One Qubit, Two Qubit by Dave Bacon, University of Washington (Deutsch slightly modified)

Deutsch (slightly modified)
Why constant vs. balance require only one query
Inp | Con |
---|---|
0 | 0 |
1 | 0 |
Inp | Con |
---|---|
0 | 1 |
1 | 1 |
Inp | Bal |
---|---|
0 | 0 |
1 | 1 |
Inp | Bal |
---|---|
0 | 1 |
1 | 0 |




Deutsch's algorithm
with oracle having constant function
Leverages phase-kickback from the bottom wire to choreograph constructive and destructive interference
Expected result is 100% probability of measuring


Deutsch's algorithm
with oracle having balanced function
Expected result is 0% probability of measuring

Leverages phase-kickback from the bottom wire to choreograph constructive and destructive interference

Deutsch-Jozsa algorithm
generalizes Deutsch's algorithm to n qubits

Deutsch-Jozsa algorithm, 1992
Determine if function is constant or balanced
Input | Constant | Constant | Balanced | Balanced |
---|---|---|---|---|
000 | 0 | 1 | 0 | 1 |
001 | 0 | 1 | 1 | 0 |
010 | 0 | 1 | 0 | 1 |
011 | 0 | 1 | 1 | 0 |
100 | 0 | 1 | 0 | 1 |
101 | 0 | 1 | 1 | 0 |
110 | 0 | 1 | 0 | 1 |
111 | 0 | 1 | 1 | 0 |
Results when querying our example oracle
Deutsch-Jozsa algorithm
How many invocations of the oracle to solve?
Classical:
Our oracle (black box) requires 5 invocations classically
Quantum:
We create a superposition of inputs to the oracle, and use the phase-kickback trick, for constructive/destructive interference. See:
see also: Wikipedia Deutsch-Jozsa Decoherence section
(Exponentially faster!)
Deutsch-Jozsa algorithm
with oracle having constant function

Deutsch-Jozsa algorithm
example oracle with constant function

Deutsch-Jozsa algorithm
with oracle having balanced function

Deutsch-Jozsa algorithm
example oracle with balanced function

Deutsch-Jozsa implemented in Quil


Deutsch-Jozsa implemented in Quil


Deutsch-Jozsa in web-based circuit simulator



from quantum computing community member @rasasankar
by Ravisankar from Thrissur, India
Computer Science student
TKM College of Engineering


Quantum Computing
Understanding the Deutsch-Jozsa algorithm

Quantum Computing Exposed: Understanding Deutsch-Jozsa
By javafxpert
Quantum Computing Exposed: Understanding Deutsch-Jozsa
Understanding the quantum computing Deutsch-Jozsa algorithm.
- 3,321