퀀텀 컴퓨터를 사용하여 1 + 1을 어떻게 추가합니까?


29

이것은 양자 컴퓨터가 하드웨어 수준에서 기본 수학어떻게 수행 하는가에 대한 소프트웨어 보완으로 볼 수 있습니다 .

이 질문은 Quantum Information and Quantum Technologies에 관한 스페인 네트워크네 번째 네트워크에있는 청중들에 의해 요청되었습니다 . " 나는 재료 과학자입니다. 당신은 고급의 이론적 개념을 소개하고 있지만 간단한 작업을 위해 양자 컴퓨터의 실제 작동을 파악하는 데 어려움을 겪고 있습니다. 다이오드, 트랜지스터 등을 사용한다면 1 + 1을 추가하기 위해 실행해야하는 고전적인 작업을 쉽게 파악할 수 있습니다. 양자 컴퓨터에서 어떻게하면 좋을까요? ".

답변:


21

관련 질문에 따라 가장 간단한 해결책은 가능한 경우 클래식 프로세서가 그러한 작업을 수행하도록하는 것 입니다. 물론 가능하지 않을 수도 있으므로 adder 를 만들고 싶습니다 .

단일 비트 가산기에는 반가산기완전 가산기의 두 가지 유형이 있습니다 . 반가산기는 입력 B를 취하여 'sum'(XOR 연산) S = A B 및 'carry'(AND 연산) C = A B를 출력 합니다. 전체 가산기 또한 "캐리"갖는 C N 개의 입력과 "실행"출력 C O U t , 교체 C를 . 이것은 S = A B C i n을 반환합니다.A에스=에이기음=에이기음나는기음영형기음에스=에이기음나는 되고 입니다.기음영형=기음나는(에이+)+에이


반가산기의 양자 버전

qubit 레지스터 에서 CNOT 게이트를보고 레지스터 B를 제어하는 경우 : CNOT A B | 0 | 0 B에이 즉시 출력 제공B의등록을B=S를. 그러나 캐리를 아직 계산하지 않았으며B레지스터의 상태가 변경되었으므로 AND 연산도 수행해야합니다. 이것은 3-qubit Toffoli (controlled-CNOT / CCNOT) 게이트를 사용하여 수행 할 수 있습니다. 이것은 레지스터AB를 제어 레지스터로 사용하고|상태에서세 번째 레지스터(C)를초기화하는| 0

CNOT에이|0에이|0=|0에이|0CNOT에이|0에이|1=|0에이|1CNOT에이|1에이|0=|1에이|1CNOT에이|1에이|1=|1에이|0,
에이=에스에이(기음)|0 , 의 출력을 에이=기음 합니다. 레지스터 B 제어 레지스터 C 에 Toffoli를 구현 한 다음 A 제어 B 와 함께 CNOT를 수행 하면 레지스터 B 를 출력으로하고 레지스터 C 를 캐리로 출력 합니다. 반가산기의 양자 회로도는 그림 1에 나와 있습니다.에이기음에이기음

반가산기 회로도

그림 1 : CNoff 다음에 Toffoli로 구성된 반가산기 회로도. 입력 비트는 B 이며, C 를 수행 하는 합계 S 를 제공합니다 .에이에스기음


완전 가산기의 양자 버전

도 2에 도시 된 단일 비트에이를위한 간단한 방법을 사용하여 인 큐빗 레지스터 여기 표지 , B , C N1 , 여기서 상태에서 시작 | 0 , 초기 상태가 너무 | | B | C N | 0 :4에이기음나는11|0|에이||기음나는|0

  1. B 를 사용하여 Toffoli를 적용하여 1 을 제어하십시오 . | | | B | C N에이1|에이||기음나는|에이
  2. B를 제어 하는 CNOT : | | B | C N | B 에이|에이|에이|기음나는|에이
  3. Toffoli와 C N 제어 1 : | | B | C N| B ( B )C N = C O U t기음나는1|에이|에이|기음나는|에이(에이)기음나는=기음영형
  4. C i n을 제어 하는 CNOT : | | B | B C N = S | C O U t기음나는|에이|에이|에이기음나는=에스|기음영형

입력 B를 다시 얻는 마지막 단계 는 레지스터 A를 제어 레지스터 B 와 함께 CNOT를 적용 하여 최종 출력 상태를 | ψ O U t = | | B | S | 기음에이에이

