Jak dodać 1 + 1 za pomocą komputera kwantowego?


29

Można to postrzegać jako uzupełnienie oprogramowania. W jaki sposób komputer kwantowy wykonuje podstawowe obliczenia matematyczne na poziomie sprzętowym?

Pytanie zadał członek publiczności czwartej sieci hiszpańskiej sieci ds. Informacji kwantowej i technologii kwantowych . Kontekst, który podał, brzmiał: „ Jestem naukowcem. Wprowadzasz zaawansowane, wyrafinowane koncepcje teoretyczne, ale mam problem z wyobrażeniem sobie praktycznej obsługi komputera kwantowego do prostego zadania. Gdybym używał diod, tranzystorów itp., Mógłbym łatwo wymyślę klasyczne operacje, które muszę uruchomić, aby dodać 1 + 1. Jak byś to szczegółowo wykonał na komputerze kwantowym? ”.

Odpowiedzi:


21

Zgodnie z połączonym pytaniem, najprostszym rozwiązaniem jest po prostu zmusić klasyczny procesor do wykonania takich operacji, jeśli to możliwe . Oczywiście może to nie być możliwe, dlatego chcemy utworzyć dodatek .

Istnieją dwa rodzaje sumatora jednobitowego - sumator półbuty i sumator pełny . Pół-sumator bierze wejścia i B i wysyła "SUM (operacja XOR) S = A B i 'carry' (operacja) C = B . Pełną dodatek ma również w „carry” C i brak wejścia i „przeprowadzenia” wyjście C O u t , zastępując C . Zwraca S = A B C i nABS=ABC=ABCinCoutCS=ABCini .Cout=Cin(A+B)+AB


Wersja kwantowa pół-sumatora

Patrząc na bramkę CNOT w rejestrze kubitowym rejestr kontrolny B : CNOT A B | 0 | 0 BAB który bezpośrednio nadaje się sygnał wyjściowyBrejestrze jakoAB=S. Jednak musimy jeszcze obliczyć przeniesienie i stanrejestruBzmienił się, dlatego musimy również wykonać operację AND. Można tego dokonać za pomocą bramki 3-qubit Toffoli (kontrolowana CNOT / CCNOT). Można tego dokonać za pomocą rejestrówAiBjako rejestrów kontrolnych i inicjalizacji trzeciego rejestru(C)w stanie| 0

CNOTAB|0A|0B=|0A|0BCNOTAB|0A|1B=|0A|1BCNOTAB|1A|0B=|1A|1BCNOTAB|1A|1B=|1A|0B,
BAB=SBAB(C)|0, Dając sygnał wyjściowy trzeciego rejestru jako . Zaimplementowanie Toffoli w rejestrach A i B kontrolujących rejestr C, a następnie CNOT z A sterującym B, daje wynik rejestru B jako sumę i wynik rejestru C jako przeniesienie. Schemat obwodu kwantowego sumatora pół pokazano na rycinie 1.AB=CABCABBC

Schemat obwodu pół-sumatora

Rycina 1: Schemat obwodu pół-sumatora, składającego się z Toffoli, a następnie CNOT. Bity wejściowe są i B , dzięki czemu sumę S z przeprowadzenia C .ABSC


Wersja kwantowa pełnego sumatora

4ABCin11|0|A|B|Cin|0

  1. AB1|A|B|Cin|AB
  2. AB|A|AB|Cin|AB
  3. BCin1|A|AB|Cin|AB(AB)Cin=Cout
  4. BCin|A|AB|ABCin=S|Cout

ABAB

|ψout=|A|B|S|Cout

Cin2

Wersja kwantowa pełnego sumatora

ABCinSCout


Kwantowa wersja dodawacza tętnienia

Prostym rozszerzeniem pełnego sumatora jest sumator przenoszenia tętnienia, nazwany, ponieważ „faluje” wykonanie, aby stać się przenoszeniem następnego sumatora w szeregu sumatorów, pozwalając na sumy o dowolnej wielkości (jeśli są wolne). Kwantową wersję takiego sumatora można znaleźć np. Tutaj


Rzeczywista implementacja pół-sumatora

W wielu systemach zaimplementowanie bramki Toffoli nie jest tak proste jak zaimplementowanie pojedynczej bramki kubit (lub nawet dwóch qubit). Ta odpowiedź pozwala rozłożyć Toffoli na wiele mniejszych bram. Jednak w rzeczywistych systemach, takich jak IBMQX , mogą również występować problemy, w których kubity mogą być używane jako cele. W związku z tym rzeczywista implementacja w IBMQX2 wygląda następująco: Pojedynczy pół-sumator qubit na IBMQX2

Rysunek 3: Implementacja pół-sumatora na IBMQX2. Oprócz rozkładania bramy Toffoli na wiele mniejszych bram wymagane są dodatkowe bramki, ponieważ nie wszystkie rejestry kubitowe mogą być używane jako cele. Rejestry q [0] i q [1] są dodawane, aby uzyskać sumę w q [1] i przenieść w q [2]. W takim przypadku wynik q [2] q [1] powinien wynosić 10. Uruchomienie tego na procesorze dało prawidłowy wynik z prawdopodobieństwem 42,8% (chociaż nadal był to najbardziej prawdopodobny wynik).


Czy są jakieś dodatki do komputerów kwantowych?
John Duffield,

@JohnDuffield Nie jestem pewien, czy masz na myśli przybliżone sumatory kwantowe (stanowe) (dokładne sumatory stanu są najwyraźniej zabronione) czy implementacje klasycznych sumatorów na komputerze kwantowym - chociaż nie wypróbowałem tego konkretnego kodu - czy coś innego ?
Mithrandir24601

