Was ist ein Quantencomputer? Erklärt mit einem einfachen Beispiel.

Hallo allerseits!

Neulich besuchte ich D-Wave Systems in Vancouver, Kanada. Es ist ein Unternehmen, das hochmoderne Quantencomputer herstellt.

Ich habe dort viel über Quantencomputer gelernt, deshalb möchte ich Ihnen in diesem Artikel etwas von dem mitteilen, was ich dort gelernt habe.

Das Ziel dieses Artikels ist es, Ihnen anhand eines einfachen Beispiels eine genaue Vorstellung davon zu geben, was ein Quantencomputer tut.

Für diesen Artikel sind keine Vorkenntnisse in Quantenphysik oder Informatik erforderlich, um sie verstehen zu können.

Okay, lass uns anfangen.

Bearbeiten (26. Februar 2019): Ich habe kürzlich ein Video zum gleichen Thema auf meinem YouTube-Kanal veröffentlicht. Ich würde empfehlen, es vor oder nach dem Lesen dieses Artikels anzusehen (hier klicken), da ich dem Video einige zusätzliche, differenziertere Argumente hinzugefügt habe.

Was ist ein Quantencomputer?

Hier ist eine einsatzige Zusammenfassung dessen, was ein Quantencomputer ist:

Ein Quantencomputer ist ein Computertyp, der Quantenmechanik verwendet, um bestimmte Arten von Berechnungen effizienter durchzuführen als ein normaler Computer.

In diesem Satz gibt es viel zu entpacken. Lassen Sie mich Ihnen anhand eines einfachen Beispiels zeigen, was es genau ist.

Um zu erklären, was ein Quantencomputer ist, muss ich zunächst ein wenig über normale (Nicht-Quanten-) Computer erklären.

Wie ein normaler Computer Informationen speichert

Jetzt speichert ein normaler Computer Informationen in einer Reihe von Nullen und Einsen.

Auf diese Weise können verschiedene Arten von Informationen wie Zahlen, Text und Bilder dargestellt werden.

Jede Einheit in dieser Reihe von Nullen und Einsen wird als Bit bezeichnet. Ein Bit kann also entweder auf 0 oder 1 gesetzt werden.

Was ist nun mit Quantencomputern?

Ein Quantencomputer verwendet keine Bits zum Speichern von Informationen. Stattdessen werden sogenannte Qubits verwendet.

Jedes Qubit kann nicht nur auf 1 oder 0 gesetzt werden, sondern auch auf 1 und 0. Aber was bedeutet das genau?

Lassen Sie mich dies anhand eines einfachen Beispiels erklären. Dies wird ein etwas künstliches Beispiel sein. Aber es wird immer noch hilfreich sein, um zu verstehen, wie Quantencomputer funktionieren.

Ein einfaches Beispiel, um zu verstehen, wie Quantencomputer funktionieren

Angenommen, Sie betreiben ein Reisebüro und müssen eine Gruppe von Personen von einem Ort zum anderen bewegen.

Nehmen wir an, Sie müssen vorerst nur drei Personen bewegen - Alice, Becky und Chris.

Angenommen, Sie haben zu diesem Zweck 2 Taxis gebucht und möchten herausfinden, wer in welches Taxi steigt.

Angenommen, Sie erhalten hier Informationen darüber, wer mit wem befreundet ist und wer mit wem Feinde sind.

Hier sagen wir Folgendes:

  • Alice und Becky sind Freunde
  • Alice und Chris sind Feinde
  • Becky und Chris sind Feinde

Angenommen, Ihr Ziel hier ist es, diese Gruppe von 3 Personen in zwei Taxis aufzuteilen, um die folgenden zwei Ziele zu erreichen:

  • Maximieren Sie die Anzahl der Freunde , die sich das gleiche Auto teilen
  • Minimieren Sie die Anzahl der feindlichen Paare , die sich dasselbe Auto teilen

Okay, das ist die Grundvoraussetzung für dieses Problem. Lassen Sie uns zunächst darüber nachdenken, wie wir dieses Problem mit einem normalen Computer lösen können.

Lösen dieses Problems mit einem normalen Computer

Um dieses Problem mit einem normalen Nicht-Quantencomputer zu lösen, müssen Sie zunächst herausfinden, wie die relevanten Informationen mit Bits gespeichert werden.

Beschriften wir die beiden Taxis Taxi Nr. 1 und Taxi Nr. 0.

Dann können Sie mit 3 Bits darstellen, wer in welches Auto steigt.

Zum Beispiel können wir die drei Bits auf 0 , 0 , setzen,und 1 zu repräsentieren:

  • Alice steigt in Taxi # 0
  • Becky steigt in Taxi # 0
  • Chris steigt in Taxi Nr. 1

Da es für jede Person zwei Möglichkeiten gibt, gibt es 2 * 2 * 2 = 8 Möglichkeiten, diese Personengruppe in zwei Autos aufzuteilen.

