양자 컴퓨팅은 환경, 농업, 건강, 에너지, 기후, 재료 과학 등 지구의 가장 큰 과제 중 일부를 해결할 것을 약속합니다. 이러한 문제 중 일부에서는 시스템 크기가 증가하면서 일반 컴퓨팅이 점점 어려워지고 있습니다. 크기를 조정하도록 설계된 양자 시스템은 오늘날 가장 강력한 슈퍼컴퓨터의 기능을 초과할 가능성이 높습니다.
이 문서에서는 양자 컴퓨팅의 원칙, 기존 컴퓨팅과 비교하는 방법 및 양자 역학의 원칙을 사용하는 방법에 대해 설명합니다.
양자 컴퓨팅의 기록
원자 및 분자와 같은 양자 시스템은 클래식 컴퓨터에서 시뮬레이션하기가 어렵거나 불가능할 수 있습니다. 1980년대에 Richard Feynman과 Yuri Manin은 양자 현상을 기반으로 한 하드웨어가 기존 시스템보다 양자 시스템 시뮬레이션에 더 효율적일 수 있다고 제안했습니다.
양자 시스템이 일반 컴퓨터에서 시뮬레이션하기 어려운 몇 가지 이유가 있습니다. 한 가지 주된 이유는 양자 수준에서 문제가 동시에 여러 구성(상태라고 함)의 조합으로 설명된다는 것입니다.
양자 상태가 기하급수적으로 증가합니다.
입자 시스템과 해당 입자가 존재할 수 있는 40개의 가능한 위치를 고려합니다. 각 위치에 파티클이 있거나 없을 수 $있으므로 시스템은 2^{40}$ 고유 상태 중 하나일 수 있습니다. 클래식 파티클인 경우 시스템은 항상 2^$ 상태 중 {40}$하나에만 있으므로 클래식 컴퓨터는 시스템의 상태를 설명하는 데 40비트만 필요합니다. 그러나 양자 입자인 경우 시스템은 모든 $2^{40}$ 상태의 조합으로 존재합니다. 클래식 컴퓨터는 130GB 이상의 메모리가 필요한 양자 시스템을 설명하기 위해 2^$개의 숫자를 저장{40}$해야 합니다. 그러나 양자 컴퓨터에는 이 양자 시스템을 설명하기 위해 40개의 양자 비트만 필요합니다.
전자가 41개 위치에 존재할 수 있도록 시스템에 다른 위치를 추가하면 시스템의 고유한 구성 수가 2^$로 두 배가 됩니다{41}$. 클래식 컴퓨터에 해당 양자 상태를 저장하는 데 260GB 이상의 메모리가 필요합니다. 우리는 위치의 수를 계속해서 늘리는 게임을 영원히 할 수는 없습니다. 기존 컴퓨터에 양자 상태를 저장하려면 세계에서 가장 강력한 컴퓨터의 메모리 용량을 빠르게 초과합니다. 수백 개의 전자에서 시스템을 저장하는 데 필요한 메모리가 우주의 입자 수를 초과합니다. 기존 컴퓨터에서는 대규모 시스템을 위한 양자 역학을 완전히 시뮬레이션할 수 있기를 희망하지 않습니다.
어려움을 기회로 전환
이 지수 성장의 관찰은 강력한 질문을 던집니다. 이 어려움을 기회로 바꿀 수 있을까요? 양자 시스템이 일반 컴퓨터에서 시뮬레이션하기 어려운 경우 기본 작업에 양자 효과를 사용하는 컴퓨터를 빌드하면 어떻게 될까요? 정확히 동일한 물리학 법칙을 악용하는 컴퓨터로 양자 시스템을 시뮬레이션할 수 있을까요? 그리고 이 컴퓨터를 사용하여 양자 역학 외부에서 다른 중요한 문제를 조사할 수 있을까요? 양자 정보 및 양자 컴퓨팅 분야를 초래한 질문의 종류입니다.
1985년 David Deutsch는 양자 시스템이 모든 실제 시스템의 동작을 효율적으로 시뮬레이션할 수 있음을 보여 주었습니다. 이 검색은 양자 컴퓨터를 사용하여 클래식 컴퓨터에서 해결하기가 너무 어려운 문제를 해결할 수 있다는 첫 번째 표시였습니다.
1994년 Peter Shor는 큰 정수의 주요 요소를 찾기 위해 양자 알고리즘을 발견했습니다. Shor 알고리즘은 이 팩터링 문제에 대해 가장 잘 알려진 클래식 알고리즘보다 기하급수적으로 빠르게 실행됩니다. 이러한 빠른 알고리즘은 RSA(Rivest–Shamir–Adleman) 및 타원 곡선 암호화와 같은 전자 상거래에서 트랜잭션을 보호하는 데 사용하는 많은 최신 공개 키 암호화 시스템을 손상시킬 수 있습니다. 이 검색은 양자 컴퓨팅에 대한 큰 관심을 불러일으켰고 다른 많은 문제에 대한 양자 알고리즘의 개발로 이어졌습니다.
그 이후로 클래식 컴퓨터에서 해결하기 어려운 다른 문제에 대해 빠르고 효율적인 양자 컴퓨터 알고리즘이 개발되었습니다. 예를 들어 이제 정렬되지 않은 데이터베이스를 검색하고, 선형 방정식 시스템을 해결하고, 기계 학습을 수행하고, 화학, 물리학 및 재료 과학에서 물리적 시스템을 시뮬레이션하는 양자 알고리즘이 있습니다.
큐비트란?
비트가 클래식 컴퓨팅에서 정보의 기본 개체인 것처럼 큐비트(양자 비트)는 양자 컴퓨팅에서 정보의 기본 개체입니다.
큐비트는 양자 컴퓨팅에서 비트가 클래식 컴퓨팅에서 하는 것과 비슷한 역할을 하지만, 큐비트는 비트와 다르게 동작합니다. 클래식 비트는 이진이며 지정된 시간에 0 또는 1의 두 상태 중 하나에만 있을 수 있습니다. 그러나 큐비트는 동시에 0과 1 상태의 중첩에 있을 수 있습니다. 실제로 0과 1의 무한 가능한 중첩이 있으며 각 중첩은 유효한 큐비트 상태입니다.
양자 컴퓨팅에서 정보는 상태 0과 1의 중첩으로 인코딩됩니다. 예를 들어 8개의 일반 비트는 최대 256개의 고유 값을 인코딩할 수 있지만 이러한 8비트에서는 한 번에 256개 값 중 하나만 나타낼 수 있습니다. 큐비트는 가능한 모든 256개 상태의 중첩에 있을 수 있으므로 8개의 큐비트를 사용하여 동시에 256개의 값을 모두 인코딩할 수 있습니다.
자세한 내용은 양자 컴퓨팅의 큐비트를 참조 하세요.
양자 컴퓨터를 빌드하기 위한 요구 사항은 무엇인가요?
양자 컴퓨터는 양자 시스템과 양자 역학의 속성을 사용하여 계산 문제를 해결합니다. 양자 컴퓨터의 시스템은 큐비트, 큐비트 간의 상호 작용 및 정보를 저장하고 컴퓨팅하기 위한 큐비트의 작업으로 구성됩니다. 양자 컴퓨터를 사용하여 양자 얽힘 및 양자 간섭과 같은 효과를 프로그래밍하여 클래식 컴퓨터보다 특정 문제를 더 빠르게 정확하게 해결할 수 있습니다.
양자 컴퓨터를 빌드하려면 큐비트를 만들고 저장하는 방법을 고려해야 합니다. 또한 큐비트를 조작하는 방법과 계산 결과를 측정하는 방법에 대해서도 고려해야 합니다.
인기 있는 큐비트 기술에는 트랩된 이온 큐비트, 초전도 큐비트 및 토폴로지 큐비트가 포함됩니다. 큐비트 스토리지의 일부 방법에서는 큐비트를 수용하는 단위를 절대 0에 가까운 온도로 유지하여 일관성을 최대화하고 간섭을 줄여야 합니다. 다른 유형의 큐비트 저장에서는 진동을 최소화하고 큐비트를 안정화하는 데 도움이 되는 진공 챔버를 사용합니다. 전자레인지, 레이저 또는 전압과 같은 다양한 방법을 통해 신호를 큐비트로 보낼 수 있습니다.
양자 컴퓨터의 5가지 기준
좋은 양자 컴퓨터는 다음과 같은 5가지 기능을 갖추어야 합니다.
- 확장성: 다수의 큐비트를 포함할 수 있습니다.
- 초기화 가능: 큐비트를 특정 상태(일반적으로 0 상태)로 설정할 수 있습니다.
- 복원력: 큐비트를 오랫동안 중첩 상태로 유지할 수 있습니다.
- 유니버설: 양자 컴퓨터는 가능한 모든 작업을 수행할 필요가 없으며 유니버설 집합이라는 작업 집합만 수행하면 됩니다. 범용 양자 연산 집합은 다른 모든 연산을 시퀀스로 분해할 수 있도록 하는 것입니다.
- 안정적: 큐비트를 정확하게 측정할 수 있습니다.
이러한 다섯 가지 기준은 양자 계산을 위한 Di Vincenzo 기준 이라고도 합니다.
이러한 다섯 가지 기준을 충족하는 디바이스를 빌드하는 것은 인류가 직면한 가장 까다로운 공학 과제 중 하나입니다. Azure Quantum은 다양한 큐비트 기술을 사용하여 다양한 양자 컴퓨팅 솔루션을 제공합니다. 자세한 내용은 Azure Quantum 공급자의 전체 목록을 참조 하세요.
양자 현상 이해
양자 현상은 양자 컴퓨팅과 클래식 컴퓨팅을 구분하는 기본 원칙입니다. 이러한 현상을 이해하는 것은 양자 컴퓨터의 작동 방식과 이러한 잠재력을 보유하는 이유를 파악하는 데 매우 중요합니다. 가장 중요한 두 가지 양자 현상은 중첩과 얽힘입니다.
중첩
거실에서 운동하고 있다고 상상해 보십시오. 당신은 왼쪽으로 끝까지 돌았다가 오른쪽으로 끝까지 돕니다. 이제 왼쪽으로 그리고 오른쪽으로 동시에 돌아보세요. 할 수 없습니다(적어도 스스로를 둘로 나누지 않는 한). 물론 두 상태 모두 한 번에 있을 수 없습니다. 왼쪽과 오른쪽을 동시에 마주 볼 수는 없습니다.
그러나 양자 입자인 경우, 중첩(일관성이라고도 함)으로 알려진 현상 때문에 왼쪽을 향할 확률과 오른쪽을 향할 특정 확률을 동시에 가질 수 있습니다.
이온, 전자 또는 초전도 회로와 같은 양자 시스템만 양자 컴퓨팅의 기능을 가능하게 하는 중첩 상태에 존재할 수 있습니다. 예를 들어 전자는 자체적으로 "왼쪽 또는 오른쪽을 향한다"는 특성을 가진 양자 입자인데, 이를 spin이라고 부릅니다. 두 스핀 상태는 스핀업 및 스핀다운이라고 하며, 전자의 양자 상태는 스핀업 및 스핀다운 상태의 중첩입니다.
자세한 내용을 배우고 중첩을 연습하려면 학습 모듈: 중첩 Q# 탐색을 참조하세요.
얽힘
얽힘은 둘 이상의 양자 시스템 간의 양자 상관 관계입니다. 두 큐비트가 얽히면 개별 큐비트의 양자 상태를 독립적으로 설명할 수 없도록 상호 연결되고 상태 정보를 공유합니다. 양자 얽힘을 사용하면 개별 상태가 아니라 글로벌 시스템의 양자 상태만 알 수 있습니다.
얽힌 양자 시스템은 먼 거리에서 분리된 경우에도 이러한 상관 관계를 유지합니다. 즉, 한 하위 시스템에 적용하는 작업 또는 프로세스가 다른 하위 시스템과도 관련이 있습니다. 따라서 한 큐비트의 상태를 측정하면 다른 큐비트의 상태에 대한 정보가 제공됩니다. 이 특정 속성은 양자 컴퓨팅에 매우 유용합니다.
자세한 내용을 알고 싶다면, 양자 얽힘 탐구 튜토리얼 Q#을 확인하세요. 실제 구현을 원한다면, 훈련 모듈: 얽힘을 사용하여 큐비트 텔레포트하기를 체크하세요.