양자 순간이동

May 07 2023
물리적인 공간을 거치지 않고 A지점에서 B지점으로 순간이동하는 사람들의 모습을 영화에서 많이 보았지만 영원히 공상과학소설로 남을 것인가? 인류는 그 어느 때보다 과학과 기술을 수용하고 있으며, 수백 년 전에는 허구로 여겨졌던 것들이 구체화되고 있습니다. 과학자들과 미래학자들도 미래에 인류가 불멸이 될 수 있다고 예측합니다.

물리적인 공간을 거치지 않고 A지점에서 B지점으로 순간이동하는 사람들의 모습을 영화에서 많이 보았지만 영원히 공상과학소설로 남을 것인가? 인류는 그 어느 때보다 과학과 기술을 수용하고 있으며, 수백 년 전에는 허구로 여겨졌던 것들이 구체화되고 있습니다. 과학자들과 미래학자들도 미래에 인류가 불멸이 될 수 있다고 예측합니다. 따라서 적어도 앞으로 몇 세기 안에 인간이 A 위치에서 B 위치로 순간이동할 가능성이 있습니다.

과학자들은 양자 입자가 물리적 공간을 통과하지 않고 A에서 B로 순간이동할 수 있음을 발견했습니다. 양자 입자가 텔레포트할 수 있을 때 인간도 텔레포트할 수 있습니다. 우주의 물질 구성 요소는 원자이기 때문입니다. 양자 입자는 원자의 빌딩 블록인 전자/광자/이온일 수 있습니다.

순간이동 묘사

양자 순간이동 이론

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

양자 순간 이동 프로토콜
양자 순간이동을 위한 회로

Alice가 상태 C의 큐비트를 Bob에게 보내려고 한다고 가정해 보겠습니다. 그녀는 두 개의 클래식 비트와 얽힌 큐비트 쌍을 활용합니다. Alice는 큐비트를 전송할 수 있으며 결국 Bob은 상태 C의 큐비트를 갖게 됩니다. 이제 큐비트 C가 순간이동되었다고 말할 수 있습니다. Alice는 더 이상 상태 C의 큐비트를 갖지 않습니다. 양자 순간이동은 알 수 없는 양자 상태를 순간이동하기 위해 3큐비트와 2개의 클래식 비트가 필요합니다. Alice가 큐비트 상태 C의 복사본을 만들 수 없는 이유는 무엇입니까? 복제 금지 정리에 따라 (중첩에서) 큐비트 상태의 복사본을 만들 수 없기 때문에 대답은 아니요입니다. 고전적 상태의 복사본만 만들 수 있습니다. Alice와 Bob은 Telamon이라는 제3자를 사용하여 얽힌 큐비트 쌍을 보내야 합니다. 다음은 양자 순간이동과 관련된 단계입니다.

  1. 얽힌 큐비트 A, B 쌍을 생성하고 A를 Alice에게, B를 Bob에게 보냅니다.
  2. Alice는 C가 제어하는 ​​큐비트(A)에 CNOT 게이트를 적용한 다음 큐비트 C에 Hadamard 게이트를 적용합니다.
  3. Alice는 큐비트의 상태를 측정하고 결과를 클래식 비트에 저장하고 Bob에게 보냅니다.
  4. 얽힌 큐비트 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 링크입니다.