Algorithmus Advanced
Der Deutsch-Jozsa-Algorithmus beantwortet die Frage, ob eine Funktion f konstant (zum Beispiel f(x)=0) oder alternierend ist (zum Beispiel f(0)=0, f(1)=1, f(2)=0, ...).
Mit einem klassischen Rechner sind mindestens zwei Aufrufe der algebraischen Funktion f nötig, um die Frage zu beantworten. Der Deutsch-Jozsa-Algorithmus hingegen liefert die richtige Antwort mit nur einem einzelnen Funktionsaufruf (Listing 4). Dieser einfache Quantenalgorithmus ist also jedem klassischen Algorithmus überlegen.
Der Grund ist, dass der Deutsch-Jozsa-Algorithmus nach einem Aufruf der algebraischen Funktion alle möglichen Eingangswerte in eine Superposition bringt und damit auch alle Funktionswerte in einer Superposition vorliegen. Die Funktion wird praktisch für alle Werte gleichzeitig ausgewertet. Welcher Fall (konstant oder alternierend) vorliegt, kann über die Variable constant gesteuert werden. Um den binären Endzustand zu erreichen, wird die Superposition nach dem Funktionsaufruf wieder aufgehoben und das Ergebnis gemessen. Ist die Funktion konstant, liefert die Messung eine 1, ist sie alternierend, eine 0.
#include <quantum.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
void f (quantum_reg *reg)
{
int constant = 0;
if(!constant)
quantum_cnot(0, 2, reg);
}
int main ()
{
quantum_reg reg;
srand(time(0));
reg = quantum_new_qureg(5, 3);
quantum_hadamard(0, ®);
quantum_hadamard(1, ®);
quantum_hadamard(2, ®);
f(®);
quantum_hadamard(0, ®);
quantum_hadamard(1, ®);
printf("Ergebnis: %i\n", quantum_bmeasure(0, ®));
return 0;
}
|
Immer grüßt die Dekohärenz
Um auch die in einem Quantencomputer unvermeidbaren Fehler durch Dekohärenz zu berücksichtigen, schaltet der Programmierer die Dekohärenz-Effekte zu Beginn der Simulation ein:
quantum_set_decoherence(0.1);
Damit wird nach jedem Quantengatter ein zufälliger Phasenfehler auf jedes Qubit angewendet. Der Parameter der Funktion gibt die Stärke des Phasenfehlers an.
Allerdings ist der simulierte Quantencomputer der Dekohärenz nicht hoffnungslos ausgeliefert. Quantenfehlerkorrekur-Verfahren (quantum error correction, QEC) sind in der Lage, die Auswirkungen von Fehlern durch Dekohärenz einzudämmen. QEC kann in Libquantum bequem mit
quantum_qec_encode(1, 3, ®);
aktiviert werden. Der erste Parameter bezeichnet das verwendete Verfahren (hier der Steane-Algorithmus). Der zweite Parameter gibt die Anzahl der mit QEC zu schützenden Qubits an. Nach der Rechnung kann QEC mittels
quantum_qec_decode(1, 3, ®);
wieder abgeschaltet werden und Messungen können wie gewohnt vor sich gehen.

|
Vergleich der Erfolgswahrscheinlichkeiten für den Deutsch-Jozsa-Algorithmus unter Berücksichtigung von Dekohärenz und QEC.
|
Abbildung 3 zeigt die Auswirkungen von Dekohärenz und QEC auf eine Variante des Deutsch-Jozsa-Algorithmus. Ohne Dekohärenz wird stets das richtige Ergebnis gemessen. Finden dagegen die Fehler durch Dekohärenz Berücksichtigung, aber keine QEC wird durchgeführt, sinkt die Wahrscheinlichkeit für das richtige Ergebnis deutlich ab. Bei Verwendung von QEC steigt die Wahrscheinlichkeit wieder an.
| Whitepaper |
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|