양자 순간이동
물리적인 공간을 거치지 않고 A지점에서 B지점으로 순간이동하는 사람들의 모습을 영화에서 많이 보았지만 영원히 공상과학소설로 남을 것인가? 인류는 그 어느 때보다 과학과 기술을 수용하고 있으며, 수백 년 전에는 허구로 여겨졌던 것들이 구체화되고 있습니다. 과학자들과 미래학자들도 미래에 인류가 불멸이 될 수 있다고 예측합니다. 따라서 적어도 앞으로 몇 세기 안에 인간이 A 위치에서 B 위치로 순간이동할 가능성이 있습니다.
과학자들은 양자 입자가 물리적 공간을 통과하지 않고 A에서 B로 순간이동할 수 있음을 발견했습니다. 양자 입자가 텔레포트할 수 있을 때 인간도 텔레포트할 수 있습니다. 우주의 물질 구성 요소는 원자이기 때문입니다. 양자 입자는 원자의 빌딩 블록인 전자/광자/이온일 수 있습니다.

양자 순간이동 이론
양자 순간이동은 고전적인 비트를 사용하여 큐비트를 보내는 양자 통신 프로토콜입니다. 단일 큐비트를 사용하여 두 개의 클래식 비트를 전송하는 초고밀도 코딩의 플립일 뿐입니다. 양자 순간이동의 장점은 양자 상태를 환경이나 기타 역효과로 인한 열 결맞음에 노출시키지 않고 양자 정보를 임의로 먼 거리로 보낼 수 있는 능력에 있습니다.


Alice가 상태 C의 큐비트를 Bob에게 보내려고 한다고 가정해 보겠습니다. 그녀는 두 개의 클래식 비트와 얽힌 큐비트 쌍을 활용합니다. Alice는 큐비트를 전송할 수 있으며 결국 Bob은 상태 C의 큐비트를 갖게 됩니다. 이제 큐비트 C가 순간이동되었다고 말할 수 있습니다. Alice는 더 이상 상태 C의 큐비트를 갖지 않습니다. 양자 순간이동은 알 수 없는 양자 상태를 순간이동하기 위해 3큐비트와 2개의 클래식 비트가 필요합니다. Alice가 큐비트 상태 C의 복사본을 만들 수 없는 이유는 무엇입니까? 복제 금지 정리에 따라 (중첩에서) 큐비트 상태의 복사본을 만들 수 없기 때문에 대답은 아니요입니다. 고전적 상태의 복사본만 만들 수 있습니다. Alice와 Bob은 Telamon이라는 제3자를 사용하여 얽힌 큐비트 쌍을 보내야 합니다. 다음은 양자 순간이동과 관련된 단계입니다.
- 얽힌 큐비트 A, B 쌍을 생성하고 A를 Alice에게, B를 Bob에게 보냅니다.
- Alice는 C가 제어하는 큐비트(A)에 CNOT 게이트를 적용한 다음 큐비트 C에 Hadamard 게이트를 적용합니다.
- Alice는 큐비트의 상태를 측정하고 결과를 클래식 비트에 저장하고 Bob에게 보냅니다.
- 얽힌 큐비트 B를 가진 Bob은 수신된 비트를 기반으로 양자 게이트를 적용합니다.
01: 게이트 적용
10: Z 게이트 적용
11: 게이트 적용
5. 양자 시뮬레이터를 사용하여 양자 순간이동 테스트
Qiskit을 사용한 양자 순간이동
# Import the required libraries
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
# Create 3 qubits and 3 classical bits
qc = QuantumCircuit(3, 3)
# Assign NOT gate to qubit 0
qc.x(0)
# Create a barrier
qc.barrier()
# Create a bell state by entangling the qubits 1 and 2 by using hadamard gate and CNOT gate
qc.h(1)
qc.cx(1, 2)
# Create a barrier
qc.barrier()
# Create a plot of the circuit
qc.draw(output="mpl")
# Apply CNOT gate to the qubit 0
qc.cx(0, 1)
# Apply hadamard gate to circuit 0
qc.h(0)
# create a barrier
qc.barrier()
# Create a plot
qc.draw(output="mpl")
# Measure the qubits 0, 1
qc.measure([0, 1], [0, 1])
# Create a barrier
qc.barrier()
# Create a plot
qc.draw(output="mpl")
# Apply CNOT gate on qubits 1, 2
qc.cx(1, 2)
# Apply CNOT gate on qubits 0, 2
qc.cz(0, 2)
# Measure the second qubit
qc.measure([2], [2])
# Draw the circuit
qc.draw(output="mpl")
# create a qasm simulator
backend = Aer.get_backend("qasm_simulator")
# Execute the circuit and the get counts
result = execute(qc, backend, shots=1024).result().get_counts(qc)
# plot the histogram
plot_histogram(result)
아래는 단일 큐비트 게이트, 다중 큐비트 게이트 및 순간 이동 및 초고밀도 코딩과 같은 양자 프로토콜을 포함하는 양자 컴퓨팅 예제에 대한 내 Github 링크입니다.