Download Dense Coding - School of Computing Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Bohr–Einstein debates wikipedia , lookup

Scalar field theory wikipedia , lookup

Basil Hiley wikipedia , lookup

Bell test experiments wikipedia , lookup

Particle in a box wikipedia , lookup

Delayed choice quantum eraser wikipedia , lookup

Measurement in quantum mechanics wikipedia , lookup

Quantum decoherence wikipedia , lookup

Density matrix wikipedia , lookup

Path integral formulation wikipedia , lookup

Quantum electrodynamics wikipedia , lookup

Probability amplitude wikipedia , lookup

Quantum field theory wikipedia , lookup

Copenhagen interpretation wikipedia , lookup

Max Born wikipedia , lookup

Coherent states wikipedia , lookup

Hydrogen atom wikipedia , lookup

Quantum dot wikipedia , lookup

Many-worlds interpretation wikipedia , lookup

Quantum fiction wikipedia , lookup

Symmetry in quantum mechanics wikipedia , lookup

Orchestrated objective reduction wikipedia , lookup

Interpretations of quantum mechanics wikipedia , lookup

Bell's theorem wikipedia , lookup

History of quantum field theory wikipedia , lookup

Quantum entanglement wikipedia , lookup

Quantum computing wikipedia , lookup

Quantum group wikipedia , lookup

Canonical quantization wikipedia , lookup

Quantum machine learning wikipedia , lookup

T-symmetry wikipedia , lookup

Quantum state wikipedia , lookup

Quantum cognition wikipedia , lookup

Hidden variable theory wikipedia , lookup

EPR paradox wikipedia , lookup

Quantum key distribution wikipedia , lookup

Quantum teleportation wikipedia , lookup

