Informacje na temat obliczeń kwantowych

Obliczenia kwantowe mają obietnicę rozwiązywania niektórych największych wyzwań naszej planety - w obszarach środowiska, rolnictwa, zdrowia, energii, klimatu, nauki o materiałach i nie tylko. W przypadku niektórych z tych problemów obliczenia klasyczne są coraz bardziej kwestionowane w miarę wzrostu rozmiaru systemu. W przypadku skalowania systemy kwantowe prawdopodobnie będą miały możliwości przekraczające te z dzisiejszych najpotężniejszych superkomputerów. Ponieważ globalna społeczność badaczy kwantowych, naukowców, inżynierów i liderów biznesowych współpracuje, aby rozwijać ekosystem kwantowy, spodziewamy się, że wpływ kwantowy przyspieszy w każdej branży.

Porada

Jeśli chcesz przyspieszyć podróż po obliczeniach kwantowych, zapoznaj się z kodem w usłudze Azure Quantum, unikatową funkcją witryny internetowej usługi Azure Quantum. W tym miejscu możesz uruchamiać wbudowane Q# przykłady lub własne Q# programy, generować nowy Q# kod z monitów, otwierać i uruchamiać kod w programie VS Code dla sieci Web za pomocą jednego kliknięcia i zadać Copilot wszelkie pytania dotyczące obliczeń kwantowych.

Dlaczego warto używać komputerów kwantowych?

Pomysł komputera kwantowego powstał z trudności z symulowaniem systemów kwantowych na klasycznym komputerze. W 1980 roku Richard Feynman i Yuri Manin niezależnie sugerowali, że sprzęt oparty na zjawiskach kwantowych może być bardziej wydajny dla symulacji systemów kwantowych niż konwencjonalne komputery.

To, dlaczego symulacja mechaniki kwantowej jest tak trudna, można wytłumaczyć na wiele sposobów. Najprostszym sposobem jest sprawdzenie, czy ma to znaczenie na poziomie kwantowym, jest w wielu możliwych konfiguracjach (nazywanych stanami).

Obliczenia kwantowe rosną wykładniczo

Rozważ system elektronów, w którym istnieje $40$ możliwych lokalizacji. W związku z tym system może znajdować się w dowolnej z $2^{40}$ konfiguracji (ponieważ każda lokalizacja może mieć lub nie ma elektronu). Aby przechowywać stan kwantowy elektronów w konwencjonalnej pamięci komputerowej, wymagałoby ponad $130$ GB pamięci! Jeśli pozwoliliśmy, aby cząstki znajdowały się w dowolnej z $41$ pozycji, będzie dwa razy więcej konfiguracji na $poziomie 2^{41}$ , co z kolei wymagałoby więcej niż $260$ GB pamięci do przechowywania stanu kwantowego.

Ta gra o zwiększenie liczby lokalizacji nie można grać na czas nieokreślony. Jeśli chcemy przechowywać stan konwencjonalny, szybko przekroczymy pojemność pamięci najpotężniejszych maszyn na świecie. Już przy kilkuset elektronach pamięć potrzebna do przechowywania układu przekracza liczbę cząstek we wszechświecie, a więc nie ma szans na to, że za pomocą naszych konwencjonalnych komputerów kiedykolwiek uda się symulować ich dynamikę kwantową.

Przekształcanie trudności w możliwości

Obserwacja tego wykładniczego wzrostu doprowadziła nas do zadawania potężnego pytania: czy możemy przekształcić tę trudności w szansę? A konkretnie, skoro mechanika kwantowa jest trudna do symulowania, co by się stało, gdybyśmy zbudowali sprzęt, który wykorzystuje efekty kwantowe jako podstawowe operacje? Czy możemy symulować systemy kwantowe interakcji cząstek przy użyciu maszyny wykorzystującej dokładnie te same prawa fizyki? I czy możemy użyć tych, które maszyny badają inne zadania, które są nieobecne w cząstkach kwantowych, ale są dla nas kluczowe? Te pytania doprowadziły do powstania obliczeń kwantowych.

W 1985 roku David Deutsch pokazał, że komputer kwantowy może efektywnie symulować zachowanie dowolnego systemu fizycznego. To odkrycie było pierwszym wskazaniem, że komputery kwantowe mogą służyć do rozwiązywania problemów, które są nietrwałe na komputerach klasycznych.

