310 likes | 367 Views
Solving mutual exclusion by using entangled Qbits Mohammad Rastegari proff: Dr.Rahmani. Outline. Introduction to Quantum computer Qbit Multiple Qbit Quantum gate Quantum circuit Entanglement Solving mutual exclusion by entangled system. Introduction to Quantum Computer. Qbit.
E N D
Solving mutual exclusion by using entangled QbitsMohammad Rastegariproff: Dr.Rahmani
Outline • Introduction to Quantum computer • Qbit • Multiple Qbit • Quantum gate • Quantum circuit • Entanglement • Solving mutual exclusion by entangled system
Qbit • Some phenomena in quantum physic • Tow state quantum system • Hydrogen atom • Polarization of photon • Electron’s spin
Qbit(cont.) • Qbit as black box • We should measure it • After measurement it is constant • Is it probabilistic bit? • It means that can we represent it by • Is it a fuzzy bit?
Qbit(cont.) • Explain with classical probability
Qbit(cont.) • Now we replace P with • Classical probability can obtain by
Qbit(cont.) • We just showed that classical probability is not enough for describing this phenomena • Now we just want to say that we can describe this phenomena by
Qbit(cont.) • Geometrically visualization : For real number For complex number (Bloch sphere)
Qbit(cont.) • The exact way to show how we arrived to this form for representing a qbit comes from Schrödinger equation for describing wave-particle property
Dirac notation Bra Ket
Multiple qbit • We represent the state that two qbit get together by: • Hilbert space : a space that define on complex vector and closed by inner product, for example : U={|0>,|1>} or V={|00>,|01>,|10>,|11>}
Multiple qbit • Tensor product of two spaces: tensor product of tow hilbert space U and V indicate by UV, is a vector space include all of pair vector and the base vectors of this space are set of all pair of base vectors in U and V. we can show the tensor produt of |a> and |b> by Inner product: Outer product:
Operator • Matrix oprator: as we told we can represent a state by a vector, if given n-by-n matrix X product with vector the result will be another vector . .
Operator • If this operator maintain in a normal state, it mean , we call it unitary operator. • An operator M is unitary iff . • If and U be an unitary operator then
Quantum gate • Single operand (qbit) gates: • Quantum NOT gate X : • Quantum Z gate:
Quantum gate • Hadamard gate H : usually we use of this gate to make a super position state when we are in a base state or up-side-down .
Quantum gate • Multiple operand (qbit) quantum gate: • As we had in classical gate like AND, OR, NAND,NOR,… that operate on tow or more bit, there are quantum gate that operate on tow or more qbit.
Quantum gate • Controlled-NOT gate CNOT : • Toffoli gate:
Quantum gate • Reversibility : in classical gate like AND we could not with given output determine what was exact input but in quantum gate we always can. Because U is a unitary matrix U is reversible and we have:
Quantum Circuit • We can with combining several quantum gate design a quantum circuit for example we design circuit of swapping : • Some different with classical circuit: • Feedback is illegal (quantum circuit is acyclic) • FANIN is illegal because it’s equivalent with bitwise-OR which is irreversible. • FANOUT is illegal(no-clloning) we can not get a copy from a qbit in superposition it means that should be a gate U that .
Quantum circuit • No-cloning is not stand for basic states. • A gate for measurement
Quantum circuit • Power of quantum computation vs. classical computation: As we know in Boolean algebra NAND or NOR operator is universal operator, if we can construct these gate we can show that quantum computer has at least power of classical computer, Quantum NAND gate:
Quantum Entanglement • Entanglement (Bell state)(EPR pair)
Mutual exclusion in distributed system • As we know in there was three algorithm for mutual exclusion: • Centralized • Distributed • Token ring
Mutual exclusion in distributed system • If we assign a qbit for each node that these qbits be entangled in this form: • We can check if we can enter to critical section or not, by measuring qbit in each node.
Mutual exclusion in distributed system In our protocol, if after measurement we get 1 we are legal to enter to critical section but if we get 0 we should determine that if really we are illegal to enter to the critical section or not, it means that , may any node is not be in critical section but we measure 0.
Mutual exclusion in distributed system • For solving this problem we can after measure 0 request the state of whole of system it means that can determine that which node’s qbit is 1 now , and then we can send a message to that system and ask it , is it in critial section or not? • We exactly describe it by pseudo code
1-Enter(node(k)){ • 2- Chq=Measurement node(k).qbit; • 3- If (chq= =0){ • 4- I=request state of system; • 5- Ans=message(node(k),node(i)) • 6- If (ans = = false){ • 7- Broad state k; • 8- Delete node(i).queue; • 9- node(k).critical=true; • 10- }else wait; • 11- }else node(k).critical=true; • 12-} • Critical section(); • 1-Exit(node(k)){ • 2- if (node(k).queue[front]<> empty){ • node(k).critical=false; • node(node(k).queue[front]).up; • } • else{ • Broad new entangled qbits; • 3- Node(k).critical=false; • } • 4-} Bool Message(node(src),node(trg)){ If (node(trg).queue<> empty ) return true; Node(trg).queue[rear]=src; If (node(trg).critical= = true) return true; Else return false; }
With this algorithm we can not maintain priority of request for critical section. For solving this problem maintain the queue and transfer it in nodes which wants to enter to critical section. • Enter(node(k)){ • Chq=Measurement node(k).qbit(k); • If (chq= =0){ • I=position of that bit in register which is 1; • Ans=message(node(k),node(i)) • If (ans = = false){ • Node(i).registervalue=k; • Transfer {node(i).queue-k} to node(k).queue; • node(k).critical=true; • }else node(k).down; • }else node(k).critical=true; • } Bool Message(node(src),node(trg)){ trg= node(trg).registervalue Node(trg).queue[rear]=src; if (node(trg).critical < > false)||(node(trg).queue[front] < > src) return true; Else return false; }
comparison Entangled qbit 1 to 2 1 to 2 sensitive with environment