Transcript
Communicating Quantum Processes
Simon Gay
Department of Computing Science
University of Glasgow, UK
Rajagopal Nagarajan
Department of Computer Science
University of Warwick, UK
Overview
Quantum computing is of great interest because it has the
potential to solve some hard problems efficiently.
Only a few algorithms are known and at present there are no techniques
for generic improvement of algorithmic performance.
Physical implementations of quantum computers of useful size are a
long way in the future.
Recent interest in quantum programming languages, including
semantic studies, is very significant.
Communicating Quantum Processes / POPL 2005
2
Overview
Our work addresses quantum protocols rather than algorithms.
A range of protocols has been developed: cryptographic key distribution,
communication protocols exploiting entanglement, ...
Quantum cryptographic techniques are provably secure even in the
presence of quantum computers.
Quantum cryptography is much easier to implement than
quantum computing. City-scale demonstrations have taken
place, and components are commercially available.
Quantum cryptography (and other quantum communication systems)
will become an important practical technology in the near future.
Communicating Quantum Processes / POPL 2005
3
Overview
Although quantum cryptographic protocols have been proved
mathematically to be secure, we believe that there is a need
for verification of systems which combine quantum and
classical computation and communication.
Computer science has a range of theories, techniques and
tools which have been successfully used to verify classical
communication and cryptographic systems.
Formal modelling languages, specification logics, type theory,
model-checking tools, automated theorem-proving, ...
Our research programme: to apply these techniques to
combined quantum/classical systems.
Communicating Quantum Processes / POPL 2005
4
Overview
We have defined a formal language, CQP, for modelling
systems which combine quantum and classical computation
and communication.
CQP is based on a combination of the pi calculus and
Selinger’s language QPL. Details of the semantics have
also been influenced by Jorrand & Lalire’s QPAlg.
CQP has a static type system which controls the use of
quantum state, corresponding to the no cloning theorem.
The type system and the operational semantics are related
by a Type Preservation theorem of the usual kind.
Communicating Quantum Processes / POPL 2005
5
Recall Concepts of Quantum Computation
Qubits: basis states |0 and |1 , superpositions |0 + |1
Measurement: measuring |0 + |1 has the result
0 with probability  (and final state |0).
2
1 with probability  (and final state |1).
2
Systems of multiple qubits:
for example a two-qubit system has basis states
|0|0 |0|1 |1|0 |1|1
Communicating Quantum Processes / POPL 2005
6
Recall Concepts of Quantum Computation
Unitary transformation: for example CNot and H defined by
1
CNot |0|x = |0|x
(0  1)
H |0 =
2
1
CNot |1|x = |1|1-x
(0  1)
H |1 =
2
Entanglement: a multi-qubit state which is not a tensor product
1
(0 0  1 1)
for example
2
measuring the first qubit yields either |0|0 or |1|1
and in either case both qubits now have the same value
Entanglement is used by several protocols as a resource
for information transmission.
Communicating Quantum Processes / POPL 2005
7
Dense Coding
A protocol allowing 2 classical bits of information to be
transmitted by sending 1 qubit and making use of entanglement.
Alice and Bob share an entangled pair of qubits: x, y.
Alice wishes to send n (0  n  3) to Bob. There is a quantum
channel q linking them.
Alice
x
1
x, y 
(0 0  1 1)
2
Bob
y
(0  n  3)
can transmit qubits
q
Communicating Quantum Processes / POPL 2005
8
Dense Coding
A protocol allowing 2 classical bits of information to be
transmitted by sending 1 qubit and making use of entanglement.
Alice and Bob share an entangled pair of qubits: x, y.
Alice wishes to send n (0  n  3) to Bob. There is a quantum
channel q linking them.
Alice(x:Qbit, q:^[Qbit], n:0..3) = ...
Bob(y:Qbit, q:^[Qbit]) = ...
System(x:Qbit, y:Qbit, n:0..3) =
(new q:^[Qbit])( Alice(x,q,n) | Bob(y,q) )
Communicating Quantum Processes / POPL 2005
9
Dense Coding
Alice uses n to select one of the 4 Pauli transformations,
applies it to x, and sends x to Bob.
Alice
x
1
x, y 
(0 0  1 1)
2
Bob
y
n
x
send x to Bob
Alice(x:Qbit, q:^[Qbit], n:0..3) =
{x *= n} . q![x] . Stop
Communicating Quantum Processes / POPL 2005
10
Dense Coding
Alice uses n to select one of the 4 Pauli transformations,
applies it to x, and sends x to Bob.
Alice
x
n
1
x, y 
(0 0  1 1)
2
eg. n=1
x
x, y 
Bob
y
1
(1 0  0 1)
2
send x to Bob
Alice(x:Qbit, q:^[Qbit], n:0..3) =
{x *= n} . q![x] . Stop
Communicating Quantum Processes / POPL 2005
11
Dense Coding
Bob receives x, applies CNot to x,y, applies H to x,
then measures x,y. The result uniquely determines n.
Alice
x
1
x, y 
(0 0  1 1)
2
Bob
y
n
x
send x to Bob
x, y
CNot
x, y
H
n
measure x,y
Communicating Quantum Processes / POPL 2005
x, y
12
Dense Coding
Bob receives x, applies CNot to x,y, applies H to x,
then measures x,y. The result uniquely determines n.
Alice
x
n
1
x, y 
(0 0  1 1)
2
Bob
y
eg. n=1
x
send x to Bob
x, y 
1
(1 0  0 1)
2
CNot
x, y
H
n
measure x,y
Communicating Quantum Processes / POPL 2005
x, y
13
Dense Coding
Bob receives x, applies CNot to x,y, applies H to x,
then measures x,y. The result uniquely determines n.
Alice
x
n
1
x, y 
(0 0  1 1)
2
Bob
y
eg. n=1
x
send x to Bob
x, y 
1
(1 0  0 1)
2
CNot
H
n
measure x,y
1
x, y 
(1 1  0 1)
2
x, y
Communicating Quantum Processes / POPL 2005
14
Dense Coding
Bob receives x, applies CNot to x,y, applies H to x,
then measures x,y. The result uniquely determines n.
Alice
x
n
1
x, y 
(0 0  1 1)
2
Bob
y
eg. n=1
x
send x to Bob
x, y 
1
(1 0  0 1)
2
CNot
H
n
measure x,y
1
x, y 
(1 1  0 1)
2
x, y  0 1
Communicating Quantum Processes / POPL 2005
15
Dense Coding
Bob receives x, applies CNot to x,y, applies H to x,
then measures x,y. The result uniquely determines n.
Alice
x
n
1
x, y 
(0 0  1 1)
2
Bob
y
eg. n=1
x
send x to Bob
x, y 
1
(1 0  0 1)
2
CNot
H
1
measure x,y
1
x, y 
(1 1  0 1)
2
x, y  0 1
Communicating Quantum Processes / POPL 2005
16
Dense Coding
Bob receives x, applies CNot to x,y, applies H to x,
then measures x,y. The result uniquely determines n.
Bob(y:Qbit, q:^[Qbit]) =
q?[z:Qbit] . {z,y *= CNot} . {z *= H} . Use(measure x,y)
Communicating Quantum Processes / POPL 2005
17
Dense Coding
Alice(x:Qbit, q:^[Qbit], n:0..3) =
{x *= n} . q![x] . Stop
Bob(y:Qbit, q:^[Qbit]) =
q?[z:Qbit] . {z,y *= CNot} . {z *= H} . Use(measure x,y)
System(x:Qbit, y:Qbit, n:0..3) =
(new q:^[Qbit])( Alice(x,q,n) | Bob(y,q) )
System is parameterized by x and y (and we must assume that
they are entangled).
Communicating Quantum Processes / POPL 2005
18
Dense Coding with Entanglement Server
We can make the system more self-contained: Alice and Bob
receive their entangled qubits from a third process.
(EPR source or entanglement server)
q
A
B
Alice’(s:^[Qbit], q:^[Qbit], n:0..3) =
s?[x:Qbit] . Alice(x,q,n)
s
t
Bob’(t:^[Qbit], q:^[Qbit]) =
t?[y:Qbit] . Bob(y,q)
S
Source(s:^[Qbit], t:^[Qbit]) =
(qbit x,y)({x *= H} . {x,y *= CNot} . s![x] . t![y] . Stop)
System(n:0..3) =
(new q, s, t:^[Qbit])( Alice’(s,q,n) | Bob’(t,q) | Source(s,t) )
Communicating Quantum Processes / POPL 2005
19
The Language CQP
This example has introduced our language CQP.
Defining a formal language for describing protocols is a
valuable step.
We have also defined a formal operational semantics.
It is based on the pi calculus, with the addition of global state
(for the qubits) and probabilistic reductions (arising from
measurements).
CQP has a static type system which, in addition to checking
correct use of values and channels, guarantees that qubits are
not syntactically copied.
Communicating Quantum Processes / POPL 2005
20
Reduction in CQP
Communication
1
x, y 
( 0 0  1 1 ) ; q ; (q! [ x].Stop | q ?[ z : Qbit ].Use( z))
2
1
x, y 
( 0 0  1 1 ) ; q ; (Stop | Use( x ))
2
Communicating Quantum Processes / POPL 2005
21
Reduction in CQP
Measurement
1
x, y 
( 0 0  1 1 ) ; q ; Use(measure x, y )
2
1
 ( x, y  0 0 ; q ; Use(0)) 
