Blog

Der Deutsch-Jozsa-Algorithmus wird erklärt

24
Februar
,
2023

Wenn man Algorithmen der Quanteninformatik aus einem Lehrbuch lernt, gibt es in der Regel eine Progression von den frühesten, einfachsten Algorithmen zu den späteren, komplexeren Algorithmen. Zu den ersten Algorithmen, die in Lehrbüchern vorgestellt werden, gehört häufig der Deutsch-Jozsa-Algorithmus, dessen geringe Größe und scheinbare Einfachheit seine Bedeutung verbergen.

Was ist der Deutsch-Jozsa-Algorithmus?

Mit Hilfe des Deutsch-Jozsa-Ansatzes lässt sich feststellen, ob eine bestimmte boolesche Funktion konstant oder ausgeglichen ist. Betrachten wir eine Funktion, die die Eingabewerte 0 und 1 annimmt und die Ausgabewerte 0 oder 1 ausgibt. Die Funktion wird nur dann als konstant angesehen, wenn alle Ausgänge 0 oder 1 sind. Wenn genau die Hälfte der Eingänge Nullen und genau die Hälfte der Eingänge Einsen sind, wird die Funktion als ausgeglichen bezeichnet.

Wie funktioniert das Deutsch-Jozsa?

Es gibt einige verschiedene Implementierungen des Deutsch-Jozsa-Algorithmus, die jedoch alle denselben 5-Schritt-Prozess aufweisen. Im ersten Schritt werden die Quantenregister und Eingangszustände vorbereitet. Im zweiten Schritt werden die Qubits in der Hadamard-Basis organisiert. Das bedeutet, dass jedes Qubit eine 50%ige Chance hat, 0 zu sein und eine 50%ige Chance, 1 zu sein. Der dritte Schritt ist das Orakel, das die Funktion kodiert, die bestimmt, ob die Ausgaben konstant oder durch Quantenverschränkung ausgeglichen sind. Im vierten Schritt werden die Qubits an die Messbasis zurückgegeben, um die Antwort zu finden. Im letzten Schritt werden die Qubits gemessen, um die Lösung zu erhalten.

Die verschiedenen Implementierungsansätze unterscheiden sich nur wenig zwischen dem ersten und dem dritten Schritt, wobei der Hauptunterschied in der Implementierung des Orakels besteht. Eine der gebräuchlichsten Implementierungen für das Orakel verwendet ein CX-Gatter zur Initialisierung eines zweiten Quantenregisters mit einem einzelnen Ancilla-Qubit, das auch als "Arbeits-Qubit" bezeichnet wird. Die normale Initialisierung für Qubits ist 0; in diesem Fall wird das Ancilla-Qubit jedoch auf 1 gesetzt. Das Orakel verwendet dann einen Prozess namens Phase Kickback, um zu beurteilen, ob die Funktion konstant oder ausgeglichen ist. Wenn die Funktion ausgeglichen ist, fügt Phase Kickback der Hälfte der Quantenzustände eine negative Phase hinzu.

Wie schneidet der Deutsch-Jozsa-Algorithmus im Vergleich dazu ab?

Der Deutsch-Jozsa-Algorithmus bestimmt, ob die boolesche Funktion konstant oder ausgeglichen ist. Bei den heutigen fehleranfälligen Quantencomputern muss diese Schaltung mehrmals durchlaufen werden, um festzustellen, ob die Funktion wahrscheinlich konstant oder ausgeglichen ist. Zukünftige Quantencomputer werden jedoch in der Lage sein, diese Entscheidung mit 100 %iger Genauigkeit beim ersten Versuch zu treffen.

Im Gegensatz dazu erfordert die entsprechende klassische Technik mindestens zwei Versuche. Sie erfordert eine Anzahl von Versuchen, die gleich 1+N ist, wobei N die Anzahl der Eingaben ist. Es sind mindestens zwei Versuche erforderlich, um eine Null und eine Eins zu sehen und somit festzustellen, ob die Funktion ausgeglichen ist. Bei einer größeren Anzahl von Eingaben, wenn z. B. die Hälfte der Eingaben Nullen sind, besteht immer noch die Möglichkeit, dass die andere Hälfte Einsen sind, und die Funktion könnte immer noch ausgeglichen sein. Wenn jedoch die Hälfte plus eine der Eingaben Nullen sind - und eine ausgeglichene Funktion muss genau die Hälfte Nullen und die Hälfte Einsen enthalten - dann kann festgestellt werden, dass die Funktion konstant ist.

