Q4 ZBIT - unterwegs zum Qubit-Modell

Im vorausgegangenen Teil haben wir ein sog. Automaten-Modell für die BIT-Box entwickelt. Ein Automat, genauer, ein endlicher Automat (im Englischen Finite State Machine), ist ein einfaches Konstrukt, das aus folgenden Teilen besteht: Eingabe - innerer Zustand - Ausgabe, eine Methode zur Änderung des Zustands und eine, die den Output festlegt. Endlich heißt der Automat, weil die Möglichkeiten zur Eingabe, die Zustände und die Ausgaben nur einen endlichen Umfang haben.

Das BIT-Box-Modell hat, so gesehen, Null Eingabe-Möglichkeiten (ja, auch das geht!), 2 Zustände und 2 Output-Möglichkeiten. Die Zustandsveränderungen sind durch die beiden kleinen Tabellen für R und X festgelegt und die Output-Methode ist das Messen, M, das auch durch eine Tabelle festgelegt ist. Das BIT-Box-Modell ist damit ein sehr einfacher endlicher Automat. Was dazu führt, dass man sich angewöhnt hat, die mögliche Struktur, die technische Konstruktion eines BITs zu ignorieren und einfach davon zu sprechen, dass ein Bit etwas ist, was "im Zustand 0 oder 1 sein kann". Mit dieser Definition kann man z.B. hervorragend Informatik betreiben, ohne sich um die Physik zu kümmern. Aber das führt hier zu weit - wir wollen ja zum Qubit-Modell.

Z B I T

Am Ende des letzten Abschnitts hatte uns der Große Experimentator mit einer blauen ZBIT-Box konfrontiert. Die wollen wir jetzt verstehen. Wir machen wieder allerlei Klappe-auf / Klappe-zu Experimente, berühren die Touch-Felder usw. Also los!

Als erstes wiederholen wir die für die BIT-Box. Klappe auf: Dunkel. Erst X, dann Klappe auf: Licht usw. Die Messergebnisse sind wie bei der BIT-Box. Jetzt beziehen wir das neue Touch-Feld H in die Experimente ein:

Ausgangspuntk ist immer "Klappe zu".
H und Klappe auf: Licht. Wiederholung: Klappe zu, H und Klappe auf: Dunkel. Nanu! Wiederholung: Dunkel, Wiederholung: Licht. Jetzt werden wir systematisch und wiederholen in einer Serie das Experiment 20 mal und notieren uns die Ergebnisse. Wir bekommen 12 mal Licht, 8 mal Dunkel. Wir wiederholen die Serie: 11 mal Dunkel, 9 mal Licht... Am Ende sind wir überzeugt:

H und M (Klappe auf) ergibt "zufällig" Licht oder Dunkel, im Schnitt jeweils in der Hälfte der Experimente einer Serie.

Jetzt wissen auch auch, warum der G.E. das Feld mit "H" bezeichnet hat: H wie Halbe, oder Hälfte, oder 1/2. Und warum die Box ZBIT heißt: Abkürzung für "Zufalls BIT Intelligence Tester".

Jetzt kommt uns eine weitere Idee: bisher war H berührt worden direkt nach dem  Ausgangspunkt (Klappe zu). Was wäre, wenn wir vorher noch das X  berühren? Machen wir also die Serien noch mal, aber in der Abfolge: Ausgangspunkt, X, H und dann M. Wir stellen fest: bis auf zufällige Abweichungen das gleiche Verhalten wie vorher, ohne X. Halb Licht, halb Dunkel.

Und was ist, wenn wir H zweimal hintereinander berühren, nachdem die Klappe geschlossen wurde? Wir bekommen, auch in Serie, immer Dunkel. Wenn wir vorher noch X berühren, immer Licht. Doppeltes Berühren von  H hebt sich also auf.

Das ZBIT-Modell

