Wie man einen Quantencomputer in einen perfekten Zufallszahlengenerator verwandelt

Ein reiner, nachweisbarer Zufall ist schwer zu finden. Zwei neue SĂ€tze zeigen, wie man aus Quantencomputern Zufallszahlenfabriken macht.




Sagen Sie bei jedem Treffen von Informatikern „Quantum Excellence“, und Sie werden wahrscheinlich sehen, wie sie mit den Augen rollen. Dieser Satz bezieht sich auf die Idee, dass Quantencomputer bald die Grenze ĂŒberschreiten werden, ab der sie Aufgaben, die fĂŒr klassische Computer Ă€ußerst schwierig sind, relativ einfach ausfĂŒhren können. Und bis vor kurzem galten diese Aufgaben fĂŒr reale Anwendungen als wenig nĂŒtzlich - daher das Rollen der Augen.

Aber jetzt, da der Google-Prozessor diesem Ziel nahe sein soll, kann die bevorstehende QuantenĂŒberlegenheit eine wichtige Verwendung haben: die Erzeugung reiner ZufĂ€lligkeit.

ZufĂ€lligkeit ist wichtig fĂŒr fast alles, was in der Computer- und Kommunikationsinfrastruktur passiert. Insbesondere wird es verwendet, um Daten zu verschlĂŒsseln, die alles von normalen GesprĂ€chen ĂŒber Finanztransaktionen bis hin zu Staatsgeheimnissen schĂŒtzen.

Die reale, bestĂ€tigte ZufĂ€lligkeit - stellen Sie sie sich als eine Eigenschaft vor, die in einer Folge von Zahlen existiert und es unmöglich macht, die nĂ€chste Zahl in einer Folge vorherzusagen - ist Ă€ußerst schwer zu finden.

Diese Situation kann sich jedoch Ă€ndern, wenn Quantencomputer ihre Überlegenheit demonstrieren. Diese ersten Aufgaben, die von Anfang an lediglich die Überlegenheit der Technologie demonstrieren mussten, können auch einen echten zertifizierten Zufall ergeben. "Wir freuen uns, dies zu begrĂŒĂŸen", sagte John Martinis , Physiker an der University of California in Santa Barbara, der das Quantencomputerprojekt bei Google leitet. "Wir hoffen, dass dies der erste Einsatz eines Quantencomputers ist."

ZufÀlligkeit und Entropie


ZufĂ€lligkeit und Quantentheorie gehen Hand in Hand wie Donner und Blitz. In beiden FĂ€llen ist Ersteres eine unvermeidliche Folge des Letzteren. In der Quantenwelt wird oft gesagt, dass sich Systeme in einer Kombination mehrerer ZustĂ€nde befinden - den sogenannten "Überlagerung". Wenn Sie ein System messen, „kollabiert“ es in einen dieser ZustĂ€nde. WĂ€hrend die Quantentheorie es Ihnen ermöglicht, die Wahrscheinlichkeiten dessen zu berechnen, was Sie bei einer Messung entdecken werden, ist das genaue Ergebnis immer grundsĂ€tzlich zufĂ€llig.

Physiker haben diesen Zusammenhang untersucht, um Zufallszahlengeneratoren zu erstellen. Sie alle stĂŒtzen sich auf Messungen einer Art QuantenĂŒberlagerung. Und obwohl fĂŒr die meisten Methoden zur Erzeugung von Zufallszahlen, die Menschen benötigen, diese Systeme ausreichen, kann es schwierig sein, mit ihnen zu arbeiten. DarĂŒber hinaus ist es sehr schwierig, dem Skeptiker die wahre ZufĂ€lligkeit dieser Zufallszahlengeneratoren zu beweisen. Schließlich erfordern einige der effektivsten Methoden zur Erzeugung einer bestĂ€tigten ZufĂ€lligkeit ausgefeilte Designs von mehreren GerĂ€ten, die durch große Entfernungen voneinander getrennt sind.


Google AI Lab stellt 2018 den Bristlecone 72-Qubit-Quantenprozessor vor

Ein neuerer Vorschlag, die ZufĂ€lligkeit von nur einem GerĂ€t - einem Quantencomputer - zu extrahieren, verwendet das sogenannte. die Stichprobenaufgabe, die einer der ersten Tests der QuantenĂŒberlegenheit sein wird. Um es zu verstehen, stellen Sie sich vor, Sie hĂ€tten eine Schachtel Fliesen bekommen. Auf jeder Kachel befinden sich mehrere Einheiten und mehrere Nullen - 000, 010, 101 usw.

