기술이해 시리즈 #4호

양자 게이트와 회로 — 고전 논리 게이트와 무엇이 다른가

컴퓨터를 켜면 화면이 켜지고, 마우스를 움직이면 커서가 따라온다. 이 모든 것의 뒤에는 AND, OR, NOT 같은 논리 게이트가 수십억 개 작동하고 있다. 고전 컴퓨터의 언어는 0과 1이고, 논리 게이트는 이 0과 1을 입력받아 새로운 0 또는 1을 만들어낸다.

그런데 양자컴퓨터는 다르다. 지난 시리즈에서 배운 중첩과 얽힘을 실제로 조종하려면, 고전 게이트와는 근본적으로 다른 연산 도구가 필요하다. 이번 글에서는 양자 게이트의 원리를 파헤치고, 가장 중요한 세 가지 게이트(하다마드, CNOT, T 게이트)를 만나볼 것이다.

고전 게이트는 왜 양자 세계에서 작동할 수 없는가

고전 AND 게이트를 생각해보자. 두 개의 입력이 모두 1일 때만 출력이 1이 되고, 나머지는 모두 0이다. 이 게이트는 단순하지만 치명적인 문제가 있다. 바로 비가역성(irreversibility)이다.

예를 들어 AND 게이트의 출력이 0이라면, 원래 입력이 (0, 0)이었는지, (0, 1)이었는지, (1, 0)이었는지 알 수 없다. 정보가 손실되었기 때문이다. 이것은 고전 컴퓨터에서는 문제가 아니지만, 양자 세계에서는 물리 법칙 자체를 위반한다.

양자역학의 기본 원칙 중 하나는 모든 양자 진화가 유니터리(unitary) 연산이어야 한다는 것이다. 유니터리 연산이란, 입력에서 출력으로 가는 변환이 완벽하게 가역적(reversible)이라는 뜻이다. 입력을 알면 출력을 유일하게 계산할 수 있고, 역으로 출력을 알면 입력도 유일하게 복원할 수 있다는 의미다.

고전 NOT 게이트는 이 조건을 만족한다. 0을 입력하면 1, 1을 입력하면 0이 되므로, 출력만 봐도 입력이 무엇이었는지 정확히 알 수 있다. 하지만 AND, OR 게이트는 정보 손실이 일어나므로 양자 게이트로 직접 구현할 수 없다. 이것이 양자 게이트가 고전 게이트와 근본적으로 다른 이유다.

고전 게이트 vs 양자 게이트 고전 AND 게이트 입력 → 출력 (0, 0) → 0 (0, 1) → 0 (1, 0) → 0 (1, 1) → 1 ❌ 비가역성 출력이 0이면 원래 입력이 무엇인지 알 수 없음 (정보 손실) → 양자 법칙 위반 양자 게이트 필수 조건 • 유니터리(Unitary) • 가역적(Reversible) • 정보 손실 없음 • 양자 상태 보존 ✓ 가역성 출력으로부터 입력을 유일하게 복원 가능 → 양자 법칙 준수
▲ 고전 AND 게이트는 정보를 잃어버리지만, 양자 게이트는 모든 정보를 보존하는 유니터리 연산이어야 한다.

하다마드 게이트 — 중첩을 만드는 마법의 열쇠

이제 실제 양자 게이트를 만나보자. 가장 먼저 소개할 것은 하다마드(Hadamard) 게이트인데, 이것은 양자컴퓨팅에서 가장 중요하고 가장 자주 사용되는 게이트 중 하나다.

하다마드 게이트는 단 하나의 큐비트를 입력받는다. 만약 큐비트가 확정적인 상태 |0⟩이라면, 하다마드 게이트를 통과한 후에는 |0⟩과 |1⟩의 중첩 상태가 된다. 정확히는, 50% 확률로 |0⟩이 되고, 50% 확률로 |1⟩이 될 상태가 되는 것이다. 이것이 바로 중첩이다.

역으로, 만약 큐비트가 이미 |1⟩ 상태라면, 하다마드 게이트를 통과한 후에는 역시 |0⟩과 |1⟩의 중첩이 되는데, 다만 위상(phase)이라는 숨겨진 성질이 다르다. 이 위상의 차이는 나중에 양자 간섭을 일으킬 때 중요한 역할을 한다.

하다마드 게이트의 수학적 표현은 다음과 같다:

H = (1/√2) × [1 1] [1 -1]

이 2×2 행렬이 왜 중첩을 만드는지 직관적으로 이해해보자. 만약 입력이 |0⟩ = [1, 0]이라면, 행렬 곱셈을 하면 (1/√2) × [1, 1]이 된다. 이는 |0⟩과 |1⟩이 각각 1/√2의 진폭으로 섞여 있다는 뜻이고, 측정할 때 각각 50% 확률로 나타난다.