|ψ영형=|에이||에스|기음영형

이것은 레지스터 의 출력을 합으로하고 레지스터 2 의 출력을 수행합니다.기음나는2

완전 가산기의 양자 버전

그림 2 : 완전 가산기의 회로도. 입력 비트는 와 B를 에 반송 함께 C N , 합계를 제공하는 S 캐리 아웃과 C O U t .에이기음나는에스기음영형


리플 캐리 가산기의 양자 버전

전체 가산기의 간단한 확장은 리플 캐리 가산기이며, 캐리지를 '리플 링'하여 일련의 가산기에서 다음 가산기의 캐리 인이되도록하여 임의의 크기의 (느린 경우) 합계를 허용합니다. 이러한 가산기의 양자 버전은 여기 에서 찾을 수 있습니다 .


반가산기의 실제 구현

많은 시스템에서 Toffoli 게이트를 구현하는 것은 단일 큐 비트 (또는 2 큐 비트) 게이트를 구현하는 것만 큼 간단하지 않습니다. 이 답변 은 Toffoli를 여러 개의 작은 게이트로 분해하는 방법을 제공합니다. 그러나 IBMQX 와 같은 실제 시스템에서는 큐 비트를 대상으로 사용할 수있는 문제가있을 수도 있습니다. 따라서 IBMQX2 에서 실제 구현은 다음과 같습니다. IBMQX2의 단일 큐 비트 반가산기

그림 3 : IBMQX2에서 반가산기 구현. Toffoli 게이트를 여러 개의 작은 게이트로 분해하는 것 외에도 모든 qubit 레지스터를 대상으로 사용할 수있는 것은 아니므로 추가 게이트가 필요합니다. q [1]의 레지스터와 q [2]의 캐리를 얻기 위해 레지스터 q [0] 및 q [1]이 추가됩니다. 이 경우 결과 q [2] q [1]은 10이어야합니다. 프로세서에서이 결과를 실행하면 42.8 %의 확률로 올바른 결과를 얻었습니다 (아직 가장 가능성이 높은 결과 임).


양자 컴퓨터 가산기가 있습니까?
존 더 필드

@ JohnDuffield 나는 당신이 대략적인 양자 (상태) 가산기 (정확한 상태 가산기가 금지되어 있음)인지 또는 양자 컴퓨터에서 '고전적인'가산기의 구현 을 의미하는지 확실하지 않습니다 -나는이 특정 코드를 시도하지 않았거나 다른 것 ?
Mithrandir24601

숫자는 어떻게 표현됩니까? 이진인가요?
user3483902

01|0|1에이01

@ Mithrandir24601 : 중요합니까? 두 경우 모두 대답이 아니오가 아닙니까? 나는 실제로 병렬 가산기를 직접 만들었습니다. Cmputer Science 학위가 있습니다.
존 더 필드

6

`` 다이오드, 트랜지스터 등을 사용하는 경우 1 + 1을 추가하기 위해 실행해야하는 고전적인 작업을 쉽게 파악할 수 있습니다. 양자 컴퓨터에서 어떻게 자세하게 설명하겠습니까? ''

인상적! 나는 대부분의 사람들이 다이오드와 트랜지스터를 결합하여 고전적인 2 비트 애드를 구현하는 방법을 쉽게 알아낼 수 없다고 생각합니다 (물론이 재료 과학자가 아마 그것을 할 수 있다고 의심하지는 않지만). ;)

이론적으로 클래식 가산기를 구현하는 방식은 클래식 및 양자 컴퓨터에서 매우 유사합니다. 두 경우 모두 Toffoli 게이트 를 구현하여이를 수행 할 수 있습니다 ! (@ Mithrandir24601의 답변을 참조하십시오.)