Wenn es nur drei Bits gibt, gibt es acht mögliche Optionen. Es können jedoch mehrere Kopien jeder Kachel in der Box sein. Es können 50 Kacheln mit der Bezeichnung 010 und 25 Kacheln mit der Bezeichnung 001 vorhanden sein. Die Verteilung der Kacheln bestimmt die Wahrscheinlichkeit, dass Sie versehentlich eine bestimmte Kachel herausziehen. In unserem Fall können Sie Kachel 010 mit einer Wahrscheinlichkeit herausziehen, die doppelt so hoch ist wie Kachel 001.

Die Stichprobenaufgabe umfasst einen Computeralgorithmus, der dem zufĂ€lligen Herausziehen von Kacheln mit einer bestimmten Kachelverteilung entspricht. Je höher die fĂŒr eine Kachel in der Verteilung definierte Wahrscheinlichkeit ist, desto wahrscheinlicher wird der Algorithmus diese Kachel ziehen.

NatĂŒrlich zieht der Algorithmus keine echten Kacheln aus einer echten Box. Es wird nur zufĂ€llig eine BinĂ€rzahl mit einer LĂ€nge von 50 Bit erzeugt, wobei eine Verteilung erhalten wird, die die gewĂŒnschte Wahrscheinlichkeit fĂŒr jede der möglichen Zeilen mit einer LĂ€nge von 50 Bit bestimmt.

Bei einem klassischen Computer nimmt die KomplexitĂ€t dieser Aufgabe mit zunehmender Anzahl von Bits in einer Zeichenfolge exponentiell zu. FĂŒr einen Quantencomputer wird jedoch erwartet, dass die Aufgabe sowohl fĂŒr 5 Bits als auch fĂŒr 50 ungefĂ€hr gleich bleibt.

Ein Quantencomputer beginnt damit, dass alle seine Quantenbits - Qubits - in einem bestimmten Zustand sind. Angenommen, sie beginnen alle mit 0. Wie klassische Computer mit klassischen Bits mit dem sogenannten arbeiten können. Logikgatter und Quantencomputer manipulieren Qubits unter Verwendung ihrer QuantenÀquivalentquantengatter.

Quantengatter können jedoch Qubits in seltsame ZustĂ€nde versetzen. Beispielsweise kann ein Gate-Typ ein Qubit, das mit einem Wert von 0 beginnt, in eine Überlagerung von 0 und 1 setzen. Wenn Sie dann den Zustand eines Qubits messen, wird es mit gleicher Wahrscheinlichkeit zufĂ€llig auf 0 oder 1 reduziert.

Selbst seltsamere Quantentore, die mit zwei oder mehr Qubits gleichzeitig arbeiten können, können dazu fĂŒhren, dass sich die Qubits miteinander verwickeln. In diesem Fall sind die ZustĂ€nde von Qubits miteinander verflochten, so dass nun alle diese Qubits mit nur einem Quantenzustand beschrieben werden können.

Wenn Sie eine Reihe von Quantentoren an einen Ort bringen und sie dann mit einer Reihe von Qubits in einer bestimmten Reihenfolge arbeiten lassen, ist dies eine Quantenschaltung. In unserem Fall können Sie, um eine zufĂ€llige Zeichenfolge von 50 Bit abzuleiten, eine Quantenschaltung erstellen, die 50 Qubits in eine Überlagerung von ZustĂ€nden einfĂŒgt, die die von Ihnen benötigte Verteilung beschreibt.

Beim Messen von Qubits wird die gesamte Überlagerung zufĂ€llig zu einer einzigen 50-Bit-Zeichenfolge zusammengefasst. Die Wahrscheinlichkeit, dass es in eine bestimmte Linie kollabiert, wird durch die Verteilung bestimmt, die durch die Quantenkontur bestimmt wird. Die Messung von Qubits Ă€hnelt der Messung, bei der ein Mann mit verbundenen Augen in eine Tasche greift und versehentlich eine Linie mit der Verteilung herauszieht.


Scott Aaronson, Informatikspezialist, UniversitÀt von Texas in Austin

