주 콘텐츠로 건너뛰기

양자 상태의 본질: 숨은 변수 대 벨 부등식

이 Qiskit in Classrooms 모듈을 진행하려면, 학생들의 Python 환경에 다음 패키지가 설치되어 있어야 합니다.

  • qiskit v2.1.0 이상
  • qiskit-ibm-runtime v0.40.1 이상
  • qiskit-aer v0.17.0 이상
  • qiskit.visualization
  • numpy
  • pylatexenc

위 패키지의 설치 및 설정 방법은 Qiskit 설치 가이드를 참고하세요. 실제 양자 컴퓨터에서 작업을 실행하려면, IBM Cloud 계정 설정 가이드의 단계를 따라 IBM Quantum® 계정을 만들어야 합니다.

이 모듈은 테스트 결과 약 12초의 QPU 시간이 사용되었습니다. 이는 추정치이며, 실제 사용량은 다를 수 있습니다.

# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit qiskit-ibm-runtime
# Uncomment and modify this line as needed to install dependencies
#!pip install 'qiskit>=2.1.0' 'qiskit-ibm-runtime>=0.40.1' 'qiskit-aer>=0.17.0' 'numpy' 'pylatexenc'

아래에서 Dr. Katie McCormick의 모듈 해설 영상을 시청하거나, 여기를 클릭해 YouTube에서 시청할 수 있습니다.


배경

양자역학에서 수행하는 많은 계산은, 보통 측정을 통해 알게 된 시스템의 초기 상태에서 출발합니다. 오늘은 "측정이 이루어지기 전에 입자의 상태에 대해 무엇을 말할 수 있는가?"라는 질문에 답해 보겠습니다. 이에 자연스럽게 따라오는 질문은 "측정을 하지 않고는 어떻게 알 수 있는가?"입니다.

이 질문은 양자역학 초창기로 거슬러 올라갑니다. 당대의 선구자들은 두 진영으로 나뉘었는데, 아인슈타인을 비롯한 많은 이들은 입자가 측정 전에 이미 어떤 미지의 상태에 있다고 주장했습니다. 반면 막스 보른, 그리고 훗날 닐스 보어는 더 급진적인 주장을 펼쳤는데, 측정 이전에 입자의 상태는 단순히 인간에게 알려지지 않은 것이 아니라 자연 자체에 의해 미결정 상태로 존재한다는 것이었습니다. 이 관점에서 측정은 입자를 확률적으로 하나의 확정된 상태로 붕괴시킵니다. 이 설명에 불만을 품은 아인슈타인은 유명한 한마디를 남겼습니다. "Gott würfelt nicht." 대략 "신은 주사위를 던지지 않는다"는 뜻입니다.

이 논쟁이 불거진 후 수십 년 동안, 많은 이들은 이 문제가 결코 해결되지 않을 것이라거나 관점의 차이에 불과하다고 여겼습니다. 그러다 1964년, 북아일랜드 출신의 물리학자 존 벨이 논문을 발표했습니다. 그는 이 질문에 결정적인 답을 줄 수 있는 특정 실험의 통계를 분석했고, 확정된(단, 미지의) 양자 상태에서는 하나의 통계 집합이, 자연에 의해 미결정된 양자 상태에서는 다른 통계 집합이 도출됨을 보였습니다.

벨의 논문이 발표된 당시, 관련 통계를 실험으로 검증하는 것은 최전선의 물리학 연구자들조차 엄두를 내기 어려웠습니다. 하지만 오늘날 IBM Quantum 덕분에, 전 세계 학생들이 클라우드를 통해 무료로 실제 양자 장치를 원격으로 사용하며 양자 상태의 본질을 탐구할 수 있게 되었습니다. 오늘 여러분이 할 일이 바로 그것입니다.

사고 실험의 설정: 스핀의 얽힘

스핀이 없는 입자가 각각 스핀을 가진 두 입자로 붕괴되는 과정이 있습니다. 스핀은 일종의 각운동량이므로, 각운동량 보존 법칙에 의해 두 생성 입자의 스핀은 정확히 반대 방향을 가져야 합니다. 이는 실험적으로도 확인된 사실입니다.

예를 들어, 중성 파이온이 양전자와 전자로 붕괴되는 경우가 있습니다. π0e++e\pi^0\rightarrow e^+ + e^- 이 입자들이 무엇인지 몰라도 괜찮고, 이 붕괴 유형이 상대적으로 드물다는 것을 이미 알고 있어도 상관없습니다. 핵심은, 두 생성 입자 중 하나가 스핀 업이면 다른 하나는 반드시 스핀 다운이라는 점입니다. 물론 "위"와 "아래"에는 특별한 의미가 없으며, 일반적으로 xx 또는 yy 방향으로 측정해도 동일한 반정렬이 관찰됩니다. 이 붕괴는 고찰하기에 매력적인 맥락을 제공하는데, 과거에 어떤 측정이 있었는지를 둘러싼 질문들을 우회할 수 있기 때문입니다. 양전자와 전자는 붕괴의 순간까지 존재하지도 않았으니까요.

π0\pi^0 중간자의 붕괴를 관찰하고, 생성된 입자들이 불균일 자기장 하에서 어떻게 편향되는지 볼 수 있습니다. 스핀을 편향시키기 위한 불균일 자기장 장치는 슈테른-게를라흐 장치라고 부르는데, 이 장치를 처음으로 사용하여 (우연히) 양자역학적 스핀 존재의 증거를 수집한 연구자들의 이름에서 따온 것입니다. 다만, 여기서의 이야기는 원래 실험보다 복잡한데, 전자와 양전자는 (슈테른-게를라흐 실험의 은 원자와 달리) 전하를 띠고 있기 때문입니다. 하지만 자기장 안에서 하전 입자가 어떻게 움직이는지는 알고 있으므로, 그 효과를 제거할 수 있습니다. 이하에서는 계산에 사용하는 편향이 전하가 아닌 입자의 스핀으로 인한 것이라고 가정합니다. 따라서 우리의 목적에서는 어떤 관측자가 양전자를 받고 어떤 관측자가 전자를 받는지는 중요하지 않습니다. 실험 설정은 대략 다음과 같습니다.

EPR 실험 설정 다이어그램. 광원이 왼쪽으로 입자 하나, 오른쪽으로 입자 하나를 방출합니다. 각 입자는 슈테른-게를라흐 장치, 즉 불균일 자기장과 측정 스크린을 통과합니다.

중간자가 붕괴되면 전자는 한 방향으로, 양전자는 반대 방향으로 튕겨 나갑니다. 이 두 입자는 각각 불균일 자기장을 통과하면서 자기장 방향 또는 자기장 반대 방향으로 편향됩니다.

중간자 소스가 있다면 이에 대한 통계를 수집할 수 있습니다. 왼쪽과 오른쪽의 관측자(각각 루카스와 리아나라고 부르겠습니다)가 항상 같은 축을 따라 측정한다면, 이 통계는 그다지 흥미롭지 않습니다. 한 명이 위를 측정할 때마다 다른 한 명은 아래를, 한 명이 지면 안쪽을 측정할 때마다 다른 한 명은 지면 밖쪽을 측정하는 식입니다. 그러나 각자 원하는 방향으로 자유롭게 스핀을 측정할 수 있다면, 더 흥미로운 결과를 발견할 수도 있습니다.

위에서 설명한 실험, 즉 두 관측자가 스핀 각운동량을 가지고 날아가는 입자들을 측정하는 실험은, 아인슈타인, 포돌스키, 로젠(EPR)이 이 논문에서 처음 제안한 것으로, 흔히 "EPR 실험"이라고 부릅니다.

우리의 선택지

두 가지 역사적 관점을 명확히 정리해 보겠습니다.

선택지 1 (아인슈타인): 두 스핀(전자와 양전자)은 확정되어 있습니다. 즉, 어느 축을 따라 측정하든 그 결과는 우리가 알 수 없더라도 자연에 의해 미리 결정되어 있습니다. 이를 스핀이 공간상에서 실제로 잘 정의된 방향을 가지고 있으나 우리에게 알려지지 않은 것으로 생각할 수도 있고, 또는 xx, yy, zz 혹은 그 사이의 어떤 방향으로 측정하든 결과를 결정하는 일종의 정보나 지침이 내재되어 있다고 생각할 수도 있습니다. 양전자의 스핀을 측정하면(예를 들어 z 방향으로) 그것은 z 또는 -z 방향으로 정렬됩니다. 이는 전자 스핀에 인과적 영향을 미치지 않지만, 전자 스핀은 처음부터 양전자 스핀과 반대 방향으로 시작했으므로 양전자 스핀이 +z로 측정되면 전자 스핀은 -z로 측정됩니다. 각운동량을 보존하는(스핀이 반정렬된) 초기 조건 이외에는 두 스핀 사이에 아무런 연결도 없습니다. 이 선택지는 때때로 "숨은 변수(hidden variables)"라고도 불립니다. 즉, 다양한 축에 따른 투영이 결정되어 있지만 우리에게는 숨겨져 있다는 의미입니다.

선택지 2 (보른): 스핀은 모두 초기 상태에서 비결정적입니다… 단지 우리에게 알려지지 않은 것이 아니라, 측정될 때까지 물리적으로 정의되지 않으며 확정적인 방향도 실험 결과에 대한 지침도 없습니다. 양전자 스핀을 측정하면 모든 가능성의 공간이 하나의 확정된 상태, 즉 +z 또는 -z 축 중 하나로 "붕괴"됩니다. 이 양전자 측정은 전자 스핀도 z 방향의 잘 정의된 투영으로 붕괴하도록 강제하며, 정확히 양전자와 반대 방향이 됩니다. 이 효과는 양전자와 전자 사이의 공간에 걸쳐 발생합니다. 이를 "원격 유령 작용(spooky action at a distance)"이라고도 하지만, 덜 극적으로는 "비국소 물리(non-local physics)"라고 부를 수 있습니다.

