양자 컴퓨팅의 미래

저자: Zen과 컴퓨터 프로그래밍의 기술

1. 소개

인간 정보 기술의 급속한 발전과 광범위한 적용으로 인해 물리학, 화학, 생물학 및 기타 과학의 획기적인 발전은 사람들의 세계 이해에 대한 심층적인 탐구와 향상에 기여해 왔습니다. 양자역학은 우주에 존재하는 다양한 양자현상을 어느 정도 해석하고, 고온초전도체부터 강력한 천체물리학까지 다양한 양자현상에 대한 이해를 제공하는 중요한 연구방향이다. 양자컴퓨터의 최첨단 화두인 양자컴퓨팅(Quantum Computing) 역시 지난 2년간 급속한 발전을 이루었습니다. 고차원 얽힌 상태와 회로 큐비트의 출현으로 양자 컴퓨터가 점점 더 강력해졌지만, 그 진정한 의미는 더욱 심층적이고 광범위한 연습과 적용이 필요합니다. 인공지능 분야의 부흥과 양자컴퓨팅의 지속적인 발전으로 미래의 양자컴퓨터는 인간과 컴퓨터의 상호작용과 정보처리의 새로운 주요 분야가 될 것으로 믿어진다.

본 글에서는 양자컴퓨터의 원리와 응용을 더 잘 이해하고 숙달하기 위해 양자 기초, 고전 시뮬레이션 알고리즘, 하이브리드 알고리즘 등 양자컴퓨팅 기술에 대한 관련 이론적 지식을 학습하여 간단하고 이해하기 쉽게 설명하겠습니다. , 무작위 알고리즘 및 특정 코드 구현 아키텍처, 기능, 최적화 및 전망.

2.1 양자컴퓨팅의 기본 개념 및 용어

2.1.1 양자컴퓨터 개요

"양자 칩"이라고도 알려진 양자 컴퓨터는 양자 전자(또는 큐비트)를 주요 컴퓨팅 단위로 사용하는 컴퓨터 시스템입니다. 양자 컴퓨터는 클래식 컴퓨터와 적대적으로 구축될 수 있는데, 즉 명백한 성능 병목 현상 없이 실제 사용 시 클래식 컴퓨터와 동일한 성능을 제공하는 컴퓨터 모델이 널리 사용되고 있습니다. 양자 컴퓨터는 여러 큐비트와 논리 게이트로 구성되며, 이러한 큐비트는 통계적 고유 상태와 에너지 수준을 갖습니다. 양자 컴퓨터에서 모든 양자 상태는 무한한 수의 큐비트로 구성된 "양자 시스템"으로 간주될 수 있습니다.

양자컴퓨터의 원리는 양자이론을 수학적으로 기술하는 물리법칙을 바탕으로 한다. 양자 상태는 입자, 원자핵, 심지어 수소 핵으로 형성된 부분 공간을 포함하여 그 안에 있는 요소를 설명합니다. 양자계는 파동함수의 크기가 지수함수적이기 때문에 숫자로 완전하게 표현하기 어렵기 때문에 양자컴퓨터에서는 양자 상태를 처리하기 위해 일반적으로 이산적인 수치 표현 방식을 사용한다. 양자 컴퓨터에서 실행되는 컴퓨팅 작업은 일반적으로 다음 세 단계로 구성됩니다.

  • 구축 단계: 큐비트와 논리 게이트가 양자 회로를 형성하고 연결되어 완전한 양자 컴퓨터를 구성합니다.
  • 작동 단계: 입력 매개변수(예: 정보 제공, 초기 조건, 작동 모드 선택 등)를 조정하여 해당 양자 상태가 양자 회로에 입력된 후 양자 논리 게이트를 사용하여 양자 상태(진화)를 변경합니다. 초기 상태)에서 목표 상태)까지.
  • 수집 단계: 양자컴퓨터 연산 결과는 일반적으로 관찰과 수집을 통해 획득됩니다. 측정을 수행하거나 데이터를 출력하려면 큐비트가 필요한 경우가 많습니다. 양자 상태에는 통계 법칙이 있으므로 입력 매개변수가 다르면 출력 결과도 달라집니다. 양자컴퓨터의 컴퓨팅 능력은 풀 수 있는 문제의 크기에 따라 결정되는데, 예를 들어 미시 세계에서 계산할 수 없는 문제를 계산하거나 복잡한 문제를 질적으로 이해할 수 있다.