Und wie hĂ€ngt das alles mit Zufallszahlen zusammen? Es ist wichtig, dass die vom Quantencomputer ausgewĂ€hlte 50-Bit-Zeichenfolge viel Entropie, ein Maß fĂŒr Unordnung oder Unvorhersehbarkeit und damit ZufĂ€lligkeit enthĂ€lt. "Und dies kann in der Tat sehr schwerwiegende Folgen haben", sagte Scott Aaronson , ein IT-Spezialist an der UniversitĂ€t von Texas in Austin, der ein neues Protokoll entwickelte. "Nicht weil es der wichtigste Einsatz von Quantencomputern ist - ich denke, es ist weit davon entfernt -, sondern weil es so aussieht, als ob der erste Einsatz von Quantencomputern in die Praxis umgesetzt werden kann."

Aaronsons Protokoll zur Erzeugung von Zufallszahlen ist ziemlich einfach. Ein klassischer Computer sammelt zuerst einige zufĂ€llige Bits von einer vertrauenswĂŒrdigen Quelle und verwendet dann diesen „Keim der ZufĂ€lligkeit“, um eine Beschreibung der Quantenkontur zu generieren. ZufĂ€llige Bits bestimmen den Typ der Quantengatter und die Reihenfolge, in der sie auf Qubits einwirken mĂŒssen. Ein klassischer Computer sendet eine Beschreibung an einen Quantencomputer, der eine Quantenschaltung implementiert, Qubits misst und eine 50-Bit-Zeichenfolge zurĂŒcksendet. Somit stellt sich heraus, dass es zufĂ€llig aus der durch die Kontur definierten Verteilung ausgewĂ€hlt wird.

Wiederholen Sie diesen Vorgang dann mehrmals - zum Beispiel zehnmal fĂŒr jede Quantenschaltung. Ein klassischer Computer verwendet statistische Tests, um sicherzustellen, dass die Ausgangsleitungen eine angemessene Menge an Entropie enthalten. Aaronson hat gezeigt (teils in einer veröffentlichten Arbeit, die in Zusammenarbeit mit Lijie Chen verfasst wurde, teils in einer noch zu veröffentlichenden Arbeit ), dass unter bestimmten vernĂŒnftigen Annahmen, dass solche Aufgaben rechenintensiv sind, kein klassischer Computer eine solche Entropie erzeugen kann Zeit vergleichbar mit der Zeit, in der ein Quantencomputer eine solche zufĂ€llige Auswahl aus der Verteilung erstellt. Nach der ÜberprĂŒfung sammelt der klassische Computer alle 50-Bit-Zeichenfolgen und fĂŒhrt sie dem bekannten klassischen Algorithmus zu. "Es produziert eine lange, fast vollkommen zufĂ€llige Saite", sagte Aaronson.

Quantenfalle


Das Aaronson-Protokoll eignet sich am besten fĂŒr Quantencomputer mit einer Anzahl von Qubits von 50 bis 100. Wenn die Anzahl der Qubits diese Grenzen ĂŒberschreitet, erlaubt die KomplexitĂ€t der Berechnung die Verwendung dieses Protokolls selbst fĂŒr klassische Supercomputer nicht. In diesem Fall tritt ein anderes Schema zum Erzeugen ĂŒberprĂŒfbarer Zufallszahlen unter Verwendung von Quantencomputern in die Szene ein. Es verwendet eine vorhandene mathematische Technik mit dem komplexen Namen FalltĂŒr klauenfrei. "Das klingt schlimmer als die RealitĂ€t", sagte Umesh Wazirani , ein IT-Spezialist an der University of California in Berkeley, der eine neue Strategie entwickelte, die von Zvika Brackerski , Paul Cristiano , Urmila Mahadev und Thomas Vidik unterstĂŒtzt wurde .

Stellen Sie unsere Box vor. Anstatt hineinzukommen und eine Zeichenfolge herauszuziehen, werfen wir eine Zeichenfolge mit n Bits hinein, nennen sie x und entfernen dann eine weitere Zeichenfolge mit n Bits. Das Feld stimmt irgendwie mit der Eingabe- und der Ausgabezeile ĂŒberein. Es hat jedoch eine besondere Eigenschaft: FĂŒr jedes x gibt es eine weitere Eingabezeile y, die genau dieselbe Ausgabezeile erzeugt.

Mit anderen Worten, es gibt zwei eindeutige Eingabezeilen - x und y - fĂŒr die das Feld dieselbe Ausgabezeile z zurĂŒckgibt. Dieses Tripel, x, y und z, wird Klaue genannt. Box in der Sprache der Informatik - eine Funktion. Diese Funktion ist einfach zu berechnen, dh fĂŒr jedes x und y ist es einfach, z zu berechnen. Wenn Sie jedoch nur x und z nehmen, ist es selbst fĂŒr einen Quantencomputer unmöglich, y - und die gesamte Klaue - zu finden.