이해도 확인

아래 질문을 읽고 답을 생각해 본 다음, 삼각형을 클릭하여 해답을 확인하세요.

아인슈타인과 보른의 선택지를 실험적으로 구별할 수 있다면 이상적일 것입니다. 어느 선택지가 맞든 동일한 결과를 낳을 실험에는 어떤 것들이 있을까요? 두 선택지에서 서로 다른 결과를 낳을 실험을 생각해 낼 수 있나요? 참고 아인슈타인과 보른의 선택지에서 서로 다른 결과를 낳는 실험을 고안해 낸다면 정말 대단한 일입니다. 인류가 그러한 실험 하나를 고안해 내는 데 수십 년이 걸렸으니까요.

답:

지금까지 설명한 실험(양전자와 전자가 반정렬된 스핀으로 날아가는 경우)에서, ±x\pm x, ±y\pm y, 또는 ±z\pm z를 따라 두 스핀을 모두 측정하면 어느 선택지가 맞든 각운동량 보존에 의해 항상 반대 부호가 나옵니다. 한 입자의 스핀(예: 전자)을 어떤 방향(예: +z+z)으로 측정하면 다른 입자인 양전자의 스핀은 z-z로 측정됩니다. 대신 양전자의 스핀을 xx 방향으로 측정하면 +x+x 또는 x-x가 나올 확률이 동일합니다. 이는 숨은 지침이 그렇게 지시하기 때문일 수도 있고(아인슈타인의 선택지 1), 또는 전자 스핀 측정 후 양전자 스핀의 확률 분포가 갱신되어 새로운 확률 분포가 ±x\pm x 사이의 50:50 분포와 일치하기 때문일 수도 있습니다(보른의 선택지 2). 이 내용은 아래에서 더 자세히 설명합니다.

두 입자(양전자와 전자처럼)가 스핀-1인 입자의 붕괴로 나와 스핀이 반정렬이 아닌 정렬되어야 하는 경우를 고려하면 답은 약간 달라집니다. 한 입자가 +y+y로 측정되면 다른 입자의 yy축 측정도 반드시 +y+y여야 합니다. 앞서와 마찬가지로, 이는 두 선택지 중 어느 것으로도 설명될 수 있습니다.

이 수업의 나머지 부분은 아인슈타인과 보른의 선택지를 구별할 수 있는 실험에 할애되므로, 여기서는 자세히 다루지 않겠습니다. 하지만 핵심 방법 중 하나는 두 입자를 서로 다른 방향(예: xxzz, 또는 전통적인 데카르트 축 사이의 어떤 방향)으로 측정하는 것입니다. 나머지는 숨은 변수와 같은 고전적 정보의 예측과 양자역학의 예측을 고려하여 서로 다른 결과를 얻을 정확한 확률을 신중하게 계산하는 것에서 비롯됩니다.

두 선택지 모두에서, 두 관측자 Lucas와 Rihanna가 같은 축을 따라 측정하면 어느 선택지가 맞든 반정렬된 스핀을 얻을 것으로 예상됩니다. 그 이유를 알아보려면 아래 다이어그램을 살펴보세요.

세 개의 다이어그램. 첫 번째는 x축과 z축 사이의 대각선 방향을 향해 반대 방향으로 배향된 두 스핀 벡터입니다. 다음으로, z 방향으로 측정이 이루어지면 한 친구는 음의 z 방향 스핀을 얻고 다른 친구는 양의 z 방향 스핀을 얻습니다. 마지막으로, x축 방향 측정의 경우 한 명은 음의 x 방향 스핀을, 다른 한 명은 양의 x 방향 스핀을 측정하는 상황이 나타납니다.

위 그림은 아인슈타인의 선택지를 보여줍니다. 스핀의 방향은 반대이며 결정되어 있습니다. zz축을 따라 측정하면 하나는 +z+z, 다른 하나는 z-z로 측정됩니다. 양전자가 +z+z, 전자가 z-z라고 가정할 이유는 없습니다. 그림은 단지 스핀이 반대 방향으로 측정된다는 것을 보여줄 뿐입니다. 사실 아인슈타인의 선택지에서 주어진 스핀은 결국 측정되는 방향을 따라 실제 성분을 가질 필요가 없습니다. 아인슈타인 선택지의 가장 약한 진술은, 어느 축으로 측정하든 측정 결과를 결정하는 일종의 지침이 스핀 안에 저장되어 있다는 것입니다. 이 지침이 단순한 벡터의 형태라고 그림으로 표현할 필요는 없으며(아래 다이어그램 참조), 이 부분은 나중에 다시 살펴보겠습니다.

세 개의 다이어그램. 첫 번째는 더 이상 잘 정의된 벡터 방향을 보여주지 않고, 대신 측정 결과를 결정하는 규칙 목록이 있습니다. 두 번째와 세 번째 다이어그램은 이전 그림과 동일하게 양의/음의 z 방향 및 양의/음의 x 방향 측정을 보여줍니다.

아래 그림은 보른의 선택지를 보여줍니다. 양전자와 전자 스핀의 방향이 확률 분포에 걸쳐 퍼져 있으며 확정적인 방향이 없습니다. 분포의 형태에 지나친 의미를 부여하지 마세요. 각 스핀은 실제로 서로 반대 방향인 한 어느 방향이든 0이 아닌 확률을 가질 수 있습니다. 단지 논의를 위해 시각적으로 구분할 수 있도록 원의 일부로 그렸을 뿐입니다. 보른의 선택지에서도 각운동량은 여전히 보존되어야 한다는 점에 주목하세요. 따라서 하나의 확률파가 스핀이 +z+z를 향하도록 "붕괴"되면, 다른 스핀은 z-z를 향하며 반대 방향으로 편향됩니다. 두 선택지는 동일하게 보입니다.

스핀 벡터에 대해 가능한 방향들이 흐릿하게 나타난 다이어그램으로, 이어서 이전 이미지들과 동일한 측정 결과가 나타납니다.

그렇다면 관측자 L과 R이 그림 4 & 5에 나타난 것처럼 각 쌍이 120도 간격으로 떨어진 세 축 중 어느 하나를 따라 임의로 측정할 수 있을 때는 어떻게 될까요? 각 관측자는 어느 축(a, b, 또는 c)으로 스핀을 측정할지 임의로 결정할 수 있습니다. 두 사람이 같은 축을 측정할 필요는 없습니다. 각 관측자가 측정할 때 선택한 축에서 양의 투영 또는 음의 투영을 얻을 수 있습니다. 예를 들어 Lucas와 Rihanna는 +a와 -b, 또는 +b와 +c를 측정할 수 있습니다. 만약 두 사람이 같은 축을 선택해 측정하게 되면, 반드시 반대 부호의 투영을 얻어야 합니다: +a와 -a, +b와 -b, 또는 +c와 -c. 예를 들어 두 사람 모두 +a를 얻는 것은 불가능합니다. 다음 절에서는 Lucas와 Rihanna가 측정한 축에서 같은 부호(++ 또는 --)를 얻을 확률과 반대 부호(+- 또는 -+)를 얻을 확률을 계산하는 방법을 살펴보겠습니다.

두 초기 스핀 벡터가 나타난 다이어그램으로, 이어서 각각 양의 방향과 음의 방향을 가진 세 선 a, b, c를 따른 가능한 측정 결과를 보여줍니다. 이 축들은 서로 수직이 아니기 때문에, Lucas와 Rihanna는 동일한 축을 선택해 측정하지 않는 한 스핀을 반대 방향으로 측정하지 않을 것입니다.

위의 두 그림은 이 새로운 세 축 측정 시나리오에서 가능한 숨은 변수 해석을 보여줍니다. 즉, 스핀이 이미 벡터로 결정되어 있거나, 또는 모든 가능한 측정의 결과가 측정 전 실험자에게는 알 수 없더라도 미리 결정되어 있도록 어떻게든 시스템에 내재된 물리적 지침이 존재한다는 것입니다. 대안은 아래에 나타나 있습니다. 결과의 어떤 확률 분포가 존재하며, 이 분포는 다양한 측정 결과의 가능성에 대해 어느 정도 알려줄 수 있지만, 결과는 측정 전에 자연에 의해 결정되지 않습니다.

한번 더 흐릿한 확률 분포가 나타나며, 이번에는 세 새로운 축 a, b, c와 함께 보여집니다. 이는 다양한 방향에 따라 서로 다른 측정 확률을 가집니다.

우리는 "두 관측자가 스핀 투영의 같은 부호를 얻어야 하는 빈도는 얼마나 될까?"라고 자문할 수 있습니다. 즉, 어느 축을 선택해 측정했는지는 기록하지 않고, 단지 같은 부호를 얻었는지 다른 부호를 얻었는지만 기록합니다. 이보다 복잡한 측정 방식에서 아인슈타인과 보른의 선택지가 같은 결과를 낳을지는 명확하지 않습니다. 하지만 그림 4와 5에서 차이가 possiblepossible 하다는 것은 분명합니다. 아인슈타인의 선택지에서 나타난 경우에서, e+e+ 스핀을 축 aa 위로 투영하면 반드시 +a+a가 나오고, ee- 스핀을 축 bb 위로 투영하면 b-b(간신히)가 나옵니다. 하지만 보른의 선택지에서는 가능성이 열려 있습니다. 각운동량은 여전히 보존됩니다. 하지만 두 자기장이 같은 축을 따라 배향되지 않았기 때문에, 입자들은 서로 다른 축으로 붕괴해야 하는 상황에 처하게 됩니다(자기장과의 상호작용을 통해). 다음 절에서 우리는 양자역학을 이용해 보른의 선택지가 주어졌을 때 Lucas와 Rihanna가 측정한 축에서 같은 부호(++ 또는 --)를 얻을 확률과 반대 부호(+- 또는 -+)를 얻을 확률이 각각 얼마나 되는지 구하겠습니다.