Jak reprezentowane są liczby? Czy to jest w wersji binarnej?
user3483902

01|0|1A01B

@ Mithrandir24601: czy to ma znaczenie? Czy w obu przypadkach odpowiedź jest przecząca? Właściwie sam zbudowałem sumator równoległy. Mam stopień naukowy Cmputer Science.
John Duffield,

6

`` Gdybym korzystał z diod, tranzystorów itp., Mógłbym łatwo wymyślić klasyczne operacje, które muszę uruchomić, aby dodać 1 + 1. Jak byś to szczegółowo zrobił na komputerze kwantowym? ''

Imponujący! Podejrzewam, że większość ludzi nie jest w stanie łatwo wymyślić, jak połączyć diody i tranzystory, aby zaimplementować klasyczną dwubitową adde (chociaż nie wątpię, że ten materialny naukowiec prawdopodobnie to potrafi). ;)

Teoretycznie sposób implementacji klasycznego sumatora jest dość podobny w klasycznym i kwantowym komputerze: możesz to zrobić w obu przypadkach, wdrażając bramę Toffoli ! (Zobacz odpowiedź @ Mithrandir24601.)

Ale naukowiec materialny prawdopodobnie chce zrozumieć, jak zaimplementować taką bramę (lub sekwencję równoważności innych bram kwantowych) na urządzeniu fizycznym. Prawdopodobnie istnieją nieskończone sposoby, aby to zrobić za pomocą różnych technologii kwantowych, ale oto dwie bezpośrednie realizacje tej bramy za pomocą uwięzionych jonów i kubitów nadprzewodzących:

  1. Realizacja kwantowej bramy Toffoli z uwięzionymi jonami, T. Monz, K. Kim, W. Hänsel, M. Riebe, AS Villar, P. Schindler, M. Chwalla, M. Hennrich i R. Blatt, Phys. Wielebny Lett. 102 , 040501, arXiv: 0804.0082 .
  2. Wdrożenie bramki Toffoli z obwodami nadprzewodzącymi A. Fedorov, L. Steffen, M. Baur, MP da Silva i A. Wallraff Nature 481 , 170–172, arXiv: 1108.3966 .

Możesz także rozłożyć bramę Toffoli jako sekwencję pojedynczych kubitów i bramek CNOT. https://media.nature.com/lw926/nature-assets/srep/2016/160802/srep30600/images/srep30600-f5.jpgwprowadź opis zdjęcia tutaj Możesz przeczytać o tym, jak zaimplementować je za pomocą fotoniki, QED i jonów uwięzionych w Nielsen i Chuang .


Do ujawnienia nie byłem tym materiałoznawcą, ale raczej, ponieważ niekończąca się dyskusja była nadal niezadowalająca i abstrakcyjnie, byłem osobą, która zrozumiała, o co prosi, szukała go i pokazała mu minimalną, ale satysfakcjonującą odpowiedź ( pół-sumator na kwantiki) w kategoriach bramek kwantowych.
agaitaarino

5

Wprowadzono nową metodę obliczania sum na komputerze kwantowym. Ta technika wykorzystuje kwantową transformatę Fouriera i zmniejsza liczbę kubitów niezbędnych do dodania, eliminując potrzebę tymczasowych bitów przenoszenia.

Link PDF do „dodatku na komputerze kwantowym” , napisany przez Thomasa G. Drapera, napisany 1 września 1998 r., Poprawiony: 15 czerwca 2000 r.

Podsumowując powyższe łącze, dodawanie odbywa się zgodnie z następującym schematem połączeń (zaczerpniętym ze strony 6):

wprowadź opis zdjęcia tutaj

Aby zacytować artykuł (ponownie, strona 6):

n


1

Równoległe obliczanie sumy dwóch kubitów

Chciałem doświadczyć równoległego obliczania sumy dwóch kubitów, superpozycji 0 i „1 z fazą -1 ” dodanych do 1; i zainspirowała mnie odpowiedź Mithrandir24601. Wyniki są poniżej. Mam nadzieję, że moja odpowiedź jest w kontekście tego, o co pytano. Pokazuje, jak 1 jest dodawane 1, a jednocześnie do 0, ale chociaż obie odpowiedzi są obliczane, możemy odczytać odpowiedź tylko do jednego z obliczeń przy każdym uruchomieniu obliczeń. Widać, że na 1000 przebiegów, 417 razy czytamy odpowiedź „1” (1 = 0 + 1), a 380 razy i czytamy odpowiedź „2” (2 = 1 + 1).

(34 razy nic nam nie dało, gdy 1 bit został odwrócony do zera, 54 razy otrzymaliśmy 0 = 0 + 1, 29 razy otrzymaliśmy 1 = 1 + 1, 28 razy otrzymaliśmy 2 = 0 + 1, 42 razy otrzymaliśmy 3 = 0 + 1 i 16 razy otrzymaliśmy 3 = 1 + 1; każdy z tych błędów wynikający bez wątpienia z odwracania bitów, odwracania faz lub obu). wprowadź opis zdjęcia tutaj

π

Superpozycja 0 i „1 z fazą -1 ” w jednym rejestrze kubitów jest dodawana do 1 w rejestrze dwóch kubitów. W przypadku trzech kubitów pierwsze dwa kubity od lewej do prawej to suma (lub 3. i 4. z 5), a kubit najbardziej po prawej pokazuje, czy dodano stan podstawowy (traktowany jako 0), czy stan wzbudzony (1 z początkową dodano fazę -1).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.