Computing

양자컴퓨팅 - 3 : Quantum Circuit & No Cloning Theorem 본문

가속기 Accelerator/Quantum Computing

양자컴퓨팅 - 3 : Quantum Circuit & No Cloning Theorem

jhson989 2022. 4. 25. 01:52

2022.04.06 - [가속기 Accelerator/Quantum Computing] - 양자컴퓨팅 - 2 : Two Qubits Gate & Tensor Product

이 자료는 김태현 교수님의 양자 컴퓨팅 및 정보의 기초 강의를 바탕으로 정리하였습니다.

 

Quantum circuit 예제

Fig 1. Quantum circuit 예제 [1]

Fig 1.은 quantum circuit의 예제를 보여준다. Quantum circuit은 마치 악보와 같이 가로선이 있고, 그 선에 operation을 그리는(적용하는) 방식으로 작성된다. q0, q1, q2는 각각 qubit를 나타내며(Fig 1.은 3 qubits 회로), c는 digital 신호를 나타낸다. 박스 H, X와 같은 operation은 해당 qubit에 적용되는 operation을 의미하며, operation은 qubit의 상태를 바꾼다. 왼쪽에서 오른쪽 방향으로 operation들이 적용되는데, 악보처럼 왼쪽에서 오른쪽으로 시간이 흐른다고 생각하면 좋다. 각 qubit은 같은 시간 속도로 흐르는데, q0에 H가 적용될때, q1에는 X가, q2에는 H가 적용된다.

q0, q1, q3 모두 속도계와 같은 operation이 있으며, 이 operation은 각 qubit을 c와 연결시킨다. 이 속도계와 같은 operation은 measurement symbol로, 이 시간에 qubit의 상태를 측정한다. 측정 즉시 qubit의 상태는 0 또는 1로 collapse되며, 그것을 c(digital 신호선)에 보냄으로서, 우리가 가진 일반 컴퓨터에 정보를 전달한다. qubit이 3개이므로 c는 3 bit-width wire이다.


Digital circuits과의 차이점

가장 큰 다른 점은 quantum circuit은 digital circuit처럼 실제 물리적으로 구현되는 것이 아니라, qubit에 어떠한 operation을 언제 적용할지를 표현한다는 것이다. Digital circuit에서 and gate, or gate 등등을 그려 놓으면 실제로 그 gate를 가진 회로가 만들어진다. Quantum circuit은 회로에 따라 각각의 qubit에 t0시간에는 H operation을, t1시간에는 X operation을, .., 적용하여 각각의 qubit의 상태를 바꿔간다.

즉 qubit은 회로에 따라 그 상태만 변할 뿐 qubit의 개수가 증가하거나 감소하지 않는다. 그에 따라 FAN-IN, FAN-OUT 이 허용되지 않는다. 즉 qubit은 제거되거나 생성되지 않는다. Digital circuits에서 and 게이트가 있다면 2개의 input이 1개의 output이 되면서 최종적으로 bit의 개수는 2->1개로 줄어든다. Quantum circuit에서는 이런 것이 허용되지 않으며, qubits의 개수는 항상 처음 qubit 개수와 같다(Fig 1.에서 가로선은 사라지지 않는다.). Fig 2.에서 Fan-in을 보면 여러 개의 bits가 하나의 bit가 되는 것을 볼 수 있는데, quantum circuit에서 Fan-in을 허용하면 qubits의 개수가 줄어든다. 마찬가지로 Fan-out은 한 bit가 여러 bits로 분리되는데, quantum circuit에서 Fan-out을 허용하면 qubits의 개수가 늘어난다.

Fig 2. Fan-in, Fan-out 예시 [2]


다음으로 quantum circuit은 시간에 따른 operation의 적용 순서를 그린 것이라는 말처럼, feedback loop를 만들 수 없다. Digital circuit에서 sequential logic(Flip-flop 등)은 loop를 통해 만들어지는데(Fig 3.) 이전 시간의 결과가 feedback loop를 통해 다음 시간의 결과에 영향을 미친다. Quantum circuit은 왼쪽에서 오른쪽으로 시간이 흐르며 어떤 operation을 적용받을 지를 작성하는 것이기에 시간을 거꾸러 흐르게 하는 feedback loop는 허용되지 않는다.

Fig 3. Feedback loop 예 [3]

그렇다고 sequential logic을 못만든다는 것은 아니고, loop unrolling처럼 loop를 풀어서 순차적으로 operation을 작성해주면 된다. 예를 들어 loop를 100번 돌린다면 100번 operation을 직접 하나하나 풀어서 작성해주면 된다. quantum circuit에서 operation은 물리적으로 구현되는 것이 아니라, qubit의 상태를 변화시키는 가상의 개념일 뿐이기에 크게 overhead가 발생하지 않는다.


No cloning theorem

그렇다면 qubit은 복사가 가능할까? Digital circuit의 bit는 복사가 가능하지만 quantum circuit의 qubit는 복사가 불가능하다. 그것을 정리한 이론이 no cloning theorem이다. No cloning theorem에 따라 qubit은 복사가 불가능하며, 따라서 양자 암호와 같은 분야에서 매우 강력한 보안 도구가 될 수 있다.

Fig 4. Cloning opearation 예시 [4]

No cloning theorem의 증명은 다음과 같다.
Fig 4.와 같이 2개의 qubits |𝜓⟩, 가 있는 상황에서, 어떤 unitary operation에 의해 |𝜓⟩가 복사가 될 수 있다고 가정하자. 즉 Eq 1. 과 같이 작성할 수 있다.

Eq 1.

Qubit이 복사가 된다는 것은 = α|0⟩+β|1⟩가 되는 것을 의미한다. 따라서 cloning operation U는 Eq 2.을 만족해야 한다.

Eq 2.

그러나 cloning operation U는 Eq 2.이 아닌 Eq 3.를 만족한다.

Eq 3.

따라서 proof by contradiction에 의해 cloning operation U는 존재할 수 없다.

직관적으로 설명하자면 복사한다는 것은 현재 상태만을 복사하겠다는 의미이다. 양자 |𝜓⟩와 양자 ⟩는 독립적인 양자이고, 복사가 일어날 시 ⟩ 상태가 |𝜓⟩ 상태와 같아지기를 원하다.

하지만 operation U에 의해서 복사가 된 양자는 |𝜓⟩와 동일한 상태를 가질 뿐만 아니라, 복사된 양자 ⟩는 앞으로 양자 |𝜓⟩에 종속된다. 미래에 |𝜓⟩=|0⟩으로 상태가 결정되면, ⟩=|0⟩으로만 상태가 결정될 수 있다. |𝜓⟩=|1⟩으로 결정된다면 ⟩=|1⟩으로만 결정될 수 있다. (적절한 비유는 아닐 수 있지만 복사가 아니라 바로가기가 생성된 느낌이다. 후에 entanglement와 연관이 있다.)

우리가 원하는 것은 현재 상태만 복사가 되고, 그 이후에는 두 양자가 서로 여전히 독립적이기를 원한다. |𝜓⟩=|0⟩으로 결정된다고 하더라도 ⟩=|0⟩ or ⟩=|1⟩이 될 수 있어야 하는데, 위에서 증명했듯이 그런 operation은 존재하지 않는다.


Reference

[1] https://qiskit.org/documentation/tutorials/circuits_advanced/03_advanced_circuit_visualization.html
[2] https://kaminion.tistory.com/5
[3] https://www.101computing.net/4-bit-counter-using-d-type-flip-flop-circuits/d-type-flip-flops-feedback-loop/
[4] https://www.youtube.com/watch?v=M0ratiWPaxs