Quantenrechnen: Eine Anleitung

Veröffentlicht am: 18. Juli 2015

Quelle: http://www-users.cs.york.ac.uk/~schmuel/comp/comp.html
Samuel L. Braunstein

Kurzbeschreibung:

Stelle dir einen Computer vor, dessen Ged√§chtnis exponentiell gr√∂√üer ist als seine scheinbare Gr√∂√üe; ein Computer, der ein exponentielles Set an Inputs zur selben Zeit verarbeiten kann; ein Computer, der in der Zwielichtzone des Hilbert-Raums arbeitet. Du w√ľrdest an einen Quantenrechner denken. Relativ wenige und simple Konzepte der Quantenmechanik sind notwendig, um Quantenrechner Wirklichkeit werden zu lassen. Die Raffinesse bestand darin, zu lernen, diese Konzepte zu manipulieren. Ist ein solcher Computer ein Ding der Unm√∂glichkeit, oder wird er zu schwierig zu bauen sein?

In diesem Aufsatz geben wir ein Tutorial, wie die Quantenmechanik benutzt werden kann, um die Berechnung mit Computern zu verbessern. Unsere Herausforderung: ein exponentiell schwieriges Problem mit einem konventionellen Computer zu l√∂sen ‚Äď n√§mlich das Faktorisieren gro√üer Zahlen. Als Einstand werden wir die Standardwerkzeuge f√ľr diese Berechnung ansehen, universelle Gates und Maschinen.Diese Ideen werden dann erst auf klassische, dissipationsarme Computer und schlie√ülich auf Quantencomputer angewendet. Ein schematisches Modell eines Quantencomputers wird ebenso beschrieben wie einige der Feinheiten zu seinem Programmieren. Der Shor-Algorithmus [1,2], der ben√∂tigt wird, um effizient Zahlen auf einem Quantenrechner zu faktorisieren, wird in zwei Teilen vorgestellt: der Quantenprozedur im Algorithmus und dem klassischen Algorithmus, der die Quantenprozedur aufruft. Die mathematische Struktur beim Faktorisieren, der den Shor-Algorithmus m√∂glich werden l√§sst, wird diskutiert. Wir schlie√üen mt einem Ausblick zur Machbarkeit und den Perspektiven der Quantencomputerrechnung in den kommenden Jahren.

Lasst uns starten, indem wir das vorliegende Problem beschreiben:  eine Zahl N in ihre Primfaktoren zu faktorisieren (z.B. kann die Zahl 51688 in zerlegt werden). Ein zufriedenstellender Weg, zu quantifizieren, wie schnell ein bestimmter algorithmus ein Problem l√∂sen kann, ist, zu fragen, wie die Zahl der Schritte, die ben√∂tigt werden, um den Algorithmus zu komplettieren, mit der Gr√∂√üe des ‚ÄěInputs‚Äú, mit dem der Algorithmus gef√ľttert wird, skaliert. F√ľr das Faktorisierungsproblem bedeutete dieser Input die Zahl N, die wir faktorisieren wollen; daher ist die L√§nge des Inputs . (Die Basis des Logarithmus‚Äô wird bestimmt von unserem Zahlensystem. Daher bedeutete eine Basis von 2 die L√§nge in einem Bin√§rsystem; eine Basis von 10 in einem Dezimalsystem.) `Vern√ľnftige‚Äô Algorithmen sind solche, die als kleingradige Polynome in der Inputgr√∂√üe skalieren (mit einem Grad von vielleicht 2 oder 3).

Auf konventionellen Computern l√§uft der bekannteste Faktorisierungsalgorithmus in Schritten [3]. Dieser Algorithmus skaliert also exponentiell mit der Inputgr√∂√üe . Beispielsweise wurde 1994 eine 129stellige Zahl, bekannt als RSA129 [3′]), erfolgreich faktorisiert, indem dieser Algorithmus auf gesch√§tzten 1600 Arbeitsstationen auf der ganzen Welt benutzt wurde; die gesamte Faktorisierung dauerte acht Monate. [4]. Benutzen wir dies, um den Vorfaktor f√ľr die obenstehende exponentielle Skalierung zu sch√§tzen, kommen wir zu dem Ergebnis, dass es grob gesch√§tzte 800.000 Jahre dauern w√ľrde, um  mit derselben Computerkraft eine 250-stellige Zahl zu faktorisieren; gleicherma√üen w√ľrde eine 1000-stellige Nummer Jahre ben√∂tigen (signifikant l√§nger, als das Alter des Universums betr√§gt). Die Schwierigkeit, gro√üe Zahlen zu faktorisieren, ist von entscheidender Bedeutung f√ľr  Kryptosysteme mit √∂ffentlichem Schl√ľssel, wie sie etwa von Banken benutzt werden. Dort verlassen sich die Codes auf die Schwierigkeit, Zahlen mit etwa 250 Stellen zu faktorisieren. y

K√ľrzlich wurde ein Algorithmus entwickelt, mit dem Zahlen auf einem Quantenrechner faktorisiert werden k√∂nnen, der in  Schritten l√§uft,  klein ist. [1]. Dies ist grob quadratisch in seiner Inputgr√∂√üe, was bedeutet, dass das Faktorisieren einer 1000-stelligen Zahl mit einem solchen Algorithmus nur ein paar Millionen Schritte ben√∂tigen w√ľrde. Die darunterliegende Implikation ist, dass auf dem Faktorisieren basierende Kryptosysteme mit √∂ffentlichem Schl√ľssel geknackt werden k√∂nnen.T

Um dir eine Vorstellung davon zu geben, wie diese exponentielle Verbesserung m√∂glich sein k√∂nnte, schauen wir uns ein elementares quantenmechanisches Experiment an, welches zeigt, wo dies Kraft verborgen liegen k√∂nnte. [5]. Das zweischneidige Experiment ist prototypisch f√ľr die Beobachtung von quantenmechanischem Verhalten: Eine Quelle emittiert Photonen, Elektronen oder andere Partikel, die einen Doppelschlitz erreichen. Diese Partikel unterlaufen eine einheitliche Entwicklung und schlie√ülich Messung. Wir sehen ein  Interferenzmuster, mit beiden Schlitzen offen, das vollst√§ndig verschwindet, sobald einer der Schlitze bedeckt wird. In manchem Sinne dringen die Partikel durch beide Schlitze parallel ein. Wenn solch eine einheitliche Entwicklung  eine Berechnung repr√§sentieren k√∂nnte (oder eine Operation in einer Berechnung), dann w√ľrde das Quantensystem parallele Berechnungen durchf√ľhren. Quantenparallelen kosten nichts. Der Output dieses Systems w√ľrde sich aus der konstruktiven Interferenz zwischen den parallelen Berechnungen ergeben.