Der Grover-Algorithmus und die Suche nach dem heiligen Gral


<<

Der Quantenparallelismus öffnet den Quantencomputern Türen zu völlig neuen Rechenwegen. Die Vermutung liegt nahe, dass sie dadurch Grenzen der Berechenbarkeit für herkömmliche Computer spielend überflügeln können. Im Folgenden stelle ich Ihnen den berühmten Grover-Algorithmus für Quantencomputer im Detail vor. Er ist in der Lage sämtliche „Nadel im Heuhaufen“-Probleme drastisch schneller zu lösen, als ein herkömmlicher Computer. Dabei gehe ich auch kurz auf die Komplexitätstheorie ein, einem faszinierenden Teilgebiet der Informatik, und zeige Ihnen inwiefern selbst der Grover-Algorithmus an seine Komplexitätsgrenzen stößt.

Der Quantenparallelismus

Quantencomputer ermöglichen eine völlig neue Form des parallelen Rechnens: Dem Quantenparallelismus. Dadurch ist ein Quantencomputer in der Lage dasselbe Quantenprogramm für eine Vielzahl von Werten gleichzeitig durchzuführen, prinzipiell sogar für alle Werte die der Computer überhaupt darstellen kann. Dem Quantenparallelismus liegt ein Grundprinzip der Quantenmechanik zu Grunde: Dem sogenannten „Superpositionsprinzip“. D.h. jeder Quantencomputer besitzt den Quantenparallelismus automatisch von Grund auf.

Auf den ersten Blick besitzt der Quantenparallelismus ein unglaubliches Potential. Und seit den allerersten Anfängen der Quantencomputer fragen sich Wissenschaftler, ob sie damit sogar in der Lage sind den heiligen Gral der Computerwissenschaften zu finden: Einen einfachen Weg, um alle überhaupt möglichen „NP-Probleme“ zu lösen.

Die NP-Probleme der Informatik

In den 1960er Jahren fingen Computerwissenschaftler an Probleme in verschiedene Klassen zu unterteilen, je nachdem wie aufwendig sie zu lösen sind. Die Komplexitätsklasse $ P $ enthält grob gesprochen alle Probleme, die sich mithilfe eines herkömmlichen Computers relativ einfach lösen lassen. Genauer gesagt: mit „polynomialem Rechenaufwand“ i. Demgegenüber steht z.B. die Komplexitätsklasse $ NP $. Diese enthält alle Probleme, die sich zwar nicht einfach lösen lassen, deren Lösung man aber mithilfe eines herkömmlichen Computers einfach überprüfen kann, und zwar wieder mit polynomialem Aufwand. Jetzt sind gerade viele bedeutende Probleme der Informatik und Mathematik NP-Probleme. Ein Beispiel für ein NP-Problem ist etwa die bereits erwähnte Zerlegung in Primfaktoren: Wenn man einmal die gesuchten Primfaktoren $ p $ und $ q $ einer Zahl $ n $ gefunden hat, ist die Überprüfung der Lösung kinderleicht, nämlich gerade $ p*q = n $.

Die Komplexitätstheorie ist ein sehr breites Teilgebiet der Informatik. Und in ihrem Zentrum steht eine alles überstrahlende Frage: Ist $ P = NP $ ? D.h. lassen sich diese schwierigen Probleme am Ende nicht doch einfach lösen? ii

Diese Frage ist so etwas wie der „Heilige Gral“ der Computerwissenschaften. Sie wurde u.a. im Jahr 2000 in die exklusive Liste der sieben Millennium-Probleme von offenen Rätseln in der Mathematik aufgenommen, deren Klärung eine enorme Tragweite hätte (nebenbei ist jedes Millenium-Problem mit einem Preisgeld von einer Millionen Euro dotiert). Falls $ P = NP $ wahr wäre, könnten wir beispielsweise mathematische Intuition mit einem Computer automatisieren iii. Diverse andere offene Probleme der Mathematik könnten so z.B. ebenfalls gelöst werden. Für die Wissenschaft als Ganzes hätte dies vermutlich monumentale Auswirkungen.

Allerdings gehen die meisten Experten davon aus, dass $ P = NP $ leider nicht wahr ist und dass sich die NP-Probleme nicht einfach mit einem herkömmlichen Computer lösen lassen.

Aber jetzt kommen die Quantencomputer ins Spiel. Für diese haben die Komplexitätstheoretiker eine neue Klasse von Problemen eingeführt: $ BQP $. Dies sind grob gesprochen wieder alle Probleme, die sich einfach mit einem Quantencomputer lösen lassen. Die Frage ist jetzt: Wenn schon nicht $ P = NP $ ist, ist dann wenigstens $ NP $ in $ BQP $ enthalten? Sind die NP-Probleme also leicht mit einem Quantencomputer zu lösen?

Der Quantencomputer: Die ultimative Brute Force – Lösung ?

Wie verhält es sich also mit den Quantencomputern und den NP-Problemen? Auf den ersten Blick scheint der Quantenparallelismus hierfür zu schön um wahr zu sein. Warum?

Die NP-Probleme sind ja gerade die Probleme, deren Lösung man einfach überprüfen kann. Und mit einem Quantencomputer können wir uns alle möglichen Lösungskandidaten prinzipiell gleichzeitig vornehmen und testen, ob sie das Problem lösen. Violà, wir haben einen ultimativen NP-Cruncher bzw. den ultimativen „Brute Force“ – Algorithmus gefunden, also einen Algorithmus der „brachial“ einfach alle möglichen Kombinationen ausprobiert.

Leider ist das nur auf den ersten Blick so einfach.

Tatsächlich vermuten die Komplexitätstheoretiker eher folgende Zusammenhänge zwischen den Klassen $ P $, $ NP $ und $ BQP $.

 

 

 

 

 