Hier ist eine Liste aller möglichen Konfigurationen:

A | B | C.

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

Mit 3 Bits können Sie eine dieser Kombinationen darstellen.

Berechnung der Punktzahl für jede Konfiguration

Wie können wir nun mit einem normalen Computer feststellen, welche Konfiguration die beste Lösung ist?

Dazu definieren wir, wie wir die Punktzahl für jede Konfiguration berechnen können. Diese Punktzahl gibt an, inwieweit jede Lösung die beiden zuvor genannten Ziele erreicht:

  • Maximieren Sie die Anzahl der Freunde , die sich das gleiche Auto teilen
  • Minimieren Sie die Anzahl der feindlichen Paare , die sich dasselbe Auto teilen

Definieren wir unsere Punktzahl einfach wie folgt:

(die Punktzahl einer bestimmten Konfiguration) = (# Freundpaare, die dasselbe Auto teilen) - (# Feindpaare, die dasselbe Auto teilen)

Angenommen, Alice, Becky und Chris steigen alle in Taxi Nr. 1. Mit drei Bits kann dies als 111 ausgedrückt werden .

In diesem Fall teilt sich nur ein Freund das gleiche Auto - Alice und Becky.

Es gibt jedoch zwei feindliche Paare , die sich dasselbe Auto teilen - Alice und Chris sowie Becky und Chris.

Die Gesamtpunktzahl dieser Konfiguration beträgt also 1-2 = -1.

Lösung des Problems

Mit all diesen Einstellungen können wir endlich dieses Problem lösen.

Um die beste Konfiguration zu finden, müssen Sie bei einem normalen Computer im Wesentlichen alle Konfigurationen durchgehen, um festzustellen, welcher die höchste Punktzahl erzielt.

Sie können also darüber nachdenken, eine Tabelle wie folgt zu erstellen:

A | B | C | Ergebnis

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- eine der besten Lösungen

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- die andere beste Lösung

1 | 1 | 1 | -1

Wie Sie sehen können, gibt es hier zwei richtige Lösungen - 001 und 110, die beide die Punktzahl 1 erreichen.

Dieses Problem ist ziemlich einfach. Es wird schnell zu schwierig, mit einem normalen Computer zu lösen, da wir die Anzahl der Personen in diesem Problem erhöhen.

Wir haben gesehen, dass wir mit 3 Personen 8 mögliche Konfigurationen durchlaufen müssen.

Was ist, wenn es 4 Personen gibt? In diesem Fall müssen wir 2 * 2 * 2 * 2 = 16 Konfigurationen durchlaufen.

Mit n Personen müssen wir (2 hoch n) Konfigurationen durchlaufen, um die beste Lösung zu finden.

Wenn es also 100 Leute gibt, müssen wir Folgendes durchgehen:

  • 2¹⁰⁰ ~ = 10³⁰ = eine Million Millionen Millionen Millionen Konfigurationen.

Dies ist mit einem normalen Computer einfach nicht zu lösen.

Lösen dieses Problems mit einem Quantencomputer

Wie würden wir dieses Problem mit einem Quantencomputer lösen?

Um darüber nachzudenken, kehren wir zum Fall der Aufteilung von drei Personen in zwei Taxis zurück.

Wie wir bereits gesehen haben, gab es 8 mögliche Lösungen für dieses Problem:

A | B | C.

0 | 0 | 0

0 | 0 | 1

0 | 1 | 0

0 | 1 | 1

1 | 0 | 0

1 | 0 | 1

1 | 1 | 0

1 | 1 | 1

Mit einem normalen Computer mit 3 Bit konnten wir jeweils nur eine dieser Lösungen darstellen - zum Beispiel 001.

Mit einem Quantencomputer mit 3 Qubits können wir jedoch alle 8 dieser Lösungen gleichzeitig darstellen .

Es gibt Debatten darüber, was es genau bedeutet, aber so denke ich darüber.

Untersuchen Sie zunächst das erste Qubit dieser 3 Qubits. Wenn Sie es auf beide einstellen0 und 1, es ist so, als würde man zwei parallele Welten erschaffen. (Ja, es ist seltsam, aber folgen Sie einfach hier.)

In einer dieser parallelen Welten ist das Qubit auf 0 gesetzt. In der anderen ist es auf 1 gesetzt.

Was ist, wenn Sie das zweite Qubit auch auf 0 und 1 setzen? Dann ist es so, als würde man 4 parallele Welten erschaffen.

In der ersten Welt sind die beiden Qubits auf 00 gesetzt. In der zweiten sind sie 01. In der dritten sind sie 10. In der vierten sind sie 11.

Wenn Sie alle drei Qubits auf 0 und 1 setzen, erstellen Sie 8 parallele Welten - 000, 001, 010, 011, 100, 101, 110 und 111.

Dies ist eine seltsame Art zu denken, aber es ist eine der richtigen Arten zu interpretieren, wie sich die Qubits in der realen Welt verhalten.

Wenn Sie nun eine Art Berechnung auf diese drei Qubits anwenden, wenden Sie tatsächlich dieselbe Berechnung in all diesen 8 parallelen Welten gleichzeitig an.

Anstatt jede dieser potenziellen Lösungen nacheinander durchzugehen, können wir die Bewertungen aller Lösungen gleichzeitig berechnen.

Mit diesem speziellen Beispiel könnte Ihr Quantencomputer theoretisch in wenigen Millisekunden eine der besten Lösungen finden. Wieder ist das 001 oder 110, wie wir zuvor gesehen haben:

A | B | C | Ergebnis

0 | 0 | 0 | -1

0 | 0 | 1 | 1 <- eine der besten soluti ons

0 | 1 | 0 | -1

0 | 1 | 1 | -1

1 | 0 | 0 | -1

1 | 0 | 1 | -1

1 | 1 | 0 | 1 <- die andere beste Lösung

1 | 1 | 1 | -1

In Wirklichkeit müssten Sie Ihrem Quantencomputer zwei Dinge geben, um dieses Problem zu lösen:

  • Alle möglichen Lösungen mit Qubits dargestellt
  • Eine Funktion, die jede mögliche Lösung in eine Punktzahl verwandelt. In diesem Fall ist dies die Funktion, die die Anzahl der Freund- und Feindpaare zählt, die sich dasselbe Auto teilen.

Angesichts dieser beiden Dinge wird Ihr Quantencomputer in wenigen Millisekunden eine der besten Lösungen ausspucken. In diesem Fall ist das 001 oder 110 mit einer Punktzahl von 1.

Theoretisch kann ein Quantencomputer jedes Mal, wenn er ausgeführt wird, eine der besten Lösungen finden.

In der Realität gibt es jedoch Fehler beim Ausführen eines Quantencomputers. Anstatt die beste Lösung zu finden, wird möglicherweise die zweitbeste Lösung, die drittbeste Lösung usw. gefunden.

Diese Fehler treten immer häufiger auf, wenn das Problem immer komplexer wird.

In der Praxis möchten Sie wahrscheinlich dieselbe Operation Dutzende Male oder Hunderte Male auf einem Quantencomputer ausführen. Wählen Sie dann aus den vielen Ergebnissen das beste Ergebnis aus.

Wie ein Quantencomputer skaliert

Selbst mit den von mir erwähnten Fehlern hat der Quantencomputer nicht das gleiche Skalierungsproblem wie ein normaler Computer.

Wenn es 3 Personen gibt, die wir in zwei Autos aufteilen müssen, beträgt die Anzahl der Operationen, die wir auf einem Quantencomputer ausführen müssen, 1. Dies liegt daran, dass ein Quantencomputer die Punktzahl aller Konfigurationen gleichzeitig berechnet.

Bei 4 Personen beträgt die Anzahl der Operationen immer noch 1.

Bei 100 Personen beträgt die Anzahl der Operationen immer noch 1. Mit einer einzelnen Operation berechnet ein Quantencomputer gleichzeitig die Punktzahlen aller 2¹⁰⁰ ~ = 10³⁰ = eine Million Millionen Millionen Millionen Konfigurationen.

Wie ich bereits erwähnt habe, ist es in der Praxis wahrscheinlich am besten, Ihren Quantencomputer Dutzende Male oder Hunderte Male auszuführen und aus den vielen Ergebnissen, die Sie erhalten, das beste Ergebnis auszuwählen.

Es ist jedoch immer noch viel besser, als dasselbe Problem auf einem normalen Computer auszuführen und dieselbe Art von Berechnung eine Million Millionen Millionen Millionen Mal wiederholen zu müssen.

Einpacken

Besonderer Dank geht an alle bei D-Wave Systems, die mir dies alles geduldig erklärt haben.

D-Wave hat kürzlich eine Cloud-Umgebung für die Interaktion mit einem Quantencomputer gestartet.

Wenn Sie Entwickler sind und tatsächlich versuchen möchten, einen Quantencomputer zu verwenden, ist dies wahrscheinlich der einfachste Weg.

Es heißt Leap und ist unter //cloud.dwavesys.com/leap verfügbar. Sie können es kostenlos verwenden, um Tausende von Problemen zu lösen, und es gibt auch leicht zu befolgende Tutorials zum Einstieg in Quantencomputer, sobald Sie sich angemeldet haben.

Fußnote:

  • In diesem Artikel habe ich den Begriff "normaler Computer" verwendet, um mich auf einen Nicht-Quantencomputer zu beziehen. In der Quantencomputerindustrie werden Nicht-Quantencomputer jedoch üblicherweise als klassische Computer bezeichnet.