Der Unterschied zwischen Quanten- und konventionellen Techniken mag unbedeutend erscheinen, da die Beispiele in den Lehrbüchern immer nur sehr kleine Probleme aufzeigen. Stellen Sie sich jedoch ein Problem mit einer Million Eingaben vor. Der ideale klassische Ansatz müsste im schlimmsten Fall 500.001 Eingaben untersuchen. Im Gegensatz dazu würde der Deutsch-Jozsa-Algorithmus alle Eingaben gleichzeitig untersuchen und nach einem einzigen Versuch eine genaue Antwort liefern.

Warum ist der Deutsch-Jozsa-Algorithmus wichtig?

Der Deutsch-Jozsa-Algorithmus, der vor drei Jahrzehnten, 1992, entdeckt wurde, ist aus drei Gründen von Bedeutung. Erstens war er der erste Quantenalgorithmus, der eine Trennung zwischen der Quanten- und der klassischen Schwierigkeit eines Problems zeigte. Er war zwar nicht der erste Quantenalgorithmus, der eine potenzielle Geschwindigkeitssteigerung versprach, aber er war der erste, der ein Szenario aufzeigte, in dem ein Quantencomputer in der Lage ist, einen klassischen Computer zu übertreffen. Zweitens unterstreicht die Deutsch-Jozsa-Methode den Nutzen der Verwendung negativer Amplituden, was bei klassischen Rechnern nicht möglich ist. Drittens war der Algorithmus ein Sprungbrett für die Entwicklung von weitaus bedeutenderen Quantenalgorithmen.

Was diesen letzten Aspekt betrifft, so war der Deutsch-Jozsa-Algorithmus von großer Bedeutung für die Geschichte und Entwicklung der Quantenalgorithmen. Er folgte auf die Entdeckung des Deutsch-Problems und führte zur Entdeckung späterer Algorithmen wie dem Bernstein-Vazirani-Algorithmus. Das Deutsch-Problem von 1985 ist dem Deutsch-Jozsa-Algorithmus sehr ähnlich, mit der Ausnahme, dass es sich auf Funktionen mit nur einem einzigen Eingangsbit beschränkt. David Deutsch, der Entdecker des Deutsch-Problems, entwickelte später in Zusammenarbeit mit Richard Jozsa den Deutsch-Jozsa-Algorithmus, der den Algorithmus auf Funktionen mit mehreren Eingabebits ausweitete. Dies ist zwar eine kurze Erläuterung des Deutsch-Jozsa-Algorithmus, doch zum Zeitpunkt seiner Entdeckung zeigte er das Potenzial von Quantencomputern, bestimmte Probleme schneller zu lösen als klassische Computer. Leider hatte er keine praktischen Anwendungen.

Ist der Deutsch-Jozsa-Algorithmus praktisch?

Der Deutsch-Jozsa-Algorithmus hat keine bekannte Anwendung in der realen Welt, aber das war auch nie sein ursprünglicher Zweck. Der Algorithmus wurde so konzipiert, dass er für Quantencomputer einfach zu lösen ist, für klassische Computer aber schwierig. Nichtsdestotrotz zeigt er, dass es Probleme gibt, die Quantencomputer möglicherweise besser lösen können als ihre konventionellen Pendants. Die Entdeckung von Grovers Al gorithmus führte schließlich zu der Erkenntnis, dass realistische Geschwindigkeitssteigerungen bei Anwendungen tatsächlich möglich sind. Allerdings führte Grovers Al gorithmus auch zu der Erkenntnis, dass es extrem schwierig ist, Quantenorakel für mehr als eine Handvoll Qubits zu bauen.

Durch den Einsatz modernster Softwareentwicklungswerkzeuge für das Quantencomputing, wie der Classiq-Plattform, wird dieser Abkömmling des Deutsch-Jozsa-Algorithmus durch die Automatisierung von Schaltkreisen benutzerfreundlich gemacht. Die Classiq-Plattform ist eine Automatisierungsplattform für die Entwicklung von Quantensoftware, die automatisch Quantenschaltkreise auf der Grundlage von Benutzereingaben auf hohem Niveau synthetisieren kann. Um mit der Classiq-Plattform ein Orakel zu erstellen, geben Sie einfach den Ausdruck an, den das Orakel untersuchen soll, und unsere Schaltungssynthese-Engine erzeugt das Orakel automatisch. Die Erstellung eines Quantenorakels war früher ein schwieriger Prozess, ist aber heute mit Classiq ein Kinderspiel.

Wenn Sie mehr über Classiq und unsere Automatisierungsplattform für Quantenschaltungen erfahren möchten, besuchen Sie: www.classiq.io

Wenn man Algorithmen der Quanteninformatik aus einem Lehrbuch lernt, gibt es in der Regel eine Progression von den frühesten, einfachsten Algorithmen zu den späteren, komplexeren Algorithmen. Zu den ersten Algorithmen, die in Lehrbüchern vorgestellt werden, gehört häufig der Deutsch-Jozsa-Algorithmus, dessen geringe Größe und scheinbare Einfachheit seine Bedeutung verbergen.