예측

아인슈타인의 선택지(숨은 변수)는 무엇을 예측하나요?

아인슈타인의 선택지가 옳다면, 주어진 e+e+ee- 쌍은 각자의 스핀에 대한 벡터 성분 집합을 가집니다. 예를 들어, 전자는 성분 (+a^,b^,+c^)(+\hat{a},-\hat{b}, +\hat{c})를 가질 수 있고, 이 경우 양전자는 반드시 (a^,+b^,c^)(-\hat{a},+\hat{b}, -\hat{c})를 가져야 합니다. 여기서는 각 축에 대한 투영의 부호만 명시할 뿐, 크기는 지정하지 않습니다. 이러한 붕괴가 매우 많은 수 NN번 일어나도록 하고, 아래 표를 채우기 위한 측정값을 수집한다고 가정해 봅시다.

모집단입자 1입자 2
N1N_1(+a^,+b^,+c^)(+\hat{a},+\hat{b},+\hat{c})(a^,b^,c^)(-\hat{a},-\hat{b},-\hat{c})
N2N_2(+a^,+b^,c^)(+\hat{a},+\hat{b},-\hat{c})(a^,b^,+c^)(-\hat{a},-\hat{b},+\hat{c})
N3N_3(+a^,b^,+c^)(+\hat{a},-\hat{b},+\hat{c})(a^,+b^,c^)(-\hat{a},+\hat{b},-\hat{c})
N4N_4(+a^,b^,c^)(+\hat{a},-\hat{b},-\hat{c})(a^,+b^,+c^)(-\hat{a},+\hat{b},+\hat{c})
N5N_5(a^,+b^,+c^)(-\hat{a},+\hat{b},+\hat{c})(+a^,b^,c^)(+\hat{a},-\hat{b},-\hat{c})
N6N_6(a^,+b^,c^)(-\hat{a},+\hat{b},-\hat{c})(+a^,b^,+c^)(+\hat{a},-\hat{b},+\hat{c})
N7N_7(a^,b^,+c^)(-\hat{a},-\hat{b},+\hat{c})(+a^,+b^,c^)(+\hat{a},+\hat{b},-\hat{c})
N8N_8(a^,b^,c^)(-\hat{a},-\hat{b},-\hat{c})(+a^,+b^,+c^)(+\hat{a},+\hat{b},+\hat{c})

위 표의 각 경우에 대해, 루카스와 리아나가 축을 선택하는 방법은 aaaa, abab, acac, baba, bbbb, bcbc, caca, cbcb, cccc로 총 9가지입니다. 이 표를 읽으면, 1행과 8행에서 두 관측자가 같은 부호를 측정할 확률은 0임을 알 수 있습니다. 2행부터 7행까지는 같은 부호를 얻을 수 있는 경우가 4가지 있으며, 이를 2행에 대해서만 살펴봐요.

같은 부호: acac, bcbc, caca, cbcb 반대 부호: aaaa, abab, baba, bbbb, cccc

따라서 아인슈타인의 선택지가 양자 상태에 대한 올바른 해석이라면, 모든 가능한 모집단을 합산했을 때 루카스와 리아나가 무작위로 선택한 축에서 스핀 투영의 부호가 같을 전체 확률은 다음과 같습니다. Psame=1iNi49(N2+N3+N4+N5+N6+N7)49 P_\text{same}=\frac{1}{\sum_i{N_i}} \frac{4}{9} (N_2+N_3+N_4+N_5+N_6+N_7)\leq \frac{4}{9} 등호는 N1=N8=0N_1=N_8=0일 때만 성립합니다.

이해도 확인

아래 질문들을 읽고 답을 생각해본 뒤, 삼각형을 클릭하여 정답을 확인하세요.

위 표의 2행에 대해 루카스와 리아나가 같은 부호의 측정값을 얻는 모든 경우와 다른 부호를 얻는 모든 경우를 나열했습니다. 3행에 대해서도 같은 작업을 수행하세요.

정답:

같은 부호: abab, baba, bcbc, cbcb

반대 부호: aaaa, acac, bbbb, caca, cccc

위 표는 "모집단"을 나타내며, 숨은 변수 처리가 옳다면 자연이 각 유형의 지시를 얼마나 생성하는지 알 수 없음을 의미합니다. N1N_1부터 N8N_8까지의 분포가 어떠하든, 측정에서 같은 부호를 얻을 확률이 항상 4/9 이하임을 보이세요.

정답:

총 측정 시행 횟수를 iNi=Ntot\sum_i{N_i} = N_{tot}으로 일정하다고 가정하겠습니다. N1=N8=0N_1=N_8=0인 특수한 경우, 식은 다음과 같이 단순화됩니다.

Psame=1N2+N3+N4+N5+N6+N7×49×(N2+N3+N4+N5+N6+N7)=1Ntot×49×Ntot=49P_{same}=\frac{1}{N_2+N_3+N_4+N_5+N_6+N_7} \times \frac{4}{9} \times (N_2+N_3+N_4+N_5+N_6+N_7) = \frac{1}{N_{tot}} \times \frac{4}{9} \times N_{tot}= \frac{4}{9}

이제 N10N_1 \neq 0 또는 N80N_8 \neq 0이라고 가정해 봅시다. 그러면

Psame=1N1+N2+N3+N4+N5+N6+N7+N8×49×(N2+N3+N4+N5+N6+N7)=49P_{same}=\frac{1}{N'_1+N'_2+N'_3+N'_4+N'_5+N'_6+N'_7+N'_8} \times \frac{4}{9} \times (N'_2+N'_3+N'_4+N'_5+N'_6+N'_7) = \frac{4}{9}

전체 시행 횟수의 합 NtotN_tot은 이전과 같습니다. 그러나 N1N'_1 또는 N8N'_8이 0에서 증가했으므로, N2N'_2부터 N7N'_7까지의 합은 이전보다 작아집니다. 특히, N2N'_2부터 N7N'_7까지의 합은 NtotN_{tot}보다 작습니다. 따라서

Psame=1Ntot×49×(N2+N3+N4+N5+N6+N7)<49P_{same}=\frac{1}{N_{tot}} \times \frac{4}{9} \times (N'_2+N'_3+N'_4+N'_5+N'_6+N'_7) < \frac{4}{9}

모든 가능한 경우를 종합하면, Psame49P_{same} \leq \frac{4}{9}가 성립합니다.

일반화

앞선 처리에서는 특정 축에 따른 측정을 고려했습니다. 물론 어떤 축으로도 측정이 가능합니다. 두 입자의 스핀 벡터를 a\vec{a}b\vec{b}라고 부르겠습니다. λ\lambda를 숨은 변수라 하면, 이 변수에 대한 특정 값이 두 입자계의 상태에 대응됩니다. ρ(λ)\rho(\lambda)λ\lambda에 대한 확률 밀도라 하겠습니다. 마지막으로, A(a,λ)A(\vec{a},\lambda)B(b,λ)B(\vec{b},\lambda)를 스핀 벡터와 숨은 변수가 주어졌을 때 각 입자(A 또는 B)에 수행된 측정의 미리 결정된 결과라고 표기합니다. 핵심적으로, AAb\vec{b}와 독립적이고 BBa\vec{a}와 독립적임을 주목하세요. 이제 A와 B에 대한 측정 사이의 상관관계와 관련된 여러 질문을 제기할 수 있습니다. 특히, 다음으로 주어지는 기댓값에 대해 질문할 수 있습니다.

E(a,b)dλρ(λ)A(a,λ)B(b,λ)E(\vec{a},\vec{b})\equiv\int{d\lambda \rho(\lambda)A(\vec{a},\lambda)B(\vec{b},\lambda)}

A(a,λ)1A(\vec{a},\lambda)\leq 1, B(b,λ)1B(\vec{b},\lambda)\leq 1, 그리고 ρ(λ)\rho(\lambda)의 정규화와 같은 이 값들에 대한 표준적인 가정 하에서, 두 입자 간의 상관관계가 다음 관계를 따름을 보일 수 있습니다.

E(a,b)E(a,d)+E(c,d)+E(c,b)2,|E(\vec{a},\vec{b})-E(\vec{a},\vec{d})|+|E(\vec{c},\vec{d})+E(\vec{c},\vec{b})|\leq 2,

여기서 a\vec{a}b\vec{b}는 계의 스핀 상태이고, c\vec{c}d\vec{d}는 기준 스핀 상태(계의 다른 가능한 스핀 상태)입니다. 이것은 현재 "벨 부등식"으로 알려진 일련의 부등식 중 하나입니다. 여기서는 이 일반적인 형태를 사용하지 않겠습니다. 대신, 그 설정을 양자 Circuit에 매핑할 수 있도록 하나의 특정 실험 설정에 집중하겠습니다.

Born의 선택(비결정론적 양자역학)은 무엇을 예측하나요?