W 1994 roku Peter Shor odkrył algorytm kwantowy do faktorów liczb całkowitych, który działa wykładniczo szybciej niż najbardziej znany algorytm klasyczny. Rozwiązanie faktoringu umożliwia przełamanie wielu naszych systemów kryptograficznych kluczy publicznych, które są podstawą bezpieczeństwa handlu elektronicznego, w tym RSA i kryptografii krzywej eliptycznej. To odkrycie wywołało ogromne zainteresowanie obliczeniami kwantowymi i doprowadziło do rozwoju algorytmów kwantowych dla wielu innych problemów.

Od tego czasu opracowano szybkie i wydajne algorytmy komputerów kwantowych dla wielu naszych twardych klasycznych zadań: symulowanie systemów fizycznych w dziedzinie chemii, fizyki i nauki o materiałach, wyszukiwanie nieurządkowanej bazy danych, rozwiązywanie systemów równań liniowych i uczenie maszynowe.

Co to jest kubit?

Podobnie jak bity są podstawowym obiektem informacji w obliczeniach klasycznych, kubity (bity kwantowe) są podstawowym obiektem informacji w obliczeniach kwantowych.

Kubit to podstawowa jednostka informacji w obliczeniach kwantowych. Kubity odgrywają podobną rolę w obliczeniach kwantowych, ponieważ bity odgrywają w obliczeniach klasycznych, ale zachowują się bardzo inaczej. Bity klasyczne są binarne i mogą pomieścić tylko pozycję $0$ lub $1$, ale kubity mogą przechowywać superpozycję wszystkich możliwych stanów. Oznacza to, że kubit może być w stanie $0$, $1$ lub dowolnej superpozycji kwantowej tych dwóch. Istnieją nieskończone możliwe superpozycje $0$ i $1$, a każdy z nich jest prawidłowym stanem kubitu.

W obliczeniach kwantowych informacje są kodowane w superpozycji stanów $0$ i $1$. Na przykład w $przypadku 8$ bitów możemy zakodować $256$ różnych wartości, ale musimy wybrać jedną z nich, aby ją zakodować. W przypadku $8$ kubitów możemy zakodować $256$ wartości jednocześnie. To zachowanie jest spowodowane tym, że kubit może znajdować się w superpozycji wszystkich możliwych stanów.

Aby uzyskać więcej informacji, zobacz Kubit w obliczeniach kwantowych.

Jak utworzyć komputer kwantowy

Komputer kwantowy to komputer korzystający z zjawisk mechanicznych kwantowych. Komputery kwantowe używają stanów kwantowych materii do przechowywania i przetwarzania informacji. Mogą cytować &; program" interferencja kwantowa do robienia rzeczy szybciej lub lepiej niż komputery klasyczne.

Podczas tworzenia komputera kwantowego musimy zastanowić się, jak utworzyć kubity i jak je przechowywać. Musimy również zastanowić się, jak nimi manipulować i jak odczytywać wyniki naszych obliczeń.

Większość używanych technologii kubitów to kubity uwięzionych jonów, nadprzewodzące kubity i kubity topologiczne. W przypadku niektórych metod magazynowania kubitów jednostka, która mieści kubity, jest utrzymywana w temperaturze zbliżonej do zera bezwzględnego, aby zmaksymalizować ich spójność i zmniejszyć interferencję. Inne typy magazynów kubitów korzystają z komory próżniowej w celu zminimalizowania drgań i ustabilizowania kubitów. Sygnały można wysyłać do kubitów przy użyciu różnych metod, w tym mikrofal, lasera i napięcia.

Pięć kryteriów dla komputera kwantowego

Dobry komputer kwantowy powinien mieć następujące pięć funkcji:

  1. Skalowalne: Może mieć wiele kubitów.
  2. Inicjowanie: Może ustawić kubity na określony stan (zwykle $stan 0$ ).
  3. Odporne: Kubity mogą być utrzymywane w stanie superpozycji przez długi czas.
  4. Uniwersalny: Komputer kwantowy nie musi wykonywać każdej możliwej operacji, tylko zestawu operacji nazywanych zestawem uniwersalnym. Zestaw uniwersalnych operacji kwantowych jest taki, że każda inna operacja może zostać rozłożona na sekwencję.
  5. Niezawodne: Może dokładnie mierzyć kubity.

Te pięć kryteriów jest często znanych jako kryteria Di Vincenzo do obliczeń kwantowych.