Bevor wir weiter experimentieren, versuchen wir uns ein Modell zu machen in der Art wie bei der BIT-Box, quasi als Erweiterung. Wir sehen zunächst, ob das klappt, und überprüfen es dann mit verschiedenen Experimenten.

  1. Wir nehmen für das ZBIT-Modell 3 interen Zustände und und kennzeichen diese Zustände mit [0],  [1] und - neu - [1/2]. Die Zahlen haben wieder keine Bedeutung; wir könnten die Zustände auch Alice, Charly und Bob nennen.
  2. Wir setzen [0] als den Startzustand
  3. Die bekannten Outputs sind wieder D und L, für Dunkel und Licht. Neu ist der in der Serie variable Output, den wir mit P kennzeichnen.
  4. Die beiden Operationen X und R hatten wir schon eingeführt, für Touch-Feld X Berühren bzw. Klappe zu.
  5. Neu hinzugekommen ist das Touch-Feld H. Dafür führen wir den Operator H im Modell ein.
  6. Die  Wirkung von R, X, H auf die ZBIT-Zustände ist wie folgt:

R:  [0] -> [0] und [1] -> [0]  (Reset)
X:  [0] -> [1] und [1] -> [0]  (Switch)
H: [0] -> [1/2] und [1] -> [1/2] (Halbe-Halbe)

Das Messen des ZBIT-Zustands (Klappe auf und schauen) kürzen wir mit M ab. Messen des Zustands ergibt
M: [0] -> D  und  [1] -> L und [1/2] -> P

Da fehlt doch was! Wie wirken die Operationen R, X und H auf den neuen Zustand [1/2]? Wir machen dazu eine zunächst mal plausible Erweiterung der drei kleinen Tabellen und prüfen dann, ob das in sich stimmig wird.

R: [1/2] -> [0] ist plausibel, da "Klappe zu" den Ausgangszustand herstellen soll
X: [1/2] -> [1/2] ist ebenfalls plausibel, denn das Touch-Feld X vertauscht die Zustände nur. Und [1/2] ist der einzige Zustand, der beim "Vertauschen" von  [1/2] mittels X entstehen könnte.
H: [1/2] -> ? Hier müssen wir kurz nachdenken. Wenn der Zustand [1/2] die Bedeutung hätte, in der Hälfte der Fälle eigentlich [0] zu sein und in der anderen Hälfte [1], dann würde H in der einen Hälfte auf [0] wirken und [1/2] ergeben, in der anderen Hälfte auf [1] und ebenfalls [1/2] ergeben. Also scheint es plausibel zu setzen:
H: [1/2] -> [1/2]

Hier noch mal  gesamte Tabelle der Zustandsübergänge als Übersicht:

Zustand | Neuer Zustand bei
        |    R      X       H
[0]     |   [0]    [1]     [1/2]
[1]     |   [0]    [0]     [1/2]
[1/2]   |   [0]    [1/2]   [1/2]

Wir wollen nun einige Experimente (Algorithmen) mit diesen Operationen durchführen und damit überprüfen, ob das ZBIT-Modell mit der ZBIT-Box übereinstimmt.

R ---- X ---- H ---- M -> 1:1 liefert die ZBIT-Box in Serie
[0] -> [1] -> [1/2] -> P       liefert das Modell. Das passt.

R ---- H ------- X ---- M -> 1:1  ZBIT-Box Experimente (in Serie)
[0] -> [1/2] -> [1/2] -> P         ZBIT-Modell Output

Soweit stimmen Modell und die ZBIT-Box des G.E. überein.

Wir haben beim Experimentieren oben gesehen, dass sich zweimal Touch-Feld H hintereinander aufheben. Wir prüfen, ob das mit dem Modell übereinstimmt. Offenbar nicht! H auf [0] angewendet ergibt [1/2], aber auch H auf [1] angewendet ergibt [1/2]. Damit kann nicht gleichzeitig HH[0] = H[1/2] = [0] und HH[1] = H[1/2] = [1] sein. Und wie wir der Tabelle entnehmen, hatten wir sinnvollerweise auch HH[0] = HH[1] = H[1/2] = [1/2] gesetzt.