Lucas는 어떤 축을 선택해 입자 하나의 스핀이 양의 방향인지 음의 방향인지를 측정합니다. 그가 어떤 결과를 얻든, zz 축이 그 방향이 되도록 좌표계를 설정합시다. 그러면 메손이 붕괴된 직후, 아무런 측정이 이루어지기 전의 초기 상태를 다음과 같이 쓸 수 있습니다.

ψ=12(+LRL+R)|\psi \rangle =\frac{1}{\sqrt{2}}(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R)

Rihanna는 Lucas의 축으로부터 각도 θ\theta 만큼 떨어진 다른 방향을 따라 자신의 입자 스핀을 측정합니다. 임의의 방향 n^\hat{n}을 따른 스핀 연산자는 다음과 같습니다.

S^n^=2[cos(θ)sin(θ)eiϕsin(θ)eiϕcos(θ)]\hat{S}_{\hat{n}}=\frac{\hbar}{2}\begin{bmatrix} \cos(\theta) & \sin(\theta) e^{-i\phi} \\ \sin(\theta) e^{i\phi} & -\cos(\theta) \end{bmatrix}

이 연산자의 고유 상태는 다음과 같습니다.

+n^=cos(θ/2)0+sin(θ/2)eiϕ1n^=sin(θ/2)0cos(θ/2)eiϕ1|+\rangle_{\hat{n}}=\cos(\theta/2)|0\rangle+\sin(\theta/2)e^{i\phi}|1\rangle \\ |-\rangle_{\hat{n}}=\sin(\theta/2)|0\rangle-\cos(\theta/2)e^{i\phi}|1\rangle

이해도 확인

아래 문제를 읽고 답을 생각해 본 후, 삼각형을 클릭하여 풀이를 확인하세요.

+n^|+\rangle_{\hat{n}}이 위의 연산자 S^n^\hat{S}_{\hat{n}}의 고유 상태임을 검증하고, 고유값을 구하세요.

답:

S^n^+n^=2[cos(θ)sin(θ)eiϕsin(θ)eiϕcos(θ)][cos(θ/2)sin(θ/2)eiϕ]\hat{S}_{\hat{n}}|+\rangle_{\hat{n}}=\frac{\hbar}{2}\begin{bmatrix} \cos(\theta) & \sin(\theta) e^{-i\phi} \\ \sin(\theta) e^{i\phi} & -\cos(\theta) \end{bmatrix} \begin{bmatrix} \cos(\theta/2) \\ \sin(\theta/2)e^{i\phi}\end{bmatrix}=2[cos(θ)cos(θ/2)+sin(θ)sin(θ/2)eiϕeiϕcos(θ/2)sin(θ)eiϕcos(θ)sin(θ/2)eiϕ]=\frac{\hbar}{2}\begin{bmatrix} \cos(\theta)\cos(\theta/2) + \sin(\theta)\sin(\theta/2)e^{i\phi} e^{-i\phi} \\ \cos(\theta/2)\sin(\theta) e^{i\phi} -\cos(\theta)\sin(\theta/2)e^{i\phi} \end{bmatrix}

cos(θ)=cos2(θ/2)sin2(θ/2)\cos(\theta)=\cos^2(\theta/2)-\sin^2(\theta/2)sin(θ)=2cos(θ/2)sin(θ/2)\sin(\theta)=2\cos(\theta/2)\sin(\theta/2)를 이용하면,

=2[(cos(θ)+2sin2(θ/2))cos(θ/2)(2cos2(θ/2)cos2(θ/2)+sin2(θ/2))sin(θ/2)eiϕ]=\frac{\hbar}{2}\begin{bmatrix} \left(\cos(\theta) + 2\sin^2(\theta/2)\right) \cos(\theta/2) \\ \left(2\cos^2(\theta/2) -\cos^2(\theta/2)+\sin^2(\theta/2)\right)\sin(\theta/2)e^{i\phi} \end{bmatrix}=2[(cos2(θ/2)sin2(θ/2)+2sin2(θ/2))cos(θ/2)(2cos2(θ/2)cos2(θ/2)+sin2(θ/2))sin(θ/2)eiϕ]=\frac{\hbar}{2}\begin{bmatrix} \left(\cos^2(\theta/2)-\sin^2(\theta/2) + 2\sin^2(\theta/2)\right) \cos(\theta/2) \\ \left(2\cos^2(\theta/2) -\cos^2(\theta/2)+\sin^2(\theta/2)\right)\sin(\theta/2)e^{i\phi} \end{bmatrix}=2[cos(θ/2)sin(θ/2)eiϕ]=\frac{\hbar}{2}\begin{bmatrix} \cos(\theta/2) \\ \sin(\theta/2)e^{i\phi} \end{bmatrix}

이로써 +n^|+\rangle_{\hat{n}}이 고유 상태이고 해당 고유값이 2\frac{\hbar}{2}임이 증명됩니다.

Lucas가 자신의 선택한 축 방향으로 스핀을 양의 방향 +|+\rangle으로 측정하고, Rihanna 역시 자신의 선택한 방향으로 양의 스핀 +n^|+\rangle_{\hat{n}}을 측정할 확률은 다음과 같습니다.

P++=(L+R,n^+)ψ2P_{++}=\left|\left(_L\langle+|_{R,\hat{n}}\langle+|\right)|\psi\rangle\right|^2 P++=(L+R(cos(θ/2)++sin(θ/2)eiϕ))12(+LRL+R)2P_{++}=\left| \left(_L\langle+|_R\left(\cos(\theta/2)\langle+|+\sin(\theta/2)e^{-i\phi}\langle-|\right)\right) \frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right) \right|^2 P++=12(L+R(cos(θ/2)++sin(θ/2)eiϕ))(+LR)2P_{++}=\frac{1}{2}\left| \left(_L\langle+|_R\left(\cos(\theta/2)\langle+|+\sin(\theta/2)e^{-i\phi}\langle-|\right)\right) \left(|+\rangle_L|-\rangle_R\right) \right|^2 P++=12(sin(θ/2)eiϕpR)R2P_{++}=\frac{1}{2}\left| \left(\sin(\theta/2)e^{-i\phi}\vphantom{p}_R\langle-|\right) |-\rangle_R \right|^2 P++=12sin2(θ/2)P_{++}=\frac{1}{2}\sin^2(\theta/2)

이해도 확인

아래 문제를 읽고 답을 생각해 본 후, 삼각형을 클릭하여 풀이를 확인하세요.

PP_{--}에 대해서도 같은 계산을 수행하세요. 이 값 역시 12sin2(θ)\frac{1}{2}\sin^2(\theta)임을 검증하세요.

답:

P=(LR,n^+)ψ2P_{--}=\left|\left(_L\langle-|_{R,\hat{-n}}\langle+|\right)|\psi\rangle\right|^2P=(LR(sin(θ/2)+cos(θ/2)eiϕ))12(+LRL+R)2P_{--}=\left| \left(_L\langle-|_R\left(\sin(\theta/2)\langle+|-\cos(\theta/2)e^{-i\phi}\langle-|\right)\right) \frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right) \right|^2P=12(LR(sin(θ/2)+cos(θ/2)eiϕ))(L+R)2P_{--}=\frac{1}{2}\left| \left(_L\langle-|_R\left(\sin(\theta/2)\langle+|-\cos(\theta/2)e^{-i\phi}\langle-|\right)\right) \left(-|-\rangle_L|+\rangle_R\right) \right|^2P=12(sin(θ/2)pR+)+R2P_{--}=\frac{1}{2}\left| \left(\sin(\theta/2) \vphantom{p}_R\langle+|\right) |+\rangle_R \right|^2P=12sin2(θ/2)P_{--}=\frac{1}{2}\sin^2(\theta/2)

이 두 결과를 더하면, 두 측정축에서 부호가 같을 확률은 Psame=sin2(θ/2)P_{\text{same}}=\sin^2(\theta/2)임을 알 수 있습니다.

이해도 확인

아래 문제를 읽고 답을 생각해 본 후, 삼각형을 클릭하여 풀이를 확인하세요.

이 결과의 수학적 검증을 위해 어떤 방법을 사용할 수 있을까요? 여기서는 자연과의 일치를 확인하는 것이 아니라, 계산 과정에서 오류가 없는지를 확인하는 것입니다.

답:

(1) Pdiff=cos2(θ/2)P_{\text{diff}}=\cos^2(\theta/2)에 대해 같은 계산을 수행하여 확률 보존을 검증하세요.

(2) 알려진 경우를 확인하세요. θ=0\theta = 0을 대입합니다. 이 경우 PsameP_{\text{same}}은 두 관측자가 동일한 축을 따라 스핀을 측정하는 경우에 해당하는데, 이는 각운동량 보존 법칙에 위배됩니다. 따라서 그 확률이 0이어야 하고, 실제로 θ=0\theta = 0을 대입하면 sin2(0/2)=0\sin^2(0/2) = 0이 됩니다.

(3) 또 다른 알려진 경우를 확인하세요. θ=π\theta = \pi를 대입해 보세요. 어떤 결과가 나와야 할지 생각해 보세요. 12\frac{1}{2}에 주의하세요.