그러나 재료 과학자는 아마도 물리적 장치에서 그러한 게이트 (또는 다른 양자 게이트의 등가 시퀀스)를 구현하는 방법을 이해하려고합니다. 다른 양자 기술을 사용하여이를 수행 할 수있는 무한한 방법이있을 수 있지만 다음은 트랩 된 이온과 초전도 큐 비트를 사용하여이 게이트를 직접 구현 한 두 가지 방법입니다.

  1. 갇힌 이온, T. Monz, K. Kim, W. Hänsel, M. Riebe, AS Villar, P. Schindler, M. Chwalla, M. Hennrich 및 R. Blatt, Phys. Lett. 102 , 040501, arXiv : 0804.0082 .
  2. 초전도 회로를 갖춘 토 포리 게이트의 구현 A. Fedorov, L. Steffen, M. Baur, MP da Silva & A. Wallraff Nature 481 , 170–172, arXiv : 1108.3966 .

Toffoli 게이트를 단일 큐 비트 및 CNOT 게이트 시퀀스로 분해 할 수도 있습니다. https://media.nature.com/lw926/nature-assets/srep/2016/160802/srep30600/images/srep30600-f5.jpg Nielsen의여기에 이미지 설명을 입력하십시오 광자, 캐비티 QED 및 트랩 이온으로이를 구현하는 방법에 대해 읽을 수 있습니다 그리고 Chuang .


공개를 위해, 나는 그 재료 과학자가 아니라, 끊임없는 토론이 여전히 불만족스럽고 추상적 인 용어이기 때문에, 나는 그가 요구하는 것을 이해하고 그것을 구글 검색하고 그에게 최소한의 만족스러운 대답을 보여주었습니다 (a quantum gates 용어로 Quant에 반가산기).
agaitaarino

5

양자 컴퓨터에서 합계를 계산하는 새로운 방법이 도입되었습니다. 이 기술은 양자 푸리에 변환을 사용하고 임시 캐리 비트의 필요성을 제거함으로써 추가에 필요한 큐 비트 수를 줄입니다.

'양자 컴퓨터에서의 추가'를위한 PDF 링크1998 년 9 월 1 일, 토마스 지 드레이퍼 (Thomas G. Draper)가 저술 한 : 2000 년 6 월 15 일 개정.

위의 링크를 요약하기 위해 다음 회로 다이어그램 (6 페이지에서 가져온)에 따라 추가가 수행됩니다.

여기에 이미지 설명을 입력하십시오

논문을 인용하려면 (6 페이지) :

양자 첨가는 상호 정류적인 일련의 조건부 회전을 사용하여 수행된다. 구조는 양자 푸리에 변환과 매우 유사하지만 회전은 외부 비트.


1

두 큐 비트의 합의 병렬 계산

두 큐 비트의 합, 위상 -1을 갖는 0과 "1의 중첩의 병렬 계산을 경험하고 싶었습니다. "이 1에 추가 된 . 그리고 Mithrandir24601의 답변에서 영감을 받았습니다. 결과는 다음과 같습니다. 내 답변이 요청한 내용의 맥락에 있기를 바랍니다. 1이 1과 0에 동시에 추가되는 방법을 보여 주지만 두 답이 모두 계산되는 동안 계산이 실행될 때마다 계산 중 하나에 대한 답을 읽을 수 있습니다. 1000 회 실행 중 417 번, "1"(1 = 0 + 1)을 읽고 380 번을 읽으며 "2"(2 = 1 + 1)를 읽습니다.

(1 비트가 필요로 바뀌었을 때 34 번 우리는 0 = + 1을 얻었고 54 번은 0 = 1을 얻었습니다. 29 번은 1 = 1을 얻었습니다. 28 번은 2 = 1을 얻었습니다. = 0 + 1, 16 배에 3 = 1 + 1을 얻었습니다. 이러한 각 오류는 비트 플립, 위상 플립 또는 두 가지 모두에서 의심의 여지가 없습니다. 여기에 이미지 설명을 입력하십시오

나는 처음 생각 π 위상 (3 개의 Hadamard 게이트 중 1에서 생성됨)은 음수를 나타내지 만 -1 위상 계수를 가진 양수를 나타냅니다.

1 큐 비트 레지스터에서 0과 "1 -1 위상 "의 중첩은 2 큐 비트 레지스터에서 1에 추가됩니다. 3 개의 큐 비트에서 왼쪽에서 오른쪽으로 처음 2 개의 큐비 트는 합 (또는 5의 3 및 4)이며 가장 오른쪽 큐비 트는 그라운드 상태 (0으로 처리)가 추가되었는지 또는 여기 상태 (처음으로 1)가 추가되었는지를 나타냅니다. -1)의 상이 추가되었다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.