Inhaltsverzeichnis[Ausblenden][Zeigen]
Schneller denn je verändert sich die Welt durch den digitalen Wandel.
Mit dem bevorstehenden Aufkommen einer weiteren brandneuen Technologiewelle, die in der Lage ist, aktuelle Paradigmen mit erstaunlicher Geschwindigkeit und Kraft drastisch zu verändern: Quantencomputer, wird das Verständnis der grundlegenden Ideen des digitalen Zeitalters noch wichtiger.
Eine bahnbrechende Technik namens Quantencomputer nutzt die Quantenphysik, um Probleme zu lösen, die über den Rahmen herkömmlicher Computer hinausgehen.
Die Prinzipien der Quantentheorie zeigen, wie sich Materie und Energie auf atomarer und subatomarer Ebene verhalten, und Qiskit von IBM ist ein Open-Source-Entwicklungskit für Quantensoftware, das bei der Erstellung von Quantencomputersystemen hilft.
Dieser Artikel versucht, dies zu erklären und Ihnen einen Überblick über Quantencomputing zu geben.
Wir erklären es unseren Lesern anhand eines Open-Source-Quantencomputings SDK, dh. Qiskit und lassen Sie sie mit erkunden Jupyter Notizbücher gehostet im IBM Quantum Lab.
Was ist Quantencomputer?
Quanten-Computing ist ein Zweig der Informatik, der sich auf die Entwicklung von Computertechnologie unter Verwendung von Ideen aus der Quantentheorie konzentriert.
Es nutzt die außergewöhnliche Fähigkeit subatomarer Teilchen, gleichzeitig in vielen Zuständen wie 0 und 1 zu existieren.
Sie können viel mehr Daten verarbeiten als normale Computer.
Bei Quantencomputerprozessen wird ein Qubit unter Verwendung des Quantenzustands eines Objekts erstellt. Die wesentlichen Informationen im Quantencomputing sind Qubits.
Sie erfüllen im Quantencomputing die gleiche Funktion wie Bits im konventionellen Rechnen, verhalten sich aber ganz anders. Quantencomputing ist ein Gebiet, das in den 1980er Jahren entstand.
Dann wurde entdeckt, dass Quantenalgorithmen bei einigen Computeraufgaben effektiver waren als ihre klassischen Gegenstücke.
Superposition und Verschränkung, zwei Konzepte aus der Quantenphysik, sind die Grundlagen, auf denen diese Supercomputer basieren.
Im Vergleich zu herkömmlichen Computern können Quantencomputer derzeit Aufgaben um Größenordnungen schneller erledigen und dabei viel weniger Energie verbrauchen.
Wir müssen mit dem Betrieb von Quantencomputern fortfahren, um sie vollständig zu verstehen. Lass uns anfangen.
Wie funktioniert eigentlich ein Quantencomputer?
Im Vergleich zu den herkömmlichen Computern, an die wir gewöhnt sind, gehen Quantencomputer anders an die Problemlösung heran. Für einige Aufgaben sind Quantencomputer in vielerlei Hinsicht den herkömmlichen vorzuziehen.
Als Ursache wird ihre Fähigkeit angesehen, in mehreren Staaten gleichzeitig zu existieren. Herkömmliche Computer können sich dagegen nur in einem einzigen Zustand gleichzeitig befinden.
Es gibt drei Schlüsselkonzepte, die Sie verstehen müssen, um zu verstehen, wie Quantencomputer funktionieren:
- Überlagerung.
- Verstrickung.
- Interferenz.
Überlagerung
Bits sind die grundlegenden Komponenten traditioneller Computer. Quantenbits oder Qubits sind die Grundeinheiten von Quantencomputern.
Quantenbits funktionieren grundsätzlich anders. Ein binäres Bit, manchmal auch als herkömmliches Bit bezeichnet, ist ein Schalter, der entweder eine 0 oder eine 1 sein kann.
Wir erhalten den aktuellen Zustand des Bits zurück, wenn wir es messen. Eine Ausnahme bilden Qubits. Qubits können mit Pfeilen verglichen werden, die in drei Dimensionen zeigen.
Sie befinden sich im Zustand 0, wenn sie nach oben zeigen. Sie befinden sich im Zustand 1, wenn sie nach unten zeigen. Dasselbe gilt für klassische Bits.
Sie können sich jedoch auch für einen Überlagerungszustand entscheiden.
Ein Pfeil ist in dem Zustand, in dem er in eine andere Richtung zeigt. Die Überlagerung von 0 und 1 ergibt diesen Zustand. Ein Qubit wird immer noch entweder eine 1 oder eine 0 als Ergebnis liefern, wenn es gemessen wird.
Die Ausrichtung des Pfeils bestimmt jedoch eine relevante Wahrscheinlichkeit.
Sie erhalten eher eine 1, wenn der Pfeil hauptsächlich nach unten zeigt, und eine 0, wenn er hauptsächlich nach oben zeigt.
Wenn sich der Pfeil in der Mitte befindet, haben Sie jeweils eine 50%ige Gewinnchance. Kurz gesagt, das ist Superposition.
Verstrickung
Die Bits in einem herkömmlichen Computer sind unabhängig voneinander. Der Zustand eines Bits hat keinen Einfluss auf den Zustand des anderen Bits.
Die Qubits in Quantencomputern können sich miteinander verschränken. Das impliziert, dass sie zu einem einzigen großen Quantenzustand verschmelzen.
Betrachten Sie zur Veranschaulichung zwei Qubits, die sich in verschiedenen Überlagerungszuständen befinden, aber noch nicht verschränkt sind. Zu diesem Zeitpunkt hängt ihre Wahrscheinlichkeit nicht voneinander ab.
Wenn wir sie verschränken, müssen wir diese unabhängigen Wahrscheinlichkeiten verwerfen und die Wahrscheinlichkeiten aller alternativen Zustände bestimmen, denen wir entkommen können, nämlich 00, 01, 10 und 11.
Die Wahrscheinlichkeitsverteilung des gesamten Systems ändert sich, wenn die Richtung des Pfeils auf einem Qubit geändert wird, weil die Qubits verschränkt sind.
Die Unabhängigkeit der Qubits voneinander ist verloren gegangen. Jeder von ihnen ist eine Komponente des gleichen beträchtlichen Staates. Egal wie viele Qubits Sie haben, dies ist immer noch der Fall.
Es gibt eine mögliche Kombination von 2n Zuständen für einen Quantencomputer mit n Qubits.
Sie haben beispielsweise für ein Qubit eine Wahrscheinlichkeitsverteilung über zwei Zustände. Sie haben eine Wahrscheinlichkeitsverteilung über vier Zustände für zwei Qubits usw. Der Hauptunterschied zwischen klassischen und Quantencomputern ist dieser.
Sie können klassische Computer in jeden beliebigen Zustand versetzen, aber nur einen nach dem anderen. Alle diese Zustände können gleichzeitig auf Quantencomputern als Überlagerung existieren.
Wie kann der Computer davon profitieren, sich in all diesen Zuständen gleichzeitig zu befinden? Das letzte Element der Interferenz tritt an dieser Stelle ein.
Interferenz
Eine Quantenwellenfunktion kann verwendet werden, um den Zustand eines Qubits zu beschreiben.
Die grundlegende mathematische Beschreibung von allem in der Quantenphysik liefern Wellenfunktionen.
Wenn viele Qubits verschränkt werden, werden ihre einzelnen Wellenfunktionen zu einer einzigen Wellenfunktion kombiniert, die den Gesamtzustand des Quantencomputers beschreibt.
Interferenz ist das Ergebnis der Addition dieser Wellenfunktionen. Wenn Wellen addiert werden, können sie konstruktiv interagieren und sich zu einer größeren Welle verbinden, genau wie Wasserwellen.
Sie können auch destruktiv interagieren, um einander entgegenzuwirken. Die unterschiedliche Wahrscheinlichkeit der verschiedenen Zustände wird durch die Gesamtwellenfunktion des Quantencomputers bestimmt.
Wir können die Wahrscheinlichkeit verändern, dass bestimmte Zustände entstehen, wenn wir den Quantencomputer vermessen, indem wir die Zustände verschiedener Qubits verändern.
Obwohl der Quantencomputer in mehreren Zustandsüberlagerungen gleichzeitig existieren kann, zeigen Messungen nur einen dieser Zustände.
Daher ist bei der Verwendung eines Quantencomputers zur Durchführung einer Rechenaufgabe konstruktive Interferenz erforderlich, um die Wahrscheinlichkeit zu erhöhen, die richtige Antwort zu erhalten, und destruktive Interferenz, um die Wahrscheinlichkeit zu verringern, eine falsche Antwort zu erhalten.
Beginnen wir nun mit dem Qiskit.
Was ist Qiskit?
Qiskit ist ein von IBM finanziertes Software-Framework, das entwickelt wurde, um jedem den Einstieg in das Gebiet des Quantencomputings zu erleichtern.
Da Quantencomputer schwer zu bekommen sind, können Sie einen über einen Cloud-Anbieter wie IBM mit der Qiskit-Toolbox erhalten.
Es ist kostenlos verfügbar, und der gesamte Code ist Open-Source-.
Da ist ein Online-Lehrbuch das Ihnen alle Grundlagen der Quantenphysik beibringt, was sehr nützlich für diejenigen ist, die mit dem Thema nicht vertraut sind. Python wird verwendet, um das Qiskit-Toolkit zu entwickeln.
Wenn Sie also mit der Programmiersprache Python vertraut sind, werden Sie eine Menge Code wiedererkennen.
Das Software-Framework ist für diejenigen geeignet, die es möchten mehr über Quantencomputing erfahren und gleichzeitig praktische Erfahrungen sammeln.
Der grundlegendste Aspekt von Qiskit ist, dass es in zwei Phasen funktioniert. Einer der Schritte ist die Konstruktionsphase, in der wir mehrere Quantenschaltkreise erstellen und diese Schaltkreise verwenden, um das Problem zu lösen.
Nachdem wir die Erstellungsphase abgeschlossen oder die Lösung erreicht haben, fahren wir mit der nächsten Phase fort, die als Ausführungsphase bekannt ist, in der wir versuchen, unseren Build oder unsere Lösung in den verschiedenen Backends (State Vector Backend, Unitary Backend, Open ASM Backend) und nach Abschluss des Laufs verarbeiten wir die Daten im Build für die gewünschte Ausgabe.
Erste Schritte mit Qiskit
Auf Ihrem PC oder dem von IBM gehosteten Jupyter Notebook können Sie es lokal installieren. Schreiben Sie den folgenden Code, um ihn lokal auf einem Windows-Computer zu installieren:
Wir müssen uns hier registrieren, um auf das API-Token zuzugreifen, das es uns ermöglicht, die Quantengeräte von IBM zu nutzen, und dann können wir mit der Arbeit an der Website des Unternehmens beginnen. Sie können sich vorstellen, dies mit einem von Qiskit installierten Jupyter Notebook zu tun, das online läuft.
Sie können darauf zugreifen, indem Sie Ihr Profil aus dem Menü in der oberen rechten Ecke der Seite auswählen und dann Kontoinformationen auswählen. Sie finden Ihren API-Token im Abschnitt über API-Token in Form von ***. Es wird kopiert und dann in den folgenden Code eingegeben:
Sobald dieser Code ausgeführt wurde, wird Ihr API-Token auf Ihrem Computer gespeichert, sodass Sie die Quantengeräte von IBM verwenden können. Geben Sie Folgendes ein, um festzustellen, ob Sie Zugriff auf ein solches Gerät haben:
Wenn der oben genannte Code ausgeführt wird, sollten Sie in der Lage sein, Code nicht nur auf Ihrem Computer auszuführen, sondern auch, indem Sie die integrierten Quantenschaltkreise an die Quantengeräte von IBM senden und Ergebnisse erhalten.
Mit der Schaltungsbibliothek können wir also mit der Entwicklung unseres ersten Quantenalgorithmus beginnen. Wir beginnen damit, die wesentlichen Abhängigkeiten von Qiskit in unser Projekt zu importieren.
Dann konstruieren wir ein Zwei-Qubit-Quantenregister und ein konventionelles Zwei-Bit-Register.
Jetzt haben wir also sowohl ein klassisches als auch ein Quantenregister etabliert. Mit diesen beiden können wir die Schaltung konstruieren, und wenn Sie zu irgendeinem Zeitpunkt während der Modifikation der Schaltung skizzieren möchten, wie die Quantenschaltung aussieht, schreiben Sie den folgenden Code:
Wir können auf dem Bild sehen, dass die Schaltung aus zwei Quantenbits und zwei klassischen Bits besteht.
So wie es ist, fehlen dieser Schaltung Gates, was sie uninteressant macht. Lassen Sie uns nun die Schaltung mit den Quantengattern konstruieren. Wie Klassik logische Tore (UND-, ODER-Gatter) sind für normale digitale Schaltungen, Quantengatter sind die grundlegenden Komponenten von Quantenschaltungen.
Die Anwendung des Hadamard-Gatters auf das erste Qubit ist der erste Schritt zur Erzeugung von Verschränkung. Dann fügen wir mit dem folgenden Code eine Zwei-Qubit-gesteuerte x-Operation hinzu:
Nachdem diese beiden Operatoren zum Aufbau unserer Quantenschaltung verwendet wurden, ist es an der Zeit, die Quantenbits (Qubits) zu messen, diese Messungen vorzunehmen und sie in den klassischen Bits zu speichern. Lassen Sie uns den notwendigen Code erstellen, um dies zu erreichen:
Das folgende Diagramm zeigt das Layout unserer Schaltung:
Die Schaltung muss dann auf einem herkömmlichen Computersimulator ausgeführt werden. Die Schaltung ist fertig. Und untersuchen Sie die Ergebnisse dieser Hinrichtung.
Die aus der Durchführung dieser Schaltung erhaltenen Informationen werden in der Ergebnisvariablen gespeichert. Lassen Sie uns diese Ergebnisse mithilfe eines Diagrammhistogramms anzeigen.
Das passiert, wenn wir unseren Quantenschaltkreis betreiben. Für die Zahlen 00 und 11 erhalten wir Wahrscheinlichkeiten von rund 50 %. Ihre anfängliche Quantencomputerschaltung wurde gebaut. Herzliche Glückwünsche!
Anwendungen von Qiskit Quantum Computing
Qiskit Finanzen
Eine Sammlung anschaulicher Tools und Anwendungen wird von Qiskit Finance angeboten. Dazu gehören Ising-Übersetzer für die Portfoliooptimierung, Datenlieferanten für tatsächliche oder zufällige Daten und Implementierungen für die Preisgestaltung verschiedener Finanzoptionen oder Kreditrisikobewertungen.
Qiskit Natur
Anwendungen wie Proteinfaltung und elektronische/vibronische Struktur Berechnungen sowohl für angeregte als auch für Grundzustände werden von Qiskit Nature unterstützt.
Es bietet alle Teile, die zum Verbinden klassischer Codes und zum automatischen Konvertieren in verschiedene Darstellungen erforderlich sind, die von Quantencomputern benötigt werden.
Maschinelles Lernen von Qiskit
Quant Maschinelles Lernen Methoden, die sie verwenden, um verschiedene Probleme anzugehen, wie z. B. Regression und Klassifizierung, werden von Qiskit Machine Learning sowie grundlegende Quantenkerne und Quantenneuronale Netze (QNNs) als Bausteine bereitgestellt.
Es ermöglicht auch die Verbindung von QNNs mit PyTorch, um Quantenelemente in klassische Operationen zu integrieren.
Qiskit-Optimierung
Qiskit Optimization bietet das gesamte Spektrum an Optimierungsdiensten, einschließlich High-Level-Modellierung von Optimierungsproblemen, automatisierte Übersetzung von Problemen in verschiedene erforderliche Darstellungen und eine Sammlung einfacher Quantenoptimierungsmethoden.
Zusammenfassung
Fazit: Während der schnellste verfügbare Supercomputer Jahre braucht, können Quantencomputer die aktuellen Verschlüsselungsmethoden schnell durchbrechen.
Trotz der Tatsache, dass Quantencomputer in der Lage sein werden, viele der heute verwendeten Verschlüsselungstechniken zu knacken, wird erwartet, dass sie einen hacksicheren Ersatz schaffen werden.
Problemoptimierung ist eine Stärke von Quantencomputern. Weitere Einzelheiten finden Sie unter Qiskit GitHub.
Hinterlassen Sie uns einen Kommentar