우리는 구체적으로 세 축이 서로 120deg120\deg 간격으로 배치된 경우를 살펴보고 있습니다. Lucas가 어떤 방향(±a\pm a, ±b\pm b, 또는 ±c\pm c)을 측정하든, 그 방향을 zz라고 부르겠습니다. 그러면 Rihanna는 ±a\pm a, ±b\pm b, 또는 ±c\pm c 중 하나를 무작위로 선택해 측정합니다. Rihanna의 선택이 Lucas의 선택과 같다면(부호까지 포함하여), 두 사람 모두 zz를 측정하는 것이므로 Rihanna가 +z+z를 측정할 확률은 0입니다. 이는 Rihanna의 축 선택이 Lucas의 선택과 독립적이기 때문에, 전체 경우의 1/3에 해당합니다. 그 외의 경우, Rihanna는 zz로부터 120deg=2π/3120\deg = 2\pi/3 라디안 떨어진 축(전체의 1/3)이나, 240deg=4π/3240\deg = 4\pi/3 라디안 떨어진 축(전체의 1/3)을 측정하게 됩니다. 물론 각 축에서 스핀은 양 또는 음의 방향으로 측정될 수 있습니다. 이를 통해 Lucas와 Rihanna가 같은 부호를 얻을 전체 확률을 구할 수 있습니다.

Psame=13(0+sin2(π/3)+sin2(2π/3))=13(0+34+34)=12P_{\text{same}} = \frac{1}{3}\left( 0 + \sin^2(\pi/3) + \sin^2(2\pi/3) \right) = \frac{1}{3}\left( 0 + \frac{3}{4} + \frac{3}{4} \right) = \frac{1}{2}

놀랍습니다

방금 우리는 다음을 보였습니다.

(Psame)max, Einstein<(Psame)max, Born.(P_\text{same})_\text{max, Einstein}<(P_\text{same})_\text{max, Born}.

잠시 멈추고 생각해 봅시다.

아인슈타인의 선택과 Born의 선택은 측정 이전에 일어나는 일에 대한 설명만 다를 뿐, 항상 같은 결과를 낼 것처럼 보였습니다. 그런데 스핀 측정의 부호를 특정 축에 따라 미리 결정하는 숨은 변수가 있다고 가정했을 때, 같은 부호를 측정할 확률에 대한 제약 (Psame)Einstein49(P_{\text{same}})_\text{Einstein}\leq\frac{4}{9}이 도출되었습니다. 반면, 양자역학에서와 같은 확률 분포를 가정했을 때는 다른 값 (Psame)Born=12(P_{\text{same}})_\text{Born}=\frac{1}{2}가 얻어졌습니다. 양자역학의 예측값이 숨은 변수 이론이 허용하는 범위보다 더 큽니다. 따라서 실험을 통해 양자역학적 상태가 측정 이전에 자연에 의해 결정되어 있는지, 아니면 진정한 확률론적 중첩 상태에 있는지를 실제로 알아낼 수 있습니다.

이 실험은 주로 광자를 이용한 다양한 물리계에서 수차례 수행되었습니다. 측정에서의 편향, 측정의 타이밍(동시성), 그리고 그 외 여러 미묘한 사항들이 고려되어야 합니다. 수십 년에 걸쳐 이러한 미묘한 문제들에 대한 우려는 꾸준히 해소되어 왔습니다. 현실에 대해 더 많이 알아감에 따라 여전히 실험이 계속 이루어지고 있지만, 지금은 여기서 IBM® 양자 컴퓨터를 사용해 얻게 될 결과가 옳다는 광범위한 합의가 이루어져 있습니다.

실제 양자 컴퓨터로 테스트해 보세요!

위에서 다룬 방식에 따라, Lucas의 측정 방향을 +z+z로 정의하겠습니다. 이는 대수적 접근법에서도 편리했지만, 양자 컴퓨팅에서는 특히 유용합니다. 일반적으로 Qubit의 zz 방향 투영이 측정되기 때문입니다. 우리는 위에서 P++P_{++}에 대해 구한 확률 조건과 동일한 확률을 가지는 양자 Circuit을 만들고 싶습니다. 평면을 ϕ=0\phi=0이 되도록 설정하면 다음을 얻습니다.

P++=(L+R(cos(θ/2)++sin(θ/2)))12(+LRL+R)2P_{++}=\left| \left(_L\langle+|_R\left(\cos(\theta/2)\langle+|+\sin(\theta/2)\langle-|\right)\right) \frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right) \right|^2

논의를 이어가기 위해 IBM 양자 컴퓨터에 대해 몇 가지 알아야 할 사항이 있습니다. 먼저, Qubit은 0=+z|0\rangle = |+\rangle_z 상태로 초기화됩니다. 앞서 언급했듯이, 측정은 zz 축을 따라 이루어집니다. 따라서 목표는 측정 기저 상태 00\langle 0|\langle 0|와 Qubit의 초기 상태 00|0\rangle |0\rangle 사이에 어떤 연산자를 삽입해야 위의 복잡한 식을 얻을 수 있는지 알아내는 것입니다. 이를 위해 양자 컴퓨팅의 기본 Gate를 복습해야 합니다.

XX Gate: NOT 연산에 해당합니다. 단일 Qubit Gate입니다.

X0=1,X1=0X|0\rangle = |1\rangle,\\X|1\rangle=|0\rangle X=[0110]X=\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}

Qiskit에서 XX Gate가 포함된 Circuit을 만들면 다음과 같습니다.

from qiskit import QuantumCircuit

qc = QuantumCircuit(1)
qc.x(0)
qc.draw("mpl")

Output of the previous code cell

HH Hadamard Gate: 중첩 상태를 만듭니다. 단일 Qubit Gate입니다.

H0=12(0+1),H|0\rangle = \frac{1}{2}\left(|0\rangle+|1\rangle\right), H1=12(01)H|1\rangle = \frac{1}{2}\left(|0\rangle-|1\rangle\right) H=12[1111]H=\frac{1}{2}\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}

Hadamard Gate가 포함된 Circuit은 다음과 같이 만듭니다.

qc = QuantumCircuit(1)
qc.h(0)
qc.draw("mpl")

Output of the previous code cell

CNOT 제어-NOT Gate: 이 Gate는 제어(control) Qubit과 타겟(target) Qubit, 두 개의 Qubit을 사용합니다. 제어 Qubit의 상태를 확인하되 제어 Qubit 자체는 변경되지 않습니다. 제어 Qubit이 1|1\rangle 상태이면 타겟 Qubit의 상태를 변경하고, 제어 Qubit이 0|0\rangle 상태이면 아무런 변경도 이루어지지 않습니다. 아래 표기에서 첫 번째 Qubit이 제어이고 두 번째가 타겟이라고 가정합니다.

CNOT00=00,CNOT01=01CNOT10=11CNOT11=10CNOT|00\rangle = |00\rangle, \\ CNOT|01\rangle = |01\rangle \\ CNOT|10\rangle = |11\rangle \\ CNOT|11\rangle = |10\rangle

CNOT Gate는 두 개의 Qubit이 필요하므로 Circuit에서 다소 다르게 표시됩니다. 구현 방법은 다음과 같습니다.

qc = QuantumCircuit(2)
qc.cx(0, 1)
qc.draw("mpl")

Output of the previous code cell

qc.cx(0,1)에서 첫 번째로 나열된 Qubit이 제어이고 두 번째가 타겟입니다. 도식적으로는 "+" 기호 또는 십자가 표시가 있는 쪽이 타겟입니다.

Ry(θ)R_y(\theta) 회전 Y Gate: 상태를 y 축을 중심으로 회전시킵니다. 단일 Qubit Gate입니다.

Ry(θ)0=cos(θ/2)0+sin(θ/2)1,Ry(θ)0=sin(θ/2)0+cos(θ/2)1R_y(\theta)|0\rangle = \cos(\theta/2)|0\rangle+\sin(\theta/2)|1\rangle,\\R_y(\theta)|0\rangle = -\sin(\theta/2)|0\rangle+\cos(\theta/2)|1\rangle Ry(θ)=[cos(θ/2)sin(θ/2)sin(θ/2)cos(θ/2)]R_y(\theta)=\begin{bmatrix} \cos(\theta/2) & -\sin(\theta/2) \\ \sin(\theta/2) & \cos(\theta/2) \end{bmatrix}

마지막으로, 회전 Gate는 Gate의 종류, 회전량, 그리고 Gate가 적용될 Qubit 순서로 지정합니다.

import numpy as np

pi = np.pi

qc = QuantumCircuit(2)
qc.ry(pi / 2, 0)
qc.draw("mpl")

Output of the previous code cell

Gate 이름 ry는 회전이 이루어지는 축을 나타냅니다. 첫 번째 인수 π/2\pi/2는 회전량을 나타내며, 두 번째 인수는 Gate가 적용될 Qubit을 지정합니다.

이해도 확인

아래 질문을 읽고 답을 생각한 후, 삼각형을 클릭하여 답을 확인하세요.

위에서 소개하거나 복습한 문법을 사용하여 서로 다른 네 가지 양자 Gate가 포함된 임의의 양자 Circuit을 만들어 보세요.

답:

물론 가능성은 무한히 많습니다. 다음은 한 가지 예시입니다.

qc=QuantumCircuit(2)
qc.ry(pi/2,0)
qc.cx(1,0)
qc.x(1)
qc.h(0)
qc.cx(0,1)
qc.draw("mpl")

물리적 실험에서 양자 Circuit으로

이러한 Gate들의 연산을 살펴보면, 예를 들어 P++P_{++}의 식에 등장하는 ket:

12(+LRL+R)\frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right)

중첩 상태를 만들기 위한 Hadamard Gate와 얽힘(entanglement)을 생성하기 위한 CNOT Gate가 필요할 것임을 알 수 있습니다.

이제 H, X, CNOT Gate를 사용하여 0L0R|0\rangle_L|0\rangle_R12(+LRL+R)\frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right)로 변환하겠습니다.