2.1.2 양자컴퓨팅의 기본 개념

2.1.2.1 하이젠베르크의 추측

하이젠베르크의 추측은 양자역학의 유명한 원리로, 최초의 양자컴퓨팅 실험인 쇼어의 알고리즘(Shor's Algorithm)도 이 가정에 따른 계산의 예이다. 하이젠베르크 추측(Heisenberg Conjecture)은 닫힌 계의 양자 상태가 단위 연산자의 특이 형태를 만족한다면 그 계는 선상의 투영 연산을 통해 특이 특성(순수 + 단위)을 갖는 두 개의 순수 상태로 분해되어야 한다고 말합니다.

따라서 논리적으로 하이젠베르크 가설은 양자 컴퓨터를 사용하여 단수 형태를 해결하는 방법에 대한 문제를 해결합니다. 그러나 엄밀히 말하면 하이젠베르크의 추측은 어떤 고정된 양자계에 관한 것으로 그 계가 이상한 형태를 갖고 있다는 명제만을 증명할 뿐이므로 일부 특정 문제에 대해서는 여전히 하이젠베르크의 추측으로 직접적으로 증명할 수는 없다. 또한, 하이젠베르크의 추측 자체에는 양자계가 존재하는지(또는 존재한다고 가정하는가?), 단수형을 만족시키기 위해 어떤 연산자가 필요한지(특정 연산자만 필요한가?) 등 많은 한계가 있다. 따라서 보다 일반적인 양자 컴퓨팅 이론과 알고리즘이 주요 연구 핫스팟입니다.

2.1.2.2 양자 상태

양자 상태는 많은 상호 작용으로 구성된 시스템의 파동 함수를 나타냅니다. 양자 역학에서는 특별한 종류의 파동 함수가 설명됩니다. 파동 함수는 통계 법칙이므로 시스템의 통계를 결정해야 합니다. 양자 상태는 n차원 벡터이며, 벡터의 각 구성 요소는 큐비트에 해당하며, 그 값은 해당 비트가 활성화 상태(1)인지 비활성 상태(0)인지를 나타냅니다.

요약하자면, n 큐비트를 가진 양자 시스템의 경우 양자 상태는 n차원 벡터이며, 이는 시스템이 해당 양자 상태에 있음을 나타냅니다. 양자 상태의 정렬된 배열의 가능한 모든 조합으로 인해 그 차원은 일반적으로 정의된 파동 함수의 유한 세트 내에서 기하급수적으로 증가합니다.

2.1.2.3 양자 게이트

양자 게이트(Quantum Gates)는 양자 상태에 작용하는 변환 작업을 말하며, 동작 범위는 양자 상태의 크기와 관련이 없으며 일반적으로 작동 개체는 특정 큐비트일 뿐입니다. 양자 게이트는 기본 게이트 또는 고차 게이트일 수 있으며, 전자는 구조가 간단하고 후자는 기본 게이트로 구성됩니다. 현재 양자컴퓨팅 기술은 비교적 성숙한 이론적 기반을 달성했지만 아직 부족한 점이 많기 때문에 새로운 양자 게이트 개발은 여전히 ​​매우 유망한 연구 방향이다.

2.1.2.4 양자 컴퓨팅의 두 가지 분류

  • 양자 검색 알고리즘: 양자 상태에 대해 특정 검색 및 전달 방법을 수행하여 적절한 양자 상태를 찾습니다. 양자 탐색 알고리즘은 일반적으로 그래프 탐색 알고리즘을 기반으로 하는데, 이는 양자 상태 공간에서 효과적으로 탐색하고 특정 시간 내에 해를 찾을 수 있다는 장점이 있다.
  • 양자 최적화 알고리즘: 양자 상태의 구조, 순서 또는 매개변수를 조정하여 예상되는 목적 함수 값을 최소화하는 양자 상태를 찾습니다. 양자최적화 알고리즘은 목적함수가 주어지면 다양한 휴리스틱 알고리즘이나 경사하강법을 이용하여 풀 수 있는데, 그 효과는 양자상태의 초기값, 탐색의 정확성, 반복횟수 등에 따라 달라진다.

2.1.2.5 양자통신과 양자암호화

양자통신(Quantum Communication)은 양자정보처리 기술을 이용해 정보를 부호화해 상대방에게 전송하는 과정이다. 양자 통신에서는 두 양자 컴퓨터가 양방향 통신 링크(벨 상태 또는 얽힘)를 통해 정보를 교환하여 양자 간의 정보 공유를 완성합니다.

양자 암호화는 양자 통신 프로토콜을 사용하여 정보 보안을 보장하는 프로세스입니다. 양자 암호화 방식은 주로 양자 해저 광산 및 양자 난수 생성기를 포함하는 양자 상태 암호화의 이론적 기초에 의존합니다.

2.2 양자컴퓨팅의 기본 알고리즘

2.2.1 쇼어 알고리즘

Shor의 알고리즘은 최초의 양자 컴퓨팅 실험이자 양자 알고리즘의 고전적인 예입니다. 이 알고리즘은 특이 행렬 U를 선에 적용하고 이를 두 개의 특이 벡터 e1, e2로 분해할 수 있습니다.

구체적으로, n비트 양자 회로가 있다고 가정하고 각 비트는 큐비트에 해당하며 두 개의 서로 다른 양자 상태에 해당하고 둘 다 계산 기준 [|0>+ |1을 충족하는 두 각도 a, b를 찾으려고 합니다. >, |0>-|1>] 속성을 사용합니다. 즉, 다음 조건을 만족하는 두 개의 양자 상태 A와 B를 찾고자 합니다. $$\lvert A \rangle = a|0>\rangle+\frac{1}{sqrt(N)}|1>\ rangle ,\quad\lvert B \rangle=b|0>\rangle-\frac{1}{sqrt(N)}|1>\rangle.$$

다음을 수행하여 이를 수행할 수 있습니다.

  1. Hadamard 게이트를 사용하여 두 큐비트를 균일한 중첩 상태로 초기화합니다.

  2. U를 첫 번째 큐비트에 적용한 다음 첫 번째 비트가 |0>에서 |1>로 변환될 확률(p로 표시)을 기록합니다.

  3. 다음 단계를 k번 반복합니다.

    • 두 번째 큐비트를 |0>에서 |1>로 변환하고 첫 번째 큐비트와 두 번째 큐비트를 동시에 측정하여 난수 a를 얻습니다.
    • 첫 번째 큐비트 U^(a^(2^j)), j=0,...,k-1에 대해 작업을 수행한 다음 첫 번째 비트가 |0>에서 |1>로 변환될 확률 p'를 기록합니다.
    • 위의 계산을 바탕으로 특이 각도 a가 계산됩니다.
  4. 이전 단계에서 구한 각도 a를 헤시안 모델을 통해 검증함으로써 특이 각도 e1, e2를 결정할 수 있다.

주어진 n에 대해 Shor의 알고리즘은 N=2^n의 단수근을 성공적으로 찾을 수 있습니다. 여기서 N은 큰 소수입니다. 이 알고리즘은 양자 컴퓨팅 분야의 선두주자였으며, 동일한 문제를 동시에 해결할 수 있는 알고리즘은 이미 여러 개 존재합니다.

2.2.2 Grover의 검색 알고리즘

Grover의 검색 알고리즘은 Shor의 알고리즘을 개선하여 반복 쿼리 및 역순과 같은 최적화를 추가합니다. 기본 아이디어는 예상 목적 함수 값에 대한 정답을 찾을 때까지 검색하는 것입니다. 구체적인 단계는 다음과 같습니다:

  1. 양자 회로의 큐비트를 균일한 중첩 상태로 초기화합니다.

  2. Grover 반복을 k번 수행합니다. 각 반복에는 다음 작업이 포함됩니다.

    • i번째 큐비트에서 X 작업을 수행한 다음 모든 큐비트에 Hadamard 게이트를 적용합니다.
    • i번째 큐비트에서 Z 연산을 수행한 다음 모든 큐비트에 Hadamard 게이트를 적용합니다.
    • i번째 큐비트에서 X 작업을 수행합니다.
  3. Hadamard 게이트를 j번째 큐비트에 적용한 다음 다른 모든 큐비트에 X 연산을 적용합니다. 위의 작업을 k/2번 반복합니다.

  4. 균일한 중첩 상태의 i번째 큐비트의 경우 해당 해밀턴은 다음과 같이 표현될 수 있습니다. $$\hat H_{i}=\sum_{x}\left(-\frac{1}{\pi} \right) ^{\lvert x \rangle\rvert X_i\otimes I^{\otimes n}-I^{\otimes n}Y_ix\rangle\langle x\rvert,$$

    그 중 X_i와 Y_i는 각각 i번째 큐비트의 X 게이트와 Y 게이트를 나타내고, I^{\otimes n}은 항등 연산자를 나타내고, X^{\otimes k}는 k-에 작용하는 X 게이트를 나타냅니다. 번째 비트.

    i번째 큐비트의 경우 위에서 언급한 해밀턴에 대해 푸리에 변환을 수행할 수 있습니다. 이 변환의 진폭은 i번째 큐비트가 |0>에서 |1>로 변경될 확률에 해당합니다. 변환을 사용하면 입력 상태를 변경하지 않고도 해당 확률을 추정할 수 있습니다. 이는 단일 비트 측정을 비트에 적용하는 것과 같습니다.

  5. 위의 단계에서는 모든 i 값에 해당하는 가능한 확률을 추정합니다. 그렇다면 이 확률열을 기반으로 최상의 목적 함수를 찾는 방법은 무엇일까요? Grover의 생각은 기대되는 목적함수 값의 확률분포를 바탕으로 이를 최대화하는 추정값을 최종 결과로 선택하는 것입니다. 확률 변수의 경우 분포 함수는 다음과 같이 정의할 수 있습니다. $$F_{\beta}(x)=P{X\leqslant x}|c_0+c_1\cos(\alpha_0x)+c_2\cos(\alpha_1x)\ cdots c_d\cos(\alpha_dx),$$

    그 중 α_0, α_1,..., α_d는 서로 다른 주파수이고, c_0, c_1,..., c_d는 계수, $\beta=\frac{c_0}{\sqrt{|\Sigma|}}$는 표준 편차.

    추정된 확률 분포에 해당하는 확률 분포 함수를 최대화하는 α_0, α_1,..., α_d 값을 찾을 수 있다면 이 값은 목적 함수 값 θ의 최상의 추정치에 해당합니다.

2.2.3 독일-Jozsa 알고리즘

Deutsch-Jozsa 알고리즘은 함수가 상수 함수인지, 즉 입력에 대해 일부 연산을 수행하여 0, 1 또는 무한 유형의 출력을 얻을 수 있는지 여부를 확인하는 데 사용됩니다. 구체적인 단계는 다음과 같습니다:

  1. 두 큐비트를 0 상태로 초기화합니다.

  2. Hadamard 게이트를 첫 번째 큐비트에 적용한 다음 X 게이트를 모든 큐비트에 적용합니다.

  3. Hadamard 게이트를 두 번째 큐비트에 적용한 다음 Z 게이트를 모든 큐비트에 적용합니다.

  4. Hadamard 게이트를 두 번째 큐비트에 적용한 다음 X 게이트를 다른 모든 큐비트에 적용합니다.

  5. 균일한 중첩 상태의 첫 번째 큐비트에 대해 해당 해밀턴은 다음과 같이 표현될 수 있습니다. $$\hat H=\frac{1}{4}\sum_{x,y}\left[-I^ {\otimes n} Z^{\otimes m} 1xZY^{\otimes m}_2y+\lvert y\rvert-1\right]\rvert^{m} { n}\rangle\langle xy\rvert.$$

    여기서 I^{\otimes n}은 항등 연산자를 나타내고, Z^{\otimes m}_1은 첫 번째 비트에 작용하는 m개의 Z 게이트를 나타내고, Y^{\otimes m}_2는 두 번째 비트를 나타냅니다. m Y 비트의 게이트. 여기서 m의 값은 2이며 이는 함수 f(x,y)의 입력 길이와 같습니다.

  6. 입력을 x로 간주하면 해당 측정 결과는 xZY(f(x))이며 확률 분포 함수를 관찰하면 1/4 N (N-1) (N-2) ...*(N-m과 같습니다. +1), N은 입력 세트 크기입니다. 이 확률은 입력이 x일 때 결과 출력이 0, 1 또는 무한대일 확률을 나타냅니다.

  7. 상수 함수가 있는지 확인합니다. 예를 들어 함수 f(x)=0 또는 f(x)=1인 경우 해당 결과는 0 또는 1이어야 하며 결과는 고유합니다.

Supongo que te gusta

Origin blog.csdn.net/universsky2015/article/details/133565578
Recomendado
Clasificación