Was ist der Deutsch-Jozsa-Algorithmus?

Mit Hilfe des Deutsch-Jozsa-Ansatzes lässt sich feststellen, ob eine bestimmte boolesche Funktion konstant oder ausgeglichen ist. Betrachten wir eine Funktion, die die Eingabewerte 0 und 1 annimmt und die Ausgabewerte 0 oder 1 ausgibt. Die Funktion wird nur dann als konstant angesehen, wenn alle Ausgänge 0 oder 1 sind. Wenn genau die Hälfte der Eingänge Nullen und genau die Hälfte der Eingänge Einsen sind, wird die Funktion als ausgeglichen bezeichnet.

Wie funktioniert das Deutsch-Jozsa?

Es gibt einige verschiedene Implementierungen des Deutsch-Jozsa-Algorithmus, die jedoch alle denselben 5-Schritt-Prozess aufweisen. Im ersten Schritt werden die Quantenregister und Eingangszustände vorbereitet. Im zweiten Schritt werden die Qubits in der Hadamard-Basis organisiert. Das bedeutet, dass jedes Qubit eine 50%ige Chance hat, 0 zu sein und eine 50%ige Chance, 1 zu sein. Der dritte Schritt ist das Orakel, das die Funktion kodiert, die bestimmt, ob die Ausgaben konstant oder durch Quantenverschränkung ausgeglichen sind. Im vierten Schritt werden die Qubits an die Messbasis zurückgegeben, um die Antwort zu finden. Im letzten Schritt werden die Qubits gemessen, um die Lösung zu erhalten.

Die verschiedenen Implementierungsansätze unterscheiden sich nur wenig zwischen dem ersten und dem dritten Schritt, wobei der Hauptunterschied in der Implementierung des Orakels besteht. Eine der gebräuchlichsten Implementierungen für das Orakel verwendet ein CX-Gatter zur Initialisierung eines zweiten Quantenregisters mit einem einzelnen Ancilla-Qubit, das auch als "Arbeits-Qubit" bezeichnet wird. Die normale Initialisierung für Qubits ist 0; in diesem Fall wird das Ancilla-Qubit jedoch auf 1 gesetzt. Das Orakel verwendet dann einen Prozess namens Phase Kickback, um zu beurteilen, ob die Funktion konstant oder ausgeglichen ist. Wenn die Funktion ausgeglichen ist, fügt Phase Kickback der Hälfte der Quantenzustände eine negative Phase hinzu.

Wie schneidet der Deutsch-Jozsa-Algorithmus im Vergleich dazu ab?

Der Deutsch-Jozsa-Algorithmus bestimmt, ob die boolesche Funktion konstant oder ausgeglichen ist. Bei den heutigen fehleranfälligen Quantencomputern muss diese Schaltung mehrmals durchlaufen werden, um festzustellen, ob die Funktion wahrscheinlich konstant oder ausgeglichen ist. Zukünftige Quantencomputer werden jedoch in der Lage sein, diese Entscheidung mit 100 %iger Genauigkeit beim ersten Versuch zu treffen.

Im Gegensatz dazu erfordert die entsprechende klassische Technik mindestens zwei Versuche. Sie erfordert eine Anzahl von Versuchen, die gleich 1+N ist, wobei N die Anzahl der Eingaben ist. Es sind mindestens zwei Versuche erforderlich, um eine Null und eine Eins zu sehen und somit festzustellen, ob die Funktion ausgeglichen ist. Bei einer größeren Anzahl von Eingaben, wenn z. B. die Hälfte der Eingaben Nullen sind, besteht immer noch die Möglichkeit, dass die andere Hälfte Einsen sind, und die Funktion könnte immer noch ausgeglichen sein. Wenn jedoch die Hälfte plus eine der Eingaben Nullen sind - und eine ausgeglichene Funktion muss genau die Hälfte Nullen und die Hälfte Einsen enthalten - dann kann festgestellt werden, dass die Funktion konstant ist.

Der Unterschied zwischen Quanten- und konventionellen Techniken mag unbedeutend erscheinen, da die Beispiele in den Lehrbüchern immer nur sehr kleine Probleme aufzeigen. Stellen Sie sich jedoch ein Problem mit einer Million Eingaben vor. Der ideale klassische Ansatz müsste im schlimmsten Fall 500.001 Eingaben untersuchen. Im Gegensatz dazu würde der Deutsch-Jozsa-Algorithmus alle Eingaben gleichzeitig untersuchen und nach einem einzigen Versuch eine genaue Antwort liefern.

Warum ist der Deutsch-Jozsa-Algorithmus wichtig?