12(0L1R1L0R)\frac{1}{\sqrt{2}}\left(|0\rangle_L|1\rangle_R-|1\rangle_L|0\rangle_R\right) 12CNOTLR(0L1R1L1R)\frac{1}{\sqrt{2}}CNOT_{LR}\left(|0\rangle_L|1\rangle_R-|1\rangle_L|1\rangle_R\right)

여기서 CNOTLRCNOT_{LR}은 L을 제어, R을 타겟으로 하는 CNOT Gate를 의미합니다. 이제 상태에서 R 부분을 인수분해할 수 있습니다.

CNOTLR12(0L1L)1R\text{CNOT}_{LR}\frac{1}{\sqrt{2}}\left(|0\rangle_L-|1\rangle_L\right)|1\rangle_R CNOTLRHL1L1R\text{CNOT}_{LR} H_L|1\rangle_L|1\rangle_R CNOTLRHLXLXR0L0R\text{CNOT}_{LR} H_L X_L X_R|0\rangle_L|0\rangle_R

이제 ket을 Qubit의 기본 초기 상태에 작용하는 양자 Gate로 완전히 표현했습니다.

이제 Ry(θ)R_y(\theta)pL0R1\vphantom{p}_L\langle 0|_R\langle 1|에 작용시켜 P++P_{++} 식의 bra를 구할 수 있습니다.

pL0R(cos(θ/2)0+sin(θ/2)1)\vphantom{p}_L\langle0|_R\left(\cos(\theta/2)\langle0|+\sin(\theta/2)\langle1|\right) pL0R(0cos(θ/2)+1sin(θ/2))\vphantom{p}_L\langle0|_R\left(|0\rangle \cos(\theta/2)+|1\rangle \sin(\theta/2)\right)^{\dagger} pL0(Ry,R(θ)0R)\vphantom{p}_L\langle0|\left(R_{y,R}(\theta)|0\rangle_R\right)^{\dagger} pL0R0Ry,R(θ)\vphantom{p}_L\langle0|_R\langle0|R_{y,R}(-\theta)

이 결과들을 합치면 확률 P++P_{++}를 다음과 같이 쓸 수 있습니다.

p++=pL0R0Ry,R(θ)CNOTLRHLXLXR0L0R2p_{++}=\left|\vphantom{p}_L\langle0|_R\langle0|R_{y,R}(-\theta)\text{CNOT}_{LR} H_L X_L X_R|0\rangle_L|0\rangle_R\right|^2

이것이 양자 Circuit을 어떻게 구성해야 하는지에 대한 명확한 지침을 제공합니다. Lucas와 Rihanna가 측정하는 입자의 양자 상태를 나타내는 Qubit에 X, H, CNOT 및 RyR_y Gate를 적용하고 측정을 수행하여 확률을 구합니다.

IBM Quantum은 Qiskit 패턴이라고 부르는 프레임워크를 사용하여 양자 컴퓨팅 문제를 해결할 것을 권장합니다. 이 프레임워크는 다음 단계로 구성됩니다.

  • Step 1: 문제를 양자 Circuit에 매핑하기
  • Step 2: 실제 양자 하드웨어에서 실행할 수 있도록 Circuit 최적화하기
  • Step 3: Runtime Primitives를 사용하여 IBM 양자 컴퓨터에서 작업 실행하기
  • Step 4: 결과 후처리하기

위에서 한 작업 대부분이 Step 1에 해당합니다. Qiskit을 사용하여 결과 Circuit을 구성해 봅시다!

Step 1: 결과를 양자 Circuit에 매핑하기

# We'll begin by importing qiskit and a visualization module so that we can plot a histogram of our results.

from qiskit.visualization import plot_histogram

Rihanna가 축을 선택할 때, 1/3은 Lucas의 축으로부터 2π/32\pi/3 라디안, 1/3은 4π/34\pi/3 라디안, 나머지 1/3은 동일한 축을 선택한다는 점을 기억하세요. 따라서 이 세 가지 경우에 대해 총 3개의 양자 Circuit을 만든 다음 결과를 합산해야 합니다. 첫 번째 Circuit은 자세히 설명하고, 나머지 두 개는 간단히 제시합니다.

# We start by declaring our first quantum circuit, and giving it two qubits (the first "2") and two classical bits for storing outputs (the second "2")
# Define registers
from qiskit import ClassicalRegister, QuantumRegister

qr = QuantumRegister(2, "q")
cr = ClassicalRegister(2, "c")
qc1 = QuantumCircuit(qr, cr)

# We know from our analysis above that we need an X gate acting on each of the qubits (L and R)
qc1.x([0, 1])
# We need a Hadamard gate acting on Lucas's qubit, which we're calling the 0th qubit.
qc1.h(0)
# The controlled-NOT gate uses the 0th qubit (Lucas's) as the control and the 1st qubit (Rihanna's) as the target.
qc1.cx(0, 1)
# The rotation gate acts on the 1st qubit (Rihanna's) and has an argument of -2 pi/3
qc1.ry(-2 * pi / 3, 1)
# Finally, we want to measure all the qubits in the circuit to obtain measurement probabilities, and store the results in the classical bits.
qc1.measure([0, 1], [0, 1])
# Now we can draw the first of the three circuits that will check Bell's inequality for us.
qc1.draw(output="mpl")

Output of the previous code cell

아래 코드는 세 개의 Circuit을 더 간결한 방식으로 구성합니다. 세 Circuit 간의 유일한 차이점은 두 Qubit을 yy축 주위로 회전시키는 각도뿐입니다.

qcs = [QuantumCircuit(2, 2), QuantumCircuit(2, 2), QuantumCircuit(2, 2)]
for i in range(0, len(qcs)):
qcs[i].x([0, 1])
qcs[i].h(0)
qcs[i].cx(0, 1)

qcs[0].ry(-2 * pi / 3, 1)
qcs[1].ry(-4 * pi / 3, 1)
qcs[2].ry(-2 * pi / 3, 1)
qcs[2].ry(-4 * pi / 3, 1)

for i in range(0, len(qcs)):
qcs[i].barrier()
qcs[i].measure([0, 1], [0, 1])

counts_list = [None] * len(qcs)
qcs[0].draw(output="mpl")

Output of the previous code cell

이제 StatevectorSampler라는 Qiskit 프리미티브를 사용하겠습니다. Sampler는 시스템의 모든 가능한 상태를 샘플링하고 각 상태를 얻을 확률(또는 경우에 따라 준확률)을 반환하도록 설계된 프리미티브입니다. "shots" 수를 지정하고 각 상태의 "counts"를 확인할 수 있습니다.

from qiskit.primitives import StatevectorSampler

sampler = StatevectorSampler()

# Start a job that will return shots for all 100 parameter value sets.
for i in range(0, len(qcs)):
pub = qcs[i]
job = sampler.run([pub], shots=10000)
# Extract the result for the 0th pub (this example only has one pub).
result = job.result()
data_pub = result[0].data
counts = data_pub.c.get_counts()
counts_list[i] = counts
# plot_histogram(counts)

각 Circuit의 counts를 살펴보면, 두 개는 거의 동일하고 세 번째는 꽤 다른 것을 알 수 있습니다.

plot_histogram(counts_list)

Output of the previous code cell

가능한 결과의 목록을 만들고 세 Circuit 각각에서 각 상태의 모든 counts를 합산하여 전체 확률을 구해 보겠습니다.

outcomes = ("00", "01", "10", "11")

# Here we convert "None"s into 0's so that we can sum.

for i in range(0, len(qcs)):
for j in range(0, len(outcomes)):
if counts_list[i].get(outcomes[j]) is None:
counts_list[i].update({outcomes[j]: 0})

# Here we create a dictionary that holds all the outcomes and sums over their appearances in each of the circuits.

total_counts = {}
for i in range(0, len(outcomes)):
total_counts[outcomes[i]] = sum(
counts_list[j].get(outcomes[i]) for j in range(0, len(qcs))
)

이제 각 결과의 총 counts를 출력하고 히스토그램을 그려 볼 수 있습니다.

print(total_counts)
plot_histogram(total_counts)
{'00': 7493, '01': 7432, '10': 7605, '11': 7470}

Output of the previous code cell

이해도 확인

아래 질문을 읽고 답을 생각한 다음, 삼각형을 클릭하여 해답을 확인하세요.

위의 그림은 숨은 변수와 결정론이 예측한 결과와 일치합니까? 아니면 확률론적(비국소적) 양자역학과 일치합니까?

답:

이 결과는 확률론적이고 비국소적인 양자역학과 일치합니다. 숨은 변수 이론은 같은 부호를 얻을 확률이 4/9 이하임을 예측했습니다. 반면 양자역학은 50%의 확률을 예측했습니다. 위의 히스토그램은 00 또는 11이 나올 확률이 약 49.97%임을 보여 줍니다. 이는 확률론적 양자역학의 예측에 매우 가깝습니다. 무엇보다 중요한 것은, 이 값이 숨은 변수 이론에서 허용하는 범위를 초과한다는 점입니다.

이것이 자연에 대해 무언가를 증명합니까?

답:

아닙니다! 우리는 시뮬레이터를 사용하고 있었습니다! 시뮬레이터는 확률론적 양자역학의 법칙에 따라 동작하도록 프로그래밍된 컴퓨터입니다. 어떤 규칙을 제안하고 컴퓨터가 그 규칙을 따르도록 프로그래밍했다면, 컴퓨터가 그 규칙을 잘 따른다는 사실이 그 규칙이 옳다는 증거가 될 수는 없습니다! 이를 증명하는 유일한 방법은 실제 양자 컴퓨터를 사용하는 것입니다!