2
1
2
1
 ( x, y  1 1 ; q ; Use(3))
2
1
2
x, y  0 0 ; q ; Use(0)
x, y  1 1 ; q ; Use(3)
Communicating Quantum Processes / POPL 2005
22
The No Cloning Theorem
There is no unitary transformation U such that for all 
U(  s )   
( s is some standard initial state for the second qubit).
This means that there is no procedure for duplicating an
arbitrary quantum state.
Suppose that Alice continues with some behaviour, after
sending the qubit to Bob.
Alice(x:Qbit, q:^[Qbit], n:0..3) = {x *= n} . q![x] . Continue
If Continue refers to x, then the natural interpretation would be
that x has been copied. We cannot allow this.
Communicating Quantum Processes / POPL 2005
23
Typechecking for No Cloning
Alice(x:Qbit, q:^[Qbit], n:0..3) = {x *= n} . q![x] . Continue
The static type system of CQP guarantees that Continue
does not refer to x.
Technically: the fact that x is sent along q means that Continue
is typechecked in an environment which does not contain x.
The details are based on several pi calculus type systems,
going back to Kobayashi, Pierce & Turner (1996). Similar
ideas have recently been used to guarantee unique
ownership of packets in a network system
(Ennals, Sharp & Mycroft, 2004).
Communicating Quantum Processes / POPL 2005
24
Future Work
The purpose of defining CQP is to support formal reasoning
about quantum systems. There are several directions to explore.
Model checking: we are now using the probabilistic
model checking tool PRISM to analyze quantum systems.
In the future we will translate CQP models automatically into
PRISM, exploiting static analysis at the CQP level.
Logics for specification: need to be developed for both
automatic and non-automatic verification.
Type-theoretic methods: can we get more from a type system?
For example: can we develop type systems for high-level
properties such as secrecy?
Communicating Quantum Processes / POPL 2005
25