동전을 던지면 앞면 1/2, 뒷면 1/2. 주사위라면 각 면 1/6. 우리는 이걸 우연 이라 부르고, 우연을 다루는 도구를 확률 이라 부릅니다. 두 사건의 확률은 더하면 됩니다. .
이 세계의 규칙은 자명해보입니다. 확률은 음수가 될 수 없습니다. 더하면 항상 커지거나 같아집니다. 상쇄 라는 게 일어날 수 없는 세상이죠.
하지만 양자의 세계에서는 자연이 꼭 그렇지만은 않다고 이야기합니다.
균열: 입자 하나가 두 길을 동시에 간다
20세기 초반, 슬릿이 두 개인 판에 빛을 쏘면 뒤쪽 스크린에 밝고 어두운 줄무늬 가 생긴다는 사실이 알려졌습니다 (이중슬릿실험). 빛이 파동 이라서 그렇습니다. 두 슬릿에서 출발한 파동이 만나 보강되면 밝고, 상쇄되면 어둡고. 여기까진 자연스럽습니다.
문제는 그 다음입니다. 빛 입자, 즉 광자를 한 번에 하나씩 쏘아도 같은 줄무늬가 나타납니다. 하나의 광자가 두 슬릿을 동시에 통과한 것처럼 행동한다는 뜻입니다. 어느 슬릿으로 갔는지 측정 해 보면 둘 중 하나로만 가지만, 측정하지 않으면 두 길의 가능성이 합쳐져서 줄무늬를 만듭니다.
이 실험이 우리에게 보여주는건 자연은 확률보다 더 깊은 어떤 양(quantity)으로 굴러가고 있고, 그 양은 더하면 상쇄가 가능하다는 겁니다.
amplitude
자연이 그 밑단에서 굴리고 있는 양(quantity) 을 amplitude 라 부릅니다. amplitude 는 확률과 다릅니다.
- 확률은 이상의 실수만 가능합니다.
- amplitude 는 음수가 될 수 있고, 심지어 복소수 까지 자유롭습니다.
두 가지 가능성 (예를 들어 슬릿 A 통과와 슬릿 B 통과) 의 amplitude 를 더했을 때 부호가 같으면 보강 (밝은 줄), 부호가 반대면 상쇄 (어두운 줄). 이 상쇄가 일어난다는 점 이 자연이 확률 세계와 결정적으로 다른 점입니다.
그러면 우리가 보는 확률은 어디서 오나
자연스러운 질문입니다. 우리가 측정 하면 결과는 결국 확률처럼 보입니다. 줄무늬의 어떤 자리에 광자가 떨어질 확률 이 있다고 말합니다. amplitude 와 확률은 어떻게 연결될까요.
확률 = amplitude 의 제곱 절대값.
amplitude 가 라면 측정 시 그 결과가 나올 확률은 . 음수든 복소수든 제곱 절대값을 취하면 양 실수가 됩니다. 그래서 우리가 관측하는 세계 는 멀쩡한 확률처럼 보이지만, 그 내부 회로 는 amplitude 라는 더 자유로운 양으로 돌아가고 있다는 뜻입니다.
Qubit 은 그래서 무엇인가
classical bit 은 또는 둘 중 하나입니다. 둘 중 어느 쪽인지 가 항상 정해져 있습니다.
qubit 은 다릅니다. qubit 은 의 amplitude 와 의 amplitude 을 동시에 가집니다. 두 amplitude 의 제곱 절대값을 합하면 이어야 합니다 (). 측정하면 그 확률에 따라 또는 로 떨어집니다. 이걸 collapse (붕괴) 라 부릅니다.
측정 전의 qubit 은 도 도 아닌 어떤 중첩 (superposition) 상태에 있고, 측정 후에는 둘 중 하나로 결정됩니다. 측정 전에 두 amplitude 가 공존하기 때문 에 그 사이의 보강, 상쇄가 가능합니다. 이게 qubit 이 classical bit 보다 근본적으로 더 풍부한 정보 를 담을 수 있는 이유입니다.
왜 이게 강력한가
가장 직관적인 비유는 앞에서 본 이중 슬릿의 줄무늬 입니다. 두 길의 amplitude 가 합쳐지며 어떤 자리는 어두워지고 (상쇄), 어떤 자리는 밝아집니다 (보강). 이 밝고 어두운 무늬 를 우리가 의도적으로 그릴 수 있다면 어떨까요.
quantum 알고리즘은 정확히 그 일을 합니다. 풀고 싶은 문제의 가능한 답이 수억 가지라고 칩시다. quantum 컴퓨터는 그 모든 답을 동시에 amplitude 위에서 굴립니다. 그리고 회로를 잘 설계해 틀린 답들의 amplitude 가 서로 상쇄되어 사라지고, 정답의 amplitude 가 서로 보강되어 커지도록 만듭니다. 측정 순간, 정답 자리만 압도적으로 밝아지고 나머지는 사라집니다.
classical 컴퓨터는 답을 하나씩 시도하거나 무작위로 추측해야 합니다. 1조 가지 답이 있으면 1조 번 가까이 확인해야 하죠. quantum 은 1조 가지를 한꺼번에 amplitude 위에 띄워 놓고, 틀린 것들은 자기들끼리 부호 차이로 알아서 사라지도록 만들 수 있습니다. 어떤 종류의 문제에 대해 quantum 이 비교 불가하게 빠른 이유가 여기에 있습니다.
소수 인수분해 (Shor), 검색 (Grover), 양자 시뮬레이션 등 quantum 만의 빠른 알고리즘은 모두 이 상쇄를 도구로 쓰는 설계 위에 서 있습니다.