Step 2: 실제 하드웨어에서 실행하기 위한 양자 Circuit 최적화

처음에는 코드를 디버깅하기 위해 시뮬레이터를 사용했지만, 실제로는 진짜 하드웨어에서 실행하고 싶습니다. 결국 시뮬레이터는 위의 방정식을 바탕으로 양자역학적인 척 흉내 내는 것에 불과합니다. 시뮬레이터가 그 방정식이 맞다고 알려줘도, 우리를 설득하기에는 충분하지 않습니다. 실제 양자 컴퓨터가 무슨 일이 일어나고 있는지 직접 알려주길 원합니다! 그래서 사용할 양자 컴퓨터를 선택하겠습니다. 특정 속성을 원해서 특정 장치를 선택해야 하는 경우도 있지만, 보통은 가장 덜 바쁜 장치를 사용하면 됩니다.

아래에는 처음 사용할 때 자격 증명을 저장하는 코드가 있습니다. 저장 후에는 반드시 노트북에서 이 정보를 삭제하세요. 노트북을 공유할 때 자격 증명이 실수로 공유되지 않도록 하기 위함입니다. 더 자세한 안내는 IBM Cloud 계정 설정신뢰할 수 없는 환경에서 서비스 초기화를 참조하세요.

from qiskit_ibm_runtime import QiskitRuntimeService

# Syntax for first saving your token. Delete these lines after saving your credentials.
# QiskitRuntimeService.save_account(channel='ibm_quantum_platform', instance = '<YOUR_IBM_INSTANCE_CRN>', token='<YOUR-API_KEY>', overwrite=True, set_as_default=True)
# service = QiskitRuntimeService(channel='ibm_quantum_platform')

# Load saved credentials
service = QiskitRuntimeService()

backend = service.least_busy(
operational=True, min_num_qubits=qcs[0].num_qubits, simulator=False
)
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager

target = backend.target
pm = generate_preset_pass_manager(target=target, optimization_level=3)

qcs_isa = qcs

for i in range(0, len(qcs)):
qcs_isa[i] = pm.run(qcs[i])
qcs_isa[i].draw(output="mpl", idle_wires=False, style="iqp")
qcs_isa[2].draw(output="mpl", idle_wires=False, style="iqp")

Output of the previous code cell

Step 3: Runtime 프리미티브를 사용하여 IBM 양자 컴퓨터에서 작업 실행

이제 Circuit을 실제 양자 하드웨어에서 실행할 수 있도록 최적화하고, 시뮬레이터로 코드를 디버깅했으니, 실제 양자 컴퓨터에서 통계를 수집하여 아인슈타인과 보른의 논쟁을 해결할 준비가 되었습니다.

from qiskit_ibm_runtime import SamplerV2 as Sampler
# from qiskit_ibm_runtime import Session
# sampler.options.default_shots = 1000

# Start a job that will return shots for all 100 parameter value sets.
# The best practice is to use a session as shown below. This is available to Premium Plan, Flex Plan, and On-Prem (IBM Quantum Platform API) Plan users.
# result_list = [None] * len(qcs)
# real_counts_list = [None] * len(qcs)
# with Session(backend=backend) as session:
# sampler = Sampler(mode=session)

# for i in range(0, len(qcs)):
# # Define the primitive unified bloc (pub)
# pub = qcs[i]
# job = sampler.run([pub], shots=10000)
# # Extract the result for the 0th pub (this example only has one pub).
# result_list[i] = job.result()
# data_pub = result_list[i][0].data
# counts = data_pub.c.get_counts()
# real_counts_list[i] = counts
# # plot_histogram(counts)

# Open users can still carry out this experiment, but without reserving a session of use, meaning repeated queuing is possible.
from qiskit_ibm_runtime import Batch

batch = Batch(backend=backend)
sampler = Sampler(mode=batch)

result_list = [None] * len(qcs)
real_counts_list = [None] * len(qcs)

for i in range(0, len(qcs)):
# Define the primitive unified bloc (pub)
pub = qcs[i]
job = sampler.run([pub], shots=10000)
# Extract the result for the 0th pub (this example only has one pub).
result_list[i] = job.result()
data_pub = result_list[i][0].data
counts = data_pub.c.get_counts()
real_counts_list[i] = counts

# Close the batch because no context manager was used.
batch.close()
outcomes = ("00", "01", "10", "11")

# Here we convert "None"s into 0's so that we can sum.

for i in range(0, len(qcs)):
for j in range(0, len(outcomes)):
if real_counts_list[i].get(outcomes[j]) is None:
real_counts_list[i].update({outcomes[j]: 0})

# Here we create a dictionary that holds all the outcomes and sums over their appearances in each of the circuits.

real_total_counts = {}
for i in range(0, len(outcomes)):
real_total_counts[outcomes[i]] = sum(
real_counts_list[j].get(outcomes[i]) for j in range(0, len(qcs))
)

print(real_total_counts)
plot_histogram(real_total_counts)
{'00': 7542, '01': 7503, '10': 7304, '11': 7651}

Output of the previous code cell

# This syntax allows you to run the job on a simulator, in case you have exhausted your allotted time on real IBM quantum computers.
# But we strongly advise running this on real quantum computers, since this is meant to be a check of the behavior of real quantum systems.

# This uses a local simulator
# from qiskit_aer import AerSimulator

# This generates a simulator that mimics the real quantum system
# backend_sim = AerSimulator.from_backend(backend)

# Import an estimator, this time from qiskit (we import from Runtime for real hardware)
# from qiskit.primitives import BackendSamplerV2
# sampler = BackendSamplerV2(backend = backend_sim)

# result_list = [None] * len(qcs)
# counts_list = [None] * len(qcs)
# for i in range(0, len(qcs)):
# Define the primitive unified bloc (pub)
# pub = qcs[i]
# job = sampler.run([pub], shots=10000)
# Extract the result for the 0th pub (this example only has one pub).
# result_list[i] = job.result()
# data_pub = result_list[i][0].data
# counts = data_pub.c.get_counts()
# counts_list[i] = counts

# data_pubs = (result_list[0][0].data,result_list[1][0].data,result_list[2][0].data)
# outcomes = ("00", "01", "10", "11")

# Here we convert "None"s into 0's so that we can sum.

# for i in range(0, len(qcs)):
# for j in range(0, len(outcomes)):
# if counts_list[i].get(outcomes[j]) is None:
# counts_list[i].update({outcomes[j]: 0})

# Here we create a dictionary that holds all the outcomes and sums over their appearances in each of the circuits.

# total_counts = {}
# for i in range(0, len(outcomes)):
# total_counts[outcomes[i]] = sum(
# counts_list[j].get(outcomes[i]) for j in range(0, len(qcs))
# )

# print(total_counts)
# plot_histogram(total_counts)
counts_list
[None, None, None]

4단계: 후처리 및 분석

한 걸음 물러서서 요약해 보겠습니다. 숨은 변수 처리 방식과 3개의 오프셋 축을 이용하여, 측정 결과가 같은 부호를 나타낼 확률에 대한 제약을 구했습니다: Psame,hv=4/9P_{same,hv} =4/9. 이어서 양자역학에서와 같은 확률 분포를 가정하여 그 확률의 __다른 값__을 얻었습니다: Psame,gm=1/2P_{same,gm} = 1/2. 양자역학의 예측값은 숨은 변수 처리 방식이 허용하는 최댓값보다 큽니다. 따라서 양자역학적 상태가 측정 이전에 자연에 의해 이미 결정되는지, 아니면 가능한 상태들의 확률적 중첩에 있는지를 실험으로 확인할 수 있습니다.

우리는 양자 Circuit을 설계할 때, 루카스와 리한나가 스핀 투영의 부호 중 하나를 측정하는 경우에 해당하는 네 가지 가능한 결과, 즉 00, 01, 10, 11이 나오도록 구성했습니다. 00과 11의 경우에는 루카스와 리한나가 같은 부호를 측정하고, 01과 10의 경우에는 반대 부호를 측정합니다. 매우 좋은 근사로, 루카스와 리한나가 같은 부호를 얻을 확률이 약 50%임을 알 수 있는데, 이는 4/94/9보다 분명히 큽니다. 이는 그러한 확률 분포를 설명할 수 있는 숨은 변수 집합이 존재하지 않으며, 숨은 변수 처리 방식이 실험과 양립하지 않는다는 것을 의미합니다.

양자역학적 실험 결과에 대한 다양한 해석이 있으며, 실험 설정에는 때때로 재검토되는 많은 미묘한 점들이 존재합니다. 그러나 지금까지 양자역학의 원리와 양자 상태의 확률적 해석은 실험 결과를 정확하게 기술해 왔습니다. 막스 보른이 옳았던 것으로 보입니다.

잠시 이 사실의 의미를 되새겨 보겠습니다. 두 입자가 붕괴 사건에서 생성되어 각각 다른 방향으로 이동하며, 경우에 따라 오랜 시간 동안 멀리 떨어져 있을 수 있습니다. 이 두 입자의 스핀은 어떠한 명확한 상태에 있지 않으며, 미래 측정 결과를 결정할 숨은 변수 정보를 지니고 있지 않습니다. 그러나 한 입자를 (+z+z 방향으로, 예를 들어) 측정하면, 다른 입자의 스핀에 대한 zz 방향 측정 결과가 반드시 결정됩니다(z-z이어야 합니다). 이는 한 입자의 물리가, 아마도 멀리 떨어져 있는 다른 입자에 가해지는 행위에 의해 결정된다는 것을 의미합니다. 이러한 상황은 현실이 "비국소적(non-local)"이라고 불리게 된 이유 중 하나입니다.