Budowa urządzeń spełniających te pięć kryteriów jest jednym z najbardziej wymagających wyzwań inżynieryjnych, jakie kiedykolwiek napotkała ludzkość. Firma Microsoft współpracuje z niektórymi z najlepszych producentów komputerów kwantowych na całym świecie, aby zapewnić dostęp do najnowszych rozwiązań obliczeniowych kwantowych za pośrednictwem usługi Azure Quantum. Aby uzyskać więcej informacji, zobacz pełną listę dostawców usługi Azure Quantum.

Do czego można używać obliczeń kwantowych i usługi Azure Quantum?

Komputer kwantowy nie jest superkomputerem, który może zrobić wszystko szybciej. W rzeczywistości jednym z celów badań nad obliczeniami kwantowymi jest zbadanie, które problemy można rozwiązać przez komputer kwantowy szybciej niż klasyczny komputer i jak duże może być przyspieszenie.

Komputery kwantowe działają wyjątkowo dobrze z problemami, które wymagają obliczenia dużej liczby możliwych kombinacji. Te typy problemów można znaleźć w wielu obszarach, takich jak symulacja kwantowa, kryptografia, uczenie maszynowe kwantowe i problemy z wyszukiwaniem.

Aby uzyskać najnowsze informacje na temat badań dotyczących obliczeń kwantowych firmy Microsoft, zobacz stronę Microsoft Research Quantum Computing .

Szacowanie zasobów

Komputery kwantowe dostępne obecnie umożliwiają interesujące eksperymenty i badania, ale nie są w stanie przyspieszyć obliczeń niezbędnych do rozwiązywania rzeczywistych problemów. Podczas gdy branża oczekuje na postępy sprzętowe, innowatorzy oprogramowania kwantowego chętnie poczynią postępy i przygotowują się do przyszłości kwantowej. Tworzenie algorytmów, które w końcu będą uruchamiane na jutrzejszych komputerach kwantowych skalowanych w skalę błędów, to trudne zadanie. Ci innowatorzy mają do czynienia z pytaniami, takimi jak to, jakie zasoby sprzętowe są wymagane? Ile potrzebnych jest kubitów fizycznych i logicznych oraz jakiego typu? Jak długo trwa czas wykonywania?

Aby odpowiedzieć na te pytania, możesz użyć narzędzia do szacowania zasobów usługi Azure Quantum. W rezultacie będziesz w stanie udoskonalić algorytmy i tworzyć rozwiązania, które korzystają ze skalowanych komputerów kwantowych, gdy staną się dostępne.

Aby rozpocząć pracę, zobacz Uruchamianie pierwszego oszacowania zasobów.

Dowiedz się więcej o ocenie wymagań dotyczących skalowania w celu praktycznej przewagi kwantowej przy użyciu narzędzia do szacowania zasobów kwantowych platformy Azure w elemecie arXiv:2211.07629.

Symulacja kwantowa

Mechanika kwantowa jest podstawowym &cytatem; iloraz systemu&operacyjnego; z naszego wszechświata. W tym artykule opisano, jak zachowują się podstawowe bloki konstrukcyjne natury. Zachowania natury, takie jak reakcje chemiczne, reakcje biologiczne i powstawanie materiału, często obejmują interakcje kwantowe wiele ciała. Do symulowania wewnętrznie kwantowych systemów mechanicznych, takich jak cząsteczki, obliczenia kwantowe są obiecujące, ponieważ kubity (bity kwantowe) mogą służyć do reprezentowania istotnych stanów naturalnych. Przykłady systemów kwantowych, które możemy modelować, obejmują fotosyntezę, nadprzewodnictwo i złożone formacje molekularne.

Usługa Azure Quantum Elements została utworzona specjalnie, aby przyspieszyć odnajdywanie naukowe. Wymyśl ponownie wydajność badań i rozwoju przy użyciu przepływów pracy symulacji zoptymalizowanych pod kątem skalowania w klastrach usługi Azure High-Performance Computing (HPC), przyspieszonej sztucznej inteligencji, rozszerzonego rozumowania przy użyciu sztucznej inteligencji, integracji z narzędziami kwantowymi, aby rozpocząć eksperymentowanie z istniejącym sprzętem kwantowym i uzyskać dostęp w przyszłości do superkomputera kwantowego firmy Microsoft. Aby uzyskać więcej informacji, zobacz Odblokowywanie możliwości platformy Azure dla usługi Molekularna Dynamics.

Przyspieszanie kwantowe

Jednym z celów badań nad obliczeniami kwantowymi jest zbadanie, które problemy mogą być rozwiązywane przez komputer kwantowy szybciej niż klasyczny komputer i jak duże może być przyspieszenie. Dwa dobrze znane przykłady to algorytm Grovera i algorytm Shora, który daje odpowiednio wielomian i wykładniczy przyspieszenie nad ich klasycznymi odpowiednikami.