(Quelle: https://en.wikipedia.org/wiki/File:BQP_complexity_class_diagram.svg)

Das Diagramm zeigt den Zusammenhang der Komplexitätklassen, den die meisten Wissenschaftler vermuten iv. Der vollständigkeithalber sei erwähnt: „PSPACE“ sind die Probleme, für die der Speicherbedarf des Lösungsprogramms polynomial ansteigt, deren Laufzeit aber beliebig lang sein darf und evtl. nie endet. „NP complete“ sind die NP-Probleme, die repräsentativ für alle anderen NP-Probleme sind: Wenn man davon nur eines einfach lösen könnte, kann man alle anderen NP-Probleme auch einfach lösen, und entsprechend hätte man P = NP bewiesen.

 

Die Suche nach einem NP-Cruncher demonstriert sehr schön wie vielschichtig das Thema Quantencomputer ist und dass selbst die erstaunlichen Quantencomputer ihre Grenzen haben. Ich habe es deshalb ausgewählt, weil man an ihm die vielen Facetten der Quanten-Algorithmen ideal für Einsteiger verdeutlichen kann.

Der Grover-Algorithmus

Der Grover-Algorithmus wurde 1996 von dem indischen Informatiker Lov Grover gefunden. Er ist einer der Standard-Beispiele, die man als erstes lernt, wenn man sich näher mit Quanten-Algorithmen beschäftigt. Unter anderen auch, weil er so vielfältig einsetzbar ist. Normalerweise bekommt man erklärt, dass der Grover-Algorithmus für das komplette Durchsuchen einer Datenbank mittels eines sogenannten „Orakels“ verwendet wird, anders ausgedrückt: Um die Nadel im Heuhaufen zu finden. Dahinter verbirgt sich aber gerade auch die NP-Problematik: Zum einen haben wir eine riesige Menge an Lösungskandidaten, die unsere „Datenbank“ ist. Zum anderen haben wir eine einfache Prüfroutine, nämlich das „Orakel“, mit der wir feststellen können, ob ein Lösungskandidat tatsächlich eine Lösung ist v.

Wir wissen, dass ein Quantencomputer in der Lage ist alle Lösungskandidaten gleichzeitig durch die Prüfroutine durchzujagen. Die echten Lösungen werden dabei von der Routine erkannt. Die vertrackte Frage ist nun: Was bringt uns das eigentlich? Am Ende müssen wir ein Ergebnis messen, und wir erinnern uns, dass das bei Quantencomputern immer eine Sache der Wahrscheinlichkeit ist. Und dabei stören jetzt die falschen Lösungskandidaten wieder und verringern die Wahrscheinlichkeit die echte Lösung zu messen. Wir müssen es also irgendwie hinbekommen, dass der Quanten-Algorithmus die falschen Lösungskandidaten in den Qubit-Speicherregistern weitestgehend unterdrückt und am Ende die echte Lösung mit einer hohen Wahrscheinlichkeit gemessen wird. In dem wir die Prozedur dann mehrmals wiederholen wird aus der Wahrscheinlichkeit dann immer mehr Gewissheit.

Und das ist gerade die Herausforderung an den Quanten-Algorithmen: Die gewünschte Lösung muss zu einer globalen Eigenschaft der Qubit-Register werden. Als Hilfsmittel hat man dafür die Quantengatter, deren Arbeitsweise zwar genau bekannt ist, die aber leider alles andere als intuitiv und einfach sind.

Ein Qubit und einfache Quantengatter

In meinen Beitrag Das Qubit und ein Magier bei „Britain Has Got Talent“ hatte ich schon die Zeigerbilder verwendet mit denen wir uns die verschiedenen Zustände eines Qubits vorstellen können. Das Qubit ist dann ein Zeiger auf der Kreislinie in diesem Bild. Ich hatte schon im letzten Beitrag erwähnt, dass diese Beschreibung nur ein vereinfachtes Bild eines tatsächlichen Qubits ist vi. Um den Grover-Algorithmus zu verstehen, reicht es aber tatsächlich aus.

Folgendes Zeigerbild zeigt ein Qubit, dass gleichzeitig im Zustand |0und im Zustand |1⟩ ist.

 

 

 

 

 

Das Besondere an diesem Bild ist außerdem, dass die Zustände |0und |1⟩ gleichmäßig überlagert sind. Es ist zu gleichen Teilen sowohl |0als auch |1⟩. Ein Qubit im Zustand |0gelangt in diesen Zustand der gleichmäßigen Überlagerung, indem es in dem einfachen Zeigerbild um 45° gedreht wird. Diese Drehung wird durch das Hadamard-Quantengatter H durchgeführt.

|qubit= H |0

Ein anderes Gatter ist das X – Quantengatter. Es spiegelt das aktuelle Qubit an der Winkelhalbierenden, also gerade am Zustand H |0⟩. Oder anders betrachtet: Das X-Gatter tauscht den Zustand |0und den Zustand |1gegeneinander aus.

X |0= |1und X |1= |0

 

 

 

 

 

Geometrische Anschauung für den Grover-Algorithmus

Das Schöne am Grover-Algorithmus ist auch, dass man ihn an einem einfachen geometrischen Zeigerbild erklären kann.

Wenn wir uns dafür ein ganzes Register mit N Qubits anschauen, so verhalten sich die Zustände in diesem Register auch wieder wie ein einziger Zeiger. Der Zeiger dreht sich allerdings nicht mehr in einer 2 dimensionalen Ebene, sondern in einem $ 2^N $ dimensionalem Raum! Jede Achse in diesem Raum entspricht einer anderen Kombination von 0en und 1en in dem Qubitregister: Eine Achse entspricht zum Beispiel der Kombination 10001101100, eine andere Achse entspricht der Kombination 00001101100, wieder eine andere Achse entspricht einer ganz anderen Kombination 11011010111 und so weiter. Zum Glück können wir diesen $ 2^N $ dimensionalen Raum für den Grover-Algorithmus wieder auf eine 2 dimensionale Ebene vereinfachen.

Dazu konstruieren wir drei Zeiger, die auf einer Kreislinie in einer Ebene liegen. Der erste Zeiger ist einfach: Nehmen wir mal an die erste Kombination 10001101100 löst das NP-Problem. Das wissen wir am Anfang natürlich noch nicht, wir könnten die Kombination auch „Lösung“ nennen. Die zugehörige Achse wird jetzt unsere Y-Achse.

Der zweite Zeiger zeigt in die Richtung der „gleichmäßigen Überlagerung“. Das ist gerade der Zeiger, der entsteht, wenn auf alle Qubits jeweils ein Hadamard-Quantengatter angewendet wird. Für ein Qubit hatten wir gerade gesehen, dass ein Hadamard-Quantengatter den Qubit-Zeiger so dreht, dass beide Zustände $ \rvert 0 \rangle $ und $ \rvert 1 \rangle $ gleichmäßig überlagert werden und gleichzeitig vorhanden sind. Wenn wir jeweils ein Hadamard-Gatter auf jedes Qubit anwenden bedeutet das, dass alle möglichen Zustände des ganzen Quantencomputers gleichmäßig überlagert sind. Das ist also genau die Situation, die wir für unseren Brute-Force-Plan benötigen: Wir haben alle möglichen Kombinationen von 0en und 1en, und somit die gesamte Menge an Lösungskandidaten, gleichzeitig im Zugriff.Nennen wir diesen Zeiger der gleichmäßigen Überlagerung $ \rvert S \rangle $.

Alle Achsen in dem $ 2^N $ dimensionalem Raum, und somit alle Kombinationen von 0en und 1en, haben den gleichen kleinen Anteil an $ \rvert S \rangle $. Da $ \rvert S \rangle $, wie jeder Zeiger auf der Kugeloberfläche in dem $ 2^N $ dimensionalen Raum, die Länge 1 hat, ist der Anteil von jedem Qubit-Zustand an $ \rvert S \rangle $ nur ein kleiner Bruchteil von 1. Zunächst würde man vermuten dieser Bruchteil wäre $ 1/2^N $, da es $ 2^N $ Kombinationen gibt. Dies ist aber nicht so: Aufgrund des Satzes von Pythagoras vii ist der kleine Bruchteil die Wurzel davon, und zwar $ 1/ \sqrt{2^N} $. Und somit zeigt der Zeiger der gleichmäßigen Überlagerung zu diesem kleinen Bruchteil auch in Richtung unseres Lösungszeigers $ \rvert 10001101100 \rangle $. Insbesondere wird dieser Bruchteil also schnell kleiner je größer N wird. Das Wurzelzeichen wird sich später übrigens als der Clou für den Grover-Algorithmus herausstellen!

Jetzt zum dritten Zeiger, den wir $ \rvert s \rangle $ nennen wollen: Der entsteht, wenn wir aus der gleichmäßigen Überlagerung $ \rvert S \rangle $ den kleinen $ \rvert 10001101100 \rangle $ – Anteil herausrechnen. $ \rvert s \rangle $ zeigt damit genau in X-Richtung. $ \rvert S \rangle $ und $ \rvert s \rangle $ liegen also nah beieinander. Der Winkel der sie trennt ist gerade $ 1/ \sqrt{2^N} $ viii. Das der Winkel zwischen $ \rvert S \rangle $ und $ \rvert s \rangle $ so klein ist, wird uns am Ende noch mächtig ärgern!

 

 

 

 

 

 

Wenn wir uns das Diagramm ansehen können wir erkennen, was der Grover-Algorithmus leisten muss:

Wir nennen den aktuellen Zustand des Quantencomputers einfach $ \rvert x \rangle $. Er wird normalerweise eine Überlagerung von verschiedenen anderen Zuständen sein. Am Anfang starten wir mit dem Zustand der gleichmäßigen Überlagerung, also $ \rvert x \rangle = \rvert S \rangle $. Wir müssen jetzt eine Reihe von Quantengattern derart zusammenschalten, dass $ \rvert x \rangle $ nach und nach in die Richtung unserer Lösung $ \rvert 10001101100 \rangle $ zur Y-Achse gedreht wird.

Im Folgenden erfahren Sie zunächst, was es mit dem Zeiger $ \rvert s \rangle $ auf sich hat.

Das Orakel: Eine einfache Spiegelung

Schauen wir uns an wie ein Quantengatter den Zustand der gleichmäßigen Überlagerung verändert. Dank des Superpositionsprinzip wissen wir: Ein Quantengatter verändert eine Überlagerung von Zuständen derart, dass wir danach eine Überlagerung von veränderten Zuständen haben: z.B.

$ X ( \rvert 0 \rangle – \rvert 1 \rangle ) = X \rvert 0 \rangle – X \rvert 1 \rangle = \rvert 1 \rangle – \rvert 0 \rangle $

Das gleiche gilt natürlich immer noch, wenn wir mehrere Quantengatter miteinander kombinieren. Das Orakel ist insbesondere auch einfach eine Zusammenschaltung von mehreren Quantengattern. Nennen wir es O.

O soll wie folgtdie verschiedenen überlagerten Teilzustände verändern:

  • Wenn eine Kombination von 0en und 1en keine Lösung des Problems ist, wir erinnern uns, dass wir dies für NP-Probleme leicht herausfinden können, bleibt dieser Anteil an der gesamten Überlagerung unverändert. Als Gleichung geschrieben:

$ O \rvert 10101010101 \rangle = \rvert 10101010101 \rangle $

  • Wenn eine Kombination von 0en und 1en eine Lösung ist, wird dieser Anteil an der gesamten Überlagerung ins Negative umgekehrt. Als Gleichung geschrieben:

$ O \rvert 10001101100 \rangle = – \rvert 10001101100 \rangle $

Wenn wir uns das Zeigerbild ansehen, können wir jetzt Folgendes erkennen:

O verändert fast alle Anteile an dem Anfangszustand $ \rvert S \rangle $ nicht. Nur der Anteil in die Y-Richtung wird umgekehrt. Das ist aber nichts anderes als eine Spiegelung an der X-Achse, die ja der Zustand $ \rvert s \rangle $ ist.

 

 

 

 

 

 

Zunächst haben wir dadurch nichts gewonnen, weil der Zeiger $ \rvert x \rangle $ sich noch nicht näher an $ \rvert 10001101100 \rangle $, unserer Y-Achse angenähert hat. Deshalb spiegeln wir $ \rvert x \rangle $ nochmal. Diesmal allerdings nicht an $ \rvert s \rangle $, sondern an $ \rvert S \rangle $!

Der aktuelle Zustand des Quantencomputers $ \rvert x \rangle $ ist um einen Winkel näher an die Y-Achse gedreht. Dieser zusätzliche Winkel ist das zweifache von dem kleinen Winkel zwischen $ \rvert S \rangle $ und $ \rvert s \rangle $, also $ 2 / \sqrt{2^N} $.

 

 

 

 

 

Zwischenfaszit: Die Stärken und Schwächen des Grover-Algorithmus

Jetzt können wir erkennen, wie es weitergehen muss: Jedes mal wenn wir den aktuellen Zeiger $ \rvert x \rangle $ zuerst an $ \rvert s \rangle $ spiegeln und danach an $ \rvert S \rangle $, dreht sich $ \rvert x \rangle $ um den Winkel $ 2/ \sqrt{2^N} $ näher an $ \rvert 10001101100 \rangle $ heran.

Weil der Winkel leider so klein ist, müssen wir das Ganze ungefährt $ \frac{1}{2} * \sqrt{2^N} $ Mal durchführen.

Damit haben wir tatsächlich schon das Prinzip des Grover-Algorithmus gelöst und damit auch die Antwort auf unsere Brute Force / NP-Cruncher-Frage herausbekommen!

Ein herkömmlicher Computer würde im Schnitt $ \frac{1}{2} * 2^N $ Versuche brauchen, um $ 2^N $ Kombinationen durchzuprobieren und eine Lösung zu erhalten. Ein Quantencomputer braucht mit dem Grover-Algorithmus $ \frac{1}{2} * \sqrt{2^N} $ Versuche. Das ist eine quadratische Beschleunigung!

Wenn also ein herkömmlicher Computer für ein Brute-Force-Problem eine Millionen Rechenschritte benötigen würde, bräuchte ein Quantencomputer nur 1000 Rechenschritte. Das ist schon sehr gut!

Aber leider hatten wir uns mehr davon versprochen: Was stört, ist dass wir immer noch $ \sqrt{2^N}= 2^{\frac{1}{2}N} $ Rechenschritte benötigen. Das ist immer noch mehr als polynomial. Polynomialer Rechenaufwand wäre $ N^{\text{etwas}} $. Damit ist das Problem kein BQP-Problem und ein schwieriges NP-Problem bleibt also auch ein schwieriges Problem für den Grover-Algorithmus, obwohl letzterer es zumindest schneller lösen kann.

Die große Frage ist nun: Ginge das auch besser?

Was so sehr stört ist, dass der Winkel zwischen $ \rvert S \rangle $ und $ \rvert s \rangle $ so klein ist. Dies ist so etwas wie die Quantenversion der Tatsache, dass die gesuchte Kombination 10001101100 eine unter sehr sehr vielen Kombinationen ist. Vielleicht können wir den Grover-Algorithmus z.B. derart ändern, dass wir bei jeder Reflexion an $ \rvert s \rangle $ näher an $ \rvert 10001101100 \rangle $ herankommen.

Tatsächlich wurde eine Grenze für ein Optimum an Verbesserung für den Grover-Algorithmus gefunden. Jeder Algorithmus, der das Orakel $ O $ mehrmals verwendet sieht prinzipiell so aus:

$ … O … O … O … O … $

Die Pünktchen stehen jeweils für irgendeine Schaltung an Quantengattern. Es ist erstaunlich aber man kann tatsächlich prinzipiell beweisen, dass jeder Quanten-Algorithmus, der so aufgebaut ist, das Orakel $ O $ im Schnitt mindestens $ \sqrt{2^N} $ – Mal aufrufen muss, um zur Lösung zu kommen ix. Das zeigt, dass der Grover-Algorithmus tatsächlich optimal ist. Leider.

Natürlich gibt es viele Quanten-Algorithmen, die die besten herkömmlichen Algorithmen exponentiell beschleunigen, wie z.B. der Shor-Algorithmus. Evtl. gibt es sogar doch noch einen ultimativen NP-Cruncher, der auf Quantencomputern mit Polynomialaufwand läuft. Aber die Idee, diesen NP-Cruncher dadurch zu konstruieren, indem man ein Orakel mehrmals hintereinander ausführt, führt leider nicht zum gewünschtem Ziel.

Der Grover-Algorithmus als Quanten-Schaltkreis

Achtung, jetzt wird es ernst!

Bisher hatte ich den Grover-Algorithmus anhand der geometrischen Anschauung erklärt. Jetzt schauen wir uns den Quanten-Schaltkreis für den Grover-Algorithmus auf einem 2 Qubit – Quantencomputer an:

Am Anfang auf der linken Seite ist jedes Qubit im Zustand $ \rvert 0 \rangle $ vorhanden. Anders ausgedrückt: $ \rvert 00 \rangle $. Darauf erzeugen wir den Zustand der gleichmäßigen Überlagerung $ \rvert S \rangle $, in dem wir auf jedes Qubit das Hadamard-Quantengatter anwenden. Die beiden Qubits bilden jetzt eine Überlagerung aus allen möglichen Kombinationen von 0en und 1en.

Danach führen wir das Orakel aus. Das Orakel muss für jedes Problem individuell konstruiert werden, weil die Prüfroutine für Lösungskandidaten natürlich jeweils anders aussieht. Beispiele hierfür gebe ich weiter unten.

Im Gegensatz dazu sieht die Spiegelung an $ \rvert S \rangle $ für jedes Problem gleich aus. Zum Glück kann man sie einfach aus der Spiegelung an der $ \rvert 00 \rangle $ – Achse ableiten.

Letztere ist im inneren Kasten dargestellt:

Zunächst zum Quantengatter ganz in der Mitte. Dieses heißt „Controlled NOT“ bzw. CNOT. Das CNOT-Quantengatter ist so etwas wie eine „Wenn-Dann / If-Then“-Schaltung für Quantencomputer. Es arbeitet so: Falls das obere Qubit

  • den Zustand |0⟩ hat, lässt es das untere Qubit unverändert
  • den Zustand |1⟩ hat, tauscht es die Zustände |0⟩ und |1⟩ um unteren Qubit, führt also ein X – Quantengatter auf das untere Qubit aus.

Das obere Qubit „kontrolliert“ also den X-Tausch im unteren Qubit, deshalb der Name. Normalerweise sind beide Qubits überlagert. In dem Fall tauscht das obere Qubit den überlagerten Zustand des unteren Qubit „ein bißchen und ein bißchen nicht“. Dadurch entsteht so ein berühmt-berüchtigter verschränkter Quantenzustand: Die beiden Qubits so jetzt so tiefgreifend miteinander verwoben, dass man sie nicht mehr als einzelne Einheiten betrachten kann, sondern nur als Ganzes.

Für den inneren Kasten in unserem Grover-Schaltkreis ist das Entscheidende, dass man das CNOT-Quantengatter auch als Spiegelung auffassen kann. Das verwundert nicht, weil wir oben gesehen hatten, dass das X-Quantengatter unter anderem eine Spiegelung an der Achse $ H \rvert 0 \rangle $ ist. So richtig klar wird es, wenn wir diese Spiegelung auf die Achse des Zustands |11drehen. Das erreichen wir durch die Schaltung $ H CNOT H $ in der Mitte, was man übrigens auch „Controlled Z“ oder CZ nennt. Die CZ-Quantenschaltung arbeitet insgesamt so: Falls das obere Qubit

  • den Zustand |0⟩ hat, lässt es das untere Qubit unverändert
  • den Zustand |1⟩ hat, lässt es den |0⟩ – Anteil des unteren Qubits unverändert und kehrt den und |1⟩ – Anteil ins Negative um.

Oder als Gleichung:

CZ ( |00+ |10+ |01+ |11) = |00+ |10+ |01 |11

Das ist aber tatsächlich nichts anderes als eine Spiegelung! Genauso hatten wir nämlich oben auch die Funktionsweise des Orakels erklärt. Jetzt überprüfen wir noch an welcher Achse hier gespiegelt wird. Eigentlich kehrt sich in der Gleichung der |11⟩ – Anteil ins Negative. Nun muss man wissen, dass ein Quantencomputer bei jeder Messung am Ende globale Minuszeichen eines Zustandes ignoriert. Es macht am Ende also keinen Unterschied, wenn wir die komplette Qubit-Überlagerung mit „-1“ mal nehmen:

    |00+ |10+ |01 |11⟩    ist gleichwertig mit

|00 |10|01 + |11

Das macht die Controlled Z – Quantenschaltung also zu einer Spiegelung an der |11⟩ –Achse.

Schauen wir uns noch den Rest von dem inneren Kasten im Quanten-Schaltkreises oben an:

Die beiden unteren X – Quantengatter links und rechts von der Controlled Z – Schaltung $ H CNOT H $ drehen die Spiegelachse von der |11⟩-Achse zunächst auf die |10⟩-Achse. Die beiden oberen X-Quantengatter links und rechts drehen die Spiegelachse weiter auf die |00⟩-Achse.

Soweit zum inneren Kasten. Den Trick mit dem CZ – Quantengatter merken wir uns für später, wenn wir die Spiegelung für das Orakel zu konstruieren.

Die zusätzlichen Hadamard-Quantengatter im äußeren Kasten drehen dann die Spiegelachse $ \rvert 00 \rangle $ auf den Zustand $ \rvert S \rangle $, also ganz analog zu der Gleichung weiter oben $ H \rvert 0 \rangle = \rvert S \rangle $.

Alles verstanden? Ich vermute, jetzt bekommen Sie langsam ein Ahnung, warum Quanten-Algorithmen so kompliziert sind. Und dabei ist der Grover-Algorithmus noch verhältnismäßig einfach 🙂 !

Die Pünktchen im weiteren Verlauf des Quanten-Schaltkreises deuten an, dass danach das Orakel und die Spiegelung an $ \rvert S \rangle $ entsprechend oft wiederholt werden müssen, damit der Lösungszustand verstärkt wird.

Am Ende erfolgt dann die Messung der einzelnen Qubits, die dann die gesuchte Lösung mit hoher Wahrscheinlichkeit ergibt.

Das Beispiel beschreibt den Fall für 2-Qubits. Für mehrere Qubits sieht die Schaltung prinzipiell genauso aus.

Fußnoten

i Polynomialer Rechenaufwand bedeutet Folgendes: Je komplexer das Problem wird, desto mehr nimmt natürlich die Zeit zu um die Lösung zu finden. Polynomialer Rechenaufwand bedeutet nun, dass die Anzahl der Rechenschritte um die Lösung zu finden nach einer Potenzregel zunimmt. Wenn N die Komplexität des Problems ist, so nimmt der Rechenaufwand dann grob gesehen wie N oder N² oder N³ oder N⁴, …. zu. Um z.B. eine Person unter N=1000 Personen zu finden, benötigt man im Mittel ½ * N Versuche. Probleme bei denen der Aufwand mehr als polynomial zunimmt, wären etwa Probleme deren Lösungsaufwand explosionsartig bzw. exponentiell zunimmt z.b. $ 2^N $. Solche Probleme sind eher charakteristisch für NP-Probleme.

ii Eine sehr schöne Einführung in die Komplexitätstheorie bekommen Sie auf Scott Aaronsons Website zu seinem Buch „Quantum Computing Since Democritus“: https://www.scottaaronson.com/democritus/lec6.html. Scott Aaronson ist einer der führenden Quanteninformatiker und ein fesselnder Didakt.

iii Mathematische Beweise sind insbesondere auch Kandidaten für NP-Probleme. Einen fertigen Beweis zu verifizieren ist, zumindest für Fachleute, gut machbar. Die Kunst ist es einen Beweis für ein Problem zu finden. So formulierte beispielsweise Pierre de Fermat seine berühmte Vermutung an + bn = cn in den 1650er Jahren. Trotz intensivsten Bemühungen von führenden Mathematikern wurde der Beweis hierfür erst 1994 von Andrew Wiles mithilfe von modernsten Methoden der arithmetischen Geometrie gefunden.

iv Tatsächlich ist das Diagramm über die Zusammenhänge zwischen P, NP, BQP und PSPACE fast komplett unbewiesen. Wirklich bewiesen wurde zuletzt allerdings die Vermutung, dass es BQP-Probleme gibt, die weder in P noch in NP liegen. Nebenbei wurde damit auch bewiesen, dass PSPACE und NP nicht gleich sind. Lesen Sie hierzu auch den Artikel auf Quantamagazine https://www.quantamagazine.org/finally-a-problem-that-only-quantum-computers-will-ever-be-able-to-solve-20180621/

v Der Begriff „Orakel“ hat für die Computerwissenschaften eine noch speziellere Bedeutung, was für den Grover-Algorithmus aber nicht wichtig ist.

vi Das exakte Bild eines Qubits ist das einer Kugeloberfläche. Die Zustände |0und |1⟩ müssen wir dann an Nord- und Südpol einzeichnen. Um von der Kreislinie zur Kugeloberfläche zu gelangen, muss ein zusätzliche Winkel verwendet werden, der auch „Phase“ genannt wird.

vii Zur Erinnerung: $ \sqrt{ a^2 + b^2 } = c $, wenn $ a $ und $ b $ senkrecht aufeinander stehen. Wenn jetzt noch mehr senkrechte Achsen dazukommen, erhalten wir $ \sqrt{ a_1^2 + a_2^2 + a_3^2 + a_4^2 + …} = c $. Da die $ 2^N $ $ a $‘s in der gleichmäßigen Überlagerung alle gleich lang sind und $ c $ die Länge 1 hat, bekommen wir $ \sqrt{ 2^N a^2 } = 1 $ was gerade $ a = 1 / \sqrt{2^N} $ ist

viii Da wir die Winkel als Radianten bzw. Kreisbogen messen, müssen wir genau genommen vor alle Winkel noch einen Faktor $ \pi / 2 $ schreiben. Um das ganze Thema nicht noch komplizierter aussehen zu lassen und uns nur das grobe Verhalten des Grover-Algorithmus interessiert, können wir diesen auch weglassen.

ix https://arxiv.org/abs/quant-ph/9701001: Fachartikel „Strengths and Weaknesses of Quantum Computing“. Eine besser verdauliche Variante des Beweises findet man in dem Standard-Lehrbuch „Quantum Computation and Quantum Information“ von Michael Nielsen und Isaac Chuang, oft auch kurz „Mike and Ike“ genannt.

Einleitung: Die Quantenrevolution beginnt

>>

Quantencomputer besitzen das Potential unsere gesamte Gesellschaft in grundlegender Weise zu verändern.

Was vor 30 Jahren als visionäres aber aussichtsloses Vermächtnis eines genialen Physikers begann, wird gerade in diesen Tagen Wirklichkeit.

Ziel meiner Seite „quantencomputer-info“ ist es, umfassend und stets aktuell über die rätselhafte Technologie zu informieren. Alles was Sie dafür mitbringen müssen ist eine ordentliche Portion Neugierde.

Quantencomputer: Ein Informationsvakuum

Der Begriff Quantencomputer taucht regelmäßig in den Technologie-Nachrichten der Mainstream-Medien auf. Die vereinzelten Meldungen die Sie dort finden, können das Thema allerdings nicht annähernd ausreichend vermitteln. Auf der anderen Seite können Sie eine Vielzahl von komplizierten, sehr mathematischen Lehrmaterial von Hochschulen zu Quantencomputern finden. Aktuelle Entwicklungen können Sie hauptsächlich nur in noch viel anspruchsvolleren wissenschaftlichen Fachartikeln verfolgen. Das setzt ein ungeheures Vorwissen in der Quantenmechanik und in Mathematik voraus.

Insbesondere für Entscheider in der Technologiebranche wird allerdings irgendwann in den nächsten Jahren der Zeitpunkt kommen, an denen sie entscheiden müssen, ob ihr Unternehmen in die neue Technologie Quantencomputer investieren sollte. IT-ler müssen für sich persönlich abwägen, ob sie sich auf den beschwerlichen Weg machen sollten, sich Knowhow in dem neuen Bereich Quantencomputer anzueignen, der so komplett anders ist als alles was sie bisher gemacht haben. Und letztendlich werden technikinteressierte Laien mehr über die Technologie wissen wollen, der man wahre Wunder nachsagt.

„quantencomputer-info“ soll dabei helfen dieses Informationsvakuum mit Leben zu füllen. Auf den nächsten Seiten werde ich Ihnen ein relativ genaues Verständnis der Quantencomputer vermitteln. Ich werde die Grundlagen erklären und auch auf Themen aus der aktuellen Entwicklung und Forschung eingehen. Dabei werde ich fast vollständig mathematische Formeln vermeiden und das Wesen hinter den Quantencomputern eher bildlich beschreiben. Anstatt auf Exaktheit lege ich den Fokus auf ein sehr gutes qualitative Verständnis. Deshalb soll diese Seite auch ein sehr guter Ausgangspunkt sein, um in die so ungeheuer komplizierte Materie einzusteigen und dabei den Wald vor lauter Bäumen noch zu sehen. Insbesondere werde ich Ihnen folgende Fragen genauer beantworten:

      • Was genau ist ein Quantencomputer?
      • Wie funktioniert ein Quantencomputer?
      • Warum dieser Hype um Quantencomputer?
      • Was ist die Quanten-Überlegenheit?
      • Was genau ist ein „Qubit“?
      • Wie sehen Quantenprogramme aus?
      • Welche Quantencomputer gibt es jetzt schon und welche wird es demnächst geben?
      • Was sind die absehbaren Anwendungsgebiete für Quantencomputer?

Insbesondere die letzten beiden Punkte werden ich auf „quantencomputer-info“ aktuell halten und auf neue Entwicklungen eingehen.

Eine neue Ära der Technologie-Geschichte

Quantencomputer werden nach und nach das Tor zu einer neuen Welt öffnen. Diese Welt wird so bizarr und anders sein, dass wir erst langsam einen Eindruck davon bekommen, was darin möglich sein wird. Es ist die Welt der Quantenberechenbarkeit und der Quantenkomplexität. Was wir von Quantencomputern erwarten können lässt sich am besten erahnen, wenn wir die aktuelle Entwicklung mit der Erschließung der Elektrizität vergleichen:

Quantentechnologien wie Halbleiter, Transistoren, Dioden, Laser und viele weitere bilden das Herzstück unserer modernen, technologischen Gesellschaft. In allen möglichen Geräten unseres täglichen Lebens wie Computern, das Internet, Smartphones, Fernsehern, … sind sie zu finden. Aber selbst diese bahnbrechenden Technologien sind eher vergleichbar mit der Entwicklung des elektrischen Lichts: Sie sind das Resultat von Quanteneffekten für riesige Massen von Elektronen. Quantencomputer sind die digitale Version der Quantentechnologien: Sie verändern und verzahnen einzelne, elementare Quantenzustände, um über die Andersartigkeit der Quantenwelt völlig neue Rechenwege zu beschreiten, die sonst überhaupt nicht möglich wären. Wird das Tor in das Zeitalter der Quantencomputer damit vergleichbar sein mit dem Sprung von der Glühbirne ins Computerzeitalter? Auf „quantencomputer-info“ können Sie sich selbst ein Bild davon machen.

Seit über zwei Jahrzehnten findet intensive Forschung zu dem Thema Quantencomputer statt. Die auch daraus entstandene Quanteninformationstheorie entwickelt sich immer mehr zu einem der Herzstücke der modernen Physik und ist tief in die Informatik eingedrungen. Erste experimentelle Quantencomputer wurden im Laufe der letzten 20 Jahre in Forschungseinrichtungen gebaut. Längst haben die Tech-Riesen Google, IBM, Microsoft & Co das bahnbrechende Potential der Technologie erkannt und führende Physiker, Informatiker und Mathematiker angeheuert, um die Entwicklung der ersten kommerziellen Quantencomputer zu befeuern. Als Resultat stehen jetzt die ersten Quantencomputer in der Cloud.

Verfügbar für jedermann.

Unbemerkt von der breiten Öffentlichkeit liefern sich die Tech-Giganten gerade ein spannendes Wettrennen, welche Gruppe als erstes den großen Meilenstein erreicht: Der erste Nachweis der „Quantum Supremacy“ oder auf deutsch der „Quanten-Überlegenheit“. Also der erste Quantencomputer, der jeden herkömmlichen Supercomputer für gewisse Berechnungen überflügelt. Alle Zeichen deuten darauf hin, dass dieser Moment, der die neue Epoche einläuten soll, im Jahr 2018 erreicht wird.

Quantencomputer: Der einfachste Weg, die Quantenmechanik zu verstehen lernen

Einen weiteren Punkt finde ich persönlich noch wichtig: Ein Quantencomputer ist letztendlich das einfachste Mehrteilchen-System in der Quantenmechanik. Wenn Sie die Funktionsweise eines Quantencomputers verstanden haben, haben Sie zwischen den Zeilen auch viel über die Quantenmechanik erfahren. Zu grundlegenden Themen der Quantenmechanik ist es dann manchmal nur ein kleiner Schritt. Deshalb werde ich immer wieder auf einige Themen eingehen: Vielleicht haben Sie von dem „Welle-Teilchen-Dualismus“ gehört oder von „Schrödingers Katze“ oder von „Heisenbergs Unschärferelation“, der Existenz von „Paralleluniversen“. Oder was hat die Quantemechanik mit „Wurmlöchern“ im Weltraumzu tun? Wenn Sie die Ausdauer haben, werden Sie hier einiges darüber erfahren.

Ich selbst habe Physik und Mathematik mit Begeisterung studiert. Seit fast 20 Jahren bin ich jetzt als IT-Berater für große Unternehmen tätig. Meine Leidenschaft für die Quantenphysik habe ich dabei nie verloren, und auf den folgenden Seiten werden Sie verstehen warum.

Ich muss Sie warnen. Die Quantenmechanik und somit die Quantencomputer sind auf faszinierende Art und Weise mit Nichts vergleichbar, mit dem Sie sich bisher beschäftigt haben. Um sie zu erfassen ist ein gewisser Aufwand und ein offener Geist notwendig … aber was ich eigentlich sagen will, drückt Morpheus in dem Science-Fiction-Klassiker „Die Matrix“ noch am Besten aus:

„Das ist deine letzte Chance. Danach gibt es kein zurück. Nimm die blaue Pille — die Geschichte endet… Nimm die rote Pille — du bleibst hier im Wunderland und ich werde dir zeigen wie tief das Kaninchenloch reicht.”

😉

 

 

 

Das Qubit und ein Magier bei „Britain Has Got Talent“

<<
>>

In diesem Beitrag erfahren Sie die grundlegenden Eigenschaften eines einzelnen Qubits und der Quantengatter. Da das Qubit das einfachste Quantensystem ist, lernen Sie dabei auch viel über die Quantenmechanik. Danach werden Sie verstehen warum die Quantenwelt und mit ihr die Qubits und die Quantenprogrammierung so faszinierend ist.

Dabei verwende ich keine „Höhere Mathematik“. Ich versuche Ihnen aber das Wesen der Gleichungen bildlich zu erklären. Damit werden Sie in der Lage sein selbst einen Eindruck davon zu bekommen was Physiker meinen, wenn sie z.B. sagen „Das Elektron ist sowohl Teilchen als auch Welle“.

Ein Magier bei „Britain Has Got Talent“

Fountain Studios, London, 26.5.2014:

Der 25 jährige Kanadier Darcy Oake betritt die Bühne der beliebten Talent-Show „Britain‘s Got Talent“. Was er im Begriff ist zu zeigen wird die Jury und sämtliche Zuschauer buchstäblich aus den Socken hauen.

In der Mitte der Bühne steht ein Gerüst mit einem Podest. Darcy Oake steigt auf eine Stahltreppe nach oben. Dort angekomment erklärt er dem Publikum, was wir schon vermuten: Von diesem Podest wird er nun verschwinden. Der Clou dabei ist Folgendes: dabei zeigt er auf einen Mann, der eine große Kamera geschultert hat und langsam über die Bühne wandert .Alles wird aus verschiedenen Blickwinkeln mitgefilmt und auf einer großen Leinwand live gezeigt.

Es geht los. Während der Kameramann um das Podest wandert sehen wir das Videobild von Darcy Oake, der sich auf dem Podest auf einen Stuhl setzt und sich ein riesiges Tuch über seinen Kopf zieht. Der Kameramann läuft auf der Bühne um das Gerüst herum. Kein Trick ist erkennbar. Wir sehen nur das flatternde Tuch und darunter die Männergestalt von Darcy Oake. Plötzlich fällt das Tuch auf dem Podest zu Boden und Darcy Oake ist … natürlich verschwunden. Aber jetzt kommt das Unglaubliche: Ein Assistent geht hinüber zum Kameramann, der immer noch mitten auf der Bühne steht. Der Assistent nimmt ihm die große Kamera aus den Händen und dreht sie herum. Jetzt sehen wir das Gesicht des Kameramannes auf der Leinwand. Es ist … Darcy Oake. Unglaublich.

Sie sollten sich selbst ein Bild davon machen. Der Trick und auch die Reaktion der Jury darauf sind einfach saucool. Hier geht’s zum Video:

https://www.youtube.com/watch?v=C5N0MDF1CYQ

Was ich so faszinierend an dem Trick finde: Für eine kurze Zeitspanne hat es Darcy Oake so aussehen lassen, als wäre er zweimal gleichzeitig vorhanden gewesen auf der Bühne: Ein Ich als Zauberer auf dem Podest und ein zweites Ich als Kameramann neben dem Podest. Erst als der Assistent das Geheimnis lüftet, wird allen Zuschauern klar, wer er jetzt ist.

Es gibt noch einen anderen Grund, warum ich den Trick so wunderbar finde: Was ich gerade beschrieben habe ist genau das was ein Qubit in der Quantenwelt ausmacht. Darcy Oake verhält sich in seinem Trick also genauso wie ein Qubit.

Warum meine ich das?

Das Qubit

Ein Qubit ist die einfachste Zustandsform der Quantenphysik. Ein binärer Quantenzustand der genau zwei Zustände besitzt. Meistens werden sie mit 0 und 1 bezeichnet, manchmal als „up“ und „down“, es ist ganz egal. Soweit unterscheidet sich ein Qubit nicht von einem Bit in einem herkömmlichen Computer ist. Letzteres ist ein elektronischer Schalter, der zwei Werte haben kann: An oder aus. Dies wird normalerweise durch die Zahlen 1 und 0 symbolisiert. Das Bit hat also entweder den Wert 1 oder den Wert 0.

Und das ist genau der Unterschied und das Unerklärbare an einem Qubit. Genau wie Darcy Oake in seinem Zaubertrick nimmt das Qubit beide „Ich-Zustände“ gleichzeitig ein. Im Laufe der Zeit „pendelt“ das Qubit bildlich gesprochen zwischen diesen Zuständen hin und her: Mal ist es mehr 1, mal ist es mehr 0. Und damit meine ich nicht, dass das Qubit z.B. mal den Wert 0.321, also näher bei 0, und mal den Wert 0,7681, also näher bei 1, hat. Nein: Es gibt wirklich nur die Werte 0 und 1, und beide in einer gemischten oder auch überlagerten Form.

Diese überlagerte Form lässt sich vereinfacht mit einem Zeiger auf einer Kreislinie vergleichen, wie ich es in dem Diagramm unten aufgezeichnet habe. Der Qubit-Zeiger pendelt entlang der Kreislinie. Die zwei gleichzeitig vorhandenen Ich-Zustände sind die x-Achse und die y-Achse des Diagramms. Die aktuellen x- und die y-Werte der Zeigerspitze (also die Ordinate und die Abszisse) sind ein Maß für die Wahrscheinlichkeit in diesem Moment den Zustand zu messen.

 

 

 

 

 

 

 

 

Die Stellung der Achsen „Kameramann“ und „Zauberer auf dem Podest“ haben übrigens nichts mit den tatsächlichen Positionen auf der Bühne zu tun. Das vereinfachte Zeigerbild zeigt an, welche Überlagerung das Qubit in einem abstrakten Parameterraum besitzt. Nebenbei: Diese spezielle Art von Raum wird „Hilbertraum“ genannt, benannt nach dem deutschen Mathematiker David Hilbert, dem vielleicht wichtigsten Mathematiker des 20. Jahrhunderts i.

Natürlich gibt es in der Quantenphysik für das Qubit eine exakte mathematische Beschreibung. Die am Anfang ungewöhnliche Schreibweise lautet:

|qubit⟩ = 0.500 * |0⟩ + 0.866 * |1⟩

Die Schreibweise mit den |0und |1 soll klar machen, dass es sich hierbei nicht um Zahlen, sondern um Zustände, also Objekte handelt. Wir hätten auch schreiben können |Kameramannfür|0und |Zauberer auf dem Podestfür|1⟩.

Nur die roten Dinger vor den Zuständen sind echte Zahlen. Die Zahlen sind ein Maß dafür, wie wahrscheinlich im Moment der Zustand |0⟩ oder |1⟩ gemessen werden würde. Im Laufe der Zeit, also während der Pendelbewegung, verändern sich die Zahlen nach einem genau bekannten Gesetz, der sogenannten „Schrödingergleichung“. Während eines Quantenprogramms werden diese roten Zahlen durch einen festen Satz von Quantengattern, den Grundbausteinen der Quantenprogramme verändert.

Wenn Sie genau hinsehen, bemerken Sie, dass die „Wahrscheinlichkeiten“ 0.500 und 0.866 nicht zusammen 1 ergeben (was in der normalen Wahrscheinlichkeitsrechnung 100% entsprechen würde). Der Grund: An der Gleichung oben gibt es ein paar mathematische Gemeinheiten, die die Sache noch einiges ungewöhnlicher machen ii. Das exakte Zeigerbild für ein Qubit werde ich in einem späteren Beitrag beschreiben iii. Für die Themen, die ich in diesem Beitrag beschreibe, reicht die vereinfachte Sichtweise aber schon ganz gut aus.

Nehmen wir als Beispiel ein Qubit, das im Zustand |0⟩ beginnt und dann in den Zustand |1übergeht.

|qubit⟩ = |0⟩

 

 

 

 

|qubit⟩ = 0.707 * |0⟩ + 0.707 * |1⟩

 

 

 

 

|qubit⟩ = |1⟩

 

 

 

 

Die „Pendelbewegung“ geht solange weiter, bis wir das Qubit tatsächlich messen und es in Interaktion mit seiner Umgebung treten muss. In diesem Moment entscheidet sich das Qubit für einen der beiden Ich-Zustände. Und zwar entscheidet es sich um so mehr für den Zustand, in dessen Richtung das Pendel vorher ausgeschlagen hat.

Dieses Verhalten des Qubits mag vielleicht auf den ersten Blick zwar etwas verwirrend aber doch irgendwie banal aus. Tatsächlich ist dieses Verhalten aber absolut unglaublich. Dieses Verhalten eines Qubits, und natürlich auch jedes anderen Quantenzustandes, ist einer der Gründe warum die Quantenwelt auch über 100 Jahren nach ihrer Entdeckung vielleicht das größte Rätsel der Naturwissenschaften ist:

Es ist als würde die Natur in ihren kleinsten, atomaren Strukturen Darcy Oakes Magie mit den beiden Ich-Zuständen ausführen, die gleichzeitig auf der Bühne sind.

Allerdings nicht als Trick, sondern in echt.

Der „Welle-Teilchen-Dualismus“

Was ich gerade beschrieben habe nennt man auch den „Welle-Teilchen-Dualismus“ der Quantenmechanik: Ein Qubit nimmt mehrere Zustände gleichzeitig ein, wie eine Welle. Bei jeder Messung, die wir durchführen, verhält es sich aber wie ein normales Teilchen und wir messen nur noch einen einzigen Zustand.

Die Sache mit der Welle kommt so ins Spiel: Ein Qubit besitzt nur zwei Zustände. Normalerweise besitzt ein Quantenobjekt wesentlich mehr Zustände und oft sogar unendlich viele! Für ein Elektron sind dies z.B. die Orte sein, an dem es sich aufhalten kann. Unser vereinfachtes Zeigerbild passt dann trotzdem noch. Nur besitzt das Diagramm dann nicht mehr nur zwei Achsen, sondern eine Achse für jeden möglichen Zustand. Also sehr sehr viele Achsen, die senkrecht aufeinander stehen. Gegebenenfalls auch unendlich viele Achsen. Natürlich kann man sich das nicht mehr vorstellen, weil wir uns nur einen Zeiger in einem Diagramm mit höchstens drei Achsen vorstellen können. In der Mathematik kann man solche Systeme mit unendlich vielen Dimensionen trotzdem exakt berechnen. Dieser Zweig der Mathematik wird „Funktionalanalysis“ genannt iv. Den Zeiger können wir dann immer noch auf die gleiche Weise schreiben. Jetzt allerdings mit mehr Zuständen.

|elektron = 0.0134 * |Ort 1 + 0.0136 * |Ort 2 + 0.0137 * |Ort 3 + 0.0137 * |Ort 4 +

….

+ 0.0317 * |Ort 10000 + 0.0316 * |Ort 10001 + 0.0315 * |Ort 10002 +

….

Daraus können wir uns jetzt unsere Welle zusammenbauen: Dazu reihen wir blauen Orts-Zustände wie eine Perlenschnur in der x-Achse aneinander. Die roten Wahrscheinlichkeits-Zahlen zeichnen wir als Pendelausschlag an diesem Ort auf der y-Achse ein. Heraus bekommen wir gerade das Bild einer Welle.

Das sollte Sie aber nicht in die Irre führen. Das Elektron ist keine Welle. Das Elektron ist wie dieser blaue Zeiger in einem Diagramm, dessen Zeigerspitze immer an einer bestimmten Stelle in dem abstrakten Hilbertraum mit den vielen senkrechten Achsen steht. Nur die Wahrscheinlichkeiten kann man so darstellen, dass sie aussehen wie eine Welle.

Der „Welle-Teilchen-Dualismus“ hat für Elektronen erstaunliche Konsequenzen: Es gibt dieses berühmte „Doppelspalt-Experiment“ in dem ein einzelnes Elektron durch zwei benachbarte Spalte gleichzeitig fliegt und auf eine Art Leinwand trifft. Dort heben sich die Wahrscheinlichkeiten komplett auf oder verstärken sich. Das Elektron „interferiert“ also mit sich selbst v.

Der abstrakte Hilbertraum hat übrigens die interessante Eigenschaft, dass er die Entfernungsinformationen der Orte komplett auflöst: Im Hilbertraum stehen alle Ortszustände als eigene Achse senkrecht aufeinander. Die Zeigerspitze ist von jedem Ort „gleichweit entfernt“. Nämlich höchstens um eine 90°-Drehung. Oder anders ausgedrückt: Um von hier bis ins Sternbild Alpha Centauri zu springen, muss das Elektron im Hilbertraum nur eine 90°-Drehung durchführen. Das gleiche gilt für einen Mikro-Sprung von einem Atom zum nächsten.

Ich finde das faszinierend. Vielleicht ist genau das, die richtige Sicht auf unser Universum und unsere Vorstellung von Entfernung kommt nur durch Nebeneffekte zustande vi.

Die Grundidee eines Quantenprogramms

Jetzt werden Sie vielleicht sagen: Moment mal, die Argumentation ist zu dämlich! Das Qubit soll zwei Ich-Zustände zugleich einnehmen, obwohl das eigentlich unmöglich ist. Und wenn wir versuchen genau das zu beobachten, verschwindet der Effekt wieder. Wer soll das denn glauben ?!

Nun ja, viele Physiker wollten das am Anfang auch nicht glauben. Aber viele Experimente haben nachgewiesen, dass in der kurzen unbeobachteten Zeitspanne zwischen zwei Messungen, etwas ungeheuer Merkwürdiges passieren muss, das sich nur durch diese Art von Ich-Überlagerung erklären lässt.

Und dieses ungeheuer Merkwürdiges kann genutzt werden, um neue Arten von Berechnungen auszuführen:

Nehmen wir nochmal das Zauberer-Beispiel. Angenommen Darcy Oake muss eine Aufgabe lösen, die er niemals alleine lösen könnte. Zum Beispiel soll er die Rechenaufgabe 16 – 7 nur mit seinen Fingern lösen. Nur mal angenommen ihm geht es so, wie meinem kleinen Sohn und er kann sie wirklich nicht anders lösen als die Zahlen mit seinen 10 Fingern abzuzählen. Da die Aufgabe aber mit einer Zahl größer als 10 zu tun hat, ist sie für ihn eigentlich nicht lösbar. Jetzt startet er einfach seinen Trick. Er zaubert sein zweites Ich auf die Bühne. Zusammen lösen sie die Aufgabe mit ihren vier Händen. Am Ende zeigen jeweils beide Ichs die Zahl 9 mit Fingern in die Luft. Jetzt ist es egal welches der beiden Ich-Zustände von Darcy Oake am Ende gemessen wird und übrig bleibt. Er hat also die „unmögliche“ Aufgabe gelöst.

Das ist natürlich ein blödes Beispiel. Aber ich hoffe, Sie verstehen worauf ich hinaus will. Natürlich hat ein Qubit keine Finger. Für ein einzelnes Qubits muss man eher eine Frage stellen, die mit Ja oder Nein beantwortet werden kann. Ausserdem sind die beiden Ich-Zustände eines einzelnen Qubits nicht unabhängig voneinander, wie Sie am Zeigerbild oben sehen können. Richtig rechnen kann man erst mit mehreren Qubits.

Das bringt uns sofort zu der Frage: Wie könnte man denn mit einem Qubit rechnen?

Dafür muss man verstehen, wie man ein Qubit überhaupt verändern kann. Das führt uns direkt zu den „Quantengattern“ für Quantencomputer. Im Detail erfahren Sie das in den nächsten Beiträgen auf Quantencomputer-Info. Wenn Sie ausschließlich an der Quantenprogrammierung interessiert sind, können Sie den Rest dieses Beitrags also überspringen. Im Rest dieses Beitrages bekommen Sie von mir ein paar Erläuterungen und Hintergründe zu den Quantengattern, die Ihnen dabei helfen sollten ein besseres Verständnis dafür zu entwickeln.

Der Elektronen-Spin: Die Mutter aller Qubits

Um die Unregelmäßigkeiten in Strahlungs-Experimenten von Atomhüllen zu erklären, schlugen mehrere Physiker Ende der 1920er Jahren vor, dass jedes Elektron einen inneren Drall besitzen müsste: Der Elektronen-Spin. Der Eigendrall dieses Spins dürfte nur zwei mögliche Werte besitzen: „Wert ½, die Drehachse zeigt nach oben“ oder „Wert -½, die Drehachse zeigt nach unten“. Anders ausgedrückt: |up oder |down oder noch einfacher: |0 oder |1 . Der Elektronen-Spin ist als das allererste qubit-artige System in der Quantenmechanik.

Der österreichische Physiker Wolfgang Pauli untersuchte daraufhin die quantenmechanischen Gesetze nach denen sich das Spin-Qubit verändern kann. Die Grundbausteine, die er dafür fand wurden deshalb nach ihm benannt: „Die Paulimatrizen“. Alle anderen Qubits gehorchen auch den Paulimatrizen. Die Spin-Qubits haben aber die interessante Eigenschaft, dass sie eine Raumrichtungen auszeichnen, nämlich der Drehachse des Eigendralls. Und deshalb lassen sich die Paulimatrizen für Spin-Qubits, sehr schön anschaulich beschreiben.

Im Zentrum steht unter anderem die Frage: Wie dreht sich ein Spin-Qubit im Raum? Sie werden sehen, die Antwort ist absolut erstaunlich!

Wie dreht sich ein Spin-Qubit im Raum?

Nehmen wir erst mal einen ganz normalen Gegenstand. Angenommen Sie sitzen einem Bürostuhl gegenüber. Wenn Sie den Bürostuhl drehen scheint es so als ob er seine Form verändert. Natürlich macht er das nicht. Er sieht einfach aus jeder Blickrichtung anders aus. Dabei kommt es noch darauf an um welche Achse Sie den Bürostuhl drehen: Wenn Sie der Sitzfläche eine halbe Umdrehung versetzen sehen Sie die Rückseite des Bürostuhls. Wenn Sie die halbe Umdrehung anders durchführen, z.B. indem Sie ihn kopfüber drehen, sehen Sie auch die Rückseite. Allerdings ist der Bürostuhl jetzt auch noch auf den Kopf gestellt.

Gilt das gleiche für ein Spin-Qubit? Sieht es aus jeder Blickrichtung anders aus, je nachdem wie wir es drehen?

Ja, es sieht aus jeder Blickrichtung anders aus.

Bevor ich das genauer erkläre, müssen wir das Beispiel vom Zauberer und der Bühne noch etwas verfeinern.

Ich hatte Ihnen im vorangegangenen Abschnitt erklärt, dass ein Qubit ein Quantenzustand aus zwei überlagerten Zuständen ist, die es auf geheimnisvolle Weise beide gleichzeitig einnimmt. Im Zauberer Beispiel waren das die beiden Ich-Zustände „Kameramann“ und „Zauberer auf dem Podest“, die auf magische Weise gleichzeitig auf der Bühne vorhanden waren. Wir können uns das Qubit als gedankliches Pendel vorstellen, dass zwischen diesen beiden Ich-Zuständen hin- und herpendelt. Je mehr das Pendel in die Richtung eines Ich-Zustandes ausschlägt, um so wahrscheinlicher wird dieser Ich-Zustand am Ende gemessen. Vor der Messung sind trotzdem beide Ich-Zustände gleichzeitig vorhanden. In unserem Beispiel vom Zauber könnten wir uns diese Wahrscheinlichkeiten so vorstellen: Je unwahrscheinlich z.B. der Zustand „Kameramann“ wird, um so durchsichtiger wird er. Ist der Kameramann komplett ausgeblendet, ist die Wahrscheinlichkeit den Zustand „Kameramann“ zumessen gleich Null Prozent. Ist er vollkommen eingeblendet messen wir den Kameramann mit 100%-iger Wahrscheinlichkeit. Dazwischen sind alle Wahrscheinlichkeitswerte erlaubt. Wir wollen uns die Wahrscheinlichkeiten für die Ich-Zustände also so vorstellen, als wären wir ein Videotricktechniker, der an einem Ein-/Ausblende-Regler für Darcy Oake herumspielt. An dem Zeigerbild oben erkennen wir außerdem: Wenn wir den Zustand „Kameramann“ langsam ausblenden, blenden wir den Zustand „Zauberer auf dem Podest“ automatisch ein.

 

 

 

 

 

 

 

Ist der Zeiger um 45° gedreht sind der „Kameramann“ und der „Zauberer auf dem Podest“ gleich stark eingeblendet. Es gibt ein haufig benutztes Quantengattern, dass sich vereinfacht betrachtet ganz ähnlich verhält. Das „Hadamard“-Quantengatter oder einfach „H“. Was ich gerade bildlich beschrieben habe schreibt man in der Quantenmechanik:

H |0⟩ =0.707 * |0⟩ + 0.707 * |1⟩

Das Hadamard-Quantengatter ist ein sehr oft verwendeter Baustein in Quantenprogammen. Wenn man es z. B. auf alle Qubits in einem Quantencomputer anwendet, belegt es den Speicher in dem Quantencomputer mit allen verfügbaren Werten gleichzeitig.

Das X-Quantengatter: Die Drehung auf der Bühne

Jetzt zur Drehung im Raum.

Das vertrakte dahinter ist, dass das Zeigerbild unseres Qubits nur zwei Achsen besitzt. Der Raum hat aber drei Dimensionen. Tatsächlich steckt dahinter ein altes mathematisches Rätsel: Wie kann ich einen Zeiger mit zwei Komponenten verändern, so dass diese Transformation eine Drehung im Raum darstellt. Das ist knifflig, weil das Ganze eindeutig sein muss. An der Veränderung des Zeigers muss ich eindeutig ablesen können, wie das Qubit im Raum gedreht wurde. Andersherum muss eine bestimmte Drehung im Raum den das Qubit immer auf dieselbe Art und Weise ändern. Das Ganze muss zumindest für kleine Drehungen gelten. Ein Teilgebiet der Mathematik beschäftigt sich mit solchen Fragen: Die „Darstellungstheorie“. Das Problem wurde tatsächlich 50 Jahre vor der Entdeckung der Quantenmechanik von dem Mathematiker William Clifford gelöst. Die endgültige Lösung für das Problem werde ich erst im nächsten Beitrag vorstellen. Unser Beispiel mit dem vereinfachten Zeigerbild können wir aber jetzt schon verwenden, um einen besseren Eindruck von den Quantengattern H, X, Y und Z zu bekommen. Später werden wir dieses Bild dann verfeinern.

Nehmen wir zwei Assistenten, die auf der linken Seite der Bühne stehen und sich den Zaubertrick zunächst nur anschauen. Beide stehen am Anfang nebeneinander. Nehmen wir als Beispiel an, das dass der Zeiger des Kameramann – Zauberer auf dem Podest – Qubits am Anfang auf „Zauberer auf dem Podest“ steht. D.h. er ist komplett sichtbar und der Kameramann ist komplett unsichtbar.

Jetzt geht der erste Assistent langsam gegen den Uhrzeigersinn vorne um die Bühne herum. Während er läuft sieht er, dass der Kameramann langsam sichtbar und der Zauberer im Kasten immer mehr ausgeblendet wird. Für ihn ist es, als würde durch sein Laufen ein magischer Schieberegler verschoben, der beide Zauberergestalten videotechnisch ein- und ausblendet.

Der erste Assistent ist jetzt so weit gegangen, dass er vorne auf der Bühne und direkt vor dem Zauberer-Qubit steht. Der zweite Assistent steht immer noch links neben dem Qubit. Der gelaufene Assistent sieht Folgendes: Der Kameramann ist jetzt genauso eingeblendet, wie der Zauberer auf dem Podest und letzterer ist also entsprechend ausgeblendet. Wenn Sie sich an das Beispiel mit dem 45°-Winkel erinnern, werden Sie erkennen, dass der erste Assistent durch sein Laufen also ein Hadamard-Quantengatter auf das Qubit ausgeführt hat.

Jetzt geht der erste Assistent langsam weiter gegen den Uhrzeigersinn vorne um die Bühne herum. Der Kameramann wird weiter eingeblendet, während der Zauberer auf dem Podest weiter ausgeblendet wird. Als er auf der anderen Seite der Bühne, der rechten Seite, angekommen ist stoppt er. Was sieht er jetzt? Der Kameramann ist komplett eingeblendet und der Zauberer auf dem Podest ist komplett ausgeblendet. Wenn er jetzt das Zauberer-Qubit messen würde, würde er immer den Kameramann messen.

Aber was sieht der zweite Assistent, der die ganze Zeit auf der linken Seite der Bühne stehengeblieben ist? Für ihn hat sich die ganze Zeit nichts geändert: Nur der Zauberer auf dem Podest ist zu sehen und der Kameramann ist komplett unsichtbar. Wenn der zweite Assistent also das Zauberer-Qubit messen würde, würde er immer den Zauberer auf dem Podest messen. Also genau das Gegenteil von dem ersten Assistenten.

So sieht also ein Qubit aus den verschiedenen Blickrichtungen aus.

Die Drehung um 180° auf der Bühne hat übrigens auch einen festen Namen: X-Quantengatter. Also ein weiterer Baustein der Quantenlogik.

Was ich gerade bildlich beschrieben habe schreibt man in der Quantenmechanik:

X|0⟩ = |1⟩ und X|1= |0

Das X- Quantengatter in einem Quantencomputer ist also das Gegenstück zu einem NICHT-Gatter in einem herkömmlichen Computer: Es kehrt jeden Zustand in sein Gegenteil um.

Wenn wir das X- Quantengatter mit einem Hadamard-Quantengatter wie oben kombinieren bekommen wir:

X*H |0⟩    = X* (0.707 * |0⟩ +0.707 * |1⟩ )

= X * 0.707 |0+X * 0.707|1

= 0.707 * X|0+0.707 * X|1

= 0.707 * |1+ 0.707 * |0

Die Quantengatter verändern also nur die blauen Zustände und nicht die roten Zahlen. Das Gleiche gilt für das Plus-Zeichen. Haben Sie die Rechnung verstanden? Herzlichen Glückwunsch! So sehen die Rechnungen in der Quantenmechanik aus (meistens allerdings ein bisschen komplexer). An dieser kleinen Rechnung können Sie übrigens auch schon verstehen, wieso es den Quantenparallelismus gibt. Warum erkläre ich Ihnen gleich im Anschluss.

In der Quantencomputer-Programmierung verwendet man für solche Rechnungen üblicherweise auch Quanten-Schaltungsdiagramme:

 

 

Die 50%-Anzeige ist kein zusätzliches Quantengatter und soll nur verdeutlichen, dass am Ende beide Zustände |0und|1⟩ mit gleicher Wahrscheinlichkeit gemessen werden würden.

Der Grund für den Quantenparallelismus

Wir haben gerade gesehen, dass die beiden Quantengatter X und H nur die blauen Qubit-Zustände verändern und die einfachen roten Zahlen übersehen. Sie übersehen auch das Plus-Zeichen dazwischen. Das ist eine Eigenschaft die alle Operationen der Quantenmechanik und somit auch alle Quantengatter besitzen. In unserer Erfahrungswelt sind wir auf die Messungen der Quanten-Systeme angewiesen und zerstören dabei die Überlagerungen der Qubit-Zustände. Ein Quantengatter hat im Gegensatz dazu kein Problem mit den Überlagerungen. Es wirkt auf jeden blauen Qubit-Zustand gleichberechtigt und erhält dabei die Überlagerung (in Form von den roten Zahlen und dem Plus-Zeichen). Ein X-Quantengatter führt z.B. in einem Rechenschritt parallel zwei NICHT-Operationen aus. Dafür müssen wir nichts tun. Die Quantenmechanik leistet das für uns umsonst. Diese Tatsache steckt hinter dem Quantenparallelismus.

Die beschriebene Eigenschaft der Quantengatter nennt man in der Mathematik übrigens „Linearität“. Die algebraischen Berechnungen die man auf diese Weise durchführt nennt man entsprechend „Lineare Algebra“.

Die Geburtstunde der Quantenmenchanik und die „Heisenbergsche Unschärferelation“

Ich hoffe, Sie haben noch etwas Luft für den Rest des Beitrages. An dieser Stelle kann ich es mir nicht verkneifen, noch die Mutter aller Quantenphänome kurz vorzustellen (obwohl dies eher weniger mit Quantencomputern zu tun hat). Über wohl keine Eigenschaft der Quantenmechanik wurde soviel geschrieben und philosophiert wie über die „Heisenbergsche Unschärferelation“. Kommen wir also zur Geburtsstunde der Quantenmechanik:

Helgoland, 1925: Der junge Göttinger Physiker Werner Heisenberg nimmt sich mehrere Wochen Urlaub, um seinen Heuschnupfen auf der Insel Helgoland zu kurieren. Die Wochen wird er nutzen um die offenen Rätsel der Atomphysik zu untersuchen. Im Juni gelingt ihn der Durchbruch und er schreibt einen Aufsatz, der die Wissenschaft revolutionieren wird. Seine neue Theorie, die „Quantenmechanik“ erklärt das Verhalten von Objekten im atomaren Maßstab auf so fundamental neue Weise, dass selbst Heisenberg zunächst zögert die Arbeit zu veröffentlichen. Zurück in Göttingen bespricht er die neuen Erkenntnisse mit seinem erfahrenen Kollegen Max Born. Dieser erkennt sofort die Tragweite der neuen Ideen. Zusammen arbeiten sie, mit Unterstützung von Borns Student Pascual Jordan, die ganze Quantenmechanik in einer Serie von drei Aufsätzen aus vii.

Heisenbergs erste Arbeit wurde später als „magischer Aufsatz“ bezeichnet viii: Zu Heisenbergs Zeit war nur wenig über die Welt der Atome bekannt. Und trotzdem schaffte er es mit nahezu schlafwandlerischer Sicherheit die Grundidee der Quantenmechanik in wenigen Zeilen herzuleiten: Die Umformulierung der Physik über den abstrakten Hilbertraum.

Im zweiten Aufsatz stellte das Team dann die Unschärferelation vor ix:

Um einen Eindruck von der Unschärferelation zu bekommen, kommen wir noch mal auf unser Zauberer-Beispiel zurück. Wir hatten gesehen, dass Darcy Oake die Zustände „Kameramann“ und „Zauberer auf dem Podest“ gleichzeitig besitzt. Angenommen er hat noch zwei andere Zustände „Alt“ und „Jung“, die er ebenfalls gleichzeitig besitzt. Die vier Eigenschaften hängen aber auf überraschende Weise voneinander ab:

„Kameramann“ und „Zauberer auf dem Podest“ hatten wir mit den beiden Achsen im Zeigerdiagramm gleichgesetzt. „Alt“ und „Jung“ sollen auch zwei Achsen in demselben Zeigerbild bekommen. Aber um 45° gedrehte Achsen! Das Thema hatten wir schon mal beim Hadamard-Quantengatter.

Für das Qubit-Beispiel von oben messen die Assistenten also mit fast 100%-iger Wahrscheinlichkeit den Zustand „Jung“ und nur selten den Zustand „Alt“.

Wenn jetzt ein Assistent den Zustand „Jung“ für Darcy Oake misst, dreht er damit das Zauberer-Qubit auf die grüne „Jung“-Achse. Aber was ist mit den Zuständen „Kameramann“ und „Zauberer auf dem Podest“?

Die sind jetzt komplett ungewiss!

Das Zauberer-Qubit steht jetzt genau in der Mitte zu den anderen beiden Achsen „Kameramann“ und „Zauberer auf dem Podest“. Eine Messung ergibt jetzt zu 50% den Kameramann und zu 50% den Zauberer auf dem Podest. Sobald ein Assistent jetzt zum Beispiel den Zustand Kameramann misst, dreht sich das Zauberer-Qubit auf die Kameramann-Achse.

Jetzt ist aber wieder die Messung für „Jung“ und „Alt“ komplett ungewiss!

Was jetzt auch klar wird: Es macht sogar einen Unterschied, ob die Assistenten zuerst die Messung für „Jung“ oder „Alt“ und danach die Messung für „Kameramann“ oder „Zauberer auf dem Podest“ durchführen oder umgekehrt!

Die Heisenbergsche Unschärferelation sagt jetzt Folgendes aus: Das gleiche Prinzip gilt in der Quantenwelt für den Ort und den Impuls, also die Geschwindigkeit, eines Teilchens. Der Ort ist wie die Zustände „Kameramann“ und „Zauberer auf dem Podest“ (nur wieder mit viel viel mehr senkrechten Achsen), der Impuls wie die Zustände „Jung“ und „Alt“. Wenn wir den Ort genau kennen, hat sich der Quanten-Zeiger des Teilchens so in die Mitte der Impuls-Achsen gedreht, dass der Impuls komplett ungewiss geworden ist. Andersherum gilt das Gleiche: Wenn wir den Impuls genau kennen, können wir nichts mehr über den Ort des Teilchens aussagen. Für beide Größen kommen wir an einer Unschärfe nicht vorbei.

Außerdem macht es einen Unterschied, ob wir zuerst den Ort und danach den Impuls messen oder umgekehrt. Die Messungen in der Quantenmechanik kann man also nicht einfach vertauschen und das gleiche kommt heraus. Deshalb nennt man die algebraischen Berechnungen in der Quantenmechanik auch „nichtkommutativ“. Warum die Natur sich gerade so verhält weiss bis jetzt kein Mensch. Aber auf diese Weise können die Physiker das Phänomen exakt beschreiben.

Nur wenn das Diagramm auf die Achsen für „Kameramann“ und „Zauberer auf dem Podest“ ausgerichtet ist, können wir die Wahrscheinlichkeiten für diese Zustände ablesen. Für die Zustände „Jung“ und „Alt“ gilt das zunächst nicht. Dafür müssen wir die Achsen erst auf die Sichtweise für „Jung“ und „Alt“ drehen. Der Wechsel zwischen den verschiedenen Sichtweisen auf ein Qubit oder auch auf ein Elektron nennt man „Basiswechsel“. Der Basiswechsel zwischen Ortsdarstellung und Impulsdarstellung hat einen speziellen Namen: Die „Fouriertransformation“. Ein Kernbaustein des Shor-Algorithmus ist z.B. auch die Fouriertransformation, die auf mehrere Qubits angewendet wird. Im Schaltdiagramm des Shor-Algorithmus auf der Quirk-Homepage unten erkennen Sie das an dem Kürzel „QFT“. Für ein Qubit ist die Fouriertransformation gerade das Hadamard-Quantengatter.