먼저 낮은 정밀도의 워밍업으로 시작하여 이 방법의 기본 직관을 설명합니다.
그런 다음 위상 추정 절차에 사용되는 중요한 양자 연산인 양자 푸리에 변환과 그 양자 Circuit 구현에 대해 다룰 것입니다.
양자 푸리에 변환을 이해한 뒤에는 위상 추정 절차를 완전한 일반성으로 기술하고 그 성능을 분석합니다.
위상 추정 문제에 대한 간단한 접근법 중 하나는 위상 킥백 현상을 기반으로 하며, 이를 통해 우리가 구하고자 하는 값 θ에 관한 정보를 얻을 수 있습니다.
이 방법은 본질적으로 나중에 다룰 일반 위상 추정 절차의 단일 qubit 버전에 해당합니다.
위상 추정 문제의 입력 중 일부로, 연산 U에 대한 유니터리 양자 Circuit이 주어집니다.
이 Circuit의 설명을 이용하면 제어(Controlled)-U 연산에 대한 Circuit을 만들 수 있습니다. 아래 그림에서 왼쪽은 양자 Gate로 본 연산 U이고, 오른쪽은 Controlled-U 연산입니다.
Controlled-U 연산에 대한 양자 Circuit을 만들려면 U의 Circuit에 제어 Qubit을 하나 추가한 뒤, U의 Circuit에 있는 모든 Gate를 해당 Gate의 제어 버전으로 교체하면 됩니다. 즉, 새로 추가한 하나의 제어 Qubit이 U Circuit의 모든 Gate를 실질적으로 제어하게 됩니다.
이를 위해서는 Circuit에 있는 모든 Gate의 제어 버전이 필요하지만, 게이트 집합에 포함되어 있지 않은 경우에도 이러한 제어 연산에 대한 Circuit은 항상 구성할 수 있습니다.
이제 다음 Circuit을 생각해 보겠습니다. 여기서 맨 위 Qubit을 제외한 모든 Qubit의 입력 상태 ∣ψ⟩는 U의 고유 벡터인 양자 상태입니다.
이 Circuit의 측정 결과 확률은 고유 벡터 ∣ψ⟩에 대응하는 U의 고유값에 따라 달라집니다.
정확히 어떻게 달라지는지 Circuit을 자세히 분석해 봅시다.
Circuit의 초기 상태는 다음과 같습니다.
∣π0⟩=∣ψ⟩∣0⟩
첫 번째 Hadamard Gate가 이 상태를 다음과 같이 변환합니다.
∣π1⟩=∣ψ⟩∣+⟩=21∣ψ⟩∣0⟩+21∣ψ⟩∣1⟩.
다음으로 Controlled-U 연산이 수행되어 다음 상태가 됩니다.
∣π2⟩=21∣ψ⟩∣0⟩+21(U∣ψ⟩)∣1⟩.
∣ψ⟩가 고유값 λ=e2πiθ를 갖는 U의 고유 벡터라는 가정을 이용하면, 이 상태를 다음과 같이 다시 쓸 수 있습니다.
두 확률의 합은 항상 1입니다.
θ=0일 때 측정 결과는 항상 0이고, θ=1/2일 때는 항상 1임을 알 수 있습니다.
따라서 측정 결과가 θ의 정확한 값을 알려주지는 않지만, 어느 정도의 정보를 제공합니다. 만약 θ=0 또는 θ=1/2 중 하나라는 것이 사전에 보장된다면, 오류 없이 어느 쪽인지를 이 Circuit으로 알아낼 수 있습니다.
직관적으로, Circuit의 측정 결과를 θ에 대한 "1비트 정확도" 추정값으로 생각할 수 있습니다.
다시 말해, θ를 이진 표기로 나타내고 1비트로 반올림하면 다음과 같은 수가 됩니다.
0.a={021a=0a=1.
측정 결과는 비트 a에 대한 추정값으로 볼 수 있습니다.
θ가 0도 1/2도 아닌 경우, 추정이 틀릴 확률이 0이 아닙니다. 하지만 0 또는 1/2에 가까워질수록 오류 확률은 점점 작아집니다.
이 절차에서 두 Hadamard Gate가 어떤 역할을 하는지 생각해 보는 것은 자연스럽습니다.
첫 번째 Hadamard Gate는 제어 Qubit을 ∣0⟩과 ∣1⟩의 균일한 중첩 상태로 만들어, 위상 킥백이 ∣0⟩ 상태가 아닌 ∣1⟩ 상태에 대해 발생하도록 합니다. 이를 통해 측정 결과에 영향을 미치는 상대적인 위상 차이가 생깁니다. 이 과정 없이 위상 킥백이 전역적인 위상을 만들어낸다면, 측정 결과의 확률에 아무런 영향을 주지 못합니다.
두 번째 Hadamard Gate는 간섭 현상을 통해 θ에 관한 정보를 얻을 수 있게 해줍니다. 두 번째 Hadamard Gate 이전에 맨 위 Qubit의 상태는 다음과 같습니다.
21∣0⟩+2e2πiθ∣1⟩,
이 상태를 측정하면 0과 1 각각을 확률 1/2로 얻게 되어, θ에 대한 정보를 전혀 얻을 수 없습니다. 그러나 두 번째 Hadamard Gate를 수행하면 θ가 출력 확률에 영향을 미치게 됩니다.
위의 Circuit은 위상 킥백 현상을 이용해 θ를 1비트 정확도로 근사합니다.
일부 상황에서는 1비트 정확도로 충분할 수 있지만, 소인수분해를 위해서는 훨씬 높은 정확도가 필요합니다.
θ에 대해 더 많은 정보를 어떻게 얻을 수 있을지가 자연스러운 의문입니다.
매우 간단한 방법 중 하나는 Circuit에서 Controlled-U 연산을 두 개의 복사본으로 교체하는 것입니다. 다음 Circuit과 같습니다.
Controlled-U 연산을 두 번 적용하는 것은 Controlled-U2 연산과 동일합니다.
∣ψ⟩가 고유값 λ=e2πiθ를 갖는 U의 고유 벡터라면, 이 상태는 U2의 고유 벡터이기도 하며, 이 경우 고유값은 λ2=e2πi(2θ)입니다.
따라서 이 버전의 Circuit을 실행하면, θ가 2θ로 대체된 동일한 계산을 수행하는 것과 같습니다.
아래는 θ가 0에서 1까지 변할 때의 출력 확률을 나타낸 그래프입니다.
이 방법은 실제로 θ에 대한 추가 정보를 제공할 수 있습니다.
θ의 이진 표현이 다음과 같다면
θ=0.a1a2a3⋯
θ를 두 배로 하면 소수점이 오른쪽으로 한 자리 이동하는 효과가 있습니다.
2θ=a1.a2a3⋯
그리고 단위 원 위에서 이동할 때 θ=1과 θ=0을 동일시하므로, 비트 a1은 확률에 영향을 미치지 않으며, θ를 2비트로 반올림했을 때 소수점 이하 두 번째 비트에 대한 추정값을 얻게 됩니다.
예를 들어, θ가 0 또는 1/4 중 하나라는 것이 사전에 알려진 경우, 측정 결과를 완전히 신뢰하여 어느 쪽인지 알 수 있습니다.
하지만 이 추정을 원래의 (두 배가 아닌) 위상 킥백 Circuit에서 얻은 정보와 어떻게 결합하여 θ에 대해 가능한 한 정확한 정보를 얻을 수 있는지는 즉시 명확하지 않습니다.
한 걸음 물러서서 어떻게 진행할지 생각해 봅시다.
이진 문자열 a1a0를 이진 표기로 정수 x∈{0,1,2,3}을 나타내는 것으로 보면, 즉 x=2a1+a0로 정의하면, 이 상태를 다음과 같이 쓸 수 있습니다.
∣π3⟩=∣ψ⟩⊗21x=0∑3e2πixθ∣x⟩
우리의 목표는 이 상태에서 θ에 관한 정보를 최대한 추출하는 것입니다.
이 시점에서 θ=4y (y∈{0,1,2,3}인 정수)가 보장된 특별한 경우를 고려해 봅시다.
다시 말해, θ∈{0,1/4,1/2,3/4}이므로, 이 수를 이진 표기로 .00, .01, .10, .11과 같이 2비트로 정확하게 표현할 수 있습니다.
일반적으로 θ가 이 네 값 중 하나가 아닐 수도 있지만, 이 특별한 경우를 생각해 보면 일반적으로 θ에 관한 정보를 가장 효과적으로 추출하는 방법을 파악하는 데 도움이 됩니다.
이 벡터들은 서로 직교합니다. 즉, 그 중 어떤 두 벡터를 골라 내적을 계산하면 0이 됩니다.
각 벡터는 단위 벡터이기도 하므로, {∣ϕ0⟩,∣ϕ1⟩,∣ϕ2⟩,∣ϕ3⟩}은 정규직교 기저가 됩니다.
따라서 이 벡터들을 완벽하게 구별하는 측정이 존재함을 바로 알 수 있습니다. 즉, 그 중 하나가 주어지지만 어느 것인지 모르는 경우, 오류 없이 어느 것인지 알아낼 수 있습니다.
양자 Circuit으로 이러한 구별을 수행하려면 먼저 표준 기저 상태를 위 네 상태로 변환하는 유니터리 연산 V를 정의합니다.
V∣00⟩V∣01⟩V∣10⟩V∣11⟩=∣ϕ0⟩=∣ϕ1⟩=∣ϕ2⟩=∣ϕ3⟩
V를 4×4 행렬로 나타내려면, V의 열을 상태 ∣ϕ0⟩,…,∣ϕ3⟩로 설정하면 됩니다.
V=2111111i−1−i1−11−11−i−1i
이것은 특별한 행렬로, 일부 독자들은 이미 접해 보았을 것입니다.
바로 4차원 이산 푸리에 변환과 관련된 행렬입니다.
이 사실에 비추어, 이 행렬을 V 대신 QFT4라고 부르겠습니다.
QFT는 *양자 푸리에 변환(Quantum Fourier Transform)*의 약자로, 본질적으로 유니터리 연산으로 본 이산 푸리에 변환입니다.
양자 푸리에 변환에 대해서는 곧 더 자세히, 그리고 더 일반적인 맥락에서 다루겠습니다.
QFT4=2111111i−1−i1−11−11−i−1i
이 연산의 역연산을 수행하면 반대 방향, 즉 상태 ∣ϕ0⟩,…,∣ϕ3⟩을 표준 기저 상태 ∣0⟩,…,∣3⟩으로 변환할 수 있습니다.
이렇게 하면 측정을 통해 θ=y/4를 설명하는 값 y∈{0,1,2,3}을 알 수 있습니다.
아래는 이를 수행하는 양자 Circuit의 다이어그램입니다.
요약하면, y∈{0,1,2,3}에 대해 θ=y/4인 경우 이 Circuit을 실행하면, 측정 직전 상태는 ∣ψ⟩∣y⟩ (2비트 이진 문자열로 인코딩된 y)가 되므로, 측정을 통해 오류 없이 값 y를 알 수 있습니다.
이 Circuit은 θ∈{0,1/4,1/2,3/4}인 특별한 경우에 동기를 두고 있지만, U와 ∣ψ⟩의 임의의 선택, 따라서 원하는 임의의 θ 값에 대해 실행할 수 있습니다.
아래는 임의의 θ 선택에 대해 Circuit이 생성하는 출력 확률의 그래프입니다.
이는 앞서 설명한 단일 qubit 방식에 비해 명확한 개선입니다.
완벽하지는 않아서 잘못된 답을 줄 수도 있지만, 답은 θ에 가까운 y/4 값으로 강하게 치우쳐 있습니다.
특히, 가장 가능성 높은 결과는 항상 θ에 가장 가까운 y/4 값에 해당하며 (이전과 마찬가지로 θ=0과 θ=1을 동일시), 그래프를 보면 x에 대한 이 가장 가까운 값이 항상 약 40%보다 높은 확률로 나타납니다.
θ가 두 값의 정확히 중간, 예를 들어 θ=0.375인 경우, 두 개의 동등하게 가까운 y 값이 동일한 확률로 나타납니다.
하나가 아닌 두 개의 제어 Qubit을 사용하고 4차원 양자 푸리에 변환의 역연산을 함께 사용함으로써 얻은 개선을 바탕으로, 이를 더욱 확장하는 것이 자연스러운 방향입니다. 즉, 제어 Qubit을 더 추가하는 것입니다.
이렇게 하면 일반적인 위상 추정 절차를 얻을 수 있습니다.
이것이 어떻게 동작하는지 곧 살펴보겠지만, 정확하게 설명하기 위해서는 양자 푸리에 변환을 더 일반적인 맥락에서 다루어야 합니다. 즉, 다른 차원에서 어떻게 정의되는지, 그리고 m qubit 양자 Circuit으로 어떻게 구현(또는 역연산)할 수 있는지를 살펴볼 필요가 있습니다.
양자 푸리에 변환(Quantum Fourier transform)은 임의의 양의 정수 차원 N에 대해 정의할 수 있는 유니터리 연산입니다.
이 절에서는 이 연산의 정의와, N=2m일 때 m개의 Qubit에 대해 비용 O(m2)의 양자 Circuit으로 구현하는 방법을 살펴봅니다.
양자 푸리에 변환을 기술하는 행렬은 N차원 벡터에 대한 유사 연산인 *이산 푸리에 변환(discrete Fourier transform)*에서 유도됩니다.
이 연산은 다양한 관점에서 생각할 수 있습니다.
예를 들어, 선형 사상으로서 순수하게 추상적·수학적 관점에서 이산 푸리에 변환을 바라볼 수 있습니다.
또는 계산적 관점에서, N차원 복소수 벡터(실수부와 허수부를 이진 표기법으로 인코딩한다고 가정합시다)가 주어지고, 이산 푸리에 변환을 적용해 얻은 N차원 벡터를 계산하는 것이 목표인 관점으로 볼 수도 있습니다.
우리의 초점은 세 번째 방식, 즉 이 변환을 양자 시스템에서 수행할 수 있는 유니터리 연산으로 보는 것입니다.
주어진 입력 벡터에 대해 이산 푸리에 변환을 효율적으로 계산하는 알고리즘으로 *고속 푸리에 변환(fast Fourier transform)*이 있습니다.
신호 처리를 비롯한 다양한 분야에 응용되며, 역사상 가장 중요한 알고리즘 중 하나로 꼽힙니다.
N이 2의 거듭제곱일 때 우리가 공부할 양자 푸리에 변환의 구현은, 고속 푸리에 변환을 가능하게 하는 바로 그 기반 구조에 기초하고 있습니다.
이제 N차원 양자 푸리에 변환을 정의할 수 있습니다. 이 변환은 표준 기저 상태 ∣0⟩,…,∣N−1⟩에 대응하는 행과 열을 갖는 N×N 행렬로 기술됩니다.
위상 추정에는 N=2m이 2의 거듭제곱인 경우만 필요하지만, 이 연산은 임의의 양의 정수 N에 대해 정의할 수 있습니다.
QFTN=N1x=0∑N−1y=0∑N−1ωNxy∣x⟩⟨y∣
앞서 언급했듯이, 이것은 N차원 이산 푸리에 변환에 대응하는 행렬입니다.
이 행렬의 정의에서는 보통 앞의 1/N 인수가 포함되지 않는 경우도 있지만, 유니터리 행렬을 얻으려면 이 인수를 포함해야 합니다.
양자 Circuit으로 양자 푸리에 변환을 구현하려면 제어 위상(controlled-phase) Gate를 사용해야 합니다.
*위상 연산(phase operation)*은 실수 α에 대해 다음과 같은 형태의 단일 qubit 유니터리 연산입니다.
Pα=(100eiα)
이 Gate의 제어 버전은 다음과 같은 행렬을 갖습니다.
CPα=100001000010000eiα
이 제어 Gate에서는 어느 Qubit이 제어이고 어느 Qubit이 대상인지가 사실 중요하지 않습니다. 두 가지 경우가 동치이기 때문입니다.
양자 Circuit 다이어그램에서 이 Gate를 나타내는 데는 다음 기호들 중 어느 것이든 사용할 수 있습니다.
세 번째 형태에서는 편의에 따라 α 레이블을 제어선 옆이나 아래쪽 제어 표시 아래에 놓기도 합니다.
N=2m이고 m≥2일 때 양자 푸리에 변환을 수행하려면, 표준 기저 상태에 대해 다음과 같이 작용하는 m qubit 연산을 수행해야 합니다.
∣y⟩∣a⟩↦ω2may∣y⟩∣a⟩,
여기서 a는 비트이고 y∈{0,…,2m−1−1}은 m−1비트 이진 표기법으로 인코딩된 수입니다.
이는 m=5인 경우를 예시로 하여 다음을 일반화하면 제어 위상 Gate로 구현할 수 있습니다.
일반적으로, m≥2인 임의의 경우에 대해 비트 a에 해당하는 맨 위 Qubit을 제어로 보고, y의 최하위 비트에 해당하는 Qubit에는 α=π/2m−1, y의 최상위 비트에 해당하는 Qubit에는 α=2π의 위상 Gate Pα를 적용합니다.
이 제어 위상 Gate들은 서로 교환 가능하며 어떤 순서로도 수행할 수 있습니다.
이제 차원 N=2m이 2의 거듭제곱일 때 양자 푸리에 변환을 Circuit으로 구현하는 방법을 살펴보겠습니다.
양자 푸리에 변환을 구현하는 방법은 사실 여러 가지가 있지만, 이 방법이 알려진 것 중 가장 단순하다고 할 수 있습니다.
양자 푸리에 변환을 양자 Circuit으로 구현하는 방법을 알면, 그 역연산을 구현하는 것도 간단합니다. 각 Gate를 역연산(즉, 켤레 전치)으로 교체하고 Gate를 역순으로 적용하면 됩니다.
단일 Gate만으로 구성된 모든 양자 Circuit은 이 방법으로 역연산할 수 있습니다.
이 구현은 재귀적 특성을 가지므로, 재귀적인 방식으로 설명하는 것이 가장 자연스럽습니다.
기저 사례는 m=1이며, 이 경우 양자 푸리에 변환은 하다마르(Hadamard) 연산입니다.
m≥2일 때 m개의 Qubit에 대해 양자 푸리에 변환을 수행하려면, 다음 단계를 따릅니다. 각 단계의 동작은 표준 기저 상태 ∣x⟩∣a⟩에 대해 설명하며, 여기서 x∈{0,…,2m−1−1}은 이진 표기법으로 m−1비트로 인코딩된 정수이고 a는 단일 비트입니다.
먼저 하위/왼쪽의 m−1개 Qubit에 2m−1차원 양자 푸리에 변환을 적용하여 다음 상태를 얻습니다:
마지막으로, 표준 기저 상태 ∣x⟩∣a⟩와 ∣b⟩∣y⟩을 {0,…,2m−1} 범위의 정수에 대한 이진 인코딩으로 생각하면,
∣x⟩∣a⟩∣b⟩∣y⟩=∣2x+a⟩=∣2m−1b+y⟩,
위 Circuit이 필요한 연산을 구현함을 알 수 있습니다.
양자 푸리에 변환을 수행하는 이 방법이 놀랍게 느껴진다면, 실제로 그럴 만합니다.
이것은 본질적으로 양자 Circuit 형태의 고속 푸리에 변환(FFT)입니다.
마지막으로, 방금 설명한 Circuit에서 사용되는 Gate의 수를 세어 보겠습니다.
제어-위상 Gate는 이전 수업에서 다룬 표준 Gate 집합에 포함되지 않지만, 우선 이를 무시하고 각각을 단일 Gate로 간주하여 계산하겠습니다.
m의 각 가능한 선택에 대해 필요한 Gate 수를 sm이라 하겠습니다.
m=1이면 양자 푸리에 변환은 하다마르 연산이므로,
s1=1.
m≥2이면 위 Circuit에서 m−1개 Qubit에 대한 양자 푸리에 변환에 sm−1개의 Gate, m−1개의 제어-위상 Gate, 하다마르 Gate 1개, m−1개의 스왑 Gate가 필요하므로,
sm=sm−1+(2m−1).
합산하여 닫힌 형식의 식을 구하면:
sm=k=1∑m(2k−1)=m2.
실제로는 이 방법에서 설명하는 만큼 많은 스왑 Gate가 필요하지 않습니다.
Gate를 약간 재배열하면 모든 스왑 Gate를 오른쪽으로 밀어낼 수 있고, 필요한 스왑 Gate 수를 ⌊m/2⌋개로 줄일 수 있습니다.
점근적으로 이것이 크게 개선된 것은 아닙니다: QFT2m을 수행하는 Circuit의 크기는 여전히 O(m2)입니다.
표준 Gate 집합의 Gate만을 사용하여 양자 푸리에 변환을 구현하려면, 각 제어-위상 Gate를 집합에 있는 Gate로 만들거나 근사해야 합니다.
필요한 Gate 수는 요구하는 정확도에 따라 달라지지만, m의 함수로 보면 총 비용은 여전히 이차함수적입니다.
사실 Pα는 α가 매우 작을 때 항등 연산에 매우 가깝다는 사실을 이용하면 — 즉 제어-위상 Gate 대부분을 그냥 생략해도 정확도 손실이 크지 않다는 점을 활용하여 — 이차보다 적은 수의 Gate로 양자 푸리에 변환을 상당히 정밀하게 근사하는 것도 가능합니다.
이제 위상 추정 절차를 일반적인 형태로 살펴보겠습니다.
아이디어는 위에서 고려한 2 qubit 버전의 위상 추정을 아래 다이어그램이 제시하는 자연스러운 방식으로 확장하는 것입니다.
위쪽에 새로운 제어 Qubit이 추가될 때마다 단일 연산 U를 수행하는 횟수가 두 배가 됩니다.
이는 각 제어-단일 연산에서 U의 지수로 다이어그램에 표시되어 있습니다.
제어-Uk 연산을 구현하는 가장 단순한 방법은 제어-U 연산을 k번 반복하는 것입니다.
이 방법을 사용한다면, 제어 Qubit을 추가하는 것이 Circuit 크기에 상당한 영향을 미친다는 점을 인식해야 합니다. 다이어그램처럼 m개의 제어 Qubit이 있을 경우 총 2m−1번의 제어-U 연산이 필요합니다.
이는 m이 증가함에 따라 상당한 계산 비용이 발생함을 의미합니다. 하지만 동시에 θ에 대한 훨씬 더 정확한 근사가 가능해집니다.
그러나 일부U의 선택에 대해서는 U에 대한 Circuit을 단순히 k번 반복하는 것보다 더 효율적인 방식으로 큰 k 값에 대한 Uk 연산을 구현하는 Circuit을 만들 수 있다는 점도 중요합니다.
이에 대한 구체적인 예는 뒤에서 정수 인수분해의 맥락에서 살펴볼 것이며, 이전 단원에서 설명한 모듈러 지수화의 효율적인 알고리즘이 여기서 활약합니다.
이제 앞서 설명한 Circuit을 분석해 보겠습니다.
역 양자 푸리에 변환 직전의 상태는 다음과 같습니다:
따라서 θ=y/2m인 경우 py=1임을 알 수 있으며(이 특수한 경우에서 이미 알고 있었던 것처럼),
θ=y/2m인 경우에는
py=22m1e2πi(θ−y/2m)−1e2πi(2mθ−y)−12
임을 알 수 있습니다.
단위원 위에서 호의 길이와 현의 길이가 어떻게 관련되는지를 생각하면 이 확률들에 대해 더 많은 것을 알 수 있습니다.
다음은 임의의 실수 δ∈[−21,21]에 대해 필요한 관계를 보여주는 그림입니다.
먼저, 현의 길이(파란색)는 호의 길이(보라색)보다 클 수 없습니다:
e2πiδ−1≤2π∣δ∣.
반대 방향으로 이 길이들을 비교하면, 호의 길이 대 현의 길이의 비율은 δ=±1/2일 때 가장 크며, 이 경우 그 비율은 원의 반둘레를 지름으로 나눈 값인 π/2입니다.
따라서 다음이 성립합니다:
e2πiδ−12π∣δ∣≤2π,
그러므로
e2πiδ−1≥4∣δ∣.
이 관계들에 기반한 분석은 다음 두 가지 사실을 드러냅니다.
θ가 실수이고 y∈{0,…,2m−1}가
θ−2my≤2−(m+1)
을 만족한다고 가정합니다.
이는 y/2m이 θ에 대한 최선의 m비트 근사이거나, 정확히 y/2m와 (y−1)/2m 또는 (y+1)/2m 사이의 중간에 위치함을 의미합니다. 따라서 θ에 대한 두 최선의 근사 중 하나입니다.
이 경우 py가 꽤 크다는 것을 증명하겠습니다.
고려하는 가정으로부터 ∣2mθ−y∣≤1/2이 따라오므로, 호와 현의 길이에 관한 두 번째 관찰을 사용하여 다음을 결론지을 수 있습니다:
e2πi(2mθ−y)−1≥4∣2mθ−y∣=4⋅2m⋅θ−2my.
또한 호와 현의 길이에 관한 첫 번째 관찰을 사용하여 다음을 결론지을 수 있습니다:
e2πi(θ−y/2m)−1≤2πθ−2my.
이 두 부등식을 py에 적용하면 다음이 드러납니다:
py≥22m14π216⋅22m=π24≈0.405.
이는 앞서 m=2 버전의 위상 추정에서 최선의 결과가 40%보다 높은 확률로 나타난다는 관찰을 설명해 줍니다.
정확히는 40%가 아니라 4/π2이며, 실제로 이 경계는 모든 m 선택에 대해 성립합니다.
이제 y∈{0,…,2m−1}가
2−m≤θ−2my≤21
을 만족한다고 가정합니다.
이는 θ와 y/2m 사이에 θ에 대한 더 좋은 근사 z/2m이 존재함을 의미합니다.
이번에는 py가 너무 크지 않다는 것을 증명하겠습니다.
단위원 위의 임의의 두 점은 절댓값 차이가 최대 2라는 사실로부터 다음과 같은 간단한 관찰을 시작할 수 있습니다:
e2πi(2mθ−y)−1≤2.
또한 위에서 언급한 호와 현의 길이에 관한 두 번째 관찰을 이번에는 py의 분모에 적용하여 다음을 결론지을 수 있습니다:
e2πi(θ−y/2m)−1≥4θ−2my≥4⋅2−m.
두 부등식을 결합하면 다음이 드러납니다:
py≤22m116⋅2−2m4=41.
이 경계는 우리의 목적에는 충분하지만 다소 거칩니다. 실제 확률은 보통 1/4보다 훨씬 낮습니다.
이 분석에서 중요한 결론은, θ에 대한 매우 가까운 근사가 나타날 가능성이 높다는 것입니다. 즉, 최선의 m비트 근사를 40%보다 높은 확률로 얻을 수 있으며, 2−m 이상 벗어난 근사는 나타날 가능성이 낮아 확률 상한이 25%입니다.
이러한 보장이 주어지면, 위상 추정 절차를 여러 번 반복하여 θ에 관한 통계적 증거를 수집함으로써 신뢰도를 높일 수 있습니다.
하단 qubit 모음의 상태 ∣ψ⟩은 위상 추정 절차에 의해 변하지 않으므로, 원하는 만큼 절차를 반복해서 사용할 수 있다는 점을 주목하는 것이 중요합니다.
특히, 매번 Circuit을 실행할 때마다 40%보다 높은 확률로 θ에 대한 최선의 m비트 근사를 얻으며, 2−m 이상 벗어날 확률은 25%로 경계가 지어집니다.
Circuit을 여러 번 실행하고 가장 자주 나타나는 결과를 취한다면, 가장 자주 나타나는 결과가 최대 25%의 확률로만 발생하는 것일 가능성은 극히 낮습니다.
결과적으로 θ 값으로부터 1/2m 이내에 있는 근사 y/2m을 매우 높은 확률로 얻을 수 있습니다.
실제로 1/2m보다 더 크게 벗어날 가능성은 절차를 반복하는 횟수에 따라 지수적으로 감소합니다.
다음은 m=3과 m=4일 때 연속된 세 가지 y 값에 대한 확률을 θ의 함수로 나타낸 두 그래프입니다.
(명확성을 위해 세 가지 결과만 표시했습니다. 다른 결과에 대한 확률은 동일한 기본 함수를 순환 이동하여 구할 수 있습니다.)