Algorytm Shor działający na komputerze kwantowym może przerwać klasyczne schematy kryptograficzne, takie jak schemat Rivest-Shamir-Adleman (RSA), który jest powszechnie używany w handlu elektronicznym na potrzeby bezpiecznej transmisji danych. Ten schemat opiera się na praktycznej trudności z faktorowaniem liczb pierwszych przy użyciu klasycznych algorytmów. Kryptografia kwantowa obiecuje bezpieczeństwo informacji, wykorzystując podstawową fizykę, a nie założenia dotyczące złożoności.

Podobnie jak algorytm Shora do factoringu, ukryty problem zmiany jest naturalnym źródłem problemów, dla których komputer kwantowy ma przewagę wykładniczą nad najbardziej znanymi algorytmami klasycznymi. Może to w końcu pomóc w rozwiązywaniu problemów z dekonwolucji i umożliwić nam efektywne znajdowanie wzorców w złożonych zestawach danych. Okazuje się, że komputer kwantowy może w zasadzie obliczać sploty z dużą szybkością, co z kolei opiera się na zdolności komputera kwantowego do obliczeń Fouriera bardzo szybko. W przykładowej galerii obszaru roboczego usługi Azure Quantum znajdziesz przykład notesu Jupyter Hidden Shifts (wymagane jest konto platformy Azure).

Algorytm Grovera przyspiesza rozwiązanie do wyszukiwania danych bez struktury, uruchamiając wyszukiwanie w mniejszej liczbie kroków niż jakikolwiek klasyczny algorytm. Rzeczywiście, każdy problem, który pozwala sprawdzić, czy dana wartość $x$ jest prawidłowym rozwiązaniem (cudzysłów &; Tak lub nie ma problemu&;) można sformułować pod względem problemu wyszukiwania. Poniżej przedstawiono kilka przykładów:

  • Problem z użytecznością logiczną: czy zestaw wartości logicznych x$ jest interpretacją (przypisaniem wartości $zmiennych), która spełnia daną formułę logiczną?
  • Problem z sprzedawcą podróży: Czy $x$ opisuje najkrótszą możliwą pętlę, która łączy wszystkie miasta?
  • Problem z wyszukiwaniem bazy danych: Czy tabela bazy danych zawiera rekord $x$?
  • Problem z factorizacją całkowitą: czy stała liczba $N$ jest podzielna przez liczbę $x$?

Aby zapoznać się z bardziej szczegółowym badaniem algorytmu Grovera, zobacz samouczek Implementowanie algorytmu Grovera w programie Q#.

Jak przetwarzanie kwantowe rozwiązuje problemy?

Komputery kwantowe to sterowane, mechaniczne urządzenia kwantowe, które wykorzystują właściwości fizyki kwantowej do wykonywania obliczeń. W przypadku niektórych zadań obliczeniowych przetwarzanie kwantowe oferuje przyspieszenie wykładnicze. Przyspieszenia te są możliwe dzięki trzem zjawiskom z zakresu mechaniki kwantowej, takim jak superpozycja, interferencja i splątanie.

Superpozycji

Wyobraź sobie, że ćwiczysz u siebie w salonie. Skręcasz ciało maksymalnie w lewą stronę, a później w prawą. A teraz spróbuj jednocześnie skręcić w lewo i w prawo. Nie jest to możliwe (chyba, że się rozdzielisz na co najmniej dwie części). Oczywiście nie możesz jednocześnie znajdować się w obu tych stanach — nie możesz patrzeć w tym samym czasie w lewo i w prawo.

Jeśli jednak w wyobraźni zmienisz się w cząstkę kwantową, będziesz mieć pewne prawdopodobieństwo, że patrzysz w lewą stronę ORAZ pewne prawdopodobieństwo, że patrzysz w prawą stronę. Odpowiedzialne jest za to pewne zjawisko o nazwie superpozycja (zwane też koherencją).