Diese Herleitung ist gleichzeitg ein schönes Beispiel dafür, wie man mit den Automaten-Symbolen rechnen kann! Vielleicht etwas ungewöhnlich, aber verständlich.

Wir müssen also offenbar unser schönes ZBIT-Modell verwerfen, da es mit der Beobachtung an der ZBIT-Box im Widerspruch steht. Ein ganz normales wissenschaftliches Vorgehen.

Können wir ein verbessertes ZBIT-Modell entwerfen, das diesen Widerspruch auflöst? Das besprechen wir im nächsten Blog. Denn auch wenn wir den "Zufalls BIT Intelligenz Test" noch nicht bestanden haben, brauchen wir erst mal eine Pause. Danach geht es dann einen großen Schritt weiter in Richtung Qubit.

 


Q3 Vom Bit- zum Qubit-Modell

Um herauszufinden, was das Hello Qubit World eigentlich macht, müssen wir uns doch erst mal ein Bild davon machen, was ein Qubit sein soll - im Vergleich zu einem Bit. Wir entwickeln dazu ein verständliches Modell eines Qubits, das wir verstehen können ohne die physikalische Quantentheorie verstehen zu müssen.

B I T

Stellen wir uns vor, der Große Experimentator stellt uns einen schwarzen, würfelförmigen Kasten hin, auf dem oben die Buchstaben "B I T" stehen. Der Kasten hat vorne rechts eine Klappe, die man nach unten öffnen kann. Und ein Touch-Feld  markiert mit einem "X"  links daneben.

Was machen wir? Was zuerst? Die Klappe auf oder das Feld berühren? Egal - wir öffnen die Klappe und sehen ... nichts, es ist dunkel in der Box. Wir schließen die Klappe und öffnen sie wieder. Keine Änderung. Wir berühren das Touch-Feld: es tut sich nichts. Wir schließen die Klappe, berühren das Feld, machen die Klappe auf: Licht. Aha! Klappe zu, Klappe auf: wieder Dunkel. Aha! Es kristallisiert sich eine Vermutung heraus. Und jetzt werden wir systematisch:

  1. Ausgangspunkt: Klappe zu
  2. Klappe auf: Dunkel
  3. Wiederholung: es bleibt Dunkel
  4. Ausgangspunkt: Klappe zu
  5. X berühren, Klappe auf: Licht
  6. Wie 4. und 5., aber zweimal hintereinander X berühren: Dunkel
  7. Wiederholungen 1.-3. bzw. 4. und 5. bzw. 7. zur statistischen Absicherung.

Das lässt uns folgende empirische Regel vermuten:

Macht man nur die Klappe auf, ist es dunkel. Berührt man vorher das Touch-Feld, sieht man Licht. Berührt man es mehrmals hintereinander, heben sich jeweils zwei X gegeneinander auf.

(Jetzt wissen wir auch, warum der Große Experimentator den Kasten mit BIT beschriftet hat: Abkürzung für "BIT Intelligence Tester". War aber ziemlich einfach.)

Wie die BIT-Box das macht, wie sie konstruiert ist, können wir leider nicht wissen. Selbst wenn wir sie zerschlagen würden, hätten wir nur ein paar unverständliche Brocken. Wir können aber ein Modell davon machen, zunächst auf Papier.

Das BIT-Modell

Wir legen fest, BIT hat eine interne Zustandsvariable. Die kann zwei Werte (Zustände) annehmen. Mit der gültigen Operation X , das entspricht dem Touch-Feld-Berühren bei der Box,  lässt sich der Modellzustand wechseln. Die Operation R, das dem Schließen der Klappe entspricht, stellt einen festgelegten Anfangszustand von BIT her (Reset). BIT gibt uns je nach Zustand ein Signal als Output, das "Licht" oder "Dunkel" entspricht. Dazu müssen wir aber etwas tun: bei der Box die Klappe öffnen und nachschauen. Wir können das als Messen (M) des BIT-Zustands auffassen. Die Operation X kann nur "bei geschlossener Klappe" ausgelöst werden, d.h. wir können die Wirkung der Operation nicht unmittelbar beobachten, ebenso wenig wie die internen Zustände. Wir erschließen beides aufgrund des Outputs, den wir durch M (Klappe auf) bekommen.