하다마드 게이트의 또 다른 흥미로운 성질은 자기 자신이 역연산이라는 것이다. 같은 큐비트에 하다마드 게이트를 두 번 적용하면 원래 상태로 돌아온다. 이것이 유니터리 연산의 가역성을 보여주는 구체적인 예다.

하다마드 게이트의 작동 원리 입력: |0⟩ (확정 상태) |0⟩ 100% 확률 측정 → 0 H |0⟩ + |1⟩ ━━━━━━━ √2 중첩 상태 입력: |1⟩ (확정 상태) |1⟩ 100% 확률 측정 → 1 H |0⟩ − |1⟩ ━━━━━━━ √2 중첩 상태 (위상 다름) 가역성: H를 두 번 적용하면 원상태 복원 |0⟩ H 중첩 H |0⟩ 완벽한 복원!
▲ 하다마드 게이트는 확정적인 상태를 중첩 상태로 변환하며, 두 번 적용하면 원래 상태로 돌아온다.

CNOT 게이트 — 얽힘을 만드는 연결고리

이제 두 개 이상의 큐비트를 다루는 게이트를 만나보자. CNOT(Controlled-NOT) 게이트는 두 개의 큐비트를 입력받는다. 하나는 제어 큐비트(control qubit)이고, 다른 하나는 목표 큐비트(target qubit)이다.

CNOT 게이트의 작동 방식은 간단하다. 제어 큐비트가 |1⟩이면 목표 큐비트를 뒤집고(NOT 연산), 제어 큐비트가 |0⟩이면 목표 큐비트를 그대로 둔다. 고전 컴퓨터의 관점에서는 이것이 전부다.

하지만 양자 세계에서는 마법이 일어난다. 만약 제어 큐비트가 중첩 상태라면 어떻게 될까? 예를 들어, 제어 큐비트가 (|0⟩ + |1⟩)/√2 상태이고, 목표 큐비트가 |0⟩ 상태라면:

입력: (|0⟩ + |1⟩)/√2 ⊗ |0⟩ CNOT 적용 후: (|0⟩|0⟩ + |1⟩|1⟩)/√2 이것이 바로 얽힘 상태다!

출력을 자세히 보면, 첫 번째 큐비트와 두 번째 큐비트가 완벽하게 연결되어 있다. 첫 번째가 |0⟩이면 두 번째는 반드시 |0⟩이고, 첫 번째가 |1⟩이면 두 번째는 반드시 |1⟩이다. 이것이 얽힘의 정의다. 지난 시리즈에서 배운 개념이 이제 실제 게이트로 구현되는 순간이다.

CNOT 게이트의 수학적 표현은 4×4 행렬이다:

CNOT = [1 0 0 0] [0 1 0 0] [0 0 0 1] [0 0 1 0]

이 행렬도 유니터리다. CNOT는 자기 자신이 역연산이므로, 두 번 적용하면 원래 상태로 돌아온다. 이것도 양자 게이트의 가역성을 보여주는 예다.

양자 회로를 읽는 법

양자컴퓨터의 프로그램은 양자 회로(quantum circuit) 형태로 표현된다. 양자 회로는 왼쪽에서 오른쪽으로 시간이 흐르는 다이어그램이다. 수평선은 큐비트를 나타내고, 박스나 기호는 게이트를 나타낸다.

예를 들어, 다음과 같은 간단한 회로를 생각해보자:

양자 회로 예시: 하다마드 + CNOT 1단계: 첫 번째 큐비트(q0)에 하다마드 게이트 적용 q0 q1 H → q0 중첩 상태 (|0⟩ + |1⟩)/√2 2단계: q0을 제어, q1을 목표로 CNOT 게이트 적용 q0 q1 H 최종 상태: (|0⟩|0⟩ + |1⟩|1⟩)/√2 = 얽힘 상태! ⊙ = 제어점(control), ⊕ = 목표점(target), 선 = 제어 신호
▲ 양자 회로는 왼쪽에서 오른쪽으로 시간이 흐르며, 게이트들이 순차적으로 큐비트를 변환한다. 이 회로는 중첩과 얽힘을 순차적으로 생성한다.

이 회로를 읽는 방법은 다음과 같다. 먼저 모든 큐비트는 |0⟩ 상태로 시작한다. 첫 번째 큐비트(q0)에 하다마드 게이트를 적용하면 중첩 상태가 된다. 그 다음, q0을 제어 큐비트로, q1을 목표 큐비트로 하는 CNOT 게이트를 적용한다. 결과적으로 두 큐비트는 얽힌 상태가 된다.

양자 회로의 강력함은 여러 큐비트와 여러 게이트를 조합할 수 있다는 점이다. 하다마드 게이트 여러 개를 병렬로 적용하면 여러 큐비트의 중첩을 동시에 만들 수 있고, CNOT을 여러 번 적용하면 더 복잡한 얽힘 구조를 만들 수 있다. 이것이 양자컴퓨터의 계산 능력의 기반이다.

T 게이트와 위상의 중요성