Der Deutsch-Jozsa-Algorithmus, der vor drei Jahrzehnten, 1992, entdeckt wurde, ist aus drei Gründen von Bedeutung. Erstens war er der erste Quantenalgorithmus, der eine Trennung zwischen der Quanten- und der klassischen Schwierigkeit eines Problems zeigte. Er war zwar nicht der erste Quantenalgorithmus, der eine potenzielle Geschwindigkeitssteigerung versprach, aber er war der erste, der ein Szenario aufzeigte, in dem ein Quantencomputer in der Lage ist, einen klassischen Computer zu übertreffen. Zweitens unterstreicht die Deutsch-Jozsa-Methode den Nutzen der Verwendung negativer Amplituden, was bei klassischen Rechnern nicht möglich ist. Drittens war der Algorithmus ein Sprungbrett für die Entwicklung von weitaus bedeutenderen Quantenalgorithmen.

Was diesen letzten Aspekt betrifft, so war der Deutsch-Jozsa-Algorithmus von großer Bedeutung für die Geschichte und Entwicklung der Quantenalgorithmen. Er folgte auf die Entdeckung des Deutsch-Problems und führte zur Entdeckung späterer Algorithmen wie dem Bernstein-Vazirani-Algorithmus. Das Deutsch-Problem von 1985 ist dem Deutsch-Jozsa-Algorithmus sehr ähnlich, mit der Ausnahme, dass es sich auf Funktionen mit nur einem einzigen Eingangsbit beschränkt. David Deutsch, der Entdecker des Deutsch-Problems, entwickelte später in Zusammenarbeit mit Richard Jozsa den Deutsch-Jozsa-Algorithmus, der den Algorithmus auf Funktionen mit mehreren Eingabebits ausweitete. Dies ist zwar eine kurze Erläuterung des Deutsch-Jozsa-Algorithmus, doch zum Zeitpunkt seiner Entdeckung zeigte er das Potenzial von Quantencomputern, bestimmte Probleme schneller zu lösen als klassische Computer. Leider hatte er keine praktischen Anwendungen.

Ist der Deutsch-Jozsa-Algorithmus praktisch?

Der Deutsch-Jozsa-Algorithmus hat keine bekannte Anwendung in der realen Welt, aber das war auch nie sein ursprünglicher Zweck. Der Algorithmus wurde so konzipiert, dass er für Quantencomputer einfach zu lösen ist, für klassische Computer aber schwierig. Nichtsdestotrotz zeigt er, dass es Probleme gibt, die Quantencomputer möglicherweise besser lösen können als ihre konventionellen Pendants. Die Entdeckung von Grovers Al gorithmus führte schließlich zu der Erkenntnis, dass realistische Geschwindigkeitssteigerungen bei Anwendungen tatsächlich möglich sind. Allerdings führte Grovers Al gorithmus auch zu der Erkenntnis, dass es extrem schwierig ist, Quantenorakel für mehr als eine Handvoll Qubits zu bauen.

Durch den Einsatz modernster Softwareentwicklungswerkzeuge für das Quantencomputing, wie der Classiq-Plattform, wird dieser Abkömmling des Deutsch-Jozsa-Algorithmus durch die Automatisierung von Schaltkreisen benutzerfreundlich gemacht. Die Classiq-Plattform ist eine Automatisierungsplattform für die Entwicklung von Quantensoftware, die automatisch Quantenschaltkreise auf der Grundlage von Benutzereingaben auf hohem Niveau synthetisieren kann. Um mit der Classiq-Plattform ein Orakel zu erstellen, geben Sie einfach den Ausdruck an, den das Orakel untersuchen soll, und unsere Schaltungssynthese-Engine erzeugt das Orakel automatisch. Die Erstellung eines Quantenorakels war früher ein schwieriger Prozess, ist aber heute mit Classiq ein Kinderspiel.

Wenn Sie mehr über Classiq und unsere Automatisierungsplattform für Quantenschaltungen erfahren möchten, besuchen Sie: www.classiq.io

Über "Der Podcast des Qubit-Typen"

Der Podcast wird von The Qubit Guy (Yuval Boger, unser Chief Marketing Officer) moderiert. In ihm diskutieren Vordenker der Quanteninformatik über geschäftliche und technische Fragen, die das Ökosystem der Quanteninformatik betreffen. Unsere Gäste geben interessante Einblicke in Quantencomputer-Software und -Algorithmen, Quantencomputer-Hardware, Schlüsselanwendungen für Quantencomputer, Marktstudien der Quantenindustrie und vieles mehr.

Wenn Sie einen Gast für den Podcast vorschlagen möchten, kontaktieren Sie uns bitte .

Siehe auch

Keine Artikel gefunden.

Erstellen Sie Quantensoftware ohne Grenzen 

Kontakt