W przeciwieństwie do cząstek klasycznych, jeśli dwa stany A i B są prawidłowymi stanami $kwantowymi cząstki kwantowej, każda liniowa kombinacja stanów jest również prawidłowym stanem kwantowym: $\text{stan}=\alpha kubitu A + \beta B$.$$$ Ta liniowa kombinacja stanów $kwantowych A$ i $B$ jest nazywana superpozycją. $\alpha$ Tutaj i $\beta$ są amplitudy $prawdopodobieństwa odpowiednio A$ i $B$, tak, że $|\alpha|^ + |\beta|^{2}={{2} 1.$

Tylko systemy kwantowe, takie jak jony, elektrony lub obwody nadprzewodzące, mogą istnieć w stanach superpozycji, które umożliwiają moc obliczeń kwantowych. Cząstka kwantowa, taka jak elektron, ma własną właściwość "stoi w lewo lub w prawo", a mianowicie spin, nazywana albo w górę lub w dół, więc stan kwantowy elektronu jest superpozycją cudzysłów &; spin up" and " spin down".

Ogólnie rzecz biorąc, i aby uczynić go bardziej powiązanym z klasycznym przetwarzaniem binarnym, jeśli system kwantowy może znajdować się w dwóch stanach kwantowych, te stany są określane jako stan 0 i 1.

Kubity i prawdopodobieństwo

Klasyczne komputery przechowują i przetwarzają informacje w postaci bitów. Każdy bit może mieć wartość 1 lub 0, ale nigdy nie może mieć obu tych wartości jednocześnie. Odpowiednikiem obliczeń kwantowych jest kubit. Kubit to dowolny system kwantowy, który może znajdować się w superpozycji dwóch stanów kwantowych, 0 i 1. Każdy możliwy stan kwantowy ma skojarzona amplituda prawdopodobieństwa. Tylko po zmierzeniu kubitu jego stan zwija się do stanu 0 lub 1 w zależności od skojarzonego prawdopodobieństwa, dlatego jeden z możliwych stanów jest uzyskiwany z pewnym prawdopodobieństwem.

Prawdopodobieństwo kolapsu kubitu do jednej lub innej wartości jest zdeterminowane przez interferencję kwantową. Interferencja kwantowa wpływa na stan kubitu w celu wywierania wpływu na prawdopodobieństwo określonego wyniku podczas pomiaru, a ten stan probabilistyczny jest miejscem, w którym moc obliczeń kwantowych wyróżnia się.

Przykładowo jeśli mamy dwa bity w klasycznym komputerze, w każdym bicie możemy przechować wartość 1 lub 0, tak więc w obu tych bitach możemy przechować cztery różne wartości — 00, 01, 10 i 11, ale tylko jedną z nich w danym momencie. Jednak w przypadku dwóch kubitów w superpozycji każdy z nich może mieć wartość 1, 0 lub obie te wartości, dzięki czemu można reprezentować te same cztery wartości jednocześnie. Za pomocą trzech kubitów można reprezentować osiem wartości, za pomocą czterech kubitów — 16 wartości itd.

Aby uzyskać więcej informacji, zobacz Kubit w obliczeniach kwantowych.

Splątanie

Jednym z najbardziej interesujących zjawisk mechaniki kwantowej jest zdolność co najmniej dwóch systemów kwantowych do splątania się ze sobą. Splątanie to korelacja kwantowa między systemami kwantowymi. Gdy kubity stają się splątane, tworzą one system globalny, tak aby stan kwantowy poszczególnych podsystemów nie mógł być opisywany niezależnie. Dwa systemy są splątane, gdy stan systemu globalnego nie może być zapisany jako kombinacja stanu podsystemów, w szczególności dwa systemy są splątane, gdy stan systemu globalnego nie może być zapisany jako produkt tensor stanów podsystemów. Stan produktu nie zawiera żadnych korelacji.

Splątane systemy kwantowe utrzymują tę korelację nawet wtedy, gdy są oddzielone na dużych odległościach. Oznacza to, że niezależnie od operacji lub procesu stosowanego do jednego podsystemu również koreluje się z drugim podsystemem. Ponieważ istnieje korelacja między splątanymi kubitami, zmierzenie stanu jednego kubitu pozwala na uzyskanie informacji o stanie innego kubitu — ta właściwość jest bardzo przydatna w przypadku obliczeń kwantowych.

Uwaga

Nie każda korelacja między pomiarami dwóch kubitów oznacza, że dwa kubity są splątane. Oprócz korelacji kwantowych istnieją również klasyczne korelacje. Różnica między korelacjami klasycznymi i kwantowymi jest subtelna, ale jest niezbędna do przyspieszenia zapewnianego przez komputery kwantowe. Aby uzyskać więcej informacji, zobacz Omówienie korelacji klasycznych.

Jeśli chcesz dowiedzieć się więcej, zobacz samouczek Eksplorowanie splątania kwantowego za pomocą polecenia Q#.

Następne kroki