마지막으로 T 게이트를 소개하겠다. T 게이트는 한 개의 큐비트를 입력받으며, 다음과 같이 정의된다:

T = [1 0 ] [0 e^(iπ/4)]

T 게이트는 큐비트의 확률을 바꾸지 않는다. |0⟩은 |0⟩으로, |1⟩은 |1⟩으로 남는다. 하지만 |1⟩ 상태의 위상(phase)을 π/4만큼 회전시킨다.

위상이란 무엇인가? 측정 관점에서는 보이지 않는다. |0⟩을 측정하면 항상 0이 나오고, |1⟩을 측정하면 항상 1이 나온다. 하지만 양자 간섭이 일어날 때는 위상이 극도로 중요해진다. 같은 위상끼리 만나면 서로 강화되고(보강 간섭), 반대 위상끼리 만나면 서로 소멸된다(소멸 간섭).

양자 알고리즘의 핵심은 정답 상태의 위상을 조정하여 양자 간섭을 일으키는 것이다. Grover의 검색 알고리즘이나 Shor의 인수분해 알고리즘 같은 강력한 양자 알고리즘들은 모두 이러한 위상 조정 게이트들(T 게이트, S 게이트 등)을 조합하여 작동한다.

현재 양자컴퓨터의 게이트 정확도

이론상 완벽한 양자 게이트는 실제로 구현하기 매우 어렵다. 현재 NISQ(Noisy Intermediate-Scale Quantum) 시대의 양자컴퓨터들은 게이트 오류(gate error)에 시달리고 있다.

IBM의 최신 양자 프로세서들은 대략 99.9% 정도의 단일 큐비트 게이트 정확도를 달성했다. 이는 매우 인상적이지만, 두 큐비트 게이트(CNOT 같은)의 정확도는 보통 99% 정도에 머물러 있다. 100개 이상의 게이트가 필요한 알고리즘을 실행할 때, 누적된 오류는 결과를 완전히 망칠 수 있다.

IonQ는 이온 트랩 기술을 사용하여 99.97% 이상의 두 큐비트 게이트 정확도를 주장하고 있으며, Google의 Sycamore 프로세서는 99.84% 정도의 정확도를 보고했다. 이러한 수치들의 개선이 양자컴퓨터가 실용적인 수준에 도달하기 위한 필수 조건이다.

게이트 오류를 줄이기 위한 연구는 현재 양자컴퓨팅 산업의 가장 중요한 과제 중 하나다. 오류 정정 코드(error correction code)의 개발, 더 정확한 펄스 제어(pulse control) 기술, 그리고 새로운 큐비트 구현 방식들이 모두 이 목표를 향해 진행 중이다.

양자 회로의 복잡성과 확장성

양자 회로의 강력함은 지수적 확장성에 있다. n개의 큐비트를 다루려면 2^n개의 기저 상태를 고려해야 한다. 10개의 큐비트는 1024개의 상태 공간을, 300개의 큐비트는 우주의 원자 개수보다 많은 상태 공간을 나타낸다.

하지만 이 지수적 확장은 양날의 검이다. 한편으로는 엄청난 계산 능력을 제공하지만, 다른 한편으로는 오류도 지수적으로 증폭된다. 따라서 양자 알고리즘은 이 거대한 상태 공간을 효율적으로 탐색하면서도, 양자 간섭을 통해 정답만 남기고 오답을 소멸시켜야 한다.

이것이 양자 게이트들을 정교하게 조합하는 이유다. 하다마드 게이트는 중첩을 만들고, CNOT은 얽힘을 만들고, T 게이트 같은 위상 게이트들은 간섭을 조정한다. 이 모든 도구들이 함께 작동할 때, 양자컴퓨터는 고전 컴퓨터가 도달할 수 없는 영역에 들어간다.

한줄 코멘트

고전 게이트가 정보를 버리는 반면, 양자 게이트는 정보를 완벽하게 보존하는 유니터리 연산이며, 이 가역성이 양자컴퓨터의 계산 능력을 만드는 근본입니다.

슈로 🐾
Written by 슈로

📚 관련 글

2큐비트로 4가지, 300큐비트면 우주 원자 수보다 많다 — 지수 폭발 직관적으로 이해하기

큐비트 수 증가에 따른 지수적 상태 공간 확장과 그 한계를 이해하기

schro.kr

얽힘(Entanglement)이란 무엇인가 — 아인슈타인이 '으스스하다'고 한 현상

아인슈타인의 의심에서 실험적 증명까지, 양자 얽힘의 역사와 현대 응용

schro.kr

중첩과 간섭 — 두 큐비트가 왜 그렇게 강력한가

n개 큐비트가 2^n 상태를 동시 표현하고, 간섭으로 정답을 증폭하는 원리

schro.kr

댓글 0

불러오는 중...

닉네임은 자동 생성되며 직접 수정할 수 있습니다. 비밀번호는 수정·삭제 시 필요합니다.