Urmila Mahadev, Umesh Vazirani und Thomas Vidik

Der einzige Weg, um die ganze Klaue zu bekommen, besteht darin, einige zusÀtzliche Informationen zu finden, die sogenannten eine Falle.

Vazirani und Kollegen möchten mit solchen Funktionen nicht nur Quantencomputer zur Erzeugung von Zufallszahlen zwingen, sondern auch ĂŒberprĂŒfen, ob Quantencomputer tatsĂ€chlich nach Quantengesetzen arbeiten - was notwendig ist, um Vertrauen in zufĂ€llige Sequenzen aufzubauen.

Das Protokoll beginnt mit einem Quantencomputer, der n Qubits in eine Überlagerung aller n-Bit-Strings einfĂŒgt. Dann sendet der klassische Computer eine Beschreibung der Quantenkontur und bestimmt die Funktion, die auf die Überlagerung angewendet werden soll - die Fallenfunktion ohne Krallen. Ein Quantencomputer implementiert eine Schaltung, ohne etwas ĂŒber die Falle zu wissen.

In diesem Stadium tritt der Quantencomputer in einen Zustand ein, in dem sich ein Satz seiner Qubits in einer Überlagerung aller n-Bit-Strings befindet und der andere das Ergebnis der Anwendung der Funktion auf diese Überlagerung enthĂ€lt. Zwei SĂ€tze von Qubits sind miteinander verwickelt.

Ein Quantencomputer, der einen zweiten Satz von Qubits misst, kollabiert zufĂ€llig eine Überlagerung zu einem bestimmten Ergebnis z. Der erste Satz von Qubits kollabiert zu einer Ă€hnlichen Überlagerung von zwei n-Bit-Strings x und y, da jeder von ihnen als Eingabe fĂŒr eine Funktion dienen kann, die z ausgibt.

Ein klassischer Computer empfĂ€ngt einen Ausgabewert von z und fĂŒhrt dann eines von zwei Dingen aus. In den meisten FĂ€llen bittet er den Quantencomputer, die verbleibenden Qubits zu messen. Dies kollabiert die Überlagerung bei x oder bei y mit einer Chance von 50%. Dies entspricht dem zufĂ€lligen Erhalten von 0 oder 1.

Manchmal verlangt ein klassischer Computer eine spezielle Messung, um einen Quantencomputer auf Quanten zu testen. Die Messung und ihr Ergebnis sind so konzipiert, dass ein klassischer Computer mit Hilfe einer Falle, auf die nur er Zugriff hat, sicherstellen kann, dass das GerÀt, das auf seine Anforderungen reagiert, wirklich quantitativ ist. Vazirani und Kollegen haben gezeigt, dass wenn das GerÀt die richtige Antwort auf eine bestimmte Dimension gibt, ohne den Zusammenbruch von Qubits zu verwenden, dies dem Auffinden einer Klaue ohne Falle entspricht. Und das ist unmöglich. Daher sollte mindestens ein Qubit (zufÀllig 0 oder 1) im GerÀt kollabieren. "Das Protokoll erzeugt ein getestetes Qubit in einem Quantencomputer, dem wir nicht vertrauen", sagte Vazirani.

Dieses getestete Qubit liefert fĂŒr jede Umfrage eine wirklich zufĂ€llige Information. Eine Folge solcher Abfragen kann verwendet werden, um lange zufĂ€llige Zeichenfolgen zu erstellen.

Dieses Schema funktioniert möglicherweise schneller als das Aaronson-Protokoll, weist jedoch einen eindeutigen Fehler auf. "Mit einer Qubit-Zahl von 50 oder 70 wird es nicht praktikabel sein", sagte Aaronson.

Aaronson wartet noch auf das Erscheinen eines Systems von Google. "Ob die QualitĂ€t dessen, was sie uns zeigen, ausreicht, um wirklich eine QuantenĂŒberlegenheit zu erreichen, ist eine große Frage", sagte er.

Wenn das Unternehmen erfolgreich ist, liegt die garantierte QuantenzufĂ€lligkeit bereits vor unserer HaustĂŒr. "Wir glauben, dass dies ein nĂŒtzlicher und vielversprechender Markt sein wird, und das möchten wir den Menschen anbieten", sagte Martinis.

Source: https://habr.com/ru/post/de466029/


All Articles