(Ich habe eine Einführung in das Quantencomputing geschrieben, die Sie hier finden. Wenn Sie ganz neu auf dem Gebiet sind, ist das ein guter Anfang.)
Wenn Sie in die Quanteninformatik einsteigen wollen, führt kein Weg daran vorbei: Sie müssen das wolkige Konzept des Quantengatters beherrschen. Wie alles in der Quanteninformatik, ganz zu schweigen von der Quantenmechanik, sind auch die Quantengatter in einen ungewohnten Nebel aus Jargon und Matrixmathematik gehüllt, der das Mysterium der Quanten widerspiegelt. Mein Ziel in diesem Beitrag ist es, ein paar Schichten dieses Geheimnisses zu lüften. Aber ich will Ihnen die Spannung ersparen: Niemand kann es vollständig loswerden. Zumindest nicht im Jahr 2018. Alles, was wir heute tun können, ist, die verblüffenden Ähnlichkeiten und alarmierenden Unterschiede zwischen klassischen Gattern und Quantengattern aufzuzeigen und die Auswirkungen auf die nahe und ferne Zukunft der Datenverarbeitung zu erkunden.
Verblüffende Ähnlichkeiten
Wenn nichts anderes, sind klassische Logikgatter und Quantenlogikgatter beides Logikgatter. Fangen wir also dort an. Ein Logikgatter, ob klassisch oder quantenlogisch, ist eine physikalische Struktur oder ein System, das eine Reihe von binären Eingaben (0 und 1, Äpfel und Orangen, Elektronen mit Spin-up und Elektronen mit Spin-down, was auch immer) aufnimmt und eine einzige binäre Ausgabe ausgibt: eine 1, eine Orange, ein Elektron mit Spin-up oder sogar einen von zwei Überlagerungszuständen. Was die Ausgabe steuert, ist eine boolesche Funktion. Das klingt hochtrabend und ahnungsvoll, aber glauben Sie mir, das ist es nicht. Eine boolesche Funktion ist nichts anderes als eine Regel für die Beantwortung von Ja/Nein-Fragen. So einfach ist das. Die Gatter werden dann zu Schaltkreisen kombiniert, und die Schaltkreise zu CPUs oder anderen Rechenkomponenten. Dies gilt unabhängig davon, ob es sich um Babbages Difference Engine, ENIAC, den pensionierten Schachchampion Deep Blue oder den neuesten raumfüllenden Quantencomputer handelt, der für Schlagzeilen sorgt.
Alarmierende Unterschiede
Klassische Gatter arbeiten mit klassischen Bits, während Quantengatter mit Quantenbits (Qubits) arbeiten. Das bedeutet, dass Quantengatter zwei Schlüsselaspekte der Quantenmechanik nutzen können, die für klassische Gatter völlig unerreichbar sind: Überlagerung und Verschränkung. Das sind die beiden Konzepte, von denen man im Zusammenhang mit Quantencomputern am häufigsten hört, und das ist auch der Grund dafür. Aber es gibt noch ein weniger bekanntes Konzept, das vielleicht genauso wichtig ist: die Umkehrbarkeit. Einfach ausgedrückt: Quantengatter sind umkehrbar. Sie werden viel über die Umkehrbarkeit lernen, wenn Sie sich weiter mit der Quanteninformatik beschäftigen, es lohnt sich also, sich damit zu beschäftigen. Für den Moment können Sie es sich so vorstellen: Alle Quantengatter haben eine Rückgängig-Taste, während viele klassische Gatter keine haben, zumindest noch nicht. Das bedeutet, dass Quantengatter zumindest im Prinzip niemals Informationen verlieren. Qubits, die auf dem Weg in das Quantengatter verschränkt werden, bleiben auf dem Weg nach draußen verschränkt, so dass ihre Informationen während des gesamten Übergangs sicher versiegelt bleiben. Viele der klassischen Gatter in konventionellen Computern hingegen verlieren Informationen und können daher ihre Schritte nicht zurückverfolgen. Interessanterweise geht diese Information nicht für das Universum verloren, sondern sickert als Wärme in Ihrem Zimmer oder auf Ihrem Schoß in den klassischen Computer.
V steht für Vektor
Wir können nicht über Quantengatter sprechen, ohne über Matrizen zu sprechen, und wir können nicht über Matrizen sprechen, ohne über Vektoren zu sprechen. Fangen wir also damit an. In der Sprache der Quantenmechanik und des Rechnens werden Vektoren in einer zugegebenermaßen ziemlich seltsamen Verpackung dargestellt, die Ket genannt wird, was von der zweiten Hälfte des Wortes Braket kommt. Und so sehen sie auch aus. Hier ist ein ket-Vektor: |u>, wobei u für die Werte des Vektors steht. Für den Anfang verwenden wir zwei Kets, |0> und |1>, die für Qubits in Form von Elektronen im Spin-up (|0>) und Spin-down (|1>) stehen. Diese Vektoren können sich sozusagen über eine beliebige Anzahl von Zahlen erstrecken. Im Fall eines binären Zustands wie einem Elektronen-Qubit mit Spin-Up/Down haben sie jedoch nur zwei. Anstatt also wie hoch aufragende Spaltenvektoren auszusehen, sahen sie einfach wie zwei übereinander gestapelte Zahlen aus. So sieht |0> aus:
/ 1 \
\ 0 /
Die Gatter/Matrizen wandeln diese Zustände, diese Vektoren, diese Kets, diese Zahlenkolonnen, in ganz neue um. Zum Beispiel kann ein Gatter einen Aufwärtszustand (|0>) in einen Abwärtszustand (|1>) umwandeln, wie durch Zauberei:
/ 1 \ → / 0 \
\ 0 / \ 1 /
M steht für Matrix
Diese Umwandlung eines Vektors in einen anderen erfolgt durch die kaum verstandene Magie der Matrixmultiplikation, die völlig anders ist als die Multiplikation, die wir alle in der Vor-Quanten-Schule gelernt haben. Hat man jedoch erst einmal den Dreh raus, ist diese Art von Mathematik äußerst lohnend, weil man sie immer wieder auf unzählige sonst unverständliche Gleichungen anwenden kann, die den Uneingeweihten verblüfft zurücklassen. Wenn Sie noch mehr Motivation brauchen, erinnern Sie sich einfach daran, dass Heisenberg die Geheimnisse der allumfassenden Unschärferelation durch die Sprache der Matrixmathematik entschlüsselt hat.
Allerdings werden Ihre Augen glasig werden, wenn ich an dieser Stelle anfange, diesen Beitrag mit großen quadratischen Zahlenreihen zu füllen, falls Sie nicht mit dieser Art von mathematischem Werkzeug vertraut sind. Und das können wir nicht zulassen. Warten wir also noch ein paar Absätze mit der Matrixmathematik und der Notation. Für den Moment genügt es zu sagen, dass wir im Allgemeinen eine Matrix als Ersatz für ein Quantengatter verwenden. Die Größe und der Angstfaktor der Matrix hängen von der Anzahl der Qubits ab, mit denen sie arbeitet. Wenn es nur ein Qubit zu transformieren gibt, ist die Matrix schön einfach, nur ein 2 x 2 Array mit vier Elementen. Bei zwei, drei oder mehr Qubits steigt die Größe der Matrix jedoch an. Das liegt daran, dass eine ausgesprochen exponentielle Gleichung, die es wert ist, auswendig gelernt zu werden, die Größe der Matrix (und damit die Komplexität des Quantengatters) bestimmt:
2^n x 2^n = the total number of matrix elements
Hier ist n die Anzahl der Qubits, mit denen das Quantengatter arbeitet. Wie Sie sehen können, steigt diese Zahl mit der Anzahl der Qubits (n) sprunghaft an. Bei einem Qubit sind es 4, bei zwei sind es 16. Bei drei sind es 64. Bei vier ist es… hoffnungslos. Also bleibe ich vorerst bei einem Qubit, und das steht ganz im Zeichen von Pauli.
Die Pauli-Tore
Die Pauli-Tore sind nach Wolfgang Pauli benannt, der nicht nur einen coolen Namen hat, sondern es geschafft hat, sich in zwei der bekanntesten Prinzipien der modernen Physik zu verewigen: dem berühmten Pauli-Ausschlussprinzip und dem gefürchteten Pauli-Effekt.
Die Pauli-Tore basieren auf den bekannteren Pauli-Matrizen (auch Pauli-Spin-Matrizen genannt), die unglaublich nützlich für die Berechnung von Änderungen des Spins eines einzelnen Elektrons sind. Da der Elektronenspin die bevorzugte Eigenschaft für ein Qubit in den heutigen Quantengattern ist, sind Pauli-Matrizen und Gatter genau das Richtige für uns. Auf jeden Fall gibt es im Wesentlichen ein Pauli-Gate/eine Pauli-Matrix für jede Achse im Raum (X, Y und Z).
So können Sie sich vorstellen, dass jedes dieser Gates die Macht hat, die Richtung des Spins eines Elektrons entlang der entsprechenden Achse im 3D-Raum zu ändern. Natürlich gibt es, wie bei allem in der Quantenwelt, einen Haken: Dies ist nicht unser gewöhnlicher 3D-Raum, denn er enthält eine imaginäre Dimension. Aber lassen wir das erst einmal beiseite, ja?
Glücklicherweise sind die Pauli-Tore so ziemlich die einfachsten Quanten-Tore, die man je kennenlernen wird. (Zumindest die X- und Z-Tore sind es. Das Y-Tor ist ein wenig seltsam.) Selbst wenn Sie noch nie in Ihrem Leben eine Matrix gesehen haben, macht Pauli sie handhabbar. Seine Gatter wirken auf jeweils ein Qubit, und nur auf ein Qubit. Das bedeutet einfache 2 x 2 Matrizen mit nur 4 Elementen pro Stück.
Das Pauli X-Gate
Das Pauli X-Gate ist ein wahrgewordener Traum für alle, die Angst vor Matrizenmathematik haben. Keine imaginären Zahlen. Keine Minuszeichen. Und eine einfache Operation: Negation. Das ist nur natürlich, denn das Pauli X-Gatter entspricht einem klassischen NOT-Gatter. Aus diesem Grund wird das X-Gatter oft auch als Quanten-NICHT-Gatter bezeichnet.
In der realen Welt verwandelt das X-Gatter im Allgemeinen den Spin-up-Zustand |0> eines Elektrons in einen Spin-down-Zustand |1> und umgekehrt.
|0> --> |1> OR |1> --> |0>
Ein großes „X“ steht oft für das Pauli X-Tor oder die Matrix selbst. So sieht X aus:
/ 0 1 \
\ 1 0 /
In der richtigen Schreibweise bedeutet die Anwendung eines Quantengatters auf ein Qubit die Multiplikation eines Ket-Vektors mit einer Matrix. In diesem Fall multiplizieren wir den Spin-up Ket-Vektor |0> mit dem Pauli X-Gate oder der Matrix X. So sieht X|0> aus:
/ 0 1 \ /1\
\ 1 0 / \0/
Beachte, dass du die Matrix immer links vom Ket platzierst. Wie Sie vielleicht schon gehört haben, ist die Matrixmultiplikation im Gegensatz zur gewöhnlichen Multiplikation nicht umkehrbar, was im Gegensatz zu allem steht, was uns in der Schule beigebracht wurde. Das ist so, als ob 2 x 4 nicht immer gleich 4 x 2 wäre. Aber so funktioniert die Matrixmultiplikation, und wenn Sie erst einmal den Dreh raus haben, werden Sie sehen, warum. In der Zwischenzeit, wenn man sich die wichtige Reihenfolge der Elemente vor Augen hält, sieht die vollständige Notation für die Anwendung des Quanten-NICHT-Gatters auf unser Qubit (in diesem Fall der Spin-Up-Zustand eines Elektrons) wie folgt aus:
X|0> = / 0 1 \ /1\ = /0\ = |1>
\ 1 0 / \0/ \1/
Angewandt auf einen Spin-Down-Vektor, sieht die vollständige Notation wie folgt aus:
X|1> = / 0 1 \ /0\ = /1\ = |0>
\ 1 0 / \1/ \0/
Trotz der fremden Schreibweise passiert hier in beiden Fällen tatsächlich ein Qubit in Form eines einzelnen Elektrons durch ein Quantentor und kommt auf der anderen Seite mit völlig umgekehrtem Spin heraus.
Die Pauli Y- und Z-Tore
Ich erspare Ihnen die Mathematik mit diesen beiden. Aber du solltest sie zumindest am Rande kennen.
Von den drei Pauli-Toren ist das Pauli Y-Tor das ausgefallenste. Es sieht ähnlich aus wie das X-Tor, aber mit einem i (ja, die verrückte Quadratwurzel aus -1) anstelle der normalen 1 und einem negativen Vorzeichen oben rechts. So sieht Y aus:
/ 0 -i \
\ i 0 /
Das Pauli Z-Tor ist viel einfacher zu verstehen. Es sieht aus wie ein Spiegelbild des obigen X-Gatters, aber mit einem negativen Vorzeichen in die Mischung geworfen. So sieht das Z-Tor aus:
/ 1 0 \
\ 0 -1 /
Das Y-Tor und das Z-Tor ändern auch den Spin unseres Qubit-Elektrons. Aber ich müsste wahrscheinlich in die esoterischen Geheimnisse der Bloch-Sphäre eintauchen, um wirklich zu erklären, wie das geht, und ich muss im Moment durch ein anderes Tor gehen…
Das Hadamard-Tor
Während die Pauli-Tore in mancher Hinsicht klassischen Logikgattern ähneln, ist das Hadamard-Tor oder H-Tor ein echtes Quantenbiest. Es taucht überall in der Quanteninformatik auf, und das aus gutem Grund. Das Hadamard-Gatter hat die für Quanten charakteristische Fähigkeit, einen eindeutigen Quantenzustand, z. B. Spin-up, in einen undurchsichtigen Zustand zu verwandeln, z. B. eine Überlagerung von Spin-up und Spin-down zur gleichen Zeit.
Schickt man ein Spin-up- oder Spin-down-Elektron durch ein H-Gate, wird es wie ein auf dem Kopf stehender Groschen, bei dem die Wahrscheinlichkeit, dass er Kopf (Spin-up) oder Zahl (Spin-down) zeigt, wenn er umgestoßen und gemessen wird, genau 50/50 beträgt. Dieses H-Gate ist äußerst nützlich für die Durchführung der ersten Berechnung in einem Quantenprogramm, weil es voreingestellte oder initialisierte Qubits in ihren natürlichen flüssigen Zustand zurückverwandelt, um ihre volle Quantenkraft zu nutzen.
Andere Quantengates
Es gibt eine Reihe anderer Quantengates, auf die man zwangsläufig stoßen wird. Viele von ihnen arbeiten mit mehreren Qubits gleichzeitig, was zu 4×4- oder sogar 8×8-Matrizen mit komplexzahligen Elementen führt. Diese sind ziemlich haarig, wenn Sie nicht bereits über ein paar ernsthafte Matrix-Kenntnisse verfügen. Ich erspare Ihnen also die Details.
Die wichtigsten Gatter, mit denen Sie vertraut sein sollten, sind die, die wir in der folgenden Grafik behandelt haben:
Sie sollten wissen, dass es noch andere Gatter gibt, deshalb hier eine kurze Liste der am häufigsten verwendeten anderen Quantengatter, damit Sie ein Gefühl für den Fachjargon bekommen können:
- Toffoli-TorFredkin-Tor
- Deutsches Tor
- Swap-Tor (und Swap-Tor-Quadratwurzel)
- NOT-Tor-Quadratwurzel
- Controlled-NOT-Tor (C-NOT) und andere kontrollierte Tore
Es gibt noch viele mehr. Aber lassen Sie sich von den Zahlen nicht täuschen. Genauso wie man jede klassische Berechnung mit einer Kombination von NOT + OR = NOR-Gattern oder AND + NOT= NAND-Gattern durchführen kann, kann man die Liste der Quantengatter auf eine einfache Reihe von universellen Quantengattern reduzieren. Aber das heben wir uns für einen anderen Tag auf.
Zukunftsblick durch das Quantengatter
Wie ein aktueller Artikel des Quanta Magazine zeigt, sind die Quantencomputer des Jahres 2018 noch nicht ganz reif für die Primetime. Bevor sie in den Ring mit klassischen Computern mit milliardenfach mehr Logikgattern steigen können, müssen sie sich einigen ihrer eigenen Dämonen stellen. Der tödlichste ist wahrscheinlich der Dämon der Dekohärenz. Im Moment wird die Quantendekohärenz Ihre Quantenberechnung in nur „ein paar Mikrosekunden“ zerstören. Je schneller jedoch Ihre Quantengatter ihre Operationen ausführen, desto wahrscheinlicher ist es, dass Ihr Quantenalgorithmus den Dämon der Dekohärenz bis zur Ziellinie besiegt, und desto länger wird das Rennen dauern. Neben der Geschwindigkeit ist ein weiterer wichtiger Faktor die schiere Anzahl der von den Quantengattern durchgeführten Operationen, um eine Berechnung abzuschließen. Dies wird als Rechentiefe bezeichnet. Ein weiteres aktuelles Ziel ist also die Vertiefung des Quantenspielfelds. Nach dieser Logik wird der klassische Computer in dem Maße, in dem der sich rasch entwickelnde Quantencomputer schneller wird, seine Berechnungen tiefer und der Countdown bis zur Dekohärenz länger, in der (möglicherweise) nicht allzu fernen Zukunft einen gewaltigen Herausforderer, wenn nicht gar einen Nachfolger finden.
Wenn Ihnen dieser Artikel gefallen hat, würde ich mich sehr freuen, wenn Sie die Klatschtaste drücken 🙂 oder ihn mit Ihren neugierigen Freunden teilen. Ich habe noch viel mehr davon in meinem persönlichen Blog (jasonroell.com) oder du kannst einfach mein Medienprofil abonnieren und bekommst alle meine Artikel zugeschickt, sobald ich sie schreibe! (wie toll?!)
Nochmals vielen Dank fürs Lesen und einen schönen Tag!