우리가 다루어 온 두 입자는 한 입자에 대한 측정이 다른 입자에 영향을 줄 수 있다는 의미에서 어떤 식으로든 "연결"되어 있습니다. 이러한 입자들을 "얽힌(entangled)" 상태에 있다고 말합니다. 얽힘은 단순한 상관관계 이상입니다. 예를 들어, 한쪽으로는 북극이 위를 향한 자석을, 다른 쪽으로는 북극이 아래를 향한 자석을 방출하는 고전적인 기계를 만들 수 있습니다. 이러한 자석들은 완벽하게 반상관될 수 있습니다. 그러나 한쪽을 측정해도 다른 쪽에는 아무런 영향을 미치지 않습니다. 양자역학적 얽힘에서는 입자 A가 불명확한 상태(또는 여러 상태의 혼합)에 있을 수 있으며, 완전히 다른 입자(예: B)에 대한 측정을 통해 입자 A를 명확한 상태로 고정할 수 있습니다. 이와 같은 것은 고전적인 세계에는 존재하지 않습니다.

이는 종종 완전히 새로운 질문과 가능성의 세계로 이어집니다. 그것이 불러일으키는 아이디어들 중 일부는, 양자 컴퓨터에서처럼 얽힘을 계산에 활용하는 것처럼 실재합니다! 일부는 매력적으로 보이지만 결국 실패하는 것으로 드러납니다. 예를 들어 얽힘을 이용해 빛보다 빠르게 정보를 전송하려는 시도가 그렇습니다. 여러분에게 떠오르는 모든 질문을 던져보고, 다른 사람들이 이러한 현상을 어떻게 탐구했는지 읽어보기를 권장합니다. 탐험할 양자역학의 세계가 광대하게 펼쳐져 있습니다. 다음은 여러분이 참고할 수 있는 몇 가지 자료입니다:

IBM Quantum 강좌:

흥미로운 양자역학 논문:

양자역학 교육 자료:

양자역학 교육 연구:

문제

강사는 이 간단한 설문을 통해 노트북이 어떻게 활용되고 있는지 작성하면, 답안 및 일반 교육과정 내 배치 안내가 포함된 버전을 요청할 수 있습니다.

핵심 개념:

  • 양자 상태가 측정 이전에 단순히 알려지지 않은 것인지, 아니면 자연에 의해 미결정된 것인지, 즉 양자역학이 결정론적인지 확률론적인지에 대한 역사적 논쟁이 있었습니다.
  • 숨은 변수, 따라서 국소 실재론은 양자역학의 관측 결과와 양립하지 않습니다. 즉, 양자역학에서 관측되는 상관관계는 단지 우리에게 알려지지 않은 잘 정의된 변수들로 설명될 수 없습니다.
  • 양자역학은 확률론적입니다.
  • 얽힘은 실재하며 관측 가능합니다.
  • 얽힘은 단순한 상관관계가 아닙니다.
  • 실제 세계의 시나리오를 양자 컴퓨터에 매핑할 수 있습니다.
  • 숨은 변수란 자연에 의해 명시되지만 인간에게는 알려지지 않은 양을 말하며, 이 맥락에서는 존재하지 않습니다.

참/거짓 문제:

  1. T/F 알베르트 아인슈타인은 양자역학이 이론으로서 불완전하다고 주장했는데, 그 이유는 양자역학이 결과의 확률만을 기술하고 그 결과를 결정하는 기저 메커니즘은 기술하지 않기 때문이라고 했다.
  2. T/F "숨은 변수"란 두 양자역학적 입자가 얽힐 수 있다는 개념을 말한다.
  3. T/F 상관된 두 시스템은 모두 양자역학적으로 얽혀 있다.
  4. T/F 양자역학적 얽힘은 수학적 계산에서 중요하지만, 실험에서는 관측할 수 없다.
  5. T/F 대부분의 경우, 양자역학은 실험의 정확한 결과를 알려주지 않으며, 특정 결과가 측정될 확률만 알려준다.
  6. T/F 양자역학에서 특정 조건 하에서는, 입자 A와 B가 접촉하지 않고 어떤 입자도 교환하지 않더라도, 입자 B의 상태가 입자 A의 상태에 영향을 미칠 수 있다.
  7. T/F 실제 세계의 실험을 양자 Circuit에 매핑할 수 있다.

객관식 문제:

  1. 스핀이 0인 입자가 두 개의 스핀 1/2 입자 A와 B로 붕괴한다고 가정합니다. 입자 A에 대한 측정 결과 스핀이 +z+z 방향의 투영값을 가진다고 밝혀졌습니다. 이제 입자 B는

    • a. 반드시 z-z 방향의 스핀 투영값을 갖는다
    • b. 반드시 x-x 방향의 스핀 투영값을 갖는다
    • c. 반드시 y-y 방향의 스핀 투영값을 갖는다
    • d. 어떤 축으로 측정하더라도 반드시 음의 스핀 투영값을 갖는다
  2. 스핀이 0인 입자가 두 개의 스핀 1/2 입자 A와 B로 붕괴합니다. 입자 A가 +z+z 방향의 투영값을 갖는다고 측정되었을 때, 입자 B에 대한 측정에서 가능한 투영값은 무엇입니까? 해당하는 것을 모두 고르세요.

    • a. +x+x
    • b. x-x
    • c. +y+y
    • d. y-y
    • e. +z+z
    • f. z-z
  3. 스핀이 0인 입자가 두 개의 스핀 1/2 입자 A와 B로 붕괴한다고 가정합니다. 어떤 측정도 이루어지기 전 입자 A의 상태를 가장 잘 설명하는 것은 무엇입니까?

    • a. 입자 A의 스핀은 +z+z 방향이다.
    • b. 입자 A의 스핀은 z-z 방향이다.
    • c. 입자 A의 스핀은 +x+x 방향이다.
    • d. 입자 A의 스핀은 일부 방향에서는 정의되지만, 다른 방향에서는 그렇지 않다.
    • e. 입자 A의 스핀 방향은 어떠한 측정도 이루어지기 전에는 자연에 의해 미결정이다.
  4. Hadamard Gate에 대해 옳은 것은 무엇입니까? 해당하는 것을 모두 고르세요.

    • a. H0=12(0+1)H|0\rangle = \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)
    • b. H0=12(01)H|0\rangle = \frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)
    • c. H12(01)=0H \frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)=|0\rangle
    • d. H12(0+1)=0H \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)=|0\rangle
  5. X Gate에 대해 옳은 것은 무엇입니까? 해당하는 것을 모두 고르세요.

    • a. X0=1X|0\rangle = |1\rangle
    • b. X0=12(01)X|0\rangle = \frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)
    • c. X0=0X|0\rangle = -|0\rangle
    • d. X1=0X|1\rangle = |0\rangle
    • e. X12(01)=X12(10)X\frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)=X\frac{1}{\sqrt{2}}(|1\rangle-|0\rangle)
  6. 다음 중 두 Qubit Gate는 무엇입니까?

    • a. X
    • b. Ry(θ)R_y(\theta)
    • c. H
    • d. CNOT
  7. Qubit이 0|0\rangle 상태에 있다고 가정합니다. 이 Qubit을 측정했을 때 1|1\rangle 상태로 측정될 확률은 얼마입니까?

    • a. 잡음 없는 시뮬레이터에서는 정확히 100%, 실제 양자 컴퓨터에서는 약 100%
    • b. 잡음 없는 시뮬레이터에서는 약 100%, 실제 양자 컴퓨터에서는 정확히 100%
    • c. 잡음 없는 시뮬레이터에서는 정확히 0%, 실제 양자 컴퓨터에서는 약 0%
    • d. 잡음 없는 시뮬레이터에서는 약 0%, 실제 양자 컴퓨터에서는 정확히 0%

토론 문제:

  1. 친구 A, B, C가 이 실험 결과인 벨 부등식(Bell's Inequality)에 대해 토론하고 있습니다. 구체적으로, 그들은 같은 부호의 축을 측정할 양자역학적 확률이 숨은 변수 처리 방식에서 허용하는 것보다 크다는 것을 보여주는 이미지를 보고 있습니다: (Psame)max,QM>(Psame)max,HV(P_\text{same})_\text{max,QM}>(P_\text{same})_\text{max,HV}. 친구 A는 "이것은 우리가 측정 이전에 스핀 상태를 알지 못했다는 것을 의미해."라고 말합니다. 친구 B는 "아니야, 그 이상이야. 이것은 측정 이전에 스핀이 이미 특정 방향을 가리키고 있지 않았다는 것을 의미해. 비록 스핀 상태가 어떤 방식으로든 결정되거나 저장될 수는 있겠지만."이라고 말합니다. 친구 C는 "아니야, 그것보다 더 많은 것을 의미해. 이것은 미래의 스핀 상태가 측정 이전에는 자연에 의해서도 결정되지 않았다는 것을 의미해."라고 말합니다. 여러분은 누구에게 동의하며, 그 이유는 무엇입니까?

  2. 얽힘과 같은 양자역학적 현상이 현실이 비국소적임을 어떻게 나타내는지 설명하세요.

  3. 여기서 얻은 결과를 스스로 확신하기 위해 어떤 추가 실험을 하고 싶습니까?

  4. 벨 부등식은 오직 3개의 등간격 축 aa, bb, cc로만 탐구할 수 있습니까? 다른 수의 축으로도 가능합니까? 어떤 모습일까요? 그래도 숨은 변수 대 확률론적 양자역학이 예측하는 확률에서 차이가 나타납니까?