1994년 당시 뉴저지 벨 연구소의 수학자 피터 쇼어(Peter Shor)는 양자 컴퓨터가 기존 기계보다 기하급수적으로 빠르게 일부 문제를 해결할 수 있는 능력을 가질 수 있음을 증명했습니다. 문제는 '만들어질 수 있을까?'였습니다. 회의론자들은 양자 상태가 너무 섬세하기 때문에 환경이 필연적으로 양자 컴퓨터의 정보를 뒤섞어 전혀 양자가 아닌 상태로 만들 것이라고 주장했습니다.
1년 후 쇼어가 대답했습니다. 기존의 오류 수정 방식은 오류를 확인하기 위해 개별 비트를 측정했지만, 이러한 접근 방식은 양자 비트, 즉 "큐비트"에서는 작동하지 않습니다. 왜냐하면 모든 측정으로 인해 양자 상태가 파괴되고 그에 따른 계산도 파괴되기 때문입니다. Shor는 큐비트 자체의 상태를 측정하지 않고 오류가 발생했는지 여부를 감지하는 방법을 알아냈습니다. 쇼어의 코드는 양자 오류 정정 분야의 시작을 알렸습니다.
분야가 번성했습니다. 대부분의 물리학자들은 이를 강력한 양자 컴퓨터를 구축하기 위한 유일한 길로 보고 있습니다. 캘리포니아 공과대학(California Institute of Technology)의 물리학자인 존 프리스킬(John Preskill)은 “우리는 양자 컴퓨터 없이는 정말 어려운 문제를 해결할 수 있을 정도로 양자 컴퓨터를 확장할 수 없습니다.
일반적인 양자 컴퓨팅과 마찬가지로 오류 수정 코드를 개발하는 것과 이를 작동하는 기계에 구현하는 것은 별개의 문제입니다. 그러나 10월 초 메릴랜드 대학의 물리학자인 크리스 먼로(Chris Monroe)가 이끄는 연구원들은 쇼어의 회로와 같은 오류 수정 회로를 실행하는 데 필요한 많은 요소를 시연했다고 보고했습니다.
그렇다면 Shor는 자신이 직면한 난제를 어떻게 해결했습니까? 그는 양자역학의 복잡성을 장점으로 활용했습니다.
반복 반복 반복
Shor는 각 정보 비트의 복사본을 만든 다음 주기적으로 해당 복사본을 서로 확인하는 고전적인 중계기 코드를 따라 자신의 프로토콜을 모델링했습니다. 비트 중 하나가 다른 비트와 다른 경우 컴퓨터는 오류를 수정하고 계산을 계속할 수 있습니다.
Shor는 이것의 양자 버전을 설계했습니다. 그는 3개의 개별 "물리적" 큐비트를 사용하여 정보의 단일 큐비트, 즉 "논리적" 큐비트를 인코딩했습니다. 하지만 Shor의 양자 중계기 코드는 클래식 버전과 완전히 동일할 수는 없습니다. 양자 계산의 본질적인 힘은 큐비트가 0과 1의 조합으로 동시에 존재하는 '중첩'으로 존재할 수 있다는 사실에서 비롯됩니다. 양자 상태를 측정하면 중첩이 파괴되기 때문에 오류가 발생했는지 확인할 수 있는 직접적인 방법이 없었습니다.
대신 그는 세 개의 물리적 큐비트가 서로 동일한 상태에 있는지 알 수 있는 방법을 찾았습니다. 큐비트 중 하나가 다른 경우 오류가 발생했음을 나타냅니다.
이 작업은 간단한 논리 퍼즐을 푸는 것과 다르지 않습니다. 똑같이 생긴 공 세 개가 주어졌는데, 공 중 하나의 무게가 다를 수도 있습니다. 간단한 저울도 있습니다. 어떤 측정을 통해 혼합물에 이상한 것이 있는지 판단할 수 있으며, 만약 그렇다면 어떤 것이 있습니까?
사무엘 벨라스코/Quanta 매거진
답은 먼저 두 개의 공을 골라 무게를 비교한 다음, 공 중 하나를 나머지 공으로 교체하고 다시 확인하는 것입니다. 저울이 두 번 모두 균형을 이루었다면 모든 공은 동일합니다. 한 번만 균형을 맞춘 경우 교체된 공 중 하나는 아웃된 홀수 공입니다. 두 번 모두 저울의 균형이 맞지 않으면 가만히 있던 공이 원인입니다.
Shor의 코드는 저울을 두 개의 추가 "ancilla" 큐비트로 대체합니다. 첫 번째는 첫 번째와 두 번째 물리적 큐비트를 비교합니다. 다른 하나는 두 번째와 세 번째를 비교합니다. 이러한 보조 큐비트의 상태를 측정함으로써 정보를 포함하는 세 개의 큐비트가 어느 하나의 상태를 방해하지 않고 동일한 상태에 있는지 알 수 있습니다.
이 코드는 클래식 컴퓨팅에서 발생할 수 있는 유일한 오류인 비트 플립을 방지합니다. 하지만 큐비트에는 오류의 잠재적인 원인이 하나 더 있습니다.
중첩은 양자 컴퓨팅의 핵심이지만 중요한 것은 큐비트의 가치만이 아닙니다. 큐비트 간의 상대적인 "위상"도 중요합니다. 이 단계를 파동으로 생각할 수 있습니다. 이는 파동의 최고점과 최저점의 위치를 알려줍니다. 두 파동의 위상이 같으면 파동이 동기화됩니다. 충돌하면 건설적으로 간섭하여 크기가 두 배인 단일 파동으로 합쳐집니다. 그러나 파동의 위상이 다른 경우 한 파동이 정점에 있을 때 다른 파동은 최저점에 도달하여 서로 상쇄됩니다.