Nach dieser Modellbeschreibung können wir leicht eine weiße Box konstruieren und bauen. Das einfachste ist eine kleine Lichtanlage mit einem (inneren) Schalter, der durch "Knopfdruck" X geschaltet wird - aber nur wenn die Beobachtungsklappe geschlossen ist.

Wir können es aber etwas "mathematischer" beschreiben, so dass wir im Prinzip das BIT-Modell "berechnen" können.

  1. Wir kennzeichen die beiden Zustände mit [0] und [1]. Die Ziffern haben keine Bedeutung; wir könnten die Zustände auch Paul und Paula nennen.
  2. Wir setzen [0] als den Startzustand
  3. Die Outputs des Modells werden als D und L abgekürzt, für Dunkel und Licht
  4. Die beiden Operationen X und R hatten wir schon eingeführt: Touch-Feld Berühren bzw. Klappe zu.  Ihre Wirkung auf den BIT-Zustand ist wie folgt:

R:  [0] -> [0] und [1] -> [0]  (Reset)
X:  [0] -> [1] und [1] -> [0]  (Switch)

Das Messen des BIT-Zustands (Klappe auf und schauen) kürzen wir mit M ab. Messen des Zustands ergibt
M: [0] -> D  und  [1] -> L

Ein Experiment mit diesem Modell kann dann z.B. so beschrieben werden: R--X--X--M .  Was bedeutet das? Im Modell können wir die Zustandsfolge und den Output nun "berechnen":

R -----X-----X-----M
[0] -> [1] -> [0] -> D

Der Output nach M ist - D.  Beim entsprechende Experiment mit der black box  können wir davon nur Dunkel beobachten. das entspricht dem D als Output. Die Operationen können wir auslösen, aber ihren Effekt nur erschließen, z.B. aus
R----M -> D
R----X----M -> L

Was ergibt folgender Algorithmus?
R----X----X----R----M
Nichts - diese Abfolge ist offenbar nicht zulässig. Solange die Klappe zu ist kann sie nicht wieder geschlossen werden. Es gibt also gewisse Regeln zu beachten in der Aufeinanderfolge von Operationen. Nicht alles ist möglich, bzw, "wohldefiniert".

R----X----M----R----M ist dagegen möglich. Der Output ist D - klar?

Nicht von ungefähr erinnern diese Operations-Linien schon an die Diagramme von einfachen Qubit-Algorithmen im letzten Abschnitt.

Algorithmen

Wir können mit dem BIT-Modell bereits kleine Algorithmen formulieren und - gedanklich - mit der BIT-Box manuell durchführen. Ein Beispiel:

R---X---M---R---M---R---X---M   liefert an den Messpunkten (M): L D L

oder Beeb Bib Beeb, den Morse-Code für den Buchstaben 'K'.

Als kleine Übungen kann man versuchen, BIT-Modell Algorithmen aufzuschreiben, die z.B. 'GE' oder 'Hello World' ausgeben - in Morse Code oder ASCII. Wer Lust hat, kann Ergebnise, Fragen oder Diskussionsbeiträge in das Kommentarfeld zum Blog eintragen.

Offenbar haben wir damit die BIT-Box verstanden. Gemeinerweise hat der Grosse Experimentator aber noch eine ganze Reihe von anderen BIT Boxen auf Lager. So finden wir jetzt eine Box in Blau vor, die im Wesentlichen so aussieht wie die BIT-Box. Allerdings hat sie ein weiteres Touch-Feld H, so dass wir links neben der Klappe jetzt die Berühr-Felder X und H finden. Und oben steht jetzt, Weiß auf Blau, "ZBIT".

 

Bevor wir uns aber daran machen, die ZBIT-Box zu analysieren, brauchen wir eine kleine Pause. Daher geht es im nächsten Teil weiter mit der ZBIT-Box.

 


Q1 Etwas ist anders! - Qubit-Algorithmen

Muss ich Quantenphysik kennen, oder verstehen, wie Quantencomputer funktionieren, um mich mit  sog. Quanten-Algorithmen zu beschäftigen?

Sicher nicht! Lass uns deshalb lieber von Qubit-Algorithmen, oder kurz Q-Algorithmen sprechen.  Die Idee der Qubit-Algorithmen gab es schon, bevor die ersten Quantencomputer nutzbar wurden.

Nicht anders als bei den Bit-Algorithmen, den herkömmlichen Algorithmen, die für "normale" Computer programmiert werden. Auch hier verstehen die Wenigsten die zugrunde liegende Physik und viele auch nicht, wie normale Computer funktionieren. Hauptsache, man kann spielen, chatten, Musik hören - ja, und manchmal sogar programmieren.

Allerdings - etwas ist anders bei Q-Algorithmen. Was darauf zurückzuführen ist, dass irgendwo doch die Quantenphysik schon im Hinterkopf war, als  Qubits und Qubit-Algorithmen "erfunden" wurden. Das wollen wir hier heraus finden.

Und es ist echt spannend, dass man heute reale, programmierbare Quantencomputer im Internet (als Cloud Service) frei verwenden kann, z.B. von IBM oder Google. Es ist schon ein etwas anderes Gefühl, ein eigenes kleines Q-Programm auf einem realen Q-Computer laufen zu lassen. Einfacher geht es übrigens mit Q-Computer-Simulatoren, also "Modellen" von Quantencomputern, die auf normalen Computern laufen und so tun, als wären sie QCs. Zum Ausprobieren von Q-Algorithmen perfekt.

Es wird heutzutage in den Medien viel Wunderliches über QCs und Qubit-Algorithmen geschrieben. Wie super-schnell sie sind - genauer, in Zukunft sein werden, welche geheimnisvollen Objekte Qubits sind, die gleichzeitig verschiedene Zustände haben können. Dann ist da von "Schrödingers Katze" die Rede, die gleichzeitig tot und lebendig sein soll - also wohl ein Zombie? (Jedenfalls solange, bis man nachschaut - dann ist sie entweder tot oder lebendig!) Und dass ein Quantencomputer daher doppelt so schnell Lösungen errechnet, wenn man nur ein Qubit hinzufügt. Es ist von der  "Supremacy" von Quantencomputern die Rede, ein Wort, das ausdrücken soll, dass wir bald QCs haben werden, die - bei bestimmten Rechnungen - schneller sein werden als der schnellste Supercomputer.  Und damit z.B. die stärksten heute verwendeten Verschlüsselungen im Nu knacken können.

Wenn wir uns mit Bits und Qubits und Qubit-Algorithmen näher beschäftigen, werden wir sehen, was davon zu halten ist und was dahinter steckt. Wenn man es selbst ausprobiert hat, wird man den Zauber schon verstehen. Wenn man die Katze streichelt, merkt man schon, wie lebendig sie ist.

Als nächstes wollen wir sehen, was ein Qubit bedeutet - oder wir schauen uns erst einmal ein einfaches Beispiel eines Q-Algorithmus an, um einen Eindruck zu bekommen, aber ohne es schon verstehen zu müssen. Am liebsten beides gleichzeitig? Mal sehen, wie die Entscheidung ausfällt.

Fortsetzung folgt - Stay tuned

Übrigens, wer Lust hat, kann Fragen, Ideen, Kommentare oder Diskussionen direkt ins Kommentarfeld unter dem Blog schreiben.

Und hier geht's weiter.


Q2 Etwas ist anders! - Hello Qubit World

Schauen wir uns also als erstes einmal an, wie so ein Qubit-Algorithmus aussieht - auch ohne den schon zu verstehen.

Bekanntlich ist in der Welt der Informatiker, Programmierer, Hacker das erste, was man ausprobiert bei einem neuen System oder einer neuen Programmiersprache, ein "Hello World" zu erzeugen. Das allgemein anerkannte "Hello World" für Quantencomputer sieht allerdings schon etwas ungewöhnlich aus. Es liefert auch nicht die Grußformel, sondern ist nur so etwas wie das einfachste Qubit-Programm. (Natürlich kann man das Ergebnis daraus in der "normalen" Programmierwelt in ein "Hello World" umwandeln.) Wir werden sehen.

Und so sieht es aus, das "Hello World"  der Qubit-Welt:

Sieht eher aus wie ein Ausschnitt aus einer Partitur moderner Musik? Der Vergleich ist gar  nicht so unpassend. Dieser Ausschnitt "orchestriert"  quasi die "Instrumente" eines Quantencomputers, die Qubits.

Am liebsten würde man das Bild sofort erklärt bekommen, aber das heben wir uns für später auf. Man sieht erst mal, ein Q-Algorithmus wird ganz anders dargestellt als üblich. Und dies ist eine einfache Möglichkeit einen Q-Algorithmus als Qubit-Programm grafisch zu beschreiben. (Das ist so ähnlich wie bei Scratch oder Roberta, wo man ein Programm visuell aus einzelnene Bausteinen zusammensetzen kann.) Natürlich kann man statt in der grafischen Form einen Q-Algorithmus auch in Worten beschreiben, wobei man aber sorgfältig mit der Sprache umgehen muss. Oder durch eine Programmiersprache, z.B. Python. Wir probieren das nachher mal.

Versuchen wir mal zu erraten, was die Grafik bedeutet, quasi als Partitur: Es gibt offenbar 2 Instrumente, q1 und q2. Die haben ihre eigene "Linie", auf denen etwas passiert. Klar, das sollen zwei Qubits sein - wobei wir erst in einem späteren Blog erklären, was Qubits sein sollen. Auf den Linien geschieht etwas, nacheinander, mit den jeweiligen Qubits. Was auch immer H macht, es macht es nur mit q1. Danach kommt etwas, dass offenbar q1 und q2 zusammen betrifft.

Am Ende jeder Qubit-Zeile steht eine Art Anzeige-Symbol, wie bei einem Messgerät, mit einem Pfeil nach unten auf die Doppel-Linie C. Tatsächlich, hier wird ein Qubit "gemessen". Und das Messergebnis wird an die C-Linie übertragen. Das "C" steht übrigens für "classical" - nein, nicht "klassische Musik", sondern "klassiches Bit", im Gegensatz zum Quanten-Bit oder Qubit. Danach kommt nichts mehr, es ist Schluß, das "Musikstück" zuende.

Was bedeuten die Zahlen unten auf der C-Linie? Das ist einfach zu erraten: die 2 besagt, dass C die "Messwerte" von 2 Qubits aufnimmt. Die 0, klar, steht für: "Hier kommt der Messwert von Qubit q0." Und die 1 für Messwert von q1 - falls es in einer größeren "Partitur" mal unübersichtlich werden sollte. Und da das C für "classical bit" steht, kann man schon schließen, dass die Messergebnisse herkömmliche Bits sind.

Jetzt wissen wir, was die Teile bedeuten, aber immer noch nicht, was der ganze Qubit-Schaltkreis macht (so nennt man das Gebilde in Anlehnung an herkömmliche elektronische Schaltkreise).

Das liegt daran, dass wir nicht wissen was die beiden blauen Symbole machen. Mal sehen, ob wir das auch noch verstehen können, z.B. indem wir den Hello Qubit World Algorithmus in normaler Sprache formulieren.

Aber jetzt ist es erst mal genug. Pause. Dann weiter lesen.

Cliff-Hanger - Stay tuned

